var oFCKeditor;
function loadFCK(message) {
	oFCKeditor = new FCKeditor('htmlMessage');
	oFCKeditor.BasePath = 'public/scripts/fckeditor/';
	oFCKeditor.ToolbarSet = 'Basic';
	oFCKeditor.Height = 500;
	oFCKeditor.Width = '100%';
        oFCKeditor.Value = message;
        oFCKeditor.Config['FullPage'] = true;
	/*var message = "";
        if (message) {
        	var body = message.split('\n');
                for (var i=0; i<body.length; i++) {
                	message += body[i].replace(/'/, "\'");
                }
        	oFCKeditor.Value = message;
        }*/
}
function updateCharacters(element, mlength) {
        if (element.value.length > mlength)
                element.value = element.value.substring(0,mlength);
        $('charactersLeft').innerHTML = mlength - element.value.length;
}
function changeFormat(format) {
        switch(format) {
                case "html":
                        if ($('html').checked) {
                                $('text').checked = true;
                                $('htmlInput').show();
                                $('textInput').show();
                                $('template').show();
                        } else {
                                $('htmlInput').hide();
                                $('template').hide();
                        }
                break;
                case "text":
                        if ($('text').checked)
                                $('textInput').show();
                        else {
                                $('html').checked = false;
                                $('textInput').hide();
                                $('htmlInput').hide();
                                $('template').hide();
                        }
                break;
                case "sms":
                        if ($('sms').checked)
                                $('smsInput').show();
                        else
                                $('smsInput').hide();
                break;
        }
}
function changeTemplate(template) {
        new Ajax.Request("index.php",
                         {method: 'post',
                         parameters: "controller=newsletter&action=loadTemplate&template="+template.value,
                         evalScripts: true,
                         asynchronous: true,
                         onComplete: updateTemplate}
        );
}
updateTemplate = function(response) {
        var oEditor = FCKeditorAPI.GetInstance('htmlMessage');
        oEditor.SetHTML(response.responseText);
}
function spamAnalysis(fromEmail, fromName) {
        if (emailContents() == false && smsContents() == false) {
                alert("You must specify content before performing this check");
        } else {
                $('spamResults').innerHTML = "<img src='public/images/pleaseWait.gif' style='vertical-align: middle;'> <b>Calculating Score</b>";

                new Ajax.Updater("spamResults",
                                 "index.php",
                                 {method: 'post',
                                 parameters: "controller=newsletter&action=spamAnalysis"+getParams(fromEmail, fromName),
                                 evalScripts: true,
                                 asynchronous: true}
                );
        }
}
function getParams(fromEmail, fromName) {
        var from = fromEmail;
        var fromName = fromName;
        var subject = $('subject').value;
        var oEditor = FCKeditorAPI.GetInstance('htmlMessage');
        var htmlMessage = ($('html').checked) ? encodeURIComponent(oEditor.GetHTML()) : '';
        var textMessage = ($('text').checked) ? encodeURIComponent($('textMessage').value) : '';
        var smsMessage = ($('sms').checked) ? encodeURIComponent($('smsMessage').value) : '';
        return "&from="+from+"&fromName="+fromName+"&subject="+subject+"&html="+htmlMessage+"&text="+textMessage+"&sms="+smsMessage;
}
function sendTestEmail(fromEmail, fromName) {
        var testSms = $('testSms').value;
        var testEmails = $('testEmails').value;
        if (testEmails && emailContents() == false) {
                alert("You must specify an HTML or Text message before performing this test");
        } else if (testSms && smsContents() == false) {
                alert("You must specify a SMS message before performing this test");
        } else if (testSms == '' && testEmails == '') {
                alert("You must specify at least one email address to perform this test on");
        } else {
                $('testMessage').innerHTML = "<img src='public/images/pleaseWait.gif' style='vertical-align: middle;'> <b>Sending Test Emails</b>";

                new Ajax.Updater("testMessage",
                                 "index.php",
                                 {method: 'post',
                                 parameters: "controller=newsletter&action=testEmail&testEmail="+testEmails+"&testSms="+testSms+""+getParams(fromEmail, fromName),
                                 evalScripts: true,
                                 asynchronous: true}
                );
        }
}
function emailContents() {
        var oEditor = FCKeditorAPI.GetInstance('htmlMessage');
        var htmlMessage = oEditor.GetHTML();
        var textMessage = $('textMessage').value;

        if (htmlMessage == '' && textMessage == '')
                return false;

        return true;
}
function smsContents() {
        var smsMessage = $('smsMessage').value;

        if (smsMessage == '')
                return false;

        return true;
}
// serialize form elements
function serialize(form) {
        var formElements = $(form);
        var queryString = '';
        for (i = 0; i < formElements.length; i++) {
                if (formElements[i].name != '' && formElements[i].name != 'undefined' && formElements[i].value != ''&& formElements[i].value != 'undefined') {
                        if (formElements[i].type == "checkbox" || formElements[i].type == "radio") {
                        	if (!formElements[i].checked) {
                        		continue;
                        	}
                        }
                        queryString += (queryString == '') ? "" : "&";
                        queryString += formElements[i].name+"="+encodeURIComponent(formElements[i].value);
                }
        }
        return (queryString);
}

// delete an item from the table
deleteItem=function(params, obj){
        var agree=confirm("Are you sure you want to remove this item?  This will permanently remove any data associated with this item as well.");
        if (agree) {
                // delete keyword from list
                new Ajax.Request('index.php',{method: 'post', parameters: params, asynchronous: true});

                // delete from table
                var row = obj.parentNode.parentNode.rowIndex;
                $('dataTable').deleteRow(row);
        }
}

function dhtmlLoadScript(url) {
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(e);
}

