	var spacer="         -";

	function setfocus(objField){

		blnflag=false;

		objField.focus();

		if(objField.type!="select-one")

			objField.select();

		

	}

	function onlydigitsandchars(str){

		var re = new RegExp("([A-Za-z0-9]+)");

		return (re.exec(str)!=null && RegExp.$1==str);

	}

	function ValidPassword(objField1,objField2){

		

		var val = trim(objField1.value);

		msg = "";

		if (val.length  == 0)

		{

			objField1.focus();

			return msg += spacer + "New Password cannot be empty.\n";

		}

		if (!onlydigitsandchars(val))

		{

			msg += spacer + "Passwords must contain only letters and digits.\n";

		}

		if (objField1.value != objField2.value)

		{

			msg += spacer + "Password and Confirm Password do not match.\n";

		}

		if (val.length < 6)

		{

			msg += spacer + "Passwords must be at least 6 characters long.\n";

		}

		reA = new RegExp("[A-Za-z]");

	

		reD = new RegExp("[0-9]");

	

		if (msg.length > 0)

			return msg;

		else 

			return "";

		

	}

	function ValidDate(objFieldValue,date_format){

		var str_date=objFieldValue;			

		if(str_date=="")

			return "";

		var i,j;		

		var RE_NUM = /^\-?\d+$/;

		var NUM_CENTYEAR = 30;

		

		var arr_date = str_date.split('/');

		

		if (arr_date.length != 3) return spacer + " - Invalid date format: '" + str_date + "'.\n" + spacer + " - Format accepted is " + date_format + ".\n";

		i = date_format!="mm/dd/yyyy" ? 1 : 0;

		j = i > 0 ? 0 : 1;

		if (!arr_date[j]) return spacer + " - Invalid date format: '" + str_date + "'.\n" + spacer + " - No day of month value can be found.\n";

		if (!RE_NUM.exec(arr_date[j])) return spacer + " - Invalid day of month value: '" + arr_date[j] + "'.\n" + spacer + " - Allowed values are unsigned integers.\n";

		if (!arr_date[i]) return spacer + " - Invalid date format: '" + str_date + "'.\n" + spacer + " - No month value can be found.\n";

		if (!RE_NUM.exec(arr_date[i])) return spacer + " - Invalid month value: '" + arr_date[i] + "'.\n" + spacer + " - Allowed values are unsigned integers.\n";

		if (!arr_date[2]) return spacer + " - Invalid date format: '" + str_date + "'.\n" + spacer + " - No year value can be found.\n";

		if (!RE_NUM.exec(arr_date[2])) return spacer + " - Invalid year value: '" + arr_date[2] + "'.\n" + spacer + " - Allowed values are unsigned integers.\n";

	

		var dt_date = new Date();

		dt_date.setDate(1);

	

		if (arr_date[i] < 1 || arr_date[i] > 12) return spacer + " - Invalid month value: '" + arr_date[i] + "'.\n" + spacer + " - Allowed range is 01-12.\n";

		dt_date.setMonth(arr_date[i]-1);

		 

		if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) + (arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);

		dt_date.setFullYear(arr_date[2]);

	

		var dt_numdays = new Date(arr_date[2], arr_date[i], 0);

		dt_date.setDate(arr_date[j]);

		if (dt_date.getMonth() != (arr_date[i]-1)) return spacer + " - Invalid day of month value: '" + arr_date[j] + "'.\n" + spacer + " - Allowed range is 01-"+dt_numdays.getDate()+".\n";

		//return (dt_date)

		return "";

	}

	function ValidEmail(objFieldValue){		

	

		var validFormatRegExp=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

		

		var isValid=validFormatRegExp.test(objFieldValue);

		

		return isValid;		

			

	}

	function ValidInteger(objFieldValue){

	

	  var validFormatRegExp = /^((\+|-)\d)?\d*$/;

	

	  var isValid = validFormatRegExp.test(objFieldValue);

	

	  return isValid;

	}

	function ValidFloat(objFieldValue){



	  var validFormatRegExp = /^\d*(\.\d+)?$/;

	

	  var isValid = validFormatRegExp.test(objFieldValue);

	

	  return isValid;

	

	}	

	function ValidLength(objFieldValue,objMaxLength){



	 	if(objFieldValue.length > objMaxLength)

			 return  false;

		else

			 return true;		

	  

	}	

	function validate_me(objField,error_msg,checkingfor)

	{

		

		error_msg= spacer + error_msg;

		

		if(checkingfor!="checkboxrequired")

			var objFieldValue=trim(objField.value);

		

		if(checkingfor=="" || checkingfor==0){ 

			if(objFieldValue==checkingfor){		 

				if (blnflag){				

					setfocus(objField)

				}					

				return error_msg + "\n";

			}

			else

				return "";

		}		

		else if(checkingfor=="email"){

			if(objFieldValue=="")

				return "";

			if(ValidEmail(objFieldValue))

				  return ""; 	 	 

			else{

				if(blnflag){

					setfocus(objField)

			   }

			   return  error_msg + "\n";	

			}  			

		}

		else if(checkingfor=="integer")

		{

			if(ValidInteger(objFieldValue))

				  return ""; 	 	 

			else{

				if(blnflag){

					setfocus(objField)

			   }

			   return  error_msg + "\n";	

			}  			

		}

		else if(checkingfor=="float")

		{

			if(ValidFloat(objFieldValue))

				  return ""; 	 	 

			else{

				if(blnflag){

					setfocus(objField)

			   }

			   return  error_msg + "\n";	

			}  			

		}

		else if(checkingfor=="mm/dd/yyyy" || checkingfor=="dd/mm/yyyy")

		{	

			var date_msg = ValidDate(objFieldValue,checkingfor);  

			if(date_msg.length==0)

				  return ""; 	 	 

			else{

				if(blnflag){

					setfocus(objField)

			   }

			   return  error_msg +  "\n" + date_msg ;	

			}

		}

		else if(checkingfor=="password")

		{

			if(objFieldValue.length==0)  return "";	

			

			error_msg=ValidPassword(validate_me[0],validate_me[1])

			if(error_msg == "")  

				return "";				  	 	 

			else{

				if(blnflag){

					setfocus(objField)

			   }

			return  error_msg + "\n";	

			}  					

		}

		

		else if(checkingfor=="checklength")

		{			

			if(objFieldValue.length==0)  return "";

			var objMaxLength=validate_me.arguments[3];			

			if(ValidLength(objFieldValue,objMaxLength)) 

				return "";				   	 	 

			else if(blnflag)

				setfocus(objField)			   

  		    return  error_msg + " : Current Length is - " + objFieldValue.length + " characters\n";	

		}	

		else if(checkingfor=="checkboxrequired")

		{

			for(var cnt=0;cnt < objField.length ; cnt++)

			{

				if(objField[cnt].checked)

					return "";					

			}

			if(blnflag)

				setfocus(objField[0])

				return  error_msg + "\n";	

		}

	}

function SortField()

{			

		var arrControls = SortField.arguments;

		var arrLen = arrControls.length;

		var frm = eval(arrControls[0])

		var strFld = arrControls[1]

		

		var strUrl;

		var ctr,imgSrc;		

		if(frm.txtCtr.value==""){ctr=0;}else{ctr=frm.txtCtr.value;}

		ctr++; 

		var sortOrder;

		if(ctr%2==1)

		{

			sortOrder="Desc";

			//imgSrc="images/desc.jpg"

		}	

		else{

			sortOrder="Asc";

			//imgSrc="images/asc.jpg"

		}

		if(strFld!=""){

			frm.txtSortFld.value=strFld + " " + sortOrder;

			frm.txtCtr.value=ctr;

			//frm.txtImgSrc.value=imgSrc;

			frm.submit(); 

		}



}

function selectbox(ctr,val)

{

	for(var i=0;i<ctr.options.length;++i)

	{

		if(ctr.options[i].value == val)

		{				

			ctr.options[i].selected=true;

			break;

		}

	}

}



function toTitleCase(field)

{

	var cd= field.value;

	var len=cd.length;

	if(len==0)

	{

		return;

	}

	var str="";

    var	count=0;

	for(i=0;i<len;i++)

	{

		var p=cd.charAt(i);

		if((p>=0 && p<=9)||(p>='a' && p<='z')||(p>='A' && p<='Z')||p=='_'||p=='&'||p=='.'||p==' '||p=='-')

		{

			if(p== ' ') count++;

			else count=0;

			if(!(str=="" && p==' ') && count<2)

				str=str+p;

		}

	}



	var ar1=new Array();

	ar1=str.split(" ");

	for(i=0;i<ar1.length;i++)

	{

		var st=ar1[i].charAt(0).toUpperCase();

		var st1=ar1[i].substring(1,ar1[i].length);

		ar1[i]=st+st1;

	}

	str=ar1.join(" ");

	field.value = str;

}



function toLoginCase(field)

{

	var cd= field.value;

	var len=cd.length;

	if(len==0)

	{

		return;

	}

	var str="";

    var	count=0;

	for(i=0;i<len;i++)

	{

		var p=cd.charAt(i);

		if((p>=0 && p<=9)||(p>='a' && p<='z')||(p>='A' && p<='Z')||p=='_'||p=='-')

		{

			if(p== ' ') count++;

			else count=0;

			if(!(str=="" && p==' ') && count<2)

				str=str+p;

		}

	}



	var ar1=new Array();

	ar1=str.split(" ");

	for(i=0;i<ar1.length;i++)

	{

		var st=ar1[i].charAt(0);

		var st1=ar1[i].substring(1,ar1[i].length);

		ar1[i]=st+st1;

	}

	str=ar1.join('');

	field.value = str;

}

function emailCase(field)

{

	var cd= field.value;

	var len=cd.length;

	if(len==0)

	{

		return;

	}

	var str="";

    var	count=0;

	for(i=0;i<len;i++)

	{

		var p=cd.charAt(i);

		if((p>=0 && p<=9)||(p>='a' && p<='z')||(p>='A' && p<='Z')||p=='_'||p=='@'||p=='.'||p==' '||p=='-')

		{

			if(p== ' ') count++;

			else count=0;

			if(!(str=="" && p==' ') && count<2)

				str=str+p;

		}

	}



	var ar1=new Array();

	ar1=str.split(" ");

	for(i=0;i<ar1.length;i++)

	{

		var st=ar1[i].charAt(0);

		var st1=ar1[i].substring(1,ar1[i].length);

		ar1[i]=st+st1;

	}

	str=ar1.join(" ");

	field.value = str;

}



function trim(str)

{



	var trimmedString = new String(str);



	if ((0 < str.length) && ((str.charCodeAt(0) <= 32) || (str.charCodeAt(str.length-1) <= 32)))

	{

		

		var startSlice = 0;

		var endSlice   = -1;





		for (var i = 0; i < str.length-1; i++)

		{

			if (str.charCodeAt(i) > 32)

			{

				startSlice = i;

				break;

			}

		}

		

		for (var i = str.length-1; startSlice <= i; i--)

		{

			if (str.charCodeAt(i) > 32)

			{

				endSlice = i;

				break;

			}

		}

		

		trimmedString = str.slice(startSlice, endSlice+1);

	}

	return trimmedString;

}