var thisdeal = new Array();
thisdeal.allnights = getObj("night_slot").innerHTML;
thisdeal.citycount = 0;
thisdeal.statecount = 0;
thisdeal.nightcount = 0;
thisdeal.tournamentcount = 0;

function ajaxAgent(file, processor){
  var xmlObj = null;
	if(window.XMLHttpRequest){
		xmlObj = new XMLHttpRequest();
		} else if(window.ActiveXObject){
		xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
		} else {
		return false;
		}
	xmlObj.onreadystatechange = function(){
		if(xmlObj.readyState == 4){
			//step 1 error check for xml being returned
			if(!xmlObj.responseXML.getElementsByTagName('Response')){
				doAlert("No Reponse From Server. \n\nPlease try again. \n\n\n");
				return(false);
				}
			// check to see where to send the xml
			var myArray = new Array();
			if(isIE){
				myArray.success = xmlObj.responseXML.getElementsByTagName('Response')[0].getAttributeNode("success").nodeValue;		
				myArray.status = xmlObj.responseXML.getElementsByTagName('Response')[0].getAttributeNode("status").nodeValue;	
				} else {
				myArray.success = xmlObj.responseXML.getElementsByTagName('Response')[0].attributes.success.nodeValue;
				myArray.status = xmlObj.responseXML.getElementsByTagName('Response')[0].attributes.status.nodeValue;	
				}

			
			if(processor==1){ processStates(xmlObj.responseXML) };
			if(processor==2){ processCities(xmlObj.responseXML) };
			if(processor==3){ processNights(xmlObj.responseXML) };
			
			
			}
		}
	xmlObj.open ('GET', file, true);
	xmlObj.send ('');
	}


function getStates(theCountry){
	queryString = "get_bar_data.asp?query="+escape(theCountry)+"&cat=country&order=state";
	ajaxAgent(queryString, 1);
	getObj("night_slot").innerHTML = thisdeal.allnights;
	}
	
function processStates(xml){
	tmax = xml.getElementsByTagName('queryAnswer').length;
	s = "";
	ts = "";
	sArray  = new Array();
	for(x=0;x<tmax;x++){
		if(isIE){
			s = xml.getElementsByTagName('queryAnswer')[x].getAttributeNode("value").nodeValue;	
			} else {
			s = xml.getElementsByTagName('queryAnswer')[x].attributes.value.nodeValue;
			}
		
		if(ts==s){
			
			}else{
			ts=s;
			sArray.push(s);
			thisdeal.statecount++
			}
		}
		// extracting the tornament count
		if(isIE){
			c = xml.getElementsByTagName('tournamentCount')[0].getAttributeNode("value").nodeValue;	
			} else {
			c = xml.getElementsByTagName('tournamentCount')[0].attributes.value.nodeValue;
			}
			
		thisdeal.tournamentcount = c;
		
		//makeStates(sArray, "");
		//alert("tournaments found = "+thisdeal.tournamentcount+"  states found = " +thisdeal.statecount);
		s = "There are more than <br>"+thisdeal.tournamentcount+" Tournament Locations<br />in " + sArray.length + " States.<p />Use the \"Select A State\" button<br>to refine your search"
		getObj("msgbox").innerHTML = s;
	a = sArray;
	st = ""
	s = "<select name='state' id='state' class='input2' style='width:135px;padding-left:3px; line-height:20px; height:20px;' onchange='getCities(this.value)'> \n <option value=''>Select A State</option>\n";
	for(x=0;x<a.length;x++){
		if(a[x]==st){
			s += "<option SELECTED value='"+a[x]+"'>"+a[x]+"</option> \n";
			}else{
			s += "<option value='"+a[x]+"'>"+a[x]+"</option> \n";
		}
	}
	s += "</select>";
	getObj("state_slot").innerHTML = s;
	getObj("night").disabled = "Disabled";
	getObj("city").disabled = "Disabled";
}
	
function getCities(theState){
	if(theState==""){ 
		getObj("night_slot").innerHTML = thisdeal.allnights;
		getObj("night").disabled = "Disabled";
		getObj("city").disabled = "Disabled";
		getObj("bonus_bar").disabled = "Disabled";
		s = "Select a state to refine your search"
		getObj("msgbox").innerHTML = s;

		return false; 
		}
	queryString = "get_bar_data.asp?query="+escape(theState)+"&cat=state&order=city";
	ajaxAgent(queryString, 2);
	getObj("night").disabled = false;
	//getObj("bonus_bar").disabled = false;
	}
function processCities(xml){
	tmax = xml.getElementsByTagName('queryAnswer').length;
	s = "";
	ts = "";
	sArray  = new Array();
	thisdeal.tournamentcount = 0;
	thisdeal.citycount = 0;
	for(x=0;x<tmax;x++){
		thisdeal.tournamentcount++;
		if(isIE){
			s = xml.getElementsByTagName('queryAnswer')[x].getAttributeNode("value").nodeValue;	
			} else {
			s = xml.getElementsByTagName('queryAnswer')[x].attributes.value.nodeValue;
			}
		
		if(ts!=s){
			ts=s;
			sArray.push(s);
			thisdeal.citycount++
			}
		}
			// extracting the tournament count
		if(isIE){
			c = xml.getElementsByTagName('tournamentCount')[0].getAttributeNode("value").nodeValue;	
			} else {
			c = xml.getElementsByTagName('tournamentCount')[0].attributes.value.nodeValue;
			}
			
		thisdeal.tournamentcount = c;

	makeCities(sArray, "");
	s = "There are "+thisdeal.tournamentcount+" Tournament Locations<br />in " +thisdeal.citycount +" Cities.<p />Click on the \"Next\" button or use the \"Select A City\" button, or both, to further refine your search and then click on the \"Next\" button."
	getObj("msgbox").innerHTML = s;
	}
	
function makeCities(a, c){
	s = "<select name='city' id='city' class='input2' style='width:135px;padding-left:3px; line-height:20px; height:20px;' > \n<option value=''>Select A City</option>\n";
	for(x=0;x<a.length;x++){
		if(a[x]==c){
			s += "<option SELECTED value='"+a[x]+"'>"+a[x]+"</option> \n";
			}else{
			s += "<option value='"+a[x]+"'>"+a[x]+"</option> \n";
			}
		}
	s += "</select>";
	getObj("city_slot").innerHTML = s;
	}	

function getNights(theCity){
	queryString = "wps_getBarData.asp?query="+escape(theCity)+"&cat=homeState&order=night1";
	ajaxAgent(queryString, 3);
	}

function processNights(xml){
	tmax = xml.getElementsByTagName('queryAnswer').length;
	s = "";
	ts = "";
	sArray  = new Array();
	for(x=0;x<tmax;x++){
		if(isIE){
			s = xml.getElementsByTagName('queryAnswer')[x].getAttributeNode("value").nodeValue;	
			} else {
			s = xml.getElementsByTagName('queryAnswer')[x].attributes.value.nodeValue;
			}
		
		if(ts!=s && s!="-"){
			ts=s;
			sArray.push(s);
			}
		}
		makeNights(sArray, "");
}
function makeNights(a, c){
	s = "<select name='night' id='night' class='input2' style='width:135px;padding-left:3px; line-height:20px; height:20px;'> \n<option value=''>Select A Night</option>\n";
	for(x=0;x<a.length;x++){
		if(a[x]==c){
			s += "<option SELECTED value='"+a[x]+"'>"+a[x]+"</option> \n";
			}else{
			s += "<option value='"+a[x]+"'>"+a[x]+"</option> \n";
			}
		}
	s += "</select>";
	getObj("night_slot").innerHTML = s;
	}	

function makeNights_OLD(night){
	s = "<select name='night' id='night' class='input2' style='width:135px;padding-left:3px; line-height:20px; height:20px;'> \n<option value='0'>Select A Night</option> \n";
	a = ["Sunday Evenings","Monday Evenings","Tuesday Evenings","Wednesday Evenings","Thursday Evenings","Friday Evenings","Saturday Evenings"];
	for(x=0;x<a.length;x++){
		if(a[x]==night){
			s += "<option SELECTED value='"+a[x]+"'>"+a[x]+"</option> \n";
			}else{
			s += "<option value='"+a[x]+"'>"+a[x]+"</option> \n";
			}
		}
	s += "</select>";
	//getObj("night_slot").innerHTML = s;
	}

function validateForm(){
	data = getObj("country").value;
	if(data==""){
		doAlert("Please select a Country before pressing the 'NEXT' Button");
		return(false);
		}
	data = getObj("state").value;
	if(data==""){
		doAlert("Please select a State before pressing the 'NEXT' Button");
		return(false);
		}
/*
	data = getObj("city").value;
	if(data==""){
		doAlert("Please select a City before pressing the 'NEXT' Button");
		return(false);
		}
	data = getObj("night").value;
	if(data==""){
		doAlert("Please select a Night before pressing the 'NEXT' Button");
		return(false);
		}
*/
	getObj("tournamentsearch").submit();
	}
