// Alternate Table Row Colors 
	function AlternateRow(id, StartRow, AlternateRows)
	{ // Base code from: http://www.sitepoint.com/article/background-colors-javascript
		var Start, Alternate;
		if (StartRow == null) Start = 2; else Start = StartRow;
		if (AlternateRows == null) Alternate = 2; else Alternate = AlternateRows;
		
		var Table = document.getElementById(id);  
		var Rows = Table.getElementsByTagName("tr");  

		for(i=Start; i < Rows.length; i+=Alternate)
		{
			Rows[i].className += " cellrowcolor";
		} //end for
	} // end function	

// Error Generic Handler Code 
		function ErrorHandle(message, url, lineNum){
			return null;
		}

// Mouse Over Code
		function MM_swapImgRestore() { //v3.0
		  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
		}
		
		function MM_preloadImages() { //v3.0
		  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
			var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
		}
		
		function MM_findObj(n, d) { //v4.01
		  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
			d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		  if(!x && d.getElementById) x=d.getElementById(n); return x;
		}
		
		function MM_swapImage() { //v3.0
		  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
		}		

	//Jump Menu Code
		function MM_reloadPage(init) {  //reloads the window if Nav4 resized
		  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
			document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
		  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
		}
		MM_reloadPage(true);
		
		function MM_jumpMenu(targ,selObj,restore){ //v3.0
		  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		  if (restore) selObj.selectedIndex=0;
		}
		
// Scripts for switching style sheets
		function toggle(primary, alternate){
		  onError=ErrorHandle();
		if( getActiveStyleSheet() == primary) {setActiveStyleSheet(alternate);}
			else {setActiveStyleSheet(primary);}
		}
		
		function setActiveStyleSheet(title) {
		  var i, a, main;
		  onError=ErrorHandle();
		  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			  a.disabled = true;
			  if(a.getAttribute("title") == title) a.disabled = false;
			}
		  }
		}
		
		function getActiveStyleSheet() {
		  var i, a;
		  onError=ErrorHandle();
		  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
		  }
		  return null;
		}
		
		function getPreferredStyleSheet() {
		  var i, a;
		  onError=ErrorHandle();
		  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1
			   && a.getAttribute("rel").indexOf("alt") == -1
			   && a.getAttribute("title")
			   ) return a.getAttribute("title");
		  }
		  return null;
		}
		
// Cookie Handling Code
		function cookiesEnabled()
		{		
		  onError=ErrorHandle();
			createCookie("test","test cookie",500)
			if ( readCookie("test") == null )
				{return false;}
			else
				{return true;}
		}
	
		function createCookie(name,value,days) {
		  onError=ErrorHandle();
		  if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		  }
		  else expires = "";
		  document.cookie = name+"="+value+expires+"; path=/";
		}
		
		function readCookie(name) {
		  onError=ErrorHandle();
		  var nameEQ = name + "=";
		  var ca = document.cookie.split(';');
		  for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		  }
		  return null;
		}

// Scripts for the Search Sauk County Form 
		// Scripts to clear and restore the default value from text object when selected
		function clear_default(textObject)		
		{
		 if (textObject.value == textObject.defaultValue)
			 {textObject.value = "";} 
		}
	
		function restore_default(textObject)		
		{
		 if (textObject.value == "")
			 {textObject.value = textObject.defaultValue;} 
		}
		
		// Script to verify that the Search Text is somewhat valid
		function trim(value) {
		   var temp = value;
		   var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
		   if (obj.test(temp)) { temp = temp.replace(obj, '$2'); }
		   var obj = /  /g;
		   while (temp.match(obj)) { temp = temp.replace(obj, " "); }
		   return temp;
		}

		function validateSearch()
		{	 
		 var xForm = document.SearchForm;
		 var textObj = xForm.words;
		 var val = trim(textObj.value);
		 if ( val != "" && val != textObj.defaultValue && val != " ")
			{return true;}
			else {return false;}
		}

//  Script Load Code
	// Style sheet scripts
		window.onload = function(e) {
		  var cookie = readCookie("style");
		  var title = cookie ? cookie : getPreferredStyleSheet();
		  setActiveStyleSheet(title);
		}
		
		window.onunload = function(e) {
		  var title = getActiveStyleSheet();
		  createCookie("style", title, 30);
		}