	function trim(stringToTrim) 
	{
		return stringToTrim.replace(/^\s+|\s+$/g,"");
	}
	
	function IsNumeric(sText)
	{
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;
	
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}	

	function checkRadio(frm, radioName, selectedValue)
	{
		for (i=0; i<frm.elements.length; i++)
		{
			if (frm.elements[i].type == "radio" && frm.elements[i].name == radioName)
			{
				if (frm.elements[i].value == selectedValue)
				{
					frm.elements[i].checked = true;
				}
			}
		}
	}

	function checkCkBox(frm, ckboxName, selectedValues)
	{
		for (i=0; i<frm.elements.length; i++)
		{
			if (frm.elements[i].type == "checkbox" && frm.elements[i].name == ckboxName)
			{
				for (j=0; j<selectedValues.length; j++)
				{
					if (frm.elements[i].value == selectedValues[j])
					{
						frm.elements[i].checked = true;
					}
				}
			}
		}
	}
	
	function checkCkBox2(frm, ckboxName, selectedValue)
	{
		for (i=0; i<frm.elements.length; i++)
		{
			if (frm.elements[i].type == "checkbox" && frm.elements[i].name == ckboxName)
			{
				if (frm.elements[i].value == selectedValue)
				{
					frm.elements[i].checked = true;
				}
			}
		}
	}	
	
	function chooseList(frm, listName, selectedValues)
	{
		for (i=0; i<frm.elements.length; i++)
		{
			if ( (frm.elements[i].type == "select-one" || frm.elements[i].type == "select-multiple")
				 && frm.elements[i].name == listName)
			{
				var select = frm.elements[i];
				for (var j=0; j<select.options.length; j++)
				{
					for (k=0; k<selectedValues.length; k++)
					{
						if (select.options[j].value == selectedValues[k])
						{
							select.options[j].selected = true;
						}
					}	
				}
			}
		}
	}
	
	function chooseList2(frm, listName, selectedValue)
	{
		for (i=0; i<frm.elements.length; i++)
		{
			if ( (frm.elements[i].type == "select-one" || frm.elements[i].type == "select-multiple")
				 && frm.elements[i].name == listName)
			{
				var select = frm.elements[i];
				for (var j=0; j<select.options.length; j++)
				{
					if (select.options[j].value == selectedValue)
					{
						select.options[j].selected = true;
					}	
				}
			}
		}
	}
	function y2k(number) 
	{ 
		return (number < 1000) ? number + 1900 : number; 
	}

	function timeTillDate(startDay,startMonth,startYear,whenDay,whenMonth,whenYear) 
	{    
		var now = new Date(y2k(startYear),startMonth-1,startDay);
		var then = new Date(y2k(whenYear),whenMonth-1,whenDay);    
		//alert(now +" and "+then);
		var difference = Date.UTC(y2k(then.getYear()),then.getMonth(),then.getDate(),0,0,0) - Date.UTC(y2k(now.getYear()),now.getMonth(),now.getDate(),0,0,0);    
		
		if(difference<0) {
			difference*=-1;    
			return difference/(1000*60*60*24);
		}
	}
	
	function stateFullNameLookup(shortName)
	{
		var us_states = new Array();
		
		us_states["AL"]="Alabama";
		us_states["AK"]="Alaska";
		us_states["AZ"]="Arizona";
		us_states["AR"]="Arkansas";
		us_states["CA"]="California";
		us_states["CO"]="Colorado";
		us_states["CT"]="Connecticut";
		us_states["DE"]="Delaware";
		us_states["DC"]="District Of Columbia";
		us_states["FL"]="Florida";
		us_states["GA"]="Georgia";
		us_states["HI"]="Hawaii";
		us_states["ID"]="Idaho";
		us_states["IL"]="Illinois";
		us_states["IN"]="Indiana";
		us_states["IA"]="Iowa";
		us_states["KS"]="Kansas";
		us_states["KY"]="Kentucky";
		us_states["LA"]="Louisiana";
		us_states["ME"]="Maine";
		us_states["MD"]="Maryland";
		us_states["MA"]="Massachusetts";
		us_states["MI"]="Michigan";
		us_states["MN"]="Minnesota";
		us_states["MS"]="Mississippi";
		us_states["MO"]="Missouri";
		us_states["MT"]="Montana";
		us_states["NE"]="Nebraska";
		us_states["NV"]="Nevada";
		us_states["NH"]="New Hampshire";
		us_states["NJ"]="New Jersey";
		us_states["NM"]="New Mexico";
		us_states["NY"]="New York";
		us_states["NC"]="North Carolina";
		us_states["ND"]="North Dakota";
		us_states["OH"]="Ohio";
		us_states["OK"]="Oklahoma";
		us_states["OR"]="Oregon";
		us_states["PA"]="Pennsylvania";
		us_states["RI"]="Rhode Island";
		us_states["SC"]="South Carolina";
		us_states["SD"]="South Dakota";
		us_states["TN"]="Tennessee";
		us_states["TX"]="Texas";
		us_states["UT"]="Utah";
		us_states["VT"]="Vermont";
		us_states["VA"]="Virginia";
		us_states["WA"]="Washington";
		us_states["WV"]="West Virginia";
		us_states["WI"]="Wisconsin";
		us_states["WY"]="Wyoming";
		
		us_states["AB"]="Alberta";
		us_states["BC"]="British Columbia";
		us_states["MB"]="Manitoba";
		us_states["NB"]="New Brunswick";
		us_states["NL"]="Newfoundland";
		us_states["NT"]="Northwest Territories";
		us_states["NS"]="Nova Scotia";
		us_states["NU"]="Nunavut";
		us_states["ON"]="Ontario";
		us_states["PE"]="Prince Edward Island";
		us_states["QC"]="Quebec";
		us_states["SK"]="Saskatchewan";
		us_states["YT"]="Yukon";
		
		return (us_states[shortName]);
	}
	
	function updateStateDiv(divName, stateArray) {
		if (document.getElementById(divName) && stateArray) {
			var buffer = '';
			for (var k=0; k<stateArray.length; k++) {
				shortName = stateArray[k];
				fullName = stateFullNameLookup(shortName);
				buffer += fullName;
				if (k<stateArray.length-1) {
					// lookup the state's full name
					buffer += ", ";
				}
			}
			document.getElementById(divName).innerHTML = buffer; 
		}
	}	
	
	/* Get the list of options for the select states popup window.  The options
	 * should center a 600X530 pixel window on the opening browser window horizontally, 
	 * and move it down a bit vertically.
	 */
	function getOptions() {
			// height and width of the window
			h = 530;
			w = 600;
			
			var left, top, placementString;
			// let's center the window on the browser
	
			if (document.all) {
				left = window.screenLeft;
				top = window.screenTop;
				popLeft = left + w/2;
				popTop = top + 100;
				placementString = ",left=" + popLeft + ",top=" + popTop
			} else {
				left = window.screenX;
				top = window.screenY;
				popLeft = left + w/2;
				popTop = top + 100;
				placementString = ",screenX=" + popLeft + ",screenY=" + popTop;
			}
			
			options = 'menubar=no,width=' + w + ',height=' + h + ',toolbar=no' + placementString;
			return options;
	}

	function getScreenWidth()
	{
		if (self.innerHeight) // all except Explorer
		{
			return (self.innerWidth);
		}
		else if (document.documentElement && document.documentElement.clientHeight)
			// Explorer 6 Strict Mode
		{
			return (document.documentElement.clientWidth);
		}
		else if (document.body) // other Explorers
		{
			return (document.body.clientWidth);
		}
	}
	
	function getScreenHeight()
	{
		if (self.innerHeight) // all except Explorer
		{
			return (self.innerHeight);
		}
		else if (document.documentElement && document.documentElement.clientHeight)
			// Explorer 6 Strict Mode
		{
			return (document.documentElement.clientHeight);
		}
		else if (document.body) // other Explorers
		{
			return(document.body.clientHeight);
		}
	}	
	
	/* IE does a form submit inadvertently when you try the state pop-up so we have to return false */
	function statePopup(divName)
	{
		//alert("I'm going to pop-up: "+divName);
		if (divName) {
			var windowName = divName;
			var windowURL = '/eriweb/index.cfm?event=show.usstates&target='+divName;
			var w = window.open(windowURL, 'select_states', getOptions());
			if (w) {
				w.focus();
			}
		}
		return false;
	}

	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];}
	}

	