﻿// JScript File
//Preload the images start

var ExpiryDate="";
var SignUpcode = "";
var RedirectUrl = "";
var emailAdd = "";
var currentErrorLabel="";
var IsEmailExists=false;
var CommunityEmailAddress="";
var isCommunityRegistrant = 0;
var isVerifyPassBoxDisplay = 0;
var contactID = "0";
var customerID = "0";
var NsStatus = "0";
var NsInternalID = "0";
var customerOrigin = "";
        
var isOpera = navigator.userAgent.indexOf("Opera") > -1; 
var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera; 
var isMoz = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !isOpera;        
var isContactSubmitClicked=false;
var domainName = "";
if(window.location.toString().toLowerCase().indexOf("clickable.com")!=-1)
{
    domainName = ".clickable.com";
}
else if(window.location.toString().toLowerCase().indexOf("searchmanager.com")!=-1)
{
    domainName = ".searchmanager.com";
}

    if (window.location.toString().indexOf("advertisers.aspx")!=-1)
    {   
         Image1= new Image();Image1.src = "/images/mp_advert.png";
    }
    else if (window.location.toString().indexOf("agencies.aspx")!=-1)
    {   
        Image1= new Image();Image1.src = "/images/mp_agency.png";
    }
      else if (window.location.toString().indexOf("about-clickable.aspx")!=-1)
    {
         Image1= new Image();Image1.src = "/images/mp_aboutus.png";
         Image7= new Image();Image7.src = "/images/arrow_blue.png";
    }
     else if (window.location.toString().indexOf("team-clickable.aspx")!=-1)
    {
        Image1= new Image();Image1.src = "/images/mp_team.png";
        Image7= new Image();Image7.src = "/images/arrow_blue.png";
    }
    else if (window.location.toString().indexOf("clickable-press.aspx")!=-1)
    {
        Image1= new Image();Image1.src = "/images/mp_press.png";
        Image7= new Image();Image7.src = "/images/arrow_blue.png";
    }
    else if (window.location.toString().indexOf("clickable-news.aspx")!=-1)
    {
        Image1= new Image();Image1.src = "/images/mp_news.png";
        Image7= new Image();Image7.src = "/images/arrow_blue.png";
    }
    else if (window.location.toString().indexOf("join-us-clickable.aspx")!=-1)
    {
        Image1= new Image();Image1.src = "/images/mp_join.png";
        Image7= new Image();Image7.src = "/images/arrow_blue.png";
    }
    else if (window.location.toString().indexOf("contact-clickable.aspx")!=-1)
    { 
       Image1= new Image();Image1.src = "/images/mp_contact.png";
       Image7= new Image();Image7.src = "/images/arrow_blue.png";
       Image8= new Image();Image8.src = "/images/arrow_google.png";
       var host = (("https:" == document.location.protocol) ? "https://www.google.com" : "http://www.google.com");
       Image9= new Image();Image9.src = host + "/intl/en_ALL/mapfiles/transparent.png";
       Image11= new Image();Image11.src = host + "/intl/en_ALL/mapfiles/poweredby.png";
       Image12= new Image();Image12.src = host + "/intl/en_ALL/mapfiles/scale.png";
       Image13= new Image();Image13.src = host + "/intl/en_ALL/mapfiles/lmc.png";
       Image14= new Image();Image14.src = host + "/intl/en_ALL/mapfiles/lmc-bottom.png";
       
       Image15= new Image();Image15.src = host + "/intl/en_ALL/mapfiles/lmc-bottom.png";
       Image16= new Image();Image16.src = host + "/intl/en_ALL/mapfiles/slider.png";
       Image17= new Image();Image17.src = host + "/intl/en_ALL/mapfiles/openhand.cur";
       Image18= new Image();Image18.src = host + "/intl/en_ALL/mapfiles/iw2.png";
       Image19= new Image();Image19.src = host + "/intl/en_ALL/mapfiles/iws2.png";
       Image20= new Image();Image20.src = host + "/intl/en_ALL/mapfiles/iw_close.gif";
       Image21= new Image();Image21.src = host + "/intl/en_ALL/mapfiles/iw_plus.gif";
       
       Image22= new Image();Image22.src = host + "/intl/en_ALL/mapfiles/iw_fullscreen.gif";
       Image23= new Image();Image23.src = host + "/intl/en_ALL/mapfiles/iw_minus.gif";
       Image24= new Image();Image24.src = host + "/intl/en_ALL/mapfiles/transparent.gif";
       Image25= new Image();Image25.src = "/images/wait.gif";
    }
     else if (window.location.toString().indexOf("signup-clickable.aspx")!=-1)
    {
        Image1= new Image();Image1.src = "/images/mp_signup.png";
        Image7= new Image();Image7.src = "/images/wait.gif";
    }
     else if (window.location.toString().indexOf("thankyou-clickable.aspx")!=-1)
    { 
        Image1= new Image();Image1.src = "/images/mp_thankyou.png";
    }
  
    
 
    
//Global Variables
var IsPressed=false;
var j_IsDirectSignup="True";
var IsValidURL=false;

function Common()
{

this.ClearOnFocus=function(element)
{
	if (element.value=="Enter Your Email Here") 
	{
		element.value = '';
	}
};
this.ShowErrorPopUp=function(message,Obj)
{
	if(Obj === null)
	{
		return;
	}	
	var controlId=Obj.id;
	var left,top;
    if(navigator.userAgent.indexOf('Mac')!=-1 && navigator.userAgent.indexOf('Safari')!=-1 && window.location.toString().indexOf("signup-clickable.aspx")!=-1)
	{
		if(controlId.substring(0,3)=="lst")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(164);
		}
		else if(controlId.substring(0,5)=="txtAR")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x + Number(157);
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(265);
		}
		else if(controlId.substring(0,3)=="txt")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x + Number(154);
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(286);
		}
		else
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x - Number(16) ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(18) ;
		}
	}
	else if(navigator.userAgent.indexOf('Mac')!=-1 && navigator.userAgent.indexOf('Safari')!=-1)
	{
		if(controlId.substring(0,3)=="lst")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(164);
		}
		else if(controlId.substring(0,5)=="txtAR")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x + Number(157);
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(267);
		}
		else if(controlId.substring(0,3)=="txt")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x + Number(154);
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(251);
		}
		else
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x - Number(16) ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(18) ;
		}
	}
	else if(navigator.appVersion.indexOf('Safari')!=-1)
	{
	    if(controlId.substring(0,3)=="lst")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(170);
		}
		else if(controlId.substring(0,5)=="txtAR")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(41);
		}
		else if(controlId.substring(0,3)=="txt")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(21);
		}
		else
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x - Number(8);
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(18);
		}
	}
	else if (navigator.appName == "Microsoft Internet Explorer")
	{
		if(controlId.substring(0,3)=="lst")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(164);
		}
		else if(controlId.substring(0,5)=="txtAR")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(47);
		}
		else if(controlId.substring(0,3)=="txt")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(21);
		}
		else
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x - Number(16) ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(18) ;
		}
	}
	else
	{
		if(controlId.substring(0,3)=="lst")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(170);
		}
		else if(controlId.substring(0,5)=="txtAR")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(62);
		}
		else if(controlId.substring(0,3)=="txt")
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x ;
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(21);
		}
		else
		{
			 left = Sys.UI.DomElement.getBounds(Obj).x - Number(8);
			 top  = Sys.UI.DomElement.getBounds(Obj).y + Number(18);
		}
	}
	if( $get('divErrorPopUp').style.display=="none" && left >= 0)
	{
		$get('errorMessage').innerHTML=message;  
		$get('divErrorPopUp').style.display="block"; 
		$get('divErrorPopUp').style.left=left+'px';
		$get('divErrorPopUp').style.top=top+'px';
    }
};
this.HideErrorPopUp=function()
{
	$get('divErrorPopUp').style.display = "none";
	Sys.UI.DomElement.removeCssClass($get('errorMessage'), "tabTitlePopUp"); 
	Sys.UI.DomElement.addCssClass($get('errorMessage'), "errorcontent");
};

}
var common = new Common();

function errorPopupVisible()
{
	return ($get('divErrorPopUp').style.display == "block");
};

function HideLabel()
{
	if(currentErrorLabel != "")
    {
        Sys.UI.DomElement.removeCssClass($get(currentErrorLabel), "star");
    }
	$get('tr_message').style.display="none"; 
	$get('spn_status').innerHTML="";
};

function hideErrorPopup()
{
	common.HideErrorPopUp();
	HideLabel();
};

function ShowError(msg,lblid)
{
    currentErrorLabel = lblid;
    if(lblid != "")
    {
	    Sys.UI.DomElement.addCssClass($get(lblid), "star");
	}	
	
	 if(navigator.appName=='Netscape') 
	 {
            $get('tr_message').style.display="table-cell"; 
     }
     else 
     {
            $get('tr_message').style.display="block"; 
     }
	$get('lblError').innerHTML=msg;
};


function HideErrorLabel()
{
 $get('spn_status').innerHTML="";
};

function noPostBack(sNewFormAction)
{    
    document.forms[0].action = sNewFormAction;
    document.forms[0].__VIEWSTATE.name = '';
};  

function CheckEmail(email)
{
    email = email.toLowerCase();
    if(g_acValidator.CheckBlankEmail(email)===false)
    { 
	    if($get('txtSignupEmail')!==null)
	    {
	        EnableAll();
	        $get('imgWait').style.display="none";
	        ShowError("Please enter your Email address.","lbltxtSignupEmail");
	        $get('txtSignupEmail').focus();
	    }
	    return false;
    }
    if(g_acValidator.IsValidEmailAddress(email)===false)
    {
	    if($get('txtSignupEmail')!==null)
	    {
	        EnableAll();
	        $get('imgWait').style.display="none";
	        ShowError("Please enter a valid Email address.","lbltxtSignupEmail");
	        $get('txtSignupEmail').focus();
	    }
	    return false;
    }
};

function Login()
{
	window.location.href="/ac";  
};

function comparePassword()
{
    if($get('txtPassword').value.trim() != $get('txtRePassword').value.trim())
    {
        return false;
    }
    return true;
}
function txtConfirmSignupEmail_Blur(txtCnfirmEmail)
{
    common.HideErrorPopUp();
    var txtConfirmEmail = $get(txtCnfirmEmail);
    if(isIE)
    {
        if((txtConfirmEmail.tagName=="A")||(txtConfirmEmail.tagName=="IMG"))
        {
            return true;
        }
    }
    else if(isMoz)
    {
        if((txtConfirmEmail.tagName=="A")||(txtConfirmEmail.tagName=="IMG"))
        {
            return true;
        }
    }
    
    $get('txtHiddenEmail').value = txtConfirmEmail.value;
    //if (errorPopupVisible()) {return false;}

	//HideLabel();
	var Name=txtConfirmEmail;
	var strErrorMsg = "";
	var flag = 0;
	var strEmail = txtConfirmEmail.value;
	blurElement = Name;
	if(Name.value.trim().length===0)
	{
		//setTimeout("blurElement.focus()",10);
		strErrorMsg = "Please enter Email.";
		common.ShowErrorPopUp('Please enter Email address.',Name);
		return false;
	}
	else
	{
	    strEmail = strEmail.toLowerCase();
	    if(IsTextInputUnSafe(strEmail))
	    {
	        strErrorMsg = "Please enter a valid Email address.";
            flag = 1;
	    }
	    else if(g_acValidator.IsValidEmailAddress(strEmail)===false)
        {
            strErrorMsg = "Please enter a valid Email address.";
            flag = 1;
		}
        if(flag == 1)
		{
		    //setTimeout("blurElement.focus()",10);
		    common.ShowErrorPopUp(strErrorMsg,Name);
		    return false;
		}
		else
		{
	        $get('txtHiddenEmail').value = txtConfirmEmail.value;
	        CheckEmailAvailability(txtConfirmEmail);
		}		
	}
};
function ShowChkEmailAvaiLbl()
{
    $get('colChkEmailAval').style.dispaly='block';
    $get('lblChkEmailAval').style.dispaly='block';
    $get('lblChkEmailAval').innerHTML='Verifying email...';
};
function HideChkEmailAvaiLbl()
{
    $get('colChkEmailAval').style.dispaly='none';
    $get('lblChkEmailAval').style.dispaly='none';
    $get('lblChkEmailAval').innerHTML='';
};
function CheckEmailAvailability(txtConfirmEmail)
{
    ShowChkEmailAvaiLbl();
    //DisableAll();
    EmailValue = txtConfirmEmail.value;
    PageMethods.CheckEmailAvailability(txtConfirmEmail.value,CheckEmailAvailability_callback);
};
var EmailValue;
function CheckEmailAvailability_callback(response)
{ 
    //Here response is the value of NsStatus  field.
    HideChkEmailAvaiLbl();
    //EnableAll();
    if(response != null && response != "")
    {
        contactID = response['ContactId'];
        customerID = response['CustomerId'];
        NsStatus = response['NsStatus'];
        NsInternalID = response['NsInternalId'];
        
    }
    else
    {
        contactID = "0";
        customerID = "0";
        NsStatus = "0";
        NsInternalID = "0";
    }
    if(response == null || response == "") //If no record found
    {
        IsEmailExists=false;
        isCommunityRegistrant = 0;
        strScreenName=EmailValue.split("@");
        $get(txtScreenNameClientId).value= strScreenName[0]  ;
    }
    else if(response['NsStatus']  == 42)//If NsStatus is 42 (for community only); 
    {
        IsEmailExists=true;
        if(CommunityEmailAddress != EmailValue || isCommunityRegistrant != 1)
        {
            isCommunityRegistrant = 0;
            isVerifyPassBoxDisplay = 1;
            togglePanelCommunity(1);
        }
        CommunityEmailAddress = EmailValue;        
    }
};

function ignoreSpaces(string) 
{
    var temp = "";
    string = '' + string;
    splitstring = string.split(" ");
    for(i = 0; i < splitstring.length; i++)
    temp += splitstring[i];
    return temp;
};
function getLength()
{
    var val=ignoreSpaces($get('txtPhone').value);
    var count=0;
    for(var i=0;i<val.length;i++)
    {
        if(val.substring(i,i+1)>=0 && val.substring(i,i+1)<=9)
        {
            count=count+1;
        }  
    }
    return (count);
};

function HideAllCompanyType()
{
	$get('divAdvertiser').style.display="none";
	$get('divAgency').style.display="none";
};
function DisableAll()
{
	HideLabel();
	common.HideErrorPopUp();
    $get('txtSignupEmail').disabled=true;
	$get('txtName').disabled=true;
	$get('txtLastName').disabled=true;
	$get('txtTitle').disabled=true;
	$get('txtCompanyName').disabled=true;
	$get('txtCode').disabled=true;
	$get('txtPhone').disabled=true;
    $get('txtPassword').disabled=true;
	$get('txtRePassword').disabled=true;
	$get('txtScreenName').disabled=true;
	$get('rdoAdvertiser').disabled=true;
	$get('rdoAgency').disabled=true;
	$get('rdoHaveNWAccount').disabled=true;
	$get('rdoHaveNWAccountWantAssist').disabled=true;
	$get('rdoDoNotHaveNWAccount').disabled=true;
	$get('chkGoogle').disabled=true;
	$get('chkYahoo').disabled=true;
	$get('chkMSN').disabled=true;
	$get('chkAsk').disabled=true;
	$get('chkOther').disabled=true;
	$get('chkAgGoogle').disabled=true;
	$get('chkAgYahoo').disabled=true;
	$get('chkAgMSN').disabled=true;
	$get('chkAgAsk').disabled=true;
	$get('chkAgOther').disabled=true;
	$get('txtOther').disabled=true;
	$get('txtAgOther').disabled=true;
	$get(cmbMonthlySpend).disabled=true;
	$get('cmbNoOfAcctManaged').disabled=true;
	$get(cmbAvClientMonSMSpend).disabled=true;
	$get(cmbMonthlySpend).disabled=true;
	$get(cmbCountry).disabled=true;
	$get(industryName).disabled=true;
	$get(cmbTotalSpend).disabled=true;
	$get(cmbMonthlySpend).disabled=true;
	$get('txtARQuestionComments').disabled=true;
	$get('chkSubscribeNewsLetter').disabled=true;
	$get('btnSubmit').disabled=true;
	$get('btnSubmit').className="signupSubmitLt";
};
function EnableAll()
{
	HideLabel();
	common.HideErrorPopUp();
	if($get('fromLandingPage') != null && $get('fromLandingPage').value == 'NO')
	{
        $get('txtSignupEmail').disabled=false;
        $get('txtName').disabled=false;
	    $get('txtLastName').disabled=false;
	    $get('txtCompanyName').disabled=false;
	    //$get('txtPhone').disabled=false;
	    $get('txtScreenName').disabled=false;
	}
	
	$get('txtTitle').disabled=false;
	
	$get('txtCode').disabled=false;
	$get('txtPhone').disabled=false;
	if(isCommunityRegistrant == 0)
    {
        $get('txtPassword').disabled=false;
	    $get('txtRePassword').disabled=false;
	    $get('txtScreenName').disabled=false;
    }
    else
    {
	    $get('txtPassword').disabled=true;
	    $get('txtRePassword').disabled=true;
	    $get('txtScreenName').disabled=true;
	}
	$get('rdoAdvertiser').disabled=false;
	$get('rdoAgency').disabled=false;
	$get('rdoHaveNWAccount').disabled=false;
	$get('rdoHaveNWAccountWantAssist').disabled=false;
	$get('rdoDoNotHaveNWAccount').disabled=false;
	$get('chkGoogle').disabled=false;
	$get('chkYahoo').disabled=false;
	$get('chkMSN').disabled=false;
	$get('chkAsk').disabled=false;
	$get('chkOther').disabled=false;
	$get('chkAgGoogle').disabled=false;
	$get('chkAgYahoo').disabled=false;
	$get('chkAgMSN').disabled=false;
	$get('chkAgAsk').disabled=false;
	$get('chkAgOther').disabled=false;
	$get('txtOther').disabled=false;
	$get('txtAgOther').disabled=false;
	$get(cmbMonthlySpend).disabled=false;
	$get('cmbNoOfAcctManaged').disabled=false;
	$get(cmbAvClientMonSMSpend).disabled=false;
	$get(cmbMonthlySpend).disabled=false;
	$get(cmbTotalSpend).disabled=false;
	$get(cmbCountry).disabled=false;
	$get(industryName).disabled=false;
	$get('txtARQuestionComments').disabled=false;
	$get('chkSubscribeNewsLetter').disabled=false;
	$get('btnSubmit').disabled=false;
	$get('btnSubmit').className="signupSubmit";
};

// Validate password on button 
// "Next" click.
function validate_password(strPass)
{
    //The password must be a minimum of 6 characters and contain letters and either numbers or punctuation marks.
    //Must contain only A-Z a-z 0-9 . ? ! : ; , - _ / '
    var isSpaceExists = 0;
    if(strPass.indexOf(' ') != -1)
        isSpaceExists = 1;
    var re = /^[\w.?!:;,-_/']{6,}$/;
    //For at least one alphabate.
    var re1 = /[A-Za-z]{1}/; 
    //For at least one char other than alphabate.
    var re2 = /[0-9.?!:;,-/'_]{1}/; 
    if (!re.test(strPass) || !re1.test(strPass) || !re2.test(strPass) || isSpaceExists == 1) 
    {
        return false;
    }
    return true;
};
  

function HideVerifyUrl()
{
    $get('lblVerifyUrl').style.dispaly='none';
    $get('lblVerifyUrl').innerHTML='';
};

function ServerSide_CountryNamePopulation(response)
{
    var us,canada;
	var dtCountryNames=response;
	if(dtCountryNames==null || dtCountryNames.rows==null ){return;}
	if(dtCountryNames.rows.length>0)
	{
		for(var i=0; i<dtCountryNames.rows.length;i++)
		{
			$get(cmbCountry).length+=1;
			$get(cmbCountry).options[$get(cmbCountry).length-1].value=dtCountryNames.rows[i]["CountryCode"];
			$get(cmbCountry).options[$get(cmbCountry).length-1].text=dtCountryNames.rows[i]["CountryName"];
			
			if(dtCountryNames.rows[i]["CountryCode"].toUpperCase()=='US')
			{   
			    us=dtCountryNames.rows[i]["CountryName"];
			}
			if(dtCountryNames.rows[i]["CountryCode"].toUpperCase()=='CA')
			{
			    canada=dtCountryNames.rows[i]["CountryName"];
			}
		}
	}
};

function checkCR(evt) 
{        
    var evt  = (evt) ? evt : ((event) ? event : null);
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if ((evt.keyCode == 13) && (node.type=="text")) {return false;}        
};

function OpenPopUp(action)
{
    if(action == "PrivacyPolicy")
    {
        var left = (window.parent.document.body.offsetWidth/2) - (550/2);
        window.open("/Legal/PrivacyPolicy/PrivacyPolicy.html","WindowPrivacyPolicy","menubar=no,width=600,height=350,left="+left+", scrollbars=yes, top=250, toolbar=no, resizable=yes");       
    }
};




//--------------------START OF PARSER RELATED LOGIC-----------------------------------------------
// The function which contains the parser logic
// for differentiating between the marketing channels
// and for capturing customer related information.
//var DummyreferralUrl="http://search.yahoo.com/search?p=clickable+india&fr=yfp-t-501&toggle=1&cop=mss&ei=UTF-8&fp_ip=IN&vc=";
function ParseUrl()
{
    
    var ctt_ch = "";
    var ctt_nw = "";
    var ctt_id ="";
    var ctt_cli = "^^^";
    var destinationUrl="";
    var referralUrl="";
    
    
    ctt_ch = getLookUpValue(GetCtt_ch("ctt_ch"));
    
    if(ctt_ch!=null)
    {
        
        if(ctt_ch=='BANNER AD' || ctt_ch=='VIDEO' || ctt_ch=='SOCIAL REFERRAL' )
        {
            ctt_id=document.domain;
            ctt_nw = Getctt_nw("ctt_nw");
            ctt_cli = Getctt_nw("ctt_cli");
            ctt_cli.replace(/x/g,"^");
            destinationUrl = window.location.href;
            referralUrl = document.referrer;
        }
        else if(ctt_ch=='EMAIL MARKETING' || ctt_ch=='PAID SEARCH')
        {
            ctt_id = Getctt_id("ctt_id");
            ctt_nw = Getctt_nw("ctt_nw");
            ctt_cli = Getctt_nw("ctt_cli");
            ctt_cli.replace(/x/g,"^");
            destinationUrl = window.location.href;
            referralUrl = document.referrer;
        }
    }
    else
    {
        //parse the url to extract the ctt 
        //parameters for marketing channel type urls
        //which have these parameters, viz
        //(1) Paid search marketing.
        //(2) Email marketing.
        //(3) Banner marketing.
        //(4) Video marketing.
        //(5) Social Referral.
        //(6) Organic search
        ctt_ch = getLookUpValue("os");
        
        //Is this coming from google?
        //search 
        var googSearchParam = GetOrganicSearchNetwork("hl");
            
        //Is this coming from google?
        //toolbar.
        var googToolBarParam = GetOrganicSearchNetwork("sourceid");
        if(googSearchParam != "")
        {
            ctt_id = GetOrganicSearchNetwork("q");
            
            //Yes it is coming from google.
            //search
            ctt_nw = "google";
            
            
            destinationUrl = "";
            referralUrl = document.referrer;
        }
        else if(googToolBarParam != "")
        {
             ctt_id = GetOrganicSearchNetwork("q");
                 
             //Yes it is coming from google.
             //toolbar
             ctt_nw = "google";
             
             
             destinationUrl = "";
             referralUrl = document.referrer;
         }
         //Is this coming from msn?
         else if(GetOrganicSearchNetwork("q")!= "")
         {
        
            ctt_id = GetOrganicSearchNetwork("q"); 
            
            //Yes it is coming from msn.
            ctt_nw = "msn";
            
            destinationUrl = "";
            referralUrl = document.referrer;
         }
         // Is this coming from yahoo?
         else if(GetOrganicSearchNetwork("p")!= "")
         {
             ctt_id = GetOrganicSearchNetwork("p"); 
            
            //Yes it is coming from yahoo.
            ctt_nw = "yahoo";
            
            destinationUrl = "";
            referralUrl = document.referrer;
         }
         //If it is not Organic
         //Check for website referral.
         if(ctt_ch == getLookUpValue("os") && ctt_nw == "" && ctt_id == "")
         {
            //(7) Website referral.
            var strDest=window.location.href;
            var strRef=document.referrer;
            if(strRef!="")
            {
                 if(strDest != strRef)
                {
                    ctt_ch = getLookUpValue("wr");
                    ctt_id="";
                    destinationUrl="";
                    referralUrl = document.referrer;
                    ctt_nw =document.domain;
               
                }
            }
           
            else
            {   
                // It has to be therefore 
                //(8) Direct referral.
                ctt_ch = getLookUpValue("dr");
                ctt_id="";
                ctt_nw="";
                destinationUrl="";
                referralUrl="";
            }
          }
    }
      
    if(__aCMasterCookie.getCookie("SalesFunnelCookie") =="" || __aCMasterCookie.getCookie("SalesFunnelCookie") =="undefined")
    {
        ExpiryDate=addDays2Today(30);
        
        var Domain=document.domain;
        customerOrigin = customerOrigin.replace("/","");
        var strCookie = "ctt_ch=" + ctt_ch + "|" + "ctt_id=" + ctt_id + "|" + "ctt_nw=" + ctt_nw + "|" + "ctt_origin=" + customerOrigin + "|" + "ctt_cli=" + ctt_cli + "|" + "referralUrl=" +referralUrl + "|" + "destinationUrl=" + destinationUrl ;
        
        __aCMasterCookie.setPersistentCookie("SalesFunnelCookie",strCookie,ExpiryDate);
    }
    CreateMarketingCampaignCookie();
    CreatePartnerCookie(); 
};
 //The function gets the utm_term attribute
// for the organic search type marketing channel.
function GetOrganicSearchNetwork(SearchIdentifier)
{
    
    ctt_ch = SearchIdentifier.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
    var regexS = "[\\?&]"+SearchIdentifier+"=([^&#]*)";  
    var regex = new RegExp(regexS);  
    var results = regex.exec(document.referrer);  
    if(results == null)    
        return "";  
    else    
        return results[1];
}
// The function for extracting the utm_medium code
function GetCtt_ch(ctt_ch)
{  
    ctt_ch=ctt_ch.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
    //ctt_ch = utm_medium.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
    var regexS = "[\\?&]"+ctt_ch+"=([^&#]*)";  
    var regex = new RegExp(regexS);  
    var results = regex.exec(window.location.href);  
    if(results == null)    
        return "";  
    else    
        return results[1];
};
// The function for getting the look up data
function getLookUpValue(key)
{
      switch (key.toUpperCase())
      {
            case "PS":
                  return "PAID SEARCH";
            case "EM":
                  return "EMAIL MARKETING";
            case "BN":
                  return "BANNER AD";
            case "VI":
                  return "VIDEO";
            case "SR":
                  return "SOCIAL REFERRAL";
            case "OS":
                  return "ORGANIC SEARCH";
            case "WR":
                  return "WEBSITE REFERRAL";
            case "DR":
                  return "DIRECT REFERRAL";
            default:
                  break;
      }
};
// The function for extracting the utm_source code
function Getctt_nw(ctt_nw)
{
    ctt_nw = ctt_nw.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
    var regexS = "[\\?&]"+ctt_nw+"=([^&#]*)";  
    var regex = new RegExp(regexS);  
    var results = regex.exec(window.location.href);  
    if(results == null)    
        return "";  
    else    
        return results[1];
};
// The function for extracting the utm_term code
function Getctt_id(ctt_id)
{
    ctt_id = ctt_id.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
    var regexS = "[\\?&]"+ctt_id+"=([^&#]*)";  
    var regex = new RegExp(regexS);  
    var results = regex.exec(window.location.href);  
    if(results == null)    
        return "";  
    else    
        return results[1];
};

//----------------------------------- END OF PARSER RELATED LOGIC----------------------------------



//
// TEAencrypt: Use Corrected Block TEA to encrypt plaintext using password
//             (note plaintext & password must be strings not string objects)
//
// Return encrypted text as string
//
function TEAencrypt(plaintext, password)
{
    if (plaintext.length == 0) return('');  // nothing to encrypt
    // 'escape' plaintext so chars outside ISO-8859-1 work in single-byte packing, but keep
    // spaces as spaces (not '%20') so encrypted text doesn't grow too long (quick & dirty)
    var asciitext = escape(plaintext).replace(/%20/g,' ');
    var v = strToLongs(asciitext);  // convert string to array of longs
    if (v.length <= 1) v[1] = 0;  // algorithm doesn't work for n<2 so fudge by adding a null
    var k = strToLongs(password.slice(0,16));  // simply convert first 16 chars of password as key
    var n = v.length;

    var z = v[n-1], y = v[0], delta = 0x9E3779B9;
    var mx, e, q = Math.floor(6 + 52/n), sum = 0;

    while (q-- > 0) {  // 6 + 52/n operations gives between 6 & 32 mixes on each word
        sum += delta;
        e = sum>>>2 & 3;
        for (var p = 0; p < n; p++) {
            y = v[(p+1)%n];
            mx = (z>>>5 ^ y<<2) + (y>>>3 ^ z<<4) ^ (sum^y) + (k[p&3 ^ e] ^ z);
            z = v[p] += mx;
        }
    }

    var ciphertext = longsToStr(v);

    return escCtrlCh(ciphertext);
};

//
// TEAdecrypt: Use Corrected Block TEA to decrypt ciphertext using password
//
function TEAdecrypt(ciphertext, password)
{
    if (ciphertext.length == 0) return('');
    var v = strToLongs(unescCtrlCh(ciphertext));
    var k = strToLongs(password.slice(0,16)); 
    var n = v.length;

    var z = v[n-1], y = v[0], delta = 0x9E3779B9;
    var mx, e, q = Math.floor(6 + 52/n), sum = q*delta;

    while (sum != 0) {
        e = sum>>>2 & 3;
        for (var p = n-1; p >= 0; p--) {
            z = v[p>0 ? p-1 : n-1];
            mx = (z>>>5 ^ y<<2) + (y>>>3 ^ z<<4) ^ (sum^y) + (k[p&3 ^ e] ^ z);
            y = v[p] -= mx;
        }
        sum -= delta;
    }

    var plaintext = longsToStr(v);

    // strip trailing null chars resulting from filling 4-char blocks:
    plaintext = plaintext.replace(/\0+$/,'');

    return unescape(plaintext);
};


// supporting functions

function strToLongs(s)
 {  // convert string to array of longs, each containing 4 chars
    // note chars must be within ISO-8859-1 (with Unicode code-point < 256) to fit 4/long
    var l = new Array(Math.ceil(s.length/4));
    for (var i=0; i<l.length; i++) {
        // note little-endian encoding - endianness is irrelevant as long as 
        // it is the same in longsToStr() 
        l[i] = s.charCodeAt(i*4) + (s.charCodeAt(i*4+1)<<8) + 
               (s.charCodeAt(i*4+2)<<16) + (s.charCodeAt(i*4+3)<<24);
    }
    return l;  // note running off the end of the string generates nulls since 
};              // bitwise operators treat NaN as 0

function longsToStr(l) {  // convert array of longs back to string
    var a = new Array(l.length);
    for (var i=0; i<l.length; i++) {
        a[i] = String.fromCharCode(l[i] & 0xFF, l[i]>>>8 & 0xFF, 
                                   l[i]>>>16 & 0xFF, l[i]>>>24 & 0xFF);
    }
    return a.join('');  // use Array.join() rather than repeated string appends for efficiency
};

function escCtrlCh(str)
{  // escape control chars etc which might cause problems with encrypted texts
    return str.replace(/[\0\t\n\v\f\r\xa0'"!]/g, function(c) { return '!' + c.charCodeAt(0) + '!'; });
};

function unescCtrlCh(str) 
{  // unescape potentially problematic nulls and control characters
    return str.replace(/!\d\d?\d?!/g, function(c) { return String.fromCharCode(c.slice(1,-1)); });
};

function TextOnly(eventElement)
{        
    var bubbleEvent = false;
    if ((eventElement.keyCode >=65  && eventElement.keyCode <=90)||eventElement.keyCode==32 || eventElement.keyCode==8 || eventElement.keyCode==46 || eventElement.keyCode==37 || eventElement.keyCode==39 || eventElement.keyCode==9)
	{
	   bubbleEvent = true;
	}
	else if(eventElement.shiftKey==false && (g_acValidator.ValidateKeys(eventElement)))
    {
       bubbleEvent=true;
    }
    else
    {
	   bubbleEvent = false;
	}   
	    
    if (! bubbleEvent) 
	{
		eventElement.preventDefault();
	}

	    return bubbleEvent;
};	
function vaidateSpecialCharacter(eventElement)
{
     hideErrorPopup();
     var bubbleEvent = false;
     if ((eventElement.keyCode >=65  && eventElement.keyCode <=90) || eventElement.keyCode==8 || eventElement.keyCode==46 || eventElement.keyCode==37 || eventElement.keyCode==39 || eventElement.keyCode==9)
     {
	   bubbleEvent = true;
	 }
	 else if(eventElement.shiftKey==false && ((eventElement.keyCode>=48 && eventElement.keyCode<=57)||(eventElement.keyCode>=96 && eventElement.keyCode<=105)))
     {
       bubbleEvent=true;
     }
	 else if((eventElement.shiftKey==true && eventElement.keyCode == 50) ||(eventElement.keyCode == 190)||(eventElement.shiftKey==true && eventElement.keyCode == 189)||(eventElement.keyCode == 189) )
     {
       bubbleEvent=true;
     }
     else
     {
	   bubbleEvent = false;
	 }   
	    
     if (! bubbleEvent) 
	 {
	    common.ShowErrorPopUp('Special characters not allowed.',eventElement.target);
		eventElement.preventDefault();
	 }
	    return bubbleEvent;

};

///////////////////////////////////////////////////////////
function cancelWizard()
{
    $get('divVerifyPasswordMessage').innerHTML = "";
    $get('divVerifyPasswordMessage').style.display = "none";

    toggleDivBox(0,"divCommunity");
    common.ShowErrorPopUp("Email already exists for Clickable Community.",$get('txtSignupEmail'));
    IsEmailExists=true;
    $get('txtSignupEmail').focus();
};
function closeWizardPage()
{
    toggleDivBox(0,"divCommunity");
};
//function closeVerifyPasswordBox()
//{
//    toggleDivBox(0, 'divOuter');
//};

function toggleDivBox(iState, NetworkDivId) // 1 visible, 0 hidden
{
    var szDivID     = 'divOuter';

    
    document.documentElement.scrollTop = 0;
    
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].visibility = iState ? "show" : "hide";
       document.layers[NetworkDivId].visibility = iState ? "show" : "hide";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        var obj1 = document.getElementById(NetworkDivId);
        
        obj.style.visibility = iState ? "visible" : "hidden";
        obj1.style.visibility = iState ? "visible" : "hidden";
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
        document.all[NetworkDivId].style.visibility = iState ? "visible" : "hidden";
    }
    if(iState == 1)
    {
        $get('txtCommPassword').value = "";
        $get('txtCommPassword').focus();
    }
};

function togglePanelCommunity(iState)
{
    if(iState == 1)
    {
        $find(panelCommunityWindow).show(); 
        $get(txtCommPasswordClientId).value = "";
        $get(txtCommPasswordClientId).focus();
    }
}

function verifyPassword()
{
    $get(divVerifyPasswordMessageClientId).style.display = "none";
    if($get(txtCommPasswordClientId).value.trim().length === 0 )
    {
        $get(divVerifyPasswordMessageClientId).innerHTML = "Please enter your password.";
        $get(divVerifyPasswordMessageClientId).style.display = "block";
        return false;
    }
    else
    {
        //$get(divVerifyPasswordMessageClientId).style.display = "block";
        //PageMethods.verifyPassword($get('txtSignupEmail').value, $get('txtCommPassword').value.trim(),verifyPassword_CallBack);
    }
};
function verifyPassword_CallBack(response)
{
    $get('divVerifyPasswordProgress').style.display = "none";
     $get('divVerifyPasswordMessage').innerHTML = "";
    if(response["Result"] == "Incorrect Password")
    {
            isCommunityRegistrant = 0;
            $get('divVerifyPasswordMessage').innerHTML = "Incorrect password! please enter your correct password.";
            $get('divVerifyPasswordMessage').style.display = "block";
    }
    else if(response["Result"] == "Exists")
    {
        isCommunityRegistrant = 1;
        
        if(response["ScreenName"] == '')
        {
            $get('txtScreenName').value = $get('txtName').value.trim() + " " + $get('txtLastName').value.trim();
        }
        else
        {
            $get('txtScreenName').value = response["ScreenName"];
        }
        $get('txtPassword').value = $get('txtCommPassword').value;
        $get('txtRePassword').value = $get('txtCommPassword').value;
        
        if(response["FirstName"] != ' ')
            $get('txtName').value = response["FirstName"];
       
        if(response["LastName"] != ' ')
            $get('txtLastName').value = response["LastName"];
       
        $get('txtPassword').disabled=true;
	    $get('txtRePassword').disabled=true;
	    $get('txtScreenName').disabled=true;
	
        closeWizardPage();
        IsEmailExists=false;
        $get('txtName').focus();
        return false;
    }
    else if(response["Result"] == "Not Exists")
    {
        isCommunityRegistrant = 0;
        $get('divVerifyPasswordMessage').innerHTML = "Your account could not verified for Clickable Community, please try again.";
        $get('divVerifyPasswordMessage').style.display = "block";
    }
    else if(response["Result"] == "Exception")
    {
        $get('divVerifyPasswordMessage').innerHTML = "Your account could not verified, please try again.";
        $get('divVerifyPasswordMessage').style.display = "block";
    }
};
function CommPasswordOnKeydown(eventElement)
{
    $get('divVerifyPasswordMessage').style.display = "none";
    if(eventElement.keyCode==13)
    {
        return verifyPassword();
    }
    else if(eventElement.keyCode==Sys.UI.Key.tab)
    {
        if(!isMoz)
        {
            $get('btnCommCancel').focus();
        }
        else
        {
        
        }
        return false;
    }
};
function CommCancelOnKeydown(eventElement)
{
    if(eventElement.keyCode==Sys.UI.Key.tab)
    {
        if(!isMoz)
        {
            $get('btnCommSubmit').focus();
        }
        else
        {
        
        }
        
        return false;
    }
    else
    {
        cancelWizard();
        return false;
    }
};
function CommSubmitOnKeydown(eventElement)
{
    if(eventElement.keyCode==Sys.UI.Key.tab)
    {
        if(!isMoz)
        {
            $get('txtCommPassword').focus();
        }
        else
        {
            $get('btnCommCancel').focus();
        }
        
        return false;
    }
    else
    {
        verifyPassword(); 
        return false;
    }
};
function setFieldsForNonComm()
{
    $get('txtPassword').disabled=false;
	$get('txtRePassword').disabled=false;
	$get('txtScreenName').disabled=false;
    isCommunityRegistrant = 0;
};
function IsTextInputUnSafe(InputString)
{
    var result = false;
    if(InputString != null)
    {
        if(InputString.indexOf("<") >= 0 || InputString.indexOf(">") >= 0 || InputString.indexOf("&lt;") >= 0 || InputString.indexOf("&gt;") >= 0)
        {
            result = true;
        }
        else
        {
             result =  false;
        }
    }
    
    return result;
};


function CreateMarketingCampaignCookie()
{
    var MarketingCampaignCookieValue = Getmcid("mcid");
//	if(MarketingCampaignCookieValue && MarketingCampaignCookieValue != "")
//	{
//    document.cookie = "MarketingCampaignCookie=" + MarketingCampaignCookieValue +
//        "; path=/ac"+
//        //"; domain=searchmanager.com"+"; expires="+ExpiryDate;
//        "; expires="+ExpiryDate;
//	}
	if(MarketingCampaignCookieValue && MarketingCampaignCookieValue != "")
	{
	    if(domainName == "")
	    {
            document.cookie = "MarketingCampaignCookie=" + MarketingCampaignCookieValue +
                "; path=/ac"+
                "; expires="+ExpiryDate;
        }
        else
        {
            document.cookie = "MarketingCampaignCookie=" + MarketingCampaignCookieValue +
                "; path=/ac"+
                "; domain=" + domainName +"; expires="+ExpiryDate;
        }
	}
};

//Create PartnerID Cookie
function CreatePartnerCookie()
{
    var PartnerCookieValue = __aCMasterCookie.getCookie("PartnerCookie");
	if(PartnerCookieValue == "" || PartnerCookieValue == null)
	{
	    var parterCookieValue = "";
	    switch(partnerId) //partnerId is declared in \CommonControls\Amex\AmexHeader.ascx file
	    {
	        case "1":
	            parterCookieValue = "8 Clickable Direct";
	            break;
	        case "2":   
	            parterCookieValue = "7 American Express Open";
	            break;
	    }
	    document.cookie = "PartnerCookie=" + parterCookieValue + "; path=/ac"+"; expires=" + ExpiryDate;
    }
};

//Parse Marketing Campaign Id (mcid) from QueryString
function Getmcid(mcid)
{  
    mcid=mcid.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
    var regexS = "[\\?&]"+mcid+"=([^&#]*)";  
    var regex = new RegExp(regexS);  
    var results = regex.exec(window.location.href);  
    if(results == null)    
        return "";  
    else    
        return results[1];
};
