function toggleFormDisabled(frm, forceDisable){
	frm=eval("document."+frm);
	if(!forceDisable){
		bDisable = (frm.elements[0].disabled ? false : true);
	}else{
		bDisable = true;
	}
	for(i=0;i<frm.length;i++){
		frm.elements[i].disabled=bDisable;
		//frm.elements[i].onclick="alert('You must enable edit mode to change this information');";
	}
}



function formatPhone(str){
	var filter=/[()\ -.,]/g;
	
	if(str!=''&&validPhone(str)){
		str=str.replace(filter,'');
		//alert(str);
		
		str=str.substr(0,3)+"-"+str.substr(3,3)+"-"+str.substr(6);
	}
	return str;
}



function formatURL(str){
	str=str.toLowerCase();
	//alert(str);
	//alert(str.indexOf('http'));
	//alert('Empty String: '+(str==''));
	//alert('Contains http : '+(str.indexOf('http')==0));
	if(str!=''&&str.indexOf('http')!=0){
		str='http://'+str
	}
	return str;
}



function formatCurrency(str)
{
	str=str.toString().replace(/\$|\,/g,'');
	if(!(isNaN(str))){
		dblValue=parseFloat(str);
	
		blnSign=(dblValue == (dblValue = Math.abs(dblValue)));
		dblValue=Math.floor(dblValue*100+0.50000000001);
		intCents=dblValue%100;
		strCents=intCents.toString();
		dblValue=Math.floor(dblValue/100).toString();
		if(intCents<10)
			strCents="0"+strCents;
		for (var i=0;i<Math.floor((dblValue.length-(1+i))/3);i++)
			dblValue=dblValue.substring(0,dblValue.length-(4*i+3))+','+dblValue.substring(dblValue.length-(4*i+3));
		return(((blnSign)?'':'-')+'$'+dblValue+'.'+strCents);
	}else{
		return str
	}
}



function validPhone(str){
	//alert('validPhone()');
	var filter=/^[ ]*[(]{0,1}[ ]*[0-9]{3,3}[ ]*[)]{0,1}[-,.]{0,1}[ ]*[0-9]{3,3}[ ]*[-,.]{0,1}[ ]*[0-9]{4,4}[ ]*$/;
	return (filter.test(str));
}



function validZip(str){
	//alert('validZip()');
	var filter=/(^\d{5}$)|(^\d{5}-\d{4}$)/;
	return (filter.test(str));
}



function validEmail(str){
	//alert('validEmail()');
	var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return (filter.test(str));
}



function validURL(str){
	//alert('validURL()');
	var filter="/[(http|ftp|https)]:\/\/[\w]+(\.[\w]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/";
	return (filter.test(str));
}



function validCurrency(str){
	//alert('validCurrency()');
	var filter=/^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/;
	return (filter.test(str));
}



function validKey(str){
	return (str.match(/\d/) && str.match(/[a-zA-Z]/) && !str.match(/\W+/) && str.length == 32);
}



function validPassword(str){
	//alert('validPassword()');
	return (str.length >= 6 && str.indexOf(" ") == -1);
}



function validStrongPassword(str){
	var val=0;
	if(str.match(/\d/)) 			val++	//contains number
	if(str.match(/^[a-zA-Z]+/)) 	val++	//starts with letter
	if(str.match(/[A-Z]/)) 			val++	//contains at least 1 uppercase letter
	if(str.match(/[a-z]/)) 			val++	//contains at least 1 lowercase letter
	if(str.match(/\W+/)) 			val++	//contains at least 1 special character
	if(str.length >= 7) 			val++	//password is at least 7 characters long	
	
	//alert(val);
	return (val >= 3);
}



function isMatchingString(str1, str2){
	//alert('isMatchingString()');
	return (str1==str2);
}



function validComplete(str){
	//alert('validComplete()');
	//alert(str);
	return (str!=''&&str!='0');
}



function boxIsChecked(box){
	//alert('boxIsChecked()');
	return (box.checked);
}



function radioIsChecked(radio){
	var radLength = radio.length;
	var gotCheckRadio = false;
	for(i=0;i<radLength;i++){
		if(radio[i].checked){
			gotCheckRadio = true;
			break;
		}
	}
	return gotCheckRadio;
}