function validateAnyForm(frm) {
	var requiredfields='location,realestatedev,stagedev,helpprocess,inq_name,inq_title,inq_company,inq_city,inq_state,inq_country,inq_fax,inq_email,con_first_name,con_last_name,con_city,con_state,con_country,con_email,con_comments,inq_phone';
  
	var textvalidatefields = 'inq_name';
	var numericfields = 'inq_zip';

	var phonefields = 'inq_phone PhoneNo Res_phone,inq_fax';
	var imagefields='file resourceimage';
	var phonestr='0123456789 -+~#';
	var urlfields = ' vURL';
	var validimage = '.jpg.jpe.gif.bmp.png.JPE.JPG.GIF.BMP.PNG';
	var forbiddenchars='0123456789!@#$%&*()=+|\\]}[{;/?>,<';
	var usernamevalidate=' `~@!#$%^&*()-+=\\|]}[{\'\";:/?.>,<';
	var emailfields='inq_email,con_email';

	var totalforms=document.forms.length;
	var errormsg = '';
	var flag=true
	var l=1
	var dst,pwd,cpwd,bd,jd,y1='',y2="",n2="",school1="",school2="",school3="",school4="",sy1="",sy2="",sy3="",sy4="", pb="",s100;
	var flagfocusele = false;//to set focus
	//for(i=0;i<totalforms;i++){
	//////////////////////////////////////////////////
	var totalelement=frm.elements.length;  
	for(j=0;j<totalelement;j++) {
		//////////////////////////////////////////////////
		ele=frm.elements[j];
		//alert(ele.name+"="+ele.value);
		/*****************************Required things******************************************/
		//alert(ele.name+' = '+requiredfields.indexOf(ele.name));
		if(!ele.name.length)continue;
		if(ele.name=='vImage')continue;
		if(ele.name=='vCaption' && frm.vNewCaption && frm.vNewCaption.length != 0)continue;
		function trimAll(sString) 
		{
			while (sString.substring(0,1) == ' ')
			{
			sString = sString.substring(1, sString.length);
			}
			while (sString.substring(sString.length-1, sString.length) == ' ')
			{
			sString = sString.substring(0,sString.length-1);
			
			}
				return sString;
		
		 } //End Function
			if(requiredfields.indexOf(ele.name)!=-1 && (ele.value.length==0)){
			errormsg += l++ + '. ' + ele.name + ' is required\n';
		}
		else
		{
			if(ele.name=='to_age' )
			{
				ele.value=trimAll(ele.value);
				if(ele.value.length==0)
				{
					errormsg += l++ + '. ' + ele.name + ' is required\n';
				}
			}	
		}

		/*****************************Numeric fields******************************************/
		//alert(ele.name+' = '+requiredfields.indexOf(ele.name));
		if(numericfields.indexOf(ele.name)!=-1 && isNaN(ele.value) && ele.name.length>0){
			errormsg += l++ + '. ' + ele.name + ' must be a number\n';
		}
		/*************************text validation*********************************************/
		if((textvalidatefields.indexOf(ele.name)!=-1) && (ele.value.length > 0) && ele.name!='Name') {
			
			var ic='';
			for(k=0;k<ele.value.length;k++){
				ch = ele.value.charAt(k);
				if(ic.indexOf(ch)!=-1)continue;				
				rtn=forbiddenchars.lastIndexOf(ch);
				if(rtn!=-1){
					if(ic.length){ic += ',' + ch;}else{ic += ch;}
				}
			}
			if(ic.length){
				if(ic.indexOf(' ') != -1)ic = ic.replace(' ', 'space');
				//errormsg +=  l++ + '. ' + 'Please remove \'' + ic + '\' from your ' + ele.name + ', you may not use \'' + ic + '\' in your ' + ele.name + '\n';
				errormsg +=  l++ + '. ' + 'Please remove \'' + ic + '\' from your ' + ele.name + ', you may not use \'' + ic + '\'  \n';
			}
		}
		/*****************************Number validation******************************************/
		if((phonefields.indexOf(ele.name)!=-1) && (ele.value.length > 0) && ele.name=='inq_phone' || ele.name=='PhoneNo' || ele.name=='Res_phone')
		{
		
			var ic='';
			for(k=0;k<ele.value.length;k++){
				ch = ele.value.charAt(k);
				if(ic.indexOf(ch)!=-1)continue;
				rtn=phonestr.lastIndexOf(ch);
				if(rtn!=-1){
					continue;
				} else {
					if(ic.length){ic += ',' + ch;}else{ic += ch;}
				}
			}
			if(ic.length){
				if(ic.indexOf(' ') != -1)ic = ic.replace(' ', 'space');
				errormsg +=  l++ + '. ' + 'Please remove \'' + ic + '\' from your ' + ele.name + ', you may not use \'' + ic + '\' in your Phone\n';
			}
			
		}
		/*****************************image fields ******************************************/
		if((imagefields.indexOf(ele.name)!=-1) && (ele.value.length > 0) && (ele.name=='file')){
			fn = ele.value.substr(ele.value.length - 4,ele.value.length);
			if(validimage.indexOf(fn)==-1){
				errormsg +=  l++ + '. ' + 'Please select a valid image to upload\n';
			}  
		}
		/******************************date validation******************************************/
		if(ele.name=='dStartDate')
		dst=ele.value;
		if(ele.name=='dEndDate'){
			if(dst>ele.value){
				errormsg += l++ + '. ' +  'Please select a valid date\n';
			}
		}
		/***************************** Email validation******************************************/
		if((emailfields.indexOf(ele.name)!=-1) && (ele.value.length) && (ele.type!='submit')){
			attherate = ele.value.indexOf('@');
			dot = ele.value.indexOf('.');
			lastdot=ele.value.lastIndexOf('.');
			invchars="<>?/,;'][\=`~!#$%^&*()+{}[]";
			spacechar=ele.value.indexOf(' ');
			newvar=ele.value.charAt(0);

			var nflag=true;
			invchar_obj  = new String(invchars);
			emailchar_obj = new String(ele.value);
			for(i=0;i<invchar_obj.length;i++)
			{
				if(emailchar_obj.indexOf(invchar_obj.charAt(i)) != -1)

				{
					nflag = false;
				}
			}


			if(attherate<1 || dot<1 || lastdot<attherate || (!isNaN(newvar)) || spacechar!=-1 || nflag==false){
				//errormsg +=  l++ + '. ' + ele.name + ' ' + ele.value + ' has invalid email address\n';
				errormsg +=  l++ + '. ' + ele.value + ' has invalid email address\n';
			}
		}
		/*****************************Url validation******************************************/
		/*****************************Terms & Condition******************************************/
		if((ele.name=='tmc') && (!ele.checked)){
			errormsg += l++ + '. ' +  'Please return to the form and tick the box provided to accept our terms and conditions\n';
		}
		/*****************************Phone Number validation******************************************/
		
		/*****************************Username validation******************************************/
		if((ele.name=='vUsername') && (ele.value.length > 0)){
			var xx = location.pathname;
			myString = new String(xx);
			
			myRE = new RegExp("admin", "i");
			results = myString.search(myRE);
			if(results==-1)
			{


				var ic='';
				for(k=0;k<ele.value.length;k++){
					ch = ele.value.charAt(k);
					if(ic.indexOf(ch)!=-1)continue;
					rtn=usernamevalidate.lastIndexOf(ch);
					if(rtn!=-1){
						if(ic.length){ic += ',' + ch;}else{ic += ch;}
					}
				}
				if(ic.length){
					if(ic.indexOf(' ') != -1)ic = ic.replace(' ', 'space');
					errormsg +=  l++ + '. ' + 'Please remove \'' + ic + '\' from your ' + ele.name + ', you may not use \'' + ic + '\' in your ' + ele.name + '\n';
				}
			}
			
		}
	
		////////////////////////confirm password//////////////////////////
		
		if(ele.name=='vPassword'){
			pwd=ele.value;
			if(pwd.length < 6){
				errormsg +=  l++ +' Password must be six charactor long\n';
			}
		}

		if(ele.name=='vConfirmPassword'){
			if(ele.value!=pwd)
			errormsg +=  l++ + '. Password not confirmed\n';
		}
		////////////////////////Year from//////////////////////////
		
		////////////////////////date of birth/////////////////////////////////
		////////////////////////School To, From Year//////////////////////////
		
		if(errormsg.length && ele.type != 'hidden' && (!flagfocusele)){
//			alert('set');
			focusele = ele;
			flagfocusele = true;
		}
		////////////////////////date of birth/////////////////////////////////
	}//end of for loop
	//////////////////////////////////////////////////
	//}vOldPassword
	errormsg = errormsg.replace('location', 'Location');
	errormsg = errormsg.replace('realestatedev', 'Real Estate Development');
	errormsg = errormsg.replace('stagedev', 'Stage of Development');
	errormsg = errormsg.replace('helpprocess', 'How may we help simplify your process');
	errormsg = errormsg.replace('inq_name', 'Name');
	errormsg = errormsg.replace('inq_title', 'Title');
	errormsg = errormsg.replace('inq_company', 'Company');
	errormsg = errormsg.replace('inq_city', 'City');
	errormsg = errormsg.replace('inq_state', 'State/Province');
	errormsg = errormsg.replace('inq_country', 'Country');
	errormsg = errormsg.replace('inq_fax', 'Fax');
	errormsg = errormsg.replace('inq_email', 'Email');
	errormsg = errormsg.replace('con_first_name', 'First Name');
	errormsg = errormsg.replace('con_last_name', 'Last Name');
	errormsg = errormsg.replace('con_city', 'City');
	errormsg = errormsg.replace('con_state', 'State/Province');
	errormsg = errormsg.replace('con_country', 'Country');
	errormsg = errormsg.replace('con_email', 'Email');
	errormsg = errormsg.replace('con_comments', 'Comments/Inquiry');
	errormsg = errormsg.replace('inq_phone', 'Phone');
	errormsg = errormsg.replace('inq_zip', 'Zip/Postal Code');
	 
	if(errormsg.length){
		alert('Please concentrate on following message \n\n' + errormsg);
		focusele.focus();
		return false;
	}else{
		document.body.style.cursor='wait';
		if(frm != null)
			frm.style.cursor='wait';
		return true;
	}
}   
