// 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;
var AJAXERROR = false;

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)
{
		var params = "email=" + _email;
		var CHECKEMAIL = $.ajax({
					  		// Define ajax url
							url: ajax_path + "wrk/doCheckEmail.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)
										{
												//alert(ajax);
												if(ajax == "OK")
												 {
													 $("#div_post_status").html("");
													 $("#btnSubmit").show("fast");
												 }
												 else
												 {
													$("#error_duplicate_email").dialog("open");
													$("#btnSubmit").hide("slow");
												 }
												
										},
							// Execute when ajax call failed
							error: function(ajax)
										{
											//$('#invitations').html(ajax.responseText);
											//alert('Error ' + ajax.responseText);	
											alert(ajax);
											$("#div_post_status").html(ERR_IMG + ajax.responseText);
										}
					});
}
// *********************************************************************************************************************************************************
function ajax_GetZipCodeDetails(_zip)
{
		var country = $("#COUNTRY").val();

		if(country.length == 0)
		 {
			$("#error_country").dialog("open");
			return;
			 
		 }
	
		if(_zip == "99999")
 		 {
			$("#error_zip").dialog("open");
			$("#ZIP").addClass("ui-state-error");
			return;
		 }	

		if(_zip.length == 0)
		{
			return;	
		}
	
		var params = "ZIP=" + _zip + "&COUNTRY=" + country;

		var ZIPDETAILS = $.ajax({
					  		// Define ajax url
							url: "../sweepstakes/wrk/doGetZipCodeDetails.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)
										{
											var data = ajax.split("|");
												if(country == "CN")
												 {
													 if($("#STATE").val() == "ON")
													  {
														if(data[1].length == 0)
														 {
															$("#CITY").val(""); 
														 }
														else
														 {
															$("#CITY").val(data[1]);			 
														 }													
													  }
												 }
												 else
												 {
													$("#CITY").val(data[1]); 
													$("#STATE").val(data[2]);	 
												 }
												
												
										},
							// Execute when ajax call failed
							error: function(ajax)
										{
											//$('#invitations').html(ajax.responseText);
											//alert('Error ' + ajax.responseText);	
											//alert(ajax);
											$("#div_post_status").html(ERR_IMG + ajax);
										}
					});
}
// ####################################################################################################################################
function ajax_ListCanadaTeretories()
{
	//var canada_list = "<select id=\"STATE\" name=\"SWEEP\" class=\"required ui-state-active\"><option value=\"\"></option><option value=\"ON\">Ontario</option><option value=\"MB\">Manitoba</option><option value=\"SK\">Saskatchewan</option><option value=\"NW\">Northwest Territories</option></select>";	
	$("#STATES_SPAN").html(WORKING_IMG);
	$("#STATES_SPAN").load(ajax_path + "wrk/doListCanada.php?SID=" + Math.random());
}
// ####################################################################################################################################
function ajax_Submit()
{
	var params = "";
	var Invited = "";
	// Start loop through all input objects with name=LIST
	$('*[name=SWEEP]').each(function()
									{ 
										// Test if a required field has no data then set the error flag to true and exit the loop.
										//if($(this).attr('class') == "required" && $(this).val().length == 0)
										if($(this).attr('class').indexOf("required") >= 0 && $(this).val().length == 0)
										 {
											AJAXERROR = true;
											$(this).addClass("ui-state-error");
											$(this).focus();
											//alert("Red fields are required");
											$("#error_status").dialog('open');
											return false; 
										 }
										
										// Reset the error flag to false
										AJAXERROR = false;
										
										// Check if the paramater is empty; this indicates it's the first item in the loop
										if(params.length == 0)
										 {
											// Create the first parameter
											params = $(this).attr('id') + "=" + $(this).val();	  
										 }
										else
										 {
											// Concat the next item in the loop to the parameter 
											params += "&" + $(this).attr('id') + "=" + $(this).val();	 
										 }
             				}); 
	
	if(AJAXERROR)
	 {
		return false; 
	 }

	$('*[name=invite]').each(function()
									{ 
										if($(this).val().length != 0)
										 {
											Invited = Invited + "," +  $(this).val();
										 }
									
									});

	$("#submission_status").dialog('open');
	$(".ui-icon-closethick").hide();


	if(Invited.length == 0)
	 {
		params += "&sid=" + Math.random();
	 }
	else
	 {
		params += "&Invited=" + Invited + "&sid=" + Math.random();	 
	 }

	
	var POST_SWEEP = $.ajax({
						// Define ajax url
						url: ajax_path + "wrk/doAddSweepSpry.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")
											  {
												$("#submission_status").dialog('close');  
												$(".required").each(function()
																			  { 
																				  $(this).val("");
																			   });
												$(".optional").each(function()
																			  { 
																				  $(this).val("");
																			   });
												//$('#div_post_status').html("<strong>Thank you. Your submission was successfull</strong>");     
												$("#submission_success").dialog("open");
												setTimeout(function()
																	{
																		window.location.reload(true);
																	}, 4000);
												
											  }
											  else
											  {
												  $("#error_submit").dialog("open");
												  $(".ui-icon-closethick").show();
											  }
									},
						// Execute when ajax call failed
						error: function(ajax)
									{
										alert('Error ' + ajax.responseText);	
									}
					});

	
}
// ####################################################################################################################################
// ####################################################################################################################################
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_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()
{
	var EMAIL = $('#EMAIL').val();
	var PHONE = $('#PHONE').val();
	var STATE = $('#STATE').val();
	var ZIP = $('#ZIP').val();
	var COUNTRY = $('#COUNTRY').val();
	
	if(EMAIL.length == 0 || PHONE.length == 0 || STATE.length == 0)
	 {
		$("#error_prelead").dialog("open");
		return;
	 }
	
	var params = "EMAIL=" + EMAIL + "&PHONE=" + PHONE + "&STATE=" + STATE + "&ZIP=" + ZIP + "&COUNTRY=" + COUNTRY;

	$("#div_EWLIST").html(WAITING_IMG);
	var PRELOAD = $.ajax({
					  		// Define ajax url
							url: ajax_path + "wrk/doPreLead.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)
										{
											$("#div_EWLIST").html(ajax);
										},
							// Execute when ajax call failed
							error: function(ajax)
										{
											//$('#invitations').html(ajax.responseText);
											alert('Error ' + ajax.responseText);	
										}
					});



}

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);	
										}
					});
}

