var req = false;
var advsearch = false;
var found = true;
var searchingstage = 1;
var tmp;
var sqlquery = "";

function advancedsearch()
{
	if(advsearch)
	{
		advsearch = false;
		document.getElementById("advancedsearch").style.display = "none";
	}else
	{
		advsearch = true;
		document.getElementById("advancedsearch").style.display = "block";
	}
	return false;
}

function searchresults(r)
{
	found = true;//for the searching... text
	searchingstage = 1;
	document.getElementById("searchresults").innerHTML = r;
	/*var req = false; //must reset request variable*/
}

function runsearch()//this is the function you call
{
	if(document.searchform.searchstr.value != "")//don't go through the trouble of searching if they don't put anything in :)
	{
		found = false; //for the searching... text
		document.getElementById("searchresults").innerHTML = "<h3 id='searchbox'>Searching . </h3>";
		var tfields = "";
		var ofields = "";
		var source = document.searchform.source.value;
		
		if(advsearch)
		{
			for(x=0;x<document.searchform.tfields.length;x++)
			{
				if(document.searchform.tfields[x].checked)
				{
					tfields = tfields+document.searchform.tfields[x].value+",";
				}
			}
			for(x=0;x<document.searchform.ofields.length;x++)
			{
				if(document.searchform.ofields[x].checked)
				{
					ofields = ofields+document.searchform.ofields[x].value+",";
				}
			}
		}else
		{
			tfields = "tribe,state";
			ofields = "organization,state,abbrv";
		}
		
		var url = "search.cfm?searchstr="+document.searchform.searchstr.value+"&source="+source+"&ofields="+ofields+"&tfields="+tfields+"";
		
		
		
		if (window.XMLHttpRequest)
		{
			req = new XMLHttpRequest();
			req.onreadystatechange = updatePage;
			req.open("GET", url, true);
			req.send(null);
			// branch for IE/Windows ActiveX version
		}
		else if (window.ActiveXObject)
		{
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req)
			{
				req.onreadystatechange = updatePage;
				req.open("GET", url, true);
				req.send();
			}
		}
		tmp = setTimeout("searching()",100);
	}
	else
	{
		alert("Please enter a search string");
	}
	
	return false; //must return false otherwise the form will run the action instead
}

function searching()
{
	if(!found)
	{
		if(searchingstage == 1)
		{
			searchingstage = 2;
			document.getElementById("searchresults").innerHTML = "<h3 id='searchbox'>Searching .. </h3>";
		}else if(searchingstage == 2)
		{
			searchingstage = 3;
			document.getElementById("searchresults").innerHTML = "<h3 id='searchbox'>Searching ... </h3>";
		}else if(searchingstage == 3)
		{
			searchingstage = 1;
			document.getElementById("searchresults").innerHTML = "<h3 id='searchbox'>Searching . </h3>";
		}
		tmp = setTimeout("searching()",100);
	}
}
		

function updatePage()
{
	if(req.readyState == 4)
	{
		found = true;
		tmp = false;
		searchresults(req.responseText);
	  /*var req = false; //must reset request variable*/
	}
	found = true;
	tmp = false;
}

function calculateDistance()
{
	found = false;//for the searching... text
	zip = document.distanceform.zip.value;
	dis = document.distanceform.dis.value;
	tb = document.distanceform.tb.value;
	
	if(zip != "")
	{
		if(!isNaN(zip) && zip.length == 5)
		{
			var url = "calcdistance.cfm?zip="+zip+"&dis="+dis+"&tb="+tb;
				
			if (window.XMLHttpRequest)
			{
				req = new XMLHttpRequest();
				req.onreadystatechange = updateDistance;
				req.open("GET", url, true);
				req.send(null);
				// branch for IE/Windows ActiveX version
			}
			
			else if (window.ActiveXObject)
			{
				req = new ActiveXObject("Microsoft.XMLHTTP");
				if (req)
				{
					req.onreadystatechange = updateDistance;
					req.open("GET", url, true);
					req.send();
				}
			}
			tmp = setTimeout("searching()",100);
		}
		else
		{
			alert("Please enter a valid zipcode");
		}
	}else
	{
		alert("Please enter a zipcode");
	}
	
	return false; //must return false otherwise the form will run the action instead
}

function updateDistance()
{
	if(req.readyState == 4)
	{
		found = true;//for the searching... text
		searchingstage = 1;
		document.getElementById("searchresults").innerHTML = req.responseText;
		/*var req = false; //must reset request variable*/
	}
}

function locateConsultation()
{
	zip = document.distanceform.zip.value;
	
	if(!isNaN(zip) && zip.length == 5)
	{
		var url = "locateconsultation.cfm?zip="+zip;
			
		if (window.XMLHttpRequest)
		{
			req = new XMLHttpRequest();
			req.onreadystatechange = updateConsultation;
			req.open("GET", url, true);
			req.send(null);
			// branch for IE/Windows ActiveX version
		}
		
		else if (window.ActiveXObject)
		{
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req)
			{
				req.onreadystatechange = updateConsultation;
				req.open("GET", url, true);
				req.send();
			}
		}
	}
	else
	{
		alert("Please enter a valid zipcode");
	}
	
	return false;
}

function updateConsultation()
{
	if(req.readyState == 4)
	{
		found = true;//for the searching... text
		document.getElementById("searchresults").innerHTML = req.responseText;
		/*var req = false; //must reset request variable*/
	}
}

function runReport(r)// r is the report number
{
	switch(r)
	{
		case 1://Tribes beloning to an organization
			var tmporgs = "";
			for(x = 0; x < document.getElementById("reportform1").org.length; x++)
			{
				if(document.getElementById("reportform1").org[x].selected)
				{tmporgs = tmporgs+document.getElementById("reportform1").org[x].value+",";}
			}
			var url = "runreport.cfm?view="+document.getElementById("reportform1").view.value+"&org="+tmporgs;
		break
		
		case 2://Tribes within a state
			var states = "";
			for(x = 0; x < document.getElementById("reportform2").state.length; x++)
			{
				if(document.getElementById("reportform2").state[x].selected)
				{states = states+document.getElementById("reportform2").state[x].value+",";}
			}
			var url = "runreport.cfm?view="+document.getElementById("reportform2").view.value+"&state="+states;
		break
		
		case 3://Orgs within a state
			var states = "";
			for(x = 0; x < document.getElementById("reportform3").state.length; x++)
			{
				if(document.getElementById("reportform3").state[x].selected)
				{states = states+document.getElementById("reportform3").state[x].value+",";}
			}
			var url = "runreport.cfm?view="+document.getElementById("reportform3").view.value+"&state="+states;
		break
		
		case 4:
			var states = "";
			for(x = 0; x < document.getElementById("reportform4").state.length; x++)
			{
				if(document.getElementById("reportform4").state[x].selected)
				{states = states+document.getElementById("reportform4").state[x].value+",";}
			}
			states = states.substring(0,states.length -1);
			var url = "runreport.cfm?view="+document.getElementById("reportform4").view.value+"&state="+states;
		break
		
		case 6:
			var regions = "";
			for(x = 0; x < document.getElementById("reportform6").regions.length; x++)
			{
				if(document.getElementById("reportform6").regions[x].selected)
				{regions = regions+document.getElementById("reportform6").regions[x].value+",";}
			}
			regions = regions.substring(0,regions.length -1);
			var url = "runreport.cfm?view="+document.getElementById("reportform6").view.value+"&regions="+regions;
		break
	}
	
	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
		req.onreadystatechange = updatePage;
		req.open("GET", url, true);
		req.send(null);
		// branch for IE/Windows ActiveX version
	}
	
	else if (window.ActiveXObject)
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req)
		{
			req.onreadystatechange = updatePage;
			req.open("GET", url, true);
			req.send();
		}
	}

	found = false;//for the searching... text
	tmp = setTimeout("searching()",100);
	return false;
}

function updateReport()
{
	if(req.readyState == 4)
	{
		found = true;//for the searching... text
		searchingstage = 1;
		document.getElementById("searchResults").innerHTML = req.responseText;
		/*var req = false; //must reset request variable*/
	}
}