function initBrowserDetect()
{
	var u = navigator.userAgent.toLowerCase();
	var _html = document.getElementsByTagName("html")[0];
	
	if(is("win")) addClass("win");
	else if(is("mac")) addClass("mac");
	else if(is("linux") || is("x11")) addClass("linux");
	
	if(is("msie 8.0")) addClass("ie8");
	else if(is("msie 7.0")) addClass("ie7");
	else if(is("msie 6.0")) addClass("ie6");
	else if(is("firefox/2")) addClass("ff2");
	else if(is("firefox/3")) addClass("ff3");
	else if(is("opera") && is("version/10")) addClass("opera10");
	else if(is("opera/9")) addClass("opera9");
	else if(is("safari") && is("version/3")) addClass("safari3");
	else if(is("safari") && is("version/4")) addClass("safari4");
	else if(is("chrome")) addClass("chrome");
	else if(is("safari")) addClass("safari2");
	else if(is("unknown")) addClass("unknown");
	
	if(is("msie")) addClass("trident");
	else if(is("applewebkit")) addClass("webkit");
	else if(is("gecko")) addClass("gecko");
	else if(is("opera")) addClass("presto");
		
	function is(browser)
	{
		if(u.indexOf(browser) !=-1) return true;
	}
	function addClass(_class)
	{
		_html.className += (" " + _class);
	}
}
if (window.addEventListener)
	window.addEventListener("load", initBrowserDetect, false);
else if (window.attachEvent)
	window.attachEvent("onload", initBrowserDetect);

		function f(o)
		{
			o.value=o.value.replace(/([^0-9])/g,"");
		}
		var state = "CA";
		var district = "01";

	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_validateForm() { //v4.0
		var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
		for (i=0; i<(args.length-2); i+=3)
		{
		  test=args[i+2]; val=MM_findObj(args[i]);
		  if (val)
		  {
		    nm=args[i+1];
		    if ((val=val.value)!="")
		    {
          if (test.indexOf('isEmail')!=-1)
          {
            p=val.match(/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/gi);
            if (p==null)
              errors+='- '+nm+' must be a valid e-mail address.\n';
		      }
		      else if (test!='R')
		      {
		        num = parseFloat(val);
		        if (isNaN(val))
		          errors+='- '+nm+' must contain a number.\n';
		        if (test.indexOf('inRange') != -1)
		        {
		          p=test.indexOf(':');
		          min=test.substring(8,p);
		          max=test.substring(p+1);
		          if (num<min || max<num)
		            errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
		        }
		      }
		    } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n';
		  }
		}
		if (errors)
		  alert('The following error(s) occurred:\n'+errors);
		document.MM_returnValue = (errors == '');
	}

