﻿// JScript File

var xmlHttp; 

function SendEmail ()
{
    var url;
    var txtEmail = document.getElementById("txtEmail");
    var emailError = document.getElementById("emailError");
    
    if (txtEmail.value.length > 0)
    {
        //alert (txtEmail.value)
        if (echeck(txtEmail.value)==true)
        {
            var url="/Checkout/ChameleonEmail.aspx?eml=" + txtEmail.value; 
            ExecuteCall (url);
        }
        else
        {
            emailError.innerHTML = "Your email address is invalid.";
        }
    }
    else
    {
        emailError.innerHTML = "Please enter your email address.";
    }    
}

function ClearUp ()
{
    var txtEmail = document.getElementById("txtEmail");
    var emailError = document.getElementById("emailError");
    txtEmail.value = "";
    emailError.innerHTML = ""
}

function echeck(str) 
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   //alert("Your email address is invalid.")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   //alert("Your email address is invalid.")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    //alert("Your email address is invalid.")
	    return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    //alert("Your email address is invalid.")
	    return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    //alert("Your email address is invalid.")
	    return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    //alert("Your email address is invalid.")
	    return false
	 }
	
	 if (str.indexOf(" ")!=-1){
	    //alert("Your email address is invalid.")
	    return false
	 }

	 return true					
}

function ChameleonEmailResponse()
{ 
//    alert (" in ChameleonEmailResponse ")
//    alert (xmlHttp.readyState);
//    alert ("[" + xmlHttp.responseText + "]");
    try
    {
        //readyState of 4 or 'complete' represents 
        //that data has been returned 
        if (xmlHttp.readyState == 4 || 
            xmlHttp.readyState == 'complete')
        {
            var response = xmlHttp.responseText; 
            //var response = xmlHttp.responseXML; 
            if (response.length > 0)
            {
//                alert (response);
                var emailResult = document.getElementById("emailResult");
                emailResult.innerHTML = response.split("^")[1];
                ClearUp();
            } 
        }
    }
    catch(e){}
}

//==========================
// Common Ajax functionality
//==========================

function ExecuteCall(url)
{ 
//    alert ("in execute call")
//    alert (url)
    try 
    {
        xmlHttp = GetXmlHttpObject(ChameleonEmailResponse); 
        SendXmlHttpRequest(xmlHttp, url); 
    }
    catch(e)
    { 
        //alert ("error")
    } 
} 

function SendXmlHttpRequest(xmlhttp, url) 
{ 
    //alert ("in SendXmlHttpRequest with " + url);
    //alert (xmlhttp);
    xmlhttp.open('GET', url, true); 
    xmlhttp.send(null); 
}

function GetXmlHttpObject(handler)
{ 
    var objXmlHttp = null;
    if (!window.XMLHttpRequest)
    {
//        alert("1");
        // Microsoft
        objXmlHttp = GetMSXmlHttp();
        if (objXmlHttp != null)
        {
//            alert("2");
            objXmlHttp.onreadystatechange = handler;
        }
    } 
    else
    {
//        alert("3");
        // Mozilla | Netscape | Safari
        objXmlHttp = new XMLHttpRequest();
        if (objXmlHttp != null)
        {
//            alert("4");
             objXmlHttp.onreadystatechange = handler;
        }
    } 
    return objXmlHttp; 
} 

function GetMSXmlHttp()
{
    var xmlHttp = null;
    var clsids = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0",
                 "Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0", 
                 "Msxml2.XMLHTTP.2.6","Microsoft.XMLHTTP.1.0", 
                 "Microsoft.XMLHTTP.1","Microsoft.XMLHTTP"];
    for(var i=0; i<clsids.length && xmlHttp == null; i++) {
        xmlHttp = CreateXmlHttp(clsids[i]);
    }
    return xmlHttp;
}

function CreateXmlHttp(clsid) {
    var xmlHttp = null;
    try {
        xmlHttp = new ActiveXObject(clsid);
        lastclsid = clsid;
        return xmlHttp;
    }
    catch(e) {}
}

//==========================
// Common Ajax functionality
//==========================
