﻿var xmlHttp;
var requestType, results;
//For the NASCAR Hologram site

function createXMLHttpRequest(){
		if (window.ActiveXObject){
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} else if (window.XMLHttpRequest){
			xmlHttp = new XMLHttpRequest();
		}
		if (!xmlHttp){
		    alert('Sorry, but AJAX is not supported here');
		}
}

function GetAjaxData(CallID,HID,PID){
    var url = WebsitePath+"Ajax.records.asp?";
    url+="CallID="+CallID+"&HID="+HID+"&PID="+PID+"&ts=" + new Date().getTime();
    //alert(url);
	createXMLHttpRequest();
	var updateHandle = function() { handleStateChange(CallID); };
	xmlHttp.onreadystatechange = updateHandle;
	xmlHttp.open("GET", url,true);
	xmlHttp.send('');
}

function AJAX_UpdateDateRedeemed(SID,PID){
    var CallID=2;
    var url = WebsitePath+"Ajax.records.asp?";
    url+="CallID="+CallID+"&SID="+SID+"&PID="+PID;
   // alert(url);
	createXMLHttpRequest();
	var updateHandle = function() { handleStateChange(CallID); };
	xmlHttp.onreadystatechange = updateHandle;
	xmlHttp.open("GET", url,false);
	xmlHttp.send(null);
    
}

function AJAX_UpdateCalloutHit(SID,CLID){
    var CallID=7;
    var url = WebsitePath+"Ajax.records.asp?";
    url+="CallID="+CallID+"&SID="+SID+"&PID="+CLID;
    //alert(url);
	createXMLHttpRequest();
	var updateHandle = function() { handleStateChange(CallID); };
	xmlHttp.onreadystatechange = updateHandle;
	xmlHttp.open("GET", url,false);
	xmlHttp.send(null);
    
}

function AJAX_UpdatePrizeUsed(SID,PID,PrizeCode){
    var CallID=3;
    var url = WebsitePath+"Ajax.records.asp?";
    url+="CallID="+CallID+"&prizeCode="+PrizeCode+"&PID="+PID+"&SID="+SID;
    //alert(url);
	createXMLHttpRequest();
	var updateHandle = function() { handleStateChange(CallID); };
	xmlHttp.onreadystatechange = updateHandle;
	xmlHttp.open("GET", url,false);
	xmlHttp.send(null);
    
}

function createQueryString(eid){
	var queryString;
	queryString = "SQLID=" + eid;
	return queryString;
}

function handleStateChange(list){
    //alert('handlestatechange');
	if(xmlHttp.readyState == 4)
		if(xmlHttp.status == 200) {	
		    //alert('good to go');
		    switch (list){
		        case (1):
		            return HandleResponse(list); 
		            break;
		        case (2):
		            return true; 
		            break;
		        case (3):
		            //Prize Codes
		            return true; 
		            break;
		        case (4):
		            //Login Info
		            return HandleLoginResponse(list); 
		            break;
		        case (6):
		            //Checking for existing account
		            //alert("Handle Email response");
		            return HandleEmailResponse(); 
		            break;
    	    }
        }
}

function HandleEmailResponse(){
	results = xmlHttp.responseXML.getElementsByTagName("record");
	var option = null;
	for (var i=0; i<results.length; i++){
		var opt = results[i];
		alert('opt='+opt);
		var F_name= opt.getElementsByTagName("First_Name")[0].firstChild.nodeValue;
		alert("Fname="+F_name);
		if (F_name=='NA'){
		    //Nothing was found, so we can add this one
		    document.getElementById("ClearToAdd").value="T";
		    alert(document.getElementById("ClearToAdd").value);
		    return true;
		}
		else {
        //this means that something was found, so can't create a new account
	    document.getElementById("ClearToAdd").value="F";
	    alert(document.getElementById("ClearToAdd").value);
	    return false;
	    }
	}
}

function HandleLoginResponse(list){
	results = xmlHttp.responseXML.getElementsByTagName("record");
	var option = null;
	for (var i=0; i<results.length; i++){
		var opt = results[i];
		var F_name= opt.getElementsByTagName("First_Name")[0].firstChild.nodeValue;
		//alert(F_name);
		if (F_name=='NA'){
		    alert("Sorry, but that login is not valid. Note that passwords are case-sensitive.");
		    return false;
		}
		var SID=opt.getElementsByTagName("SID")[0].firstChild.nodeValue;
		var LastVisit=opt.getElementsByTagName("LastVisit")[0].firstChild.nodeValue;
		var L_name= opt.getElementsByTagName("Last_Name")[0].firstChild.nodeValue;
		var Zip= opt.getElementsByTagName("Zip")[0].firstChild.nodeValue;
		var FavDriver= opt.getElementsByTagName("Favorite_Driver")[0].firstChild.nodeValue;
		var DOB= new Date(opt.getElementsByTagName("DOB")[0].firstChild.nodeValue);
		var Award=opt.getElementsByTagName("EntryType")[0].firstChild.nodeValue;
		if (Award!='0'){
		    var Address=opt.getElementsByTagName("Address")[0].firstChild.nodeValue;
		    var City=opt.getElementsByTagName("City")[0].firstChild.nodeValue;
		    var State=opt.getElementsByTagName("State")[0].firstChild.nodeValue;
		    var Entry_Zip=opt.getElementsByTagName("Entry_Zip")[0].firstChild.nodeValue;
		    if (!jsPostDrawing){
		        if (Award=='G'){
		            //assign Grand Prize values
		            document.getElementById("G_Address").value=Address;
		            document.getElementById("G_City").value=City;
		            document.getElementById("G_selState").value=State;
                    document.getElementById("G_Zip").value=Zip;
		        }
		    }
		    if (Award=='W'){
		        //assign Grand Prize values
		        document.getElementById("W_Address").value=Address;
		        document.getElementById("W_City").value=City;
		        document.getElementById("W_selState").value=State;
                document.getElementById("W_Zip").value=Zip;
		    }
		}
		
	}
	//assign the values to the fields
	document.getElementById("SID").value=SID;
	document.getElementById("MYSID").value=SID;
	document.getElementById("txtfirstName").value=F_name;
	document.getElementById("txtLastName").value=L_name;
	document.getElementById("ZipCode").value=Zip;
	document.getElementById("txtEmail").value=document.getElementById("txtUserName").value;
	document.getElementById("txtEmailConfirm").value=document.getElementById("txtUserName").value;
	document.getElementById("selDriver").value=FavDriver;

	//Date of Birth
	document.getElementById("Month").value=DOB.getMonth()+1;
	document.getElementById("Day").value=DOB.getDate();
	document.getElementById("Year").value=DOB.getFullYear();
	
	//show the MY Account Link
	var curElem=document.getElementById("divMyAccount");
	curElem.style.visibility="visible"; 
    curElem.style.display="block";
    
	
	//Hide the Login window since the user is logged in
	var curElem=document.getElementById("divLogin");
	curElem.innerHTML="Welcome Back <strong>"+F_name+ " "+L_name+ "!</strong>. You last visited on "+LastVisit+".<br>"
	//Go to 'My Account' to see your activity. "


    //Hide the Password Area since we arelogged in
	var curElem=document.getElementById("divCreateNewAccount");
	curElem.style.visibility="hidden"; 
    curElem.style.display="none";
    //Uncheck the box so it doesn't validate login again
    //document.getElementById("chkCreateAccount").checked=false;
	
    return true;


	if (opt_value=="Invalid"){
	    document.getElementById("HologramID"+CurrentHologram).style.backgroundColor="red";        
	    alert(document.getElementById("HologramID"+CurrentHologram).value+" is invalid. Please try again.");
	    document.getElementById("ClearToAdd").value="F";
	}
	else {
	    document.getElementById("HologramID"+CurrentHologram).style.backgroundColor="white";
	    document.getElementById("ClearToAdd").value="T";
	}
	return true;
}

function HandleResponse(list){
	results = xmlHttp.responseXML.getElementsByTagName("record");
	switch (list){
	    case (1):
	        var CurrentHologram=document.getElementById("RowCount").value;
	        //alert(CurrentHologram);
	        break;
	}
	
 	//var selectedList = document.getElementById(idUsed);
	var option = null;
	for (var i=0; i<results.length; i++){
		var opt = results[i];
		var opt_value = opt.getElementsByTagName("response")[0].firstChild.nodeValue;
		//var opt_text = opt.getElementsByTagName("MAN_NAME")[0].firstChild.nodeValue;
	}
	if (opt_value=="Invalid"){
	    document.getElementById("HologramID"+CurrentHologram).style.backgroundColor="red";        
	    alert(document.getElementById("HologramID"+CurrentHologram).value+" is invalid. Please try again.");
	    document.getElementById("ClearToAdd").value="F";
	}
	else {
	    document.getElementById("HologramID"+CurrentHologram).style.backgroundColor="white";
	    document.getElementById("ClearToAdd").value="T";
	}
	return true;
}
