﻿// JScript File
var SuccessMsg="Thanks for signing up!";
var AgeMsg="Based on the information you entered, you are not eligible.";
var EmailMsg="Please enter a valid e-mail address.";
var FirstMsg="Please enter your first name.";
var LastMsg="Please enter your last name.";
var BirthdayMsg="Please enter your date of birth.";
var Pixel="<img width=\"1\" height=\"1\" src=\"http://pixel1097.everesttech.net/1097/p?ev_civic_email_signup=1\" />";


function ClearOptinSelection()
{
    var OptinListContainer=document.getElementById("optinlistcontainer");
    var OptinList=OptinListContainer.getElementsByTagName("input");
    for(i=0;i<OptinList.length;i++)
    {
        OptinList[i].checked=false;     
    }
}
function ClearExpandForm()
{
    var Email=document.getElementById("email");
    var FirstName=document.getElementById("firstname");
    var LastName=document.getElementById("lastname");
    var Month=document.getElementById("month");
    var Date=document.getElementById("date");
    var Year=document.getElementById("year");
    Email.value="";
    FirstName.value="";
    LastName.value="";
    Month.selectedIndex=0;
    Date.selectedIndex=0;
    Year.value="";
    ActivateFields("");
    ExpandEmailForm(false);
}
function AddSpotLightTag()
{
var axel = Math.random()+"";
var a = axel * 10000000000000;
var Code='<IFRAME SRC="http://fls.doubleclick.net/activityi;src=675026;type=2008c429;cat=email592;ord=1;num='+ a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0></IFRAME>';
    var SpotLightBox=document.getElementById("spotlighttracking");
    if(SpotLightBox!=null)
    {
        SpotLightBox.innerHTML=Code;
    }
}
function ExpandEmailForm(isExpand)
{
    var expandform=document.getElementById("emailexpand");
    if(isExpand) {expandform.style.display="block";TrackMiniEmailSignUp("Email Sign-Up Page");}
    else expandform.style.display="none";
}
function ActivateFields(email)
{
    var FirstName=document.getElementById("firstname");
    var LastName=document.getElementById("lastname");
    var Month=document.getElementById("month");
    var Date=document.getElementById("date");
    var Year=document.getElementById("year");
    var SignUP=document.getElementById("emailsignuplink");
    if(isValidEmail(email))
    {
    FirstName.disabled=false;
    LastName.disabled=false;
    Month.disabled=false;
    Date.disabled=false;
    Year.disabled=false;
    SignUP.disabled=false;
    }
    else
    {
    FirstName.disabled=true;
    LastName.disabled=true;
    Month.disabled=true;
    Date.disabled=true;
    Year.disabled=true;
    SignUP.disabled=true;
    }
}
function HideAllConfirmMSGElement()
{
    ShowElement("agetooyoung",false);
    ShowElement("optinsuccess",false);
    ShowElement("emailsuccess",false);
}

/* Handles Email Subscribe*/
function EmailExpandSubscribe()
{
HideAllConfirmMSGElement();

    var MSG=document.getElementById("msg");
    MSG.style.display="block";
    MSG.style.color="red";
    
    var Email=document.getElementById("email");
    var FirstName=document.getElementById("firstname");
    var LastName=document.getElementById("lastname");
    var Month=document.getElementById("month");
    var Date=document.getElementById("date");
    var Year=document.getElementById("year");
    var PostURL = document.getElementById("PostURL");
    
    var E=Email.value;
    var F=FirstName.value;
    var L=LastName.value;
    
    if(!isValidEmail(E)){MSG.innerHTML=EmailMsg; return false;}
    if(!isValidName(F)){MSG.innerHTML=FirstMsg; return false;}
    if(!isValidName(L)){MSG.innerHTML=LastMsg; return false;}
    if(!isValidDate(Month,Date,Year)){MSG.innerHTML=BirthdayMsg; return false;}
    
    
    var M=Month[Month.selectedIndex].value;
    var D=Date[Date.selectedIndex].innerHTML;
    var Y=Year.value
    
    var functionInfo="";
    functionInfo="<function><name>EmailMiniSubscribe</name>";
    functionInfo+="<parameter><![CDATA[" + E + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + M + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + D + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + Y + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + F + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + L + "]]></parameter>";
    functionInfo+="</function>";
    //alert(functionInfo);
    //var URL="/email/handle-mini-subscribe.aspx";
    //postXMLRequest(URL,loadXMLString(functionInfo))
    postXMLRequest(PostURL.innerHTML,loadXMLString(functionInfo))
    //alert(xmlhttp2.responseText);

    if(xmlhttp2.responseText=="Success")
    {
        //MSG.style.color="green";
        //MSG.innerHTML=SuccessMsg;
        MSG.innerHTML="";
        MSG.style.display="none";
        var PixelBox=document.getElementById("trackingpixel");
        if(PixelBox!=null)PixelBox.innerHTML=Pixel;
        loadPopUpBox("EmailConfirmation");
        ShowElement("emailsuccess",true);
        ShowElement2("OptinCheckBoxMsg",false);
        TrackExpandEmailConfirmation("Email Sign-Up Confirmation");
        AddSpotLightTag();
    }
    else if(xmlhttp2.responseText=="Invalid Email")
    {
        MSG.innerHTML=EmailMsg;
    }
    else if(xmlhttp2.responseText=="Invalid Age")
    {
        //MSG.innerHTML=AgeMsg;
        MSG.innerHTML="";
        MSG.style.display="none";
        loadPopUpBox("EmailConfirmation");
        ShowElement("agetooyoung",true);
        TrackExpandEmailConfirmation("Email Sign-Up Confirmation");
        AddSpotLightTag();
    }
    else if(xmlhttp2.responseText=="Invalid Birthday")
    {
        MSG.innerHTML=BirthdayMsg;
    }
    else if(xmlhttp2.responseText=="Invalid First Name")
    {
        MSG.innerHTML=FirstMsg;
    }
    else if(xmlhttp2.responseText=="Invalid Last Name")
    {
        MSG.innerHTML=LastMsg;
    }
}

/* Check if Optin Checkboxes are checked */
function isOptinBoxChecked()
{
    var OptinListContainer=document.getElementById("optinlistcontainer");
    var OptinList=OptinListContainer.getElementsByTagName("input");
    for(i=0;i<OptinList.length;i++)
    {
        if(OptinList[i].checked)
        {
            return true;
        }       
    }
    return false;
}

function HandleOptinBoxSelect()
{
var OptinCheckBoxMsg=document.getElementById("OptinCheckBoxMsg");
if(OptinCheckBoxMsg==null)return;
    if(isOptinBoxChecked())
    {
        OptinCheckBoxMsg.style.visibility="hidden";
    }
    else
    {
        OptinCheckBoxMsg.style.visibility="visible";
    }
}

/* Handles Email Optin Subscribe */
function EmailExpandOptinSubscribe()
{
    var OptinListContainer=document.getElementById("optinlistcontainer");
    var OptinList=OptinListContainer.getElementsByTagName("input");
    var OptinListParameters="";
    var OptinListItems="";
    for(i=0;i<OptinList.length;i++)
    {
        if(OptinList[i].checked)
        {
            OptinListParameters+="<optin><![CDATA[" + OptinList[i].id + "]]></optin>";
            OptinListItems+="<b>-" + OptinList[i].value + "</b><br>"; 
        }       
    }
    if(OptinListItems==""){
        var OptinCheckBoxMsg=document.getElementById("OptinCheckBoxMsg");
        if(OptinCheckBoxMsg!=null)OptinCheckBoxMsg.style.visibility="visible";
        return false;
    }
    
    HideAllConfirmMSGElement();

    var MSG=document.getElementById("msg");
    MSG.style.display="block";
    MSG.style.color="red";
    
    var Email=document.getElementById("email");
    var FirstName=document.getElementById("firstname");
    var LastName=document.getElementById("lastname");
    var Month=document.getElementById("month");
    var Date=document.getElementById("date");
    var Year=document.getElementById("year");
    var PostURL = document.getElementById("PostURL");
    
    var E=Email.value;
    var F=FirstName.value;
    var L=LastName.value;
    
    if(!isValidEmail(E)){MSG.innerHTML=EmailMsg; return false;}
    if(!isValidName(F)){MSG.innerHTML=FirstMsg; return false;}
    if(!isValidName(L)){MSG.innerHTML=LastMsg; return false;}
    if(!isValidDate(Month,Date,Year)){MSG.innerHTML=BirthdayMsg; return false;}
    
    var M=Month[Month.selectedIndex].value;
    var D=Date[Date.selectedIndex].innerHTML;
    var Y=Year.value
      
    var functionInfo="";
    functionInfo="<function><name>EmailMiniSubscribe</name>";
    functionInfo+="<parameter><![CDATA[" + E + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + M + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + D + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + Y + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + F + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + L + "]]></parameter>";
    functionInfo+="<parameter>" + OptinListParameters + "</parameter>";
    functionInfo+="</function>";
    
    //alert(functionInfo);
    //var URL="/email/handle-mini-subscribe.aspx";
    //postXMLRequest(URL,loadXMLString(functionInfo))
    postXMLRequest(PostURL.innerHTML,loadXMLString(functionInfo))
    //alert(xmlhttp2.responseText);

    if(xmlhttp2.responseText=="Success")
    {
        //MSG.style.color="green";
        //MSG.innerHTML=SuccessMsg;
        MSG.innerHTML="";
        MSG.style.display="none";
        //var PixelBox=document.getElementById("trackingpixel");
        //if(PixelBox!=null)PixelBox.innerHTML=Pixel;
        
        var OptinSuccessList=document.getElementById("emailoptinlist");
        OptinSuccessList.innerHTML=OptinListItems;
        loadPopUpBox("EmailConfirmation");
        ShowElement("optinsuccess",true);
        TrackExpandEmailConfirmation("Email Sign-Up Optins Confirmation");
    }
    else if(xmlhttp2.responseText=="Invalid Email")
    {
        MSG.innerHTML=EmailMsg;
    }
    else if(xmlhttp2.responseText=="Invalid Age")
    {
        //MSG.innerHTML=AgeMsg;
        MSG.innerHTML="";
        MSG.style.display="none";
        loadPopUpBox("EmailConfirmation");
        ShowElement("agetooyoung",true);
    }
    else if(xmlhttp2.responseText=="Invalid Birthday")
    {
        MSG.innerHTML=BirthdayMsg;
    }
    else if(xmlhttp2.responseText=="Invalid First Name")
    {
        MSG.innerHTML=FirstMsg;
    }
    else if(xmlhttp2.responseText=="Invalid Last Name")
    {
        MSG.innerHTML=LastMsg;
    }
}

/* Not Currently Used For Email Subscribe. Was Used in Version 1.1 */
function EmailMiniSubscribe()
{
    var MSG=document.getElementById("msg");
    MSG.style.display="block";
    MSG.style.color="red";
    
    var Email=document.getElementById("email");
    var Month=document.getElementById("month");
    var Date=document.getElementById("date");
    var Year=document.getElementById("year");
    var PostURL = document.getElementById("PostURL");
    
    var E=Email.value;
    
    if(!isValidEmail(E)){MSG.innerHTML=EmailMsg; return false;}
    if(!isValidDate(Month,Date,Year)){MSG.innerHTML=BirthdayMsg; return false;}
    
    var M=Month[Month.selectedIndex].value;
    var D=Date[Date.selectedIndex].innerHTML;
    var Y=Year.value
    
    var functionInfo="";
    functionInfo="<function><name>EmailMiniSubscribe</name>";
    functionInfo+="<parameter><![CDATA[" + E + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + M + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + D + "]]></parameter>";
    functionInfo+="<parameter><![CDATA[" + Y + "]]></parameter></function>";
    //alert(functionInfo);
    //var URL="/email/handle-mini-subscribe.aspx";
    //postXMLRequest(URL,loadXMLString(functionInfo))
    postXMLRequest(PostURL.innerHTML,loadXMLString(functionInfo))
    //alert(xmlhttp2.responseText);

    if(xmlhttp2.responseText=="Success")
    {
        MSG.style.color="green";
        MSG.innerHTML=SuccessMsg;
        Year.value="";
        TrackMiniEmailSignUp("Email Sign Up Confirmation Page");
        var PixelBox=document.getElementById("trackingpixel");
        if(PixelBox!=null)PixelBox.innerHTML=Pixel;
    }
    else if(xmlhttp2.responseText=="Invalid Email")
    {
        MSG.innerHTML=EmailMsg;
    }
    else if(xmlhttp2.responseText=="Invalid Age")
    {
        MSG.innerHTML=AgeMsg;
    }
    else if(xmlhttp2.responseText=="Invalid Birthday")
    {
        MSG.innerHTML=BirthdayMsg;
    }
}

function isValidEmail(sEmailAddress)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	bValidEmailReturn = filter.test(sEmailAddress);
	if(bValidEmailReturn) {
		filter  = /\./;
		bValidEmailReturn = !filter.test(sEmailAddress.substring((sEmailAddress.length-2),sEmailAddress.length));
	}
	return bValidEmailReturn;
}

function isValidDate(Month,Date,Year)
{
if(Month.selectedIndex==0) return false;
if(Date.selectedIndex==0) return false;
if(isNaN(Year.value)) return false;
var Y=Year.value;
if(Y<=1800) return false;
return true;
}

function isValidName(Name)
{
if(Name.length>0)
{
    Name=Name.replace(" ", "");
    if(Name.length>0) return true;
}
return false;
}

