// AJAX Document
// EXAMPLES:
// function() { state_GetProfileDetails(_dest) };
var xmlHTTP_VERSIONS = new Array('MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHttp');
var xml_text;
var ajax_output;
var strHref = window.location.href;
var ajax_path;

if (strHref.indexOf("www") > -1 )
		{
				ajax_path="http://www.excitingwindows.us/sweepstakes/";
		}
	else
		{
				ajax_path="http://excitingwindows.us/sweepstakes/";
		}	

var ERROR_ON_PAGE = false;
var OBJ_LOADED = false;
var MSG = null;
var PAGE=null;


// Images 
var WORKING_IMG = '<img src=' + ajax_path + 'images/working.gif' + '  width="10" height="10" border=0 style="vertical-align: bottom">';
var ERR_IMG = '<img src=' + ajax_path + 'images/error.gif' + '  border=0 style="vertical-align: bottom" title="Invalid entry">';
var OK_IMG = '<img src=' + ajax_path + 'images/ok.gif' + '  border=0 width="20" height="20" style="vertical-align: bottom">';
var INFO_IMG= '<img src=' + ajax_path + 'images/info.gif' + '  border=0 style="vertical-align: bottom">';
var WAITING_IMG= '<img src=' + ajax_path + 'images/working.gif' + '  border=0 style="vertical-align: middle">';
var SUBMITTING_IMG= '<img src=' + ajax_path + 'images/submitting.gif' + '  border=0 style="vertical-align: middle">';
var DUP_IMG= '<img src=' + ajax_path + 'images/dup.gif' + '  border=0 style="vertical-align: middle">';
var DBQ_IMG= '<img src=' + ajax_path + 'images/qry.gif' + '  border=0 style="vertical-align: middle">';
var LOADING_IMG= '<img src=' + ajax_path + 'images/loading.gif' + '  border=0 style="vertical-align: middle">';
var DOWNLOADOK_IMG= '<img src=' + ajax_path + 'images/downloadok.gif' + '  border=0 style="vertical-align: middle">';
// Initializes XMLHttpRequest Object ###################################################################################################
function GetXmlHttpObject()
{
	var xmlHttp=null;	
	try
	 {
	        xmlHttp = new XMLHttpRequest();
	 }

	catch(e)
	 {
	        for(var i=0; i<xmlHTTP_VERSIONS.length && !xmlHttp; ++i)
		 {
		        try
		        {
		        	xmlHttp = new ActiveXObject(xmlHTTP_VERSIONS[i]);
		        }
                        catch(e) {}
		 }
	 }
	 
	 if(!xmlHttp)
	  {
	        alert('Error creating the XMLHttpRequest Object');
	        return;
	  }
	 else
	  {
	        return xmlHttp;
	  }
}
// ####################################################################################################################################
function ajax_CheckEmail(_email)
{
		xmlHttp_CheckEmail=GetXmlHttpObject();
		if (xmlHttp_CheckEmail==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		var url = ajax_path + "wrk/doCheckEmail.php?email=" + _email;
		//alert(url);

		xmlHttp_CheckEmail.onreadystatechange=state_CheckEmail;
		xmlHttp_CheckEmail.open("GET",url,true);
		xmlHttp_CheckEmail.send(null);

}

function state_CheckEmail()
{
	switch(xmlHttp_CheckEmail.readyState)
	 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_post_status').innerHTML = WAITING_IMG;
			break;

			case 4:
			        var xml_text = xmlHttp_CheckEmail.responseText;
			        if(xml_text == "OK")
				 {
					document.getElementById('div_post_status').innerHTML = ERR_IMG + " " + document.getElementById('EMAIL').value + "  already exist in database.";
					
                    ERROR_ON_PAGE = true;
				 }
				else
				 {
				        document.getElementById('div_post_status').innerHTML = "";
				        
				        ERROR_ON_PAGE = false;
				 }
			break;


	 }
}

// ####################################################################################################################################
// ####################################################################################################################################
function ajax_AddSweep()
{
		xmlHttp_AddSweep=GetXmlHttpObject();
		if (xmlHttp_AddSweep==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	jsf_ValidateSlide('frmEntryDetail');

	var INVITED_EMAILS = document.getElementsByName('invite');
	var Invited = new Array();
	var i=0;
	      for(i=0; i<=INVITED_EMAILS.length-1; i++)
		 {
			if(INVITED_EMAILS[i].value != '')
			 {
			        Invited.push(INVITED_EMAILS[i].value);
			 }
		 }
	
	
	var n=0;	
	var params;
	var THIS_FORM;
	var THIS_FORM_OBJ;
	var THIS_OBJ;

		THIS_FORM_OBJ = document.getElementById('frmEntryDetail');
		for(var el=0; el<THIS_FORM_OBJ.elements.length; el++)
			{
				if(document.getElementById(THIS_FORM_OBJ[el].id))
				 {
					THIS_OBJ = document.getElementById(THIS_FORM_OBJ[el].id).value;
					if(document.getElementById(THIS_FORM_OBJ[el].id).type == "button")
						{
			
						}
					else
						{
							if(document.getElementById(THIS_FORM_OBJ[el].id).className == "required" && document.getElementById(THIS_FORM_OBJ[el].id).value.length == 0)
							 {
								alert('You have left one or more requried field empty');
								return;
							 }
							 
								 if(document.getElementById(THIS_FORM_OBJ[el].id).className == "required")
								  {
									if(params == null)
										{
											params = THIS_FORM_OBJ[el].id + '=' + encodeURIComponent(THIS_OBJ);
										}
									else
										{
											params += '&' + THIS_FORM_OBJ[el].id + '=' + encodeURIComponent(THIS_OBJ);
										}
								  }
						}
				 }
				else
				 {
					 
				 }
		}


		THIS_FORM_OBJ = document.getElementById('frmEntryBasic');
		for(var el=0; el<THIS_FORM_OBJ.elements.length; el++)
			{
				if(document.getElementById(THIS_FORM_OBJ[el].id))
				 {
					THIS_OBJ = document.getElementById(THIS_FORM_OBJ[el].id).value;
					if(document.getElementById(THIS_FORM_OBJ[el].id).type == "checkbox" || document.getElementById(THIS_FORM_OBJ[el].id).type == "button")
						{
			
						}
					else
						{
							if(document.getElementById(THIS_FORM_OBJ[el].id).className == "required" && document.getElementById(THIS_FORM_OBJ[el].id).value.length == 0)
							 {
								alert('You have left one or more requried field empty');
								return;
							 }
							 
								 if(document.getElementById(THIS_FORM_OBJ[el].id).className == "required")
								  {
									if(params == null)
										{
											params = THIS_FORM_OBJ[el].id + '=' + encodeURIComponent(THIS_OBJ);
										}
									else
										{
											params += '&' + THIS_FORM_OBJ[el].id + '=' + encodeURIComponent(THIS_OBJ);
										}
								  }
						}
				 }
				else
				 {
					 
				 }
		}


	params += "&Invited=" + Invited + "&sid=" + Math.random();
	$("#submission_status").dialog('open');
		
	$(".ui-icon-closethick").hide();
	var url = ajax_path + "wrk/doAddSweepSpry.php";
	document.getElementById('div_post_status').innerHTML = "<strong>Please wait ...</strong>"; 
	
	xmlHttp_AddSweep.open("POST", url, true);
	xmlHttp_AddSweep.onreadystatechange=state_AddSweep;
	xmlHttp_AddSweep.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp_AddSweep.setRequestHeader("Content-length", params.length);
	xmlHttp_AddSweep.setRequestHeader("Connection", "close");
	xmlHttp_AddSweep.send(params);

}

function state_AddSweep()
{
	switch(xmlHttp_AddSweep.readyState)
	 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_post_status').innerHTML = WAITING_IMG + " Please wait.";
			break;

			case 4:
			        var xml_text = xmlHttp_AddSweep.responseText;
			        if(xml_text == "OK")
				 		{
				        		document.getElementById('div_post').innerHTML = "";
								document.getElementById('div_post_status').innerHTML = "<strong>Thank you. Your submission was successfull</strong>";     
								$("#submission_status").dialog('close');
				 		}
				else
				 		{
				        	document.getElementById('div_post_status').innerHTML = "We are sorry, but an error occured while submitting. " + xml_text;
				 		}
			break;
	 }
}
// ####################################################################################################################################
function ajax_SignIn()
{
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

	var uid = document.getElementById('uid').value;
	var upw = document.getElementById('upw').value;


	var params = "uid=" + uid;
		params += "&upw=" + upw;
	
	var url = ajax_path + "admin/Signin.php";
			//alert(url);

	xmlHttp.open("POST", url, true);
	xmlHttp.onreadystatechange=state_SignIn;

	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);

}

function state_SignIn()
{
	switch(xmlHttp.readyState)
	 {
			case 1:
			case 2:
			case 3:
				document.getElementById('div_signin_status').innerHTML = "Authenticating  ...";
			break;

			case 4:
			        var xml_text = xmlHttp.responseText;

			        if(xml_text == "OUTPUT LIST")
				 {
					document.getElementById('div_signin_status').innerHTML = "Sign in successful ... Redirecting";
					window.location = ajax_path + "admin/InitQuery.php";
				 }
				else
				 {
				        document.getElementById('div_signin_status').innerHTML = "Sign in was invalid";
				 }
			break;

	 }
}
// *********************************************************************************************************************************************************
function ajax_Query(_p)
{
	xmlHttp_Query=GetXmlHttpObject();
	if (xmlHttp_Query==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

	  
	  		if(!(_p))
			 {
				_p = 1; 
			 }
	  
		   params ="P=" + _p;

		var url = ajax_path + "admin/Query.php";
	    		xmlHttp_Query.open("POST", url, true);
	    		xmlHttp_Query.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp_Query.onreadystatechange= state_Query;
				xmlHttp_Query.setRequestHeader("Content-length", params.length);
	    		xmlHttp_Query.setRequestHeader("Connection", "close");
				xmlHttp_Query.send(params);
}

function state_Query()
{
	switch(xmlHttp_Query.readyState)
	 {
		case 1:
		case 2:
		case 3:
			
		break;

		case 4:
			var xml_text = xmlHttp_Query.responseText;
			document.getElementById('div_List').innerHTML = xml_text;
		break;
	 }
}

// *********************************************************************************************************************************************************
function ajax_GetZipCodeDetails(_zip)
{

		xmlHttp_GetZipCodeDetails=GetXmlHttpObject();
		if (xmlHttp_GetZipCodeDetails==null)
	  	{
	  		alert ("Your browser does not support AJAX!");
	  		return;
	  	}

		if(_zip == "99999")
 		 {
			alert("Invalid zip code");
			$("#ZIP").val("");

			return;
		 }	

		if(_zip.length == 0)
		{
			return;	
		}


		var params = "ZIP=" + _zip;
				params += "&sid=" + Math.random();
		var url = ajax_path + "wrk/doGetZipDetails.php";
	    		xmlHttp_GetZipCodeDetails.open("POST", url, true);
				xmlHttp_GetZipCodeDetails.onreadystatechange=state_GetZipCodeDetails;
				xmlHttp_GetZipCodeDetails.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    		xmlHttp_GetZipCodeDetails.setRequestHeader("Content-length", params.length);
	    		xmlHttp_GetZipCodeDetails.setRequestHeader("Connection", "close");
				xmlHttp_GetZipCodeDetails.send(params);
}

function state_GetZipCodeDetails()
{
	switch(xmlHttp_GetZipCodeDetails.readyState)
	 {
		case 1:
		case 2:
		case 3:
				//document.getElementById('CITY').className = "required";
				//document.getElementById('STATE').className = "required";
		break;

		case 4:
				var JSON_ARRAY = eval('(' + xmlHttp_GetZipCodeDetails.responseText + ')'); 
				 //alert(JSON_ARRAY);
						document.getElementById('CITY').value= JSON_ARRAY.CITY;
						document.getElementById('STATE').value= JSON_ARRAY.STATE;
		break;
	 }
}

// ####################################################################################################################################
function ajax_MakeCaptcha()
{
	xmlHttp_MakeCaptcha=GetXmlHttpObject();
	if (xmlHttp_MakeCaptcha==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }


        var url = ajax_path + "wrk/doMakeCaptcha.php?sid=" + Math.random();
			xmlHttp_MakeCaptcha.open("GET", url, true);
			xmlHttp_MakeCaptcha.onreadystatechange = state_MakeCaptcha;
			xmlHttp_MakeCaptcha.send(null);
}

function state_MakeCaptcha()
{
	switch(xmlHttp_MakeCaptcha.readyState)
	 {
		case 1:
		case 2:
		case 3:
				//document.getElementById('div_Captcha').innerHTML = WAIT_IMG + " Please wait ...";
		break;

		case 4:
			var text_xml = xmlHttp_MakeCaptcha.responseText;
			document.getElementById('div_Captcha').innerHTML = text_xml;
		break;
	 }
}
// ####################################################################################################################################
function ajax_ListByState()
{
	xmlHttp_ListByState=GetXmlHttpObject();
	if (xmlHttp_ListByState==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }


        var url = ajax_path + "admin/ListByState.php?sid=" + Math.random();
			xmlHttp_ListByState.open("GET", url, true);
			xmlHttp_ListByState.onreadystatechange = state_ListByState;
			xmlHttp_ListByState.send(null);
}

function state_ListByState()
{
	jsf_ShowObj('div_Graph','yes');
	switch(xmlHttp_ListByState.readyState)
	 {
		case 1:
		case 2:
		case 3:
				//document.getElementById('div_Captcha').innerHTML = WAIT_IMG + " Please wait ...";
		break;

		case 4:
			var text_xml = xmlHttp_ListByState.responseText;
			document.getElementById('div_Graph').innerHTML = text_xml;
		break;
	 }
}
// ####################################################################################################################################
function ajax_PreLead()
{
	xmlHttp_PreLead=GetXmlHttpObject();
	if (xmlHttp_PreLead==null)
	 {
	  	alert ("Your browser does not support AJAX!");
	  	return;
	 }

	var EMAIL = document.getElementById('EMAIL').value;
	var PHONE = document.getElementById('PHONE').value;
	var STATE = document.getElementById('STATE').value;

	var params = "EMAIL=" + EMAIL + "&PHONE=" + PHONE + "&STATE=" + STATE;
	
	var url = ajax_path + "wrk/doPreLead.php";
	document.getElementById('div_post_status').innerHTML = "";

	xmlHttp_PreLead.open("POST", url, true);
	xmlHttp_PreLead.onreadystatechange=state_PreLead;

	xmlHttp_PreLead.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp_PreLead.setRequestHeader("Content-length", params.length);
	xmlHttp_PreLead.setRequestHeader("Connection", "close");
	xmlHttp_PreLead.send(params);
}

function state_PreLead()
{
	switch(xmlHttp_PreLead.readyState)
	 {
		case 1:
		case 2:
		case 3:
				//document.getElementById('div_Captcha').innerHTML = WAIT_IMG + " Please wait ...";
		break;

		case 4:
			var text_xml = xmlHttp_PreLead.responseText;
			document.getElementById('div_EWLIST').innerHTML = text_xml;
		break;
	 }
}

function ajax_LoadMembers()
{
	var MEMBERS = $.ajax({
					  		// Define ajax url
							url: "Members.php", 
							
							// Define ajax method
							type: "POST",
							
							// Prevent caching
							cache: false,
							
							// Pass paramaters to ajax object
							data: null,
							
							// Execute when ajax call was successful
							success: function(ajax)
										{
											$("#div_Members").html(ajax);
										},
							// Execute when ajax call failed
							error: function(ajax)
										{
											//$('#invitations').html(ajax.responseText);
											alert('Error ' + ajax.responseText);	
										}
					});
}

function ajax_ManageStatus(ew_id, ew_active)
{
	var params = "EW_ID=" + ew_id + "&EW_ACTIVE=" + ew_active;
	var MEMBERS = $.ajax({
					  		// Define ajax url
							url: "ManageStatus.php", 
							
							// Define ajax method
							type: "POST",
							
							// Prevent caching
							cache: false,
							
							// Pass paramaters to ajax object
							data: params,
							
							// Execute when ajax call was successful
							success: function(ajax)
										{
											if(ajax == "OK")
											 {
												ajax_LoadMembers(); 
											 }
											 else
											 {
												alert('An error occured, please try again'); 
											 }
											//$("#div_Members").html(ajax);
										},
							// Execute when ajax call failed
							error: function(ajax)
										{
											//$('#invitations').html(ajax.responseText);
											alert('Error ' + ajax.responseText);	
										}
					});
}
