function showRoutes(iCompany,iBoard,iSchool,iBus)
{	
	if (document.getElementById("f2"))
	{
	   
		if (document.getElementById("hidCompany"))
		{
			(iCompany) ? document.getElementById("hidCompany").value = iCompany : document.getElementById("hidCompany").value = -1;			
		}
		if (document.getElementById("hidBoard"))
		{
			(iBoard) ? document.getElementById("hidBoard").value = iBoard : document.getElementById("hidBoard").value = -1;
		}
		if (document.getElementById("hidSchool"))
		{
			(iSchool) ? document.getElementById("hidSchool").value = iSchool : document.getElementById("hidSchool").value = - 1;
		}
		if (document.getElementById("hidBus"))
		{
			(iBus) ? document.getElementById("hidBus").value = iBus : document.getElementById("hidBus").value = -1;			
		}
		if (document.getElementById("hidAction"))
		{
			document.getElementById("hidAction").value = "BASELIST";
		}		
		document.getElementById("f2").submit();
	}
}

function manualRefresh()
{
	if (document.getElementById("f2"))
	{
		var oRefresh = document.getElementById("selRefresh");
		var sRefreshRate = 600000; 
		if (oRefresh)
		{
			sRefreshRate = oRefresh.options[oRefresh.selectedIndex].value;
		}
		document.getElementById("hidRefreshRate").value = sRefreshRate;
		document.getElementById("f2").submit();
	}
}

function showDiv(sType,sId)
{	
	if (document.getElementById(sType + "d" + sId))
	{
		if (document.getElementById(sType + "d" + sId).style.display == "block")
		{
			document.getElementById(sType + "d" + sId).style.display = "none";
			if (document.getElementById(sType + "i" + sId))
			{
				document.getElementById(sType + "i" + sId).src = "/images/plus.jpg";
			}
		}
		else
		{
			document.getElementById(sType + "d" + sId).style.display = "block";
			if (document.getElementById(sType + "i" + sId))
			{
				document.getElementById(sType + "i" + sId).src = "/images/minus.jpg";
			}
			if (document.getElementById("bodyHold"))
			{
				if (document.getElementById("bodyHold").parentNode)
				{
					if (!document.all)
					{
						document.getElementById("bodyHold").style.height = document.getElementById("bodyHold").parentNode.offsetHeight + "px";
					}
				}
			}
		}
	}			
}

//datafunctions

		var xmlhttp;
	
		function loadXMLDoc(url)
		{
			xmlhttp = null;
			
			// code for Mozilla, etc.
			if (window.XMLHttpRequest)
			{
				xmlhttp = new XMLHttpRequest();
			}
			// code for IE
			else if (window.ActiveXObject)
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			if (xmlhttp != null)
			{
				var sSubmit = "";
				if (document.getElementById("f2"))
				{
					
					var iCompany = document.getElementById("hidCompany").value;
					var iBoard = document.getElementById("hidBoard").value;
					var iSchool = document.getElementById("hidSchool").value;
					var iBus = document.getElementById("hidBus").value;
					
					sSubmit = "?hidcompany=" + iCompany + "&hidboard=" + iBoard + "&" +
								"hidschool=" + iSchool + "&" + "hidbus=" + iBus;				
				}
				xmlhttp.onreadystatechange = state_Change;
				xmlhttp.open("GET",url + sSubmit,true);				
				xmlhttp.send(null);	
			}
			else
			{
				alert("Only Internet Explorer is set up at this time.")
			}
		}
	
		function state_Change()
		{
			// if xmlhttp shows "loaded"
			if (xmlhttp.readyState == 4)
			{
				// if "OK"
				if (xmlhttp.status == 200)
				{
					var sWrite = "";
					var sXMLTransform = "";
					var oXmlDom = createDocument();
					var oXslDom = createDocument();
					
					if (window.ActiveXObject)
					{
						oXmlDom.async = false;
						oXslDom.async = false;
					}
						var x;
						x = oXmlDom.load(xmlhttp.responseXML)
						if (x)
						{	
							if (oXslDom.load(xslToUse))
							{
								if (window.ActiveXObject)
								{
									sXMLTransform = oXmlDom.transformNode(oXslDom);
									if (document.getElementById("pulledData"))
									{
										document.getElementById("pulledData").innerHTML = sXMLTransform;
									}
								}
							}
							else
							{
								sWrite = "Can't get XSL";
							}
						}
						else
						{
							
							//var newwindow=window.open();
							//var newdocument=newwindow.document;
							//newdocument.write(oXmlDom.parseError.reason + "<br />");
							//newdocument.write(oXmlDom.parseError.srcText + "<br />");
							//newdocument.write(oXmlDom.parseError.errorCode + "<br />");
							//newdocument.write("<!-- data -->" + xmlhttp.responseText + "<br />");
							//newdocument.close();
							sWrite = "Can't get XML";
							document.getElementById("pulledData").innerHTML = xmlhttp.responseText;
						}
					
					oXmlDom = null;
					oXslDom = null;
					
					var dteNow =  new Date();
					if (document.getElementById("refreshedTime"))
					{
						document.getElementById("refreshedTime").innerHTML = "<span style=\"color:red;\">" + 
									sWrite + "</span> Last refreshed at: " + getTime() + " ";
					}
				}
				else
				{
					//alert("Problem retrieving XML data.")
					document.getElementById("pulledData").innerHTML = xmlhttp.responseText;
				}
			}
		}
		
		function checkin(sBusId,sAM)
		{
			xmlhttp = null;
			
			// code for Mozilla, etc.
			if (window.XMLHttpRequest)
			{
				xmlhttp = new XMLHttpRequest();
			}
			// code for IE
			else if (window.ActiveXObject)
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			if (xmlhttp != null)
			{
				var sSubmit = "";
				var iBus = sBusId;
				var bAM = "T";
				if(sAM == "PM")
				{
					bAM = "F";	
				}
				sSubmit = "?id=" + iBus + "&am=" + bAM;
				xmlhttp.open("GET","/checkin.asp" + sSubmit,false);				
				xmlhttp.send(null);	
				//alert("test " + "bushref" + sAM + iBus)
				if(document.getElementById("bushref" + sAM + iBus))
				{
				    //alert("test " + document.getElementById("bushref" + sAM + iBus))
					document.getElementById("bushref" + sAM + iBus).outerHTML = "Sent";
				}
			}
			else
			{
				alert("Only Internet Explorer is set up at this time.")
			}
		}

		function pullData(sTime)
		{			
			loadXMLDoc("xml.asp");
			window.setTimeout("pullData(" + sTime + ")", sTime);
		}
		if (window.ActiveXObject)
		{
			window.setTimeout("pullData(600000)", 600000);
		}
		function getTime()
		{			
			oNow = new Date();
			var oHours = oNow.getHours();
			var oMinutes = oNow.getMinutes();
			var oSeconds = oNow.getSeconds();
			var oTime;
			if(oHours==0)
			{
				oTime = " AM";
				oHours = 12;
			}
			else if(oHours <= 11)
			{
				oTime = " AM"
			}
			else if(oHours == 12)
			{
				oTime = " PM";
				oHours = 12;
			}
			else if(oHours >= 13)
			{
				oTime =" PM";
				oHours -= 12;
			}

			if(oMinutes <= 9)
			{
				oMinutes = "0" + oMinutes;
			}
			
			if(oSeconds <= 9)
			{
				oSeconds = "0" + oSeconds;
			}
			return "" + oHours + ":" + oMinutes + ":" + oSeconds + " " + oTime;
		}

		function createDocument()
		{
			//IE Code
			if (window.ActiveXObject)
			{
				var aVersions = ["MSXML2.DOMDocument.5.0", 
								"MSXML2.DOMDocument.4.0",
								"MSXML2.DOMDocument.3.0",
								"MSXML2.DOMDocument",
								"Microsoft.XmlDom"];
				for (var i = 0; i < aVersions.length; i++)
				{
					try
					{
						var oXmlDom = new ActiveXObject(aVersions[i]);						
						return oXmlDom;
					}
					catch (oError)
					{
						//do nothing
					}
					throw new Error("MSXML is not installed!  You must use newer IE or Forfox for Administartive functionality");
				}
			}
			//Mozilla code
			{
				var oXmlDom = document.implementation.createDocument("","",null);
				return oXmlDom;
			}
		}
		
	//functionality for reports
		var xmlhttp2;
	
		function loadXMLDoc2(url)
		{
			xmlhttp2 = null;
			
			// code for Mozilla, etc.
			if (window.XMLHttpRequest)
			{
				xmlhttp2 = new XMLHttpRequest();
			}
			// code for IE
			else if (window.ActiveXObject)
			{
				xmlhttp2 = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			if (xmlhttp2 != null)
			{
				var sSubmit = "";
				if (document.getElementById("f2"))
				{
					
					var iCompany = document.getElementById("hidCompany").value;
					var iBoard = document.getElementById("hidBoard").value;
					var iSchool = document.getElementById("hidSchool").value;
					var iBus = document.getElementById("hidBus").value;
					var sDate = document.getElementById("orderdate").value;
					sSubmit = "?hidcompany=" + iCompany + "&hidboard=" + iBoard + "&" +
								"hidschool=" + iSchool + "&" + "hidbus=" + iBus + "&" +
								"date=" + sDate;		
				}
				xmlhttp2.onreadystatechange = state_Change2;
				xmlhttp2.open("GET",url + sSubmit,true);				
				xmlhttp2.send(null);	
			}
			else
			{
				alert("Only Internet Explorer is set up at this time.")
			}
		}
	
		function state_Change2()
		{
			// if xmlhttp shows "loaded"
			if (xmlhttp2.readyState == 4)
			{
				// if "OK"
				if (xmlhttp2.status == 200)
				{
					var sWrite = "";
					var sXMLTransform = "";
					var oXmlDom = createDocument();
					var oXslDom = createDocument();
					
					if (window.ActiveXObject)
					{
						oXmlDom.async = false;
						oXslDom.async = false;
					}
						var x;
						x = oXmlDom.load(xmlhttp2.responseXML)
						if (x)
						{	
							if (oXslDom.load('/xslts/busstatusro2.xsl'))
							{
								if (window.ActiveXObject)
								{
									sXMLTransform = oXmlDom.transformNode(oXslDom);
									//alert(sXMLTransform)
									var newwindow = window.open();
									var newdocument = newwindow.document;
									newdocument.write(sXMLTransform);
									newdocument.close();
								}
							}
							else
							{
								sWrite = "Can't get XSL";
							}
						}
						else
						{
							
							//var newwindow=window.open();
							//var newdocument=newwindow.document;
							//newdocument.write(oXmlDom.parseError.reason + "<br />");
							//newdocument.write(oXmlDom.parseError.srcText + "<br />");
							//newdocument.write(oXmlDom.parseError.errorCode + "<br />");
							//newdocument.write("<!-- data -->" + xmlhttp.responseText + "<br />");
							//newdocument.close();							
							var newwindow = window.open();
							var newdocument = newwindow.document;
							newdocument.write = xmlhttp2.responseText;
							newdocument.close();
							
						}
					
					oXmlDom = null;
					oXslDom = null;
					
					
				}
				else
				{
					alert("Problem retrieving XML data.")
				}
			}
		}

	//mail functionality
	function convert_It(sString) 
	{
		var a = escape(sString); 
		var b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%@#$^&*()-_=+.:"; // letters to compare to 
		var c = "zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA +=_-)(*&^$#@:."; // letter to change string to
		var d;
		var h;
		var i;
		var j = "";

		var f = a.length; // get length of the textbox1 string 
		var e = 0; 
		var g = 1;

		while (e != f) 
		{ // while e is not equal to the string length loop  
			d = a.substring(e,g); // get each letter in the text box 
			h = b.indexOf(d); // find that letter in var b 
			i = c.charAt(h); // change it to the letter in var c 
			e++; // add one to var e 
			g++; // add one to var g 
			j += i; // write out each letter 
		}
		return j; // the final output put in textbox2 
	}


	function unconvert_It(sString) 
	{
		var aa = sString;
		var bb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ @#$^&*()-_=+.:";
		var cc = "zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA +=_-)(*&^$#@:.";
		var dd;
		var hh;
		var ii;
		var jj = "";

		var ff = aa.length;
		var ee = 0; 
		var gg = 1;

		while (ee != ff) 
		{ 
			dd = aa.substring(ee,gg);
			hh = cc.indexOf(dd); // just switch var b with c to unencode ex(h = b.indexOf(d); now  ='s hh = cc.indexOf(dd);)
			ii = bb.charAt(hh); // just switch var c with b to unencode  
			ee++;
			gg++;
			jj += ii;
		}
		return jj;
	}
	
	function emailAddress(sName, sDomain, sSuffix, sDisplay, sColor)
	{
		var sReturn = "";
		if (sColor == "white")
		{
			sReturn = "<a style=\"color: white;text-decoration: none;\" href=\"#\" onclick=\"sendMail('" + convert_It(sName + "@" + sDomain + "." + sSuffix) +"')\">" +
				sDisplay + "</a>";
		}
		else
		{
			sReturn = "<a style=\"\" href=\"#\" onclick=\"sendMail('" + convert_It(sName + "@" + sDomain + "." + sSuffix) +"')\">" +
				sDisplay + "</a>";
		}
		return sReturn;
	}
	
	function sendMail(sAddress)
	{
		location.replace("mailto:" + unconvert_It(sAddress));
	}
