	function ValidateItem(elm,msg,warn)
	{			
		if ( (elm !=null) && ( elm.value == "" ) )
	    {
	    	if ( warn )
				alert ( msg );

	    	elm.focus();
	    	return false ;
	    }
	    else
	    	return true ;
	}
	
	function ValidateForm(frmSearch)
    {    	
    	if(!trade)
    	{    	    		   	
    		if ( ! ValidateItem(frmSearch.leadForeName, "Please provide a first name" , true )  ) return false ;
    	
    		if ( ! ValidateItem(frmSearch.leadSurname, "Please provide a last name" , true )  ) return false ;
    	
    		if ( ! ValidateItem(frmSearch.postcode, "Please provide a postcode" , true )  ) return false ;
    	
    		if ((checkInternationalPhone(frmSearch.telHome.value)==false)
		   		&&
		   		(checkInternationalPhone(frmSearch.telWork.value)==false)
		   		&&
		   		(checkInternationalPhone(frmSearch.telMobile.value)==false)
		   		)
			{
				alert("Please Enter a Valid Phone Number");
				frmSearch.telHome.focus();
				return false;
			}    		
    	}
    	else
    	{
    		if ( ! ValidateItem(frmSearch.abtaNo, "Please provide an abta number" , true )  ) return false ;
    		
    		if ( ! ValidateItem(frmSearch.agencyName, "Please provide an agency name" , true )  ) return false ;
    		
    		if ( ! ValidateItem(frmSearch.customerName, "Please provide a customer name" , true )  ) return false ;
    	}
    	    	
    	if(!trade && frmSearch.newsAndOffersByEmail.checked)
    	{    		
    		if(!verifyEmail(frmSearch.emailAddress))
    			return false;
    	}  	 
    	    	
    	if(type == "Transfer Only")
    	{    		
    		var ok = false;
    		if ( ValidateItem(frmSearch.arrivalAirport, "Please enter an arrival airport." , true )  ) 
    		{
	    		if ( ValidateItem(frmSearch.resort, "Please enter a resort." , true )  ) 
	    		{
		    		if ( ValidateItem(frmSearch.outFlightNumber, "Please enter an outward flight number." , true )  ) 
		    		{
			    		if ( ValidateItem(frmSearch.hotelName, "Please enter a hotel name." , true )  ) 
		    			{
		    				if(ValidateItem(frmSearch.backFlightNumber, "Please enter a return flight number." , true )  ) 
				    			ok = true;
		    			}
		    		}
	    		}	
    		}
    		if(!ok)
    			return false;
    	}
    	else
       	{    		
		if (!ValidateItem(frmSearch.destination3, "Please tell us where you would like to go." , false )  ) 
		{
			if (!ValidateItem(frmSearch.destination2, "Please tell us where you would like to go." , false )  ) 
			{
				if (!ValidateItem(frmSearch.destination1, "Please tell us where you would like to go." , false )  ) 
				{				
					alert("Please tell us where you would like to go.");
					return false;
				}
			}
		}		
		if(type != 'Hotel Only')
		{						
			if ( !ValidateItem(frmSearch.depart3, "Please tell us where you would like to go from." , false )  ) 
			{
				if ( !ValidateItem(frmSearch.depart2, "Please tell us where you would like to go from." , false )  ) 
				{
					if ( !ValidateItem(frmSearch.depart1, "Please tell us where you would like to go from." , false )  ) 
					{						
						alert("Please tell us where you would like to go from.");		
						return false;
					}
				}
			}			
		}
	}
		
	if(type == 'Flight + Hotel' || type == 'Hotel Only')
	{			
		if(frmSearch.singleRooms.value == 0 && frmSearch.doubleRooms.value == 0 && frmSearch.tripleRooms.value == 0)		
		{
			alert("please select at least one room");
			return false;
		}
	}		
	frmSearch.method.value =  "complete";
	return true ;
    }
    
    function verifyEmail(elm) 
	{
	var checkEmail = elm.value ;
	
		if ((checkEmail.indexOf('@') < 0) || ((checkEmail.charAt(checkEmail.length-4) != '.') && (checkEmail.charAt(checkEmail.length-3) != '.'))) 
			{
			alert("You have entered an invalid email address. Please try again.");
			elm.select();
			return false;
			} 
		return true ;
	}
    
