//	formats field to $9,999.99
function formatCurrency(num){
	num=num.toString().replace(/\$|\,/g,'');if(isNaN(num)){num="0"};sign=(num==(num=Math.abs(num)));num=Math.floor(num*100+0.50000000001);cents=num%100;num=Math.floor(num/100).toString();
	if(cents<10){cents="0"+cents};
	for(var i=0;i<Math.floor((num.length-(1+i))/3);i++){num=num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3))};
	return (((sign)?'':'-')+'$'+num+'.'+cents);
}
//	limit text entered into textarea
function limitText(textArea,length){if(textArea.value.length>length) textArea.value=textArea.value.substr(0,length)}
//	remove "$" or "," or whitespace
function filterNum(str){var re=/\$|,|\s/g;return parseFloat(str.replace(re,""))}
//	alt tag will not work for text. Radio doesn't work at all.
function checkrequired(which,highlight){
	var undefined,pass=true,batch,displayname,shortFieldName;if(document.images){
		for(i=0;i<which.length;i++){
			var tempobj=which.elements[i];if((tempobj.alt=='required'||tempobj.name.search('required')>-1)&&!((tempobj.className.substring(0,8)=='disabled')||(tempobj.className=='hidden'))){
				if(((tempobj.type=="text"||tempobj.type=="password"||tempobj.type=="textarea")&&(tempobj.value==''||tempobj.value=='$0.00'))||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==0)||(tempobj.type=="type-one"&&tempobj.selectedIndex==0)){
					pass=false;break;
				}
			}
		}
	}
	if(!pass){
		if(tempobj.name.search('_required')>-1){shortFieldName=tempobj.name.substring(9).toUpperCase()}
		else if(tempobj.name.search('required')>-1){shortFieldName=tempobj.name.substring(8).toUpperCase()}
		else{shortFieldName=tempobj.name.toUpperCase()}
//		shortFieldName=shortFieldName.replace(/_/g,' ');alert("Please make sure the "+shortFieldName+" field is properly completed.");
alert("Please make sure all required fields are properly completed.");
//alert("Please make sure the "+tempobj.name+" field is properly completed.");
		if(tempobj.type=='select-one'){tempobj.focus()}else{tempobj.select();tempobj.focus()}
		if(highlight!=undefined&&highlight==true){tempobj.className='inputfocus'}
		return false;
	}else{return true}
}
//	public domain cookie scripts
function GetCookie(name){var start=document.cookie.indexOf(name+"="),len=start+name.length+1;if((!start)&&(name!=document.cookie.substring(0,name.length))){return null}
	if(start==-1) return null;
	var end=document.cookie.indexOf(';',len);if(end==-1) end=document.cookie.length;
	return unescape(document.cookie.substring(len,end))
}
function SetCookie(name,value,expires,path,domain,secure){var today=new Date();today.setTime(today.getTime());if(expires){expires=expires*1000*60*60*24}
	var expires_date=new Date(today.getTime()+(expires));document.cookie=name+'='+escape(value)+((expires) ? ';expires='+expires_date.toGMTString() : '' )+
		((path) ? ';path='+path : '' )+((domain) ? ';domain='+domain : '')+((secure) ? ';secure' : '');
}
//	Cookie Form Saver
//	The JavaScript Source!! http://javascript.internet.com
//	Original:  Nick Baker
//	SetCookie('your_cookie_name','your_cookie_value',exp);
//	var someVariable=GetCookie('your_cookie_name');
var exp=100;
function cookieForms(mode,formName){var undefined,cookieValue,formobj=document.getElementById(formName);if(formobj==undefined){formobj=document[formName]}
	if(mode=='open'){cookieValue=GetCookie('saved_'+formName);
		if(cookieValue!=null){var cookieArray=cookieValue.split('#cf#');
			if(cookieArray.length==formobj.elements.length){
				for(i=0;i<formobj.elements.length;i++){fieldType=formobj.elements[i].type;
					if(cookieArray[i].substring(0,6)=='select'){formobj.elements[i].options.selectedIndex=(cookieArray[i].substr(6))}
					else if((cookieArray[i]=='cbtrue')||(cookieArray[i]=='rbtrue')){formobj.elements[i].checked=true}
					else if((cookieArray[i]=='cbfalse')||(cookieArray[i]=='rbfalse')){formobj.elements[i].checked=false}
					else if((fieldType!='submit')&&(fieldType!='button')){if(formobj.elements[i].value==''){formobj.elements[i].value=(cookieArray[i]) ? cookieArray[i] : ''}}
				}
			}
		}
	}
	//	only fields starting with _ are saved if mode='save'
	if(mode=='save'||mode=='saveall'){cookieValue='';
		for(i=0;i<formobj.elements.length;i++){fieldType=formobj.elements[i].type;
			if(fieldType=='password'&&mode=='save'){passValue=''}
			else if(fieldType=='checkbox'){passValue='cb'+formobj.elements[i].checked}
			else if(fieldType=='radio'){passValue='rb'+formobj.elements[i].checked}
			else if(fieldType=='select-one'){passValue='select'+formobj.elements[i].options.selectedIndex}
			else if((fieldType!='submit')&&(fieldType!='button')){passValue=formobj.elements[i].value}
			//	if fieldname doesn't starts with '_' then clear it before saving it.
			if(mode=='save'&&formobj.elements[i].name.substring(0,1)!='_'){passValue=''}
			cookieValue=cookieValue+passValue+'#cf#';
		}cookieValue=cookieValue.substring(0,cookieValue.length-4);SetCookie('saved_'+formName,cookieValue,exp);
	}
}
// [dFilter] - A Numerical Input Mask for JavaScript
// Written By Dwayne Forehand - March 27th, 2003
// Please reuse & redistribute while keeping this notice.
// http://javascript.internet.com/forms/dfilter.html
var dFilterStep
function dFilterStrip(dFilterTemp,dFilterMask){
	dFilterMask=replace(dFilterMask,'#','');for(dFilterStep=0;dFilterStep<dFilterMask.length++;dFilterStep++){
		dFilterTemp=replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'')
	}return dFilterTemp
}
function dFilterMax(dFilterMask){
	dFilterTemp=dFilterMask;for(dFilterStep=0;dFilterStep<(dFilterMask.length+1);dFilterStep++){
		if(dFilterMask.charAt(dFilterStep)!='#'){dFilterTemp=replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'')}
	}return dFilterTemp.length;
}
function dFilter(key,textbox,dFilterMask){
	dFilterNum=dFilterStrip(textbox.value,dFilterMask);if(key==9){return true}
	else if(key==8&&dFilterNum.length!=0){dFilterNum=dFilterNum.substring(0,dFilterNum.length-1)}
	else if(((key>47&&key<58)||(key>95&&key<106))&&dFilterNum.length<dFilterMax(dFilterMask)){
		if(key>95){key=key-48}
		dFilterNum=dFilterNum+String.fromCharCode(key);
	}var dFilterFinal='';for(dFilterStep=0;dFilterStep<dFilterMask.length;dFilterStep++){
		if(dFilterMask.charAt(dFilterStep)=='#'){
			if(dFilterNum.length!=0){dFilterFinal=dFilterFinal+dFilterNum.charAt(0);dFilterNum=dFilterNum.substring(1,dFilterNum.length)}else{dFilterFinal=dFilterFinal+""}
		}else if(dFilterMask.charAt(dFilterStep)!='#'){dFilterFinal=dFilterFinal+dFilterMask.charAt(dFilterStep)}
	}textbox.value=dFilterFinal;return false;
}
function replace(fullString,text,by){
	var strLength=fullString.length,txtLength=text.length;if((strLength==0)||(txtLength==0)) return fullString;
	var i=fullString.indexOf(text);if((!i)&&(text!=fullString.substring(0,txtLength))) return fullString;
	if(i==-1) return fullString;
	var newstr=fullString.substring(0,i)+by;if(i+txtLength<strLength) newstr+=replace(fullString.substring(i+txtLength,strLength),text,by);
	return newstr;
}
//	copyright 1999 Idocs, Inc. http://www.idocs.com
//	Distribute this script freely but keep this notice in place
//	http://www.porjes.com/idocs/forms/index_famsupp_158.html
function numbersonly(myfield,e,allowneg,allowdec){
	var key,keychar;if(window.event){key=window.event.keyCode}else if(e){key=e.which}else{return true}
	keychar=String.fromCharCode(key);
	// control keys
	if((key==null)||(key==0)||(key==8)||(key==9)||(key==13)||(key==27)){return true}
	// numbers
	else if(("0123456789").indexOf(keychar)>-1){return true}
	//	sign
	else if(key==45&&allowneg){return true}
	//	decimalpt
	else if(key==46&&allowdec){return true}
	else{return false}
}
