function validatePostalCode(code,country){
   var test1="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";
   var test2="0123456789";
   if(country=="Canada"){
       if(code.length<6){
   		message="Canadian postal code has 6 characters";
		return false;
   		}
   for(var j=0; j<code.length; j++){
		var valid=false;
        if(j==0 || j==2 || j==4){
		  		for(var i=0; i<test1.length; i++){
                     if(code.charAt(j)==test1.charAt(i))
 							valid=true;
                }
         }
         else{
				for(var i=0; i<test2.length; i++){
                     if(code.charAt(j)==test2.charAt(i))
 							valid=true;
                }
         }
         if(valid==false){
			message="Invalid canadian postal code format";
			return false;
         }
    }
    }
    if(country=="USA"){
     if(code.length!=5){
   		message="USA zip code has 5 characters";
		return false;
   		}
   for(var j=0; j<code.length; j++){
		var valid=false;
		for(var i=0; i<test2.length; i++){
            if(code.charAt(j)==test2.charAt(i))
 			valid=true;
        }
    }
    if(valid==false){
		message="Invalid USA zip code format";
		return false;
    }
    }
    return true;
}


function validateAddress(address){
     if(address.length<4){
          message="Address cannot be less than 4 characters";
          return false;
     }
     return true;
}

function validateCity(city){
     if(city.length<2){
          message="City cannot be less than 2 characters";
          return false;
     }
     return true;
}

function alphaspace(name)
{
    var test="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM -'"
	for(var j=0; j<name.length; j++){
		var valid=false;
		  		for(var i=0; i<test.length; i++){
                     if(name.charAt(j)==test.charAt(i))
 							valid=true;
                }
                if(valid==false)
					return false;
     }
 return true;
}


function validateNumber(number)
{
    var test="0123456789";
    if(number.length<1 || number.charAt(0)=="0")
			return false;
	for(var j=0; j<number.length; j++){
		var valid=false;		
		for(var i=0; i<test.length; i++){
        	if(number.charAt(j)==test.charAt(i))
 				valid=true;
            }
        if(valid==false)
			return false;
     }
 return true;
}

function validateNumber_0(number)
{
    var test="0123456789";
    if(number.length<1)
			return false;
	for(var j=0; j<number.length; j++){
		var valid=false;		
		for(var i=0; i<test.length; i++){
        	if(number.charAt(j)==test.charAt(i))
 				valid=true;
            }
        if(valid==false)
			return false;
     }
 return true;
}

function validateEmail(email)  {
   var inputStr = email;
   if (inputStr.length <3 || inputStr.length>100)  { 
      message ="Email length should be between 3 and 100 characters long"; 
      return false; 
   }   
   var charA = inputStr.indexOf("@");
   if (charA == -1)  {
      message = "Email should contain @ character";
      return false;
   }
   if (charA <1 )  { 
      message ="Email should have at least 1 character before the @ character";
      return false; }   
   var charP = inputStr.lastIndexOf(".");
   if (charP == -1)  {
      message = "Email should have the . character";
      return false;
   }
   if (charP<charA+1)  {
      message = "Email ending . character should be placed after @ character";
      return false;
   }
   return true;
}

function validatePhone(phone_part1, phone_part2, phone_part3, optional)
{
	
    message ="Phone number should consist from 12 numeric characters";
    if(phone_part1.length==0 && phone_part2.length==0 && phone_part3.length==0 && optional==true)
    	return true;
    
    if(phone_part1.length!=3 || phone_part2.length!=3 || phone_part3.length!=4){
        return false;
    }
    

    var test="0123456789";
    var phone=phone_part1+'-'+phone_part2+'-'+phone_part3;

	for(var j=0; j<phone.length; j++){
		  if(j==3 || j==7){
		     if(phone.charAt(j)!="-"){     
		     	return false;
             }
		  }		  
		  else{
                var valid=false;
		  		for(var i=0; i<test.length; i++){
                     if(phone.charAt(j)==test.charAt(i))
 							valid=true;
                }
                if(valid==false)
					return false;
	
		  }
		}
 return true;
}

function validatePassword(password){
   if(password.length<4){
   		message="Password length should be at least 4 characters";
   		return false;
   }
   return true;
}

function confirmPasswords(password, password_confirm){
	if(password!=password_confirm){
   		message="Password and Password Confirm do not match";
   		return false;
   }
   return true;
}

function validateName(name){
	if(name.length<2){
     	message="Name length should be at least 2 characters";
   		return false;
   }
   if(alphaspace(name)==false){
        message="Name can contain English characters, spaces or dashes";
		return false;
   }
   return true;  
}

//Cottage profile validation
function validateTitle(name)
{
    var test="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM :-'#@*()[],."
    if(name.length<4){
    	message="Title length should be at least 4 characters";
    	return false;
    }
	for(var j=0; j<name.length; j++){
		var valid=false;
		  		for(var i=0; i<test.length; i++){
                     if(name.charAt(j)==test.charAt(i))
 							valid=true;
                }
                if(valid==false){
                	message="Title can contain only digits, English characters, spaces or dashes";
					return false;
				}
     }
 return true;
}

function validateLake(name)
{
    var test="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM -"
    if(name.length<2){
    	message="Lake name length should be at least 2 characters";
    	return false;
    }
	for(var j=0; j<name.length; j++){
		var valid=false;
		  		for(var i=0; i<test.length; i++){
                     if(name.charAt(j)==test.charAt(i))
 							valid=true;
                }
                if(valid==false){
                	message="Lake name can contain only English characters, spaces or dashes";
					return false;
				}
     }
 return true;
}

function validateWebpageName(name)
{
    var test="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_"
    if(name.length<4){
    	message="Webpage name length should be at least 4 characters";
    	return false;
    }
	for(var j=0; j<name.length; j++){
		var valid=false;
		  		for(var i=0; i<test.length; i++){
                     if(name.charAt(j)==test.charAt(i))
 							valid=true;
                }
                if(valid==false){
                	message="Webpage name can contain only digits, English characters or underscores";
					return false;
				}
     }
 return true;
}

function validateExternalWebsite(name)
{
    var test="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_:/.~-"
    if(name.length<8){
    	message="External Website length should be at least 8 characters";
    	return false;
    }
	for(var j=0; j<name.length; j++){
		var valid=false;
		  		for(var i=0; i<test.length; i++){
                     if(name.charAt(j)==test.charAt(i))
 							valid=true;
                }
                if(valid==false){
                	message="External Website name is invalid";
					return false;
				}
     }
 return true;
}

function validateFootage(number)
{
	if(validateNumber_0(number)==false){
    	message="Footage can contain only numeric characters";
    	return false;
    }
    
    if(number.length<3 || number<100){
    	message="Footage should be at least 100 square feets";
    	return false;
    }
 return true;
}

function validateBedrooms(number)
{
    if(validateNumber_0(number)==false){
    	message="can contain only numeric characters";
    	return false;
    }
    
    if(number.length<1 || (number<1 || number>20)){
    	message="should be in the range of 1 to 20";
    	return false;
    }
 return true;
}

function validateBed(number)
{
    if(validateNumber_0(number)==false){
    	message="Number of Beds can contain only numeric characters";
    	return false;
    }
    
    if(number.length<1 || (number>20)){
    	message="Number of Beds should be in the range of 0 to 20";
    	return false;
    }
 return true;
}

function validateMaxPeople(number)
{
    if(validateNumber_0(number)==false){
    	message="Max People can contain only numeric characters";
    	return false;
    }
    
    if(number.length<1 || (number<1 || number>99)){
    	message="Max People should be in the range of 1 to 99";
    	return false;
    }
 return true;
}


