﻿// JScript File
//<!--

var globalreturnvalue = false;

function validate_skylist_signup_version1_1(emailAddressId){
    return validate_skylist_signup_version1_1_common(emailAddressId, true);
}

function validate_skylist_signup_version1_1_nothankyou(emailAddressId){
    return validate_skylist_signup_version1_1_common(emailAddressId, false);
}

// REMOVE THESE TWO AFTER NINE SYSTEMS CATCHES UP AND ALL ADS ARE MODIFIED
function validate_skylist_signup_version1(emailAddressId, serviceDivId){
    return validate_skylist_signup_version1_1_common(emailAddressId, true);
}

function validate_skylist_signup_version1_nothankyou(emailAddressId, serviceDivId){
    return validate_skylist_signup_version1_1_common(emailAddressId, false);
}

function validate_skylist_signup_version1_1_common(emailAddressId, showThankyou){

    // check email address
    var ctl = document.getElementById(emailAddressId);
	if (SkyListVersion1_isFilled(ctl) == false) {
    	alert("Please enter your e-mail address.");
	    ctl.focus();
	    return false;
	}
	
	if (SkyListVersion1_isEmail(ctl) == false) {
	    alert("The e-mail address you entered is invalid. Please re-enter it.");
	    ctl.focus();
	    return false;
	}	
	
	// check for items checked
	var itemchecked = false;
	var inputitems = document.getElementsByTagName('input');
	var items = '';
    for (i=0; i<inputitems.length; i++){
        if (inputitems[i].type == 'checkbox'){        
            if (inputitems[i].className.indexOf('webservices_skylist') > -1){  
                if (inputitems[i].checked == true)
                {
                    itemchecked = true;
                    items += ',' + inputitems[i].id;
                }
            }
        }
    }        
    if (itemchecked == false) {
        alert("Please select a newsletter.");    
        return false;
    }            
    items = items.substr(1);

    // process
    return sklist_signup_version1_1_min(ctl.value, items, showThankyou);
}

function SkyListVersion1_isEmail(elm) {
	if (elm.value.indexOf("@") != "-1" && elm.value.indexOf(".") != "-1" && elm.value != "")
	    return true;
	return false;
} 
 
function SkyListVersion1_isFilled(elm) {
	if (elm.value == "" || elm.value == null)
	    return false;
	return true;
}

function SkyListVersion1_clickControlOnEnter(event, ctl){
    if (event.keyCode == 13){
//    if ((window.event) && (window.event.keyCode == 13))
        event.returnValue = false;
        event.cancel = true;
        document.getElementById(ctl).click();
    }
}

function sklist_signup_version1_1_min(email_address, skylistnameCSV, showThankyou ){
    return sklist_signup_version1(email_address, '', '', '', '', '', skylistnameCSV, showThankyou );
}

function sklist_signup_version1(email_address, first_name, last_name, address1, address2, postalcode, skylistnameCSV, showThankyou ){
    var paramXml;
    paramXml = '<parameters>';
    paramXml += '<version>1</version>';
    paramXml += '<email_address><![CDATA[' + email_address + ']]></email_address>';
    var source_description;
    source_description = window.location.href;
    paramXml += '<source_description><![CDATA[' + source_description + ']]></source_description>';
    paramXml += '<first_name><![CDATA[' + first_name + ']]></first_name>';
    paramXml += '<last_name><![CDATA[' + last_name + ']]></last_name>';
    paramXml += '<address1><![CDATA[' + address1 + ']]></address1>';
    paramXml += '<address2><![CDATA[' + address2 + ']]></address2>';
    paramXml += '<postalcode><![CDATA[' + postalcode + ']]></postalcode>';
    var signup_ip_address;
    signup_ip_address = window.location.href;
    paramXml += '<signup_ip_address><![CDATA[' + signup_ip_address + ']]></signup_ip_address>';
    var skylistnames;
    skylistnames = skylistnameCSV.split(",");
    paramXml += '<skylist>'
    for(i=0; i<skylistnames.length; i++){
        paramXml += '<name><![CDATA[' + skylistnames[i] + ']]></name>';    
    }
    paramXml += '</skylist>';
    paramXml += '</parameters>';
       
	var pl = new SOAPClientParameters();
	pl.add("Parameters", paramXml);

    var webserviceUrl = window.location.protocol + '//' + window.location.host + '/WebServices/SkyList/NewsletterSignup.asmx';
    if (showThankyou)
        SOAPClient.invoke(webserviceUrl, "SignUp", pl, false, sklist_signup_version1_results);
    else
        SOAPClient.invoke(webserviceUrl, "SignUp", pl, false, sklist_signup_version1_results_nothankyou);       
    return globalreturnvalue;
}

function sklist_signup_version1_results(result){
    return sklist_signup_version1_results_common(result, true);
}

function sklist_signup_version1_results_nothankyou(result){
    return sklist_signup_version1_results_common(result, false);
}

function sklist_signup_version1_results_common(result, showThankyou)
{
    // if there is an error, and the call came from the call() in init()
    if(result.error)
    {
        // Pull the error information from the event.result.errorDetail properties
        var xfaultcode   = result.errorDetail.code;
        var xfaultstring = result.errorDetail.string;
        var xfaultsoap   = result.errorDetail.raw;

        // Add code to handle specific error codes here
        alert('Your subscription request was unable to be processed by the system.');
        globalreturnvalue = false;
        return false;
    }
    // if there was no error
    else
    {
        var retval = result;
        if (retval.indexOf('<success>1</success>') != -1){
            if (showThankyou) alert('Thank you.  Your subscription request has been submitted.');
            globalreturnvalue = true;
            return true;
        }else{
            alert('Your subscription request was unable to be processed by the system.');
            globalreturnvalue = false;
            return false;
        }
    }
}

//-->
