function validate()
{	
	var len=document.frm.elements.length;
	
	var x=document.frm.elements;
	
	var flag=0,Rflag=0,Hflag=0;
	var addHflag=0,addflag=0,addRflag=0;
	var addHome="",addRoom="",addplace="";
	
	
	for(var j=0;j<len;j++)
	{
		
		if(x[j].name!="sunsign"  &&  x[j].name!="mobile"  && x[j].name!="add_cost"    &&  x[j].name!="neighbour"  && x[j].name!="userid"  && x[j].name!="need"  && x[j].name!="rooms"  && x[j].name!="homes"  && x[j].name!="places"  && x[j].name!="pic_file[]"  && x[j].name!="ext"  && x[j].name!="phone"  && x[j].name!="dailymatches"  && x[j].name!="Submit" && x[j].name!="Reset" && x[j].name!="offer_patners" && x[j].name!="top")
		{
			if(x[j].name=="re_paswd")
			{
				if(x[j].value=="")
				{
					x[j].focus();
					alert("Enter  "+x[j].name);
					return false;
				}else
				{
					if(x[j].value != x[j-1].value)
					{
						x[j].focus();
						alert("Password and Re-typed Password Not matching");
						return false;
						
					}
				}
			
			}else
			if(x[j].name=="place")
			{
				
				with(window.document.frm)
				{
					var pllen=place.length-1;
					
					if(pllen >= 1) // check for place array checked or not
					{
						for(i=0;i<=pllen;i++)
						{ 
							if(place[i].checked)
							{
								if(addflag==0) 
								{
									if(addplace!="")
									addplace=addplace+","+place[i].value;
									else
									addplace=place[i].value;
									
									
								}
								flag=1;
							}

						}
						addflag=1;
						//alert(addplace);	
						places.value=addplace;
						//alert(places.value);	
					}else
					{
						
						if(place.checked)
						{
							flag=1;
							places.value=place.value;
						}
					}
					
				
				}
				
				if(flag==0)
				{
					window.document.frm.moving_in.focus();
					alert("Forgot to select a desired area");
					return false;
					
				}
			
			}else
			
			if(x[j].name=="Room")
			{
			//alert("");	
				with(window.document.frm)
				{
					var pllenR=Room.length-1;
					
					if(pllenR >= 1) // check for place array checked or not
					{
						for(i=0;i<=pllenR;i++)
						{ 
							if(Room[i].checked)
							{
								if(addRflag==0) 
								{
									if(addRoom!="")
									addRoom=addRoom+","+Room[i].value;
									else
									addRoom=Room[i].value;
									
									
								}
								Rflag=1;
							}

						}
						addRflag=1;
						//alert(addplace);	
						rooms.value=addRoom;
						//alert(places.value);	
					}else
					{
						
						if(Room.checked)
						{
							Rflag=1;
							rooms.value=Room.value;
						}
					}
					
				
				}
				
				if(Rflag==0)
				{
					window.document.frm.pref_Occupation.focus();
					alert("Forgot to select a Room Amenities");
					return false;
					
				}
			
			}else
			
			
			if(x[j].name=="Home")
			{
				
				with(window.document.frm)
				{
					var pllenH=Home.length-1;
					
					if(pllenH >= 1) // check for place array checked or not
					{
						for(i=0;i<=pllenH;i++)
						{ 
							if(Home[i].checked)
							{
								if(addHflag==0) 
								{
									if(addHome!="")
									addHome=addHome+","+Home[i].value;
									else
									addHome=Home[i].value;
									
									
								}
								Hflag=1;
							}

						}
						addHflag=1;
						//alert(addplace);	
						homes.value=addHome;
						//alert(places.value);	
					}else
					{
						
						if(Home.checked)
						{
							Hflag=1;
							homes.value=Home.value;
						}
					}
					
				
				}
				
				if(Hflag==0)
				{
					
					alert("Forgot to select a Home Amenities");
					return false;
				}
			
			}else
			
			
			
			if(x[j].name=="max_rent")
			{
				if(x[j].value=="")
				{
					x[j].focus();
					alert("Enter  "+x[j].name);
					return false;
				}else
				{
					if(parseInt(x[j].value)< parseInt(x[j-1].value))
					{
						x[j].focus();
						alert("Max Rent is smaller");
						return false;
						
					}
				}
				
			}else
			if(x[j].name=="Utility_cost" || x[j].name=="Security_amount" || x[j].name=="Additonal_cost" || x[j].name=="No_of_bathroom" || x[j].name=="No_of_bedroom") 
			{
				if(x[j].value=="")
				{
					x[j].focus();
					alert("Enter  "+x[j].name);
					return false;
				}else
				{
					if(isNaN(x[j].value))
					{
						x[j].focus();
						alert(x[j].name +" Must be a number value");
						return false;
						
					}
				}
				
			}else
			if(x[j].value=="")
			{
				x[j].focus();
				alert("Enter  "+x[j].name);
				return false;
			}
			
		}
	}
	
	if(document.frm.email.value!="")
	{
		var emailPat=/^(.+)@(.+)$/
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
		var validChars="\[^\\s" + specialChars + "\]"
		var firstChars=validChars
		var quotedUser="(\"[^\"]*\")"
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		var atom="(" + firstChars + validChars + "*" + ")"
		var word="(" + atom + "|" + quotedUser + ")"
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		var matchArray=document.frm.email.value.match(emailPat)
		if (matchArray==null)
		{
			document.frm.email.focus();
			alert("This Email address seems to be incorrect. (I can't find a '@ and .'s)")
			return false;
		}
		var user=matchArray[1]
		var domain=matchArray[2]

		if (user.match(userPat)==null) 
		{
			document.frm.email.focus();
			alert("This ID's username seem to be invalid.")
			return false;
		}
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) 
		{

			for (var i=1;i<=4;i++) 
			{
				if (IPArray[i]>255) 
				{
					document.frm.email.focus();
					alert("Destination IP address is invalid!")
					return false;
				}
			}
			return true;
		}


		var domainArray=domain.match(domainPat)
		if (domainArray==null) 
		{
			document.frm.email.focus();
			alert("The domain name seem to be invalid.")
			return false;
		}


		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2 ||	domArr[domArr.length-1].length>3) 
		{
			document.frm.email.focus();
			alert("The address must end in a three-letter domain, or two letter country.")
			return false;
		}


		if (domArr[domArr.length-1].length==2 && len<3) 
		{
			document.frm.email.focus();
			var errStr="This address ends in two characters, which is a country"
			errStr+=" code.  Country codes must be preceded by "
			errStr+="a hostname and category (like com, co, pub, pu, etc.)"
			alert(errStr)
			return false;
		}


		if (domArr[domArr.length-1].length==3 && len<2) 
		{
			document.frm.email.focus();
			var errStr="This address is missing a hostname!"
			alert(errStr);
			return false;
		}
	}	
	if(!confirm("Please click OK to Continue.."))
	return false;
}		
function errordis(mess,loc)
{
var f="<font color='red' size='2'>";
var fc="</font>";

document.writeln('<html><body><center> Message: '+f+mess+fc+'<br><a href='+loc+'>home</a></body></html>');

}


