
var gShow; 
var sUrl = "includes/SignUpValidate.php?type=ajax&val=";
var gErrors = 0; 
var http = false;
var check = false;

function createRequestObject() {
    if (window.XMLHttpRequest) { // Mozilla, Safari, Opera...
        var xmlhttp = new XMLHttpRequest();
        if (xmlhttp.overrideMimeType)
			xmlhttp.overrideMimeType('text/xml');
    }
	else if (window.ActiveXObject) { // IE
        try {
            var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!xmlhttp) {
        return false;
    }
	return xmlhttp;
}

function attachFormHandlers()
{
	if (document.getElementsByTagName)
	{
		var objInput = document.getElementsByTagName('input');
		for (var iCounter=0; iCounter < objInput.length; iCounter++)
			objInput[iCounter].onblur = function(){ return validateMe(this); } 
		var objSelect = document.getElementsByTagName('select');
		for (var sCounter=0; sCounter < objSelect.length; sCounter++)
			objSelect[sCounter].onblur = function(){ return validateMe(this); } 
	}
}

function enable_disable() {
	var objInput = document.getElementsByTagName('input');
	for (var iCounter=0; iCounter < objInput.length; iCounter++)
		objInput[iCounter].disabled = !objInput[iCounter].disabled;
	var objSelect = document.getElementsByTagName('select');
	for (var sCounter=0; sCounter < objSelect.length; sCounter++)
		if(objSelect[sCounter].disabled == true) {
			objSelect[sCounter].disabled = false;
		}
		else {
			objSelect[sCounter].disabled = true;
		}
}

function toggleWin(div, toggle) {
	visible = document.getElementById(div).style.visibility;

	if(visible == "hidden" || toggle == "show")
	{
		document.getElementById(div).style.visibility="visible";
	}
	else if(visible == "visible" || toggle == "hide")
	{
		document.getElementById(div).style.visibility="hidden";
	}
	if(div == "instructions")
	{
		enable_disable();
	}
}

function validateMe(objInput) {

	toggleWin("pleasewaitScreen", "show");

	sVal = objInput.value; //get value inside of input field
	
	sRules = objInput.className.split(' '); 
	sRequired = sRules[1]; 
	sTypeCheck = sRules[2]; 
    	gShow = sRules[3];

	if(sTypeCheck == "bMonth" || sTypeCheck == "bDay" || sTypeCheck == "bYear")
	{
		bMonth = document.getElementById("bMonth").value;
		bDay = document.getElementById("bDay").value;
		bYear = document.getElementById("bYear").value;
		if(sTypeCheck == "bMonth")
		{
			sTypeCheck = "bDate";
			if(bDay != "DD" && bYear != "YYYY")
			{
				sVal = sVal + "/" + bDay + "/" + bYear;
				check = true;
			}
		}	
		else if(sTypeCheck == "bDay")
		{
			sTypeCheck = "bDate";
			if(bMonth != "MM" && bYear != "YYYY")
			{
				sVal = bMonth + "/" + sVal + "/" + bYear;
				check = true;
			}
		}
		else if(sTypeCheck == "bYear")
		{
			sTypeCheck = "bDate";
			sVal = bMonth + "/" + bDay + "/" + sVal;
			check = true;
		}
	}
	else if((sRequired == "required" && gShow != "none") || (sTypeCheck == "promo" && sVal != ""))
	{
		check = true;
	}
	if(check == true)
	{
		http = createRequestObject();

		http.open("GET", sUrl + (sVal) + "&sRequired=" + (sRequired) + "&sTypeCheck=" + sTypeCheck, true);

		http.onreadystatechange = handleHttpResponse; 	// handle what to do with the feedback 
		http.send(null);  
	}
	else
	{
		toggleWin("pleasewaitScreen", "hide");
	}
	check = false;
}

function validateFlightTime(objInput) {
	toggleWin("pleasewaitScreen", "show");

	sVal = objInput.value; //get value inside of input field
	sRules = objInput.className.split(' '); 
	gShow = sRules[0];

	http = createRequestObject();

	http.open("GET", sUrl + (sVal) + "&sRequired=No&sTypeCheck=" + gShow, true);

	http.onreadystatechange = handleHttpResponse; 	// handle what to do with the feedback 
	http.send(null); 
}

function handleHttpResponse() {
	//4: Process completed
	if (http.readyState == 4 && http.status == 200) 
  	{
  		sResults = http.responseText.split(","); 
    		document.getElementById(gShow).innerHTML = "";
		document.getElementById(gShow).innerHTML = sResults[0];
		setTimeout("toggleWin('pleasewaitScreen', 'hide')", 800);
  	}
}
