function getElement(id){
    if(document.getElementById){    // test the most common method first
        return document.getElementById(id);
    }else if(document.all){         // test older versions of IE
        return document.all[id];
    }else if(document.layers){      // test older versions of Netscape
        return document.layers[id];
    }else{                          // not sure what to do...return null
        return null;
    }
}


function isPhoneNumber(s) {
	
     rePhoneNumber = new RegExp(/^[1-9]\d{2}\s?\d{3}\s?\d{4}$/);
 
     if (!rePhoneNumber.test(s)) {
          return false;
     }
 
	return true;
}

function isNumber(n){
	
	reNumber = new RegExp(/^[0-9]$/);
	
	if(!reNumber.test(n)){
		return false;
	}
	return true;
}

function validate_zipcode(z){
	if(z.length != 5){
		return false;
	} else {
		for(i=0;i<5;i++){
			if(!isNumber(z.substring(i,i+1))){
				return false;
			}
		}
	}
	return true;
	
}


function check_zipcode(zip){
	
	if(getElement(zip).value == ""){
		return false;
	} else {
		if(!validate_zipcode(getElement(zip).value)){
			return false;
		}
	}
	return true;
}

function validateSearch(page){
	var error = false;
	var errormsg = '';

	if(getElement("fname").value == ""){
		error = true;
		errormsg += "- Please enter your Name\n";
	}
	
	if(getElement("email").value == ""){
		error = true;
		errormsg += "- Please enter your Email Address\n";
	}
	if( (getElement("phone").length < 10) ){
		error = true;
		errormsg += "- Please enter a Phone Number\n";
	} else {
		/*var phone = getElement("phone").value;
		if(!isPhoneNumber(phone)){
			error = true;
			errormsg += "- Please enter a valid Phone Number\n";
		}*/
	}

	if(!check_zipcode("from_zip")){
		error = true;
		errormsg += "- Please enter a valid zipcode\n";
	}
	
	if(getElement("to_city").value == ""){
		error = true;
		errormsg += "- Please enter your To City\n";
	}
	

	if( (getElement("move_date").value == "") || (getElement("move_date").value == "Est. Move Date") ){
			error = true;
			errormsg += "- Please enter or select an Estimated Move Date\n";
		} else if(!isValidDate(getElement("move_date").value)){
			error = true;
			errormsg += "- You can not enter a date in the past\n";
		}
	
	if(getElement("move_size").value == ""){
				error = true;
				errormsg += "- Please select an Estimated Move Size\n";
		}
		

	if(error){
		alert("Please correct the following errors:\n\n"+errormsg);
		return false;
	} else {
		return true;
		//document.frm_quote.submit();
	}
}




function isValidDate(d){

	/* works only for yyyy-mm-dd 
	
	var year = d.substring(0,4);
	var month = d.substring(5,7);
	var day = d.substring(8,10);*/

	var year = d.substring(6,10);
	var month = d.substring(0,2);
	var day = d.substring(3,5);	

	var mydate = new Date;
	
	var my_year = mydate.getFullYear();
	var my_month = mydate.getMonth()+1;
	var my_day = mydate.getDate();
	
	if( year < my_year ){
		return false;
	} else {
		if( (month < my_month) && (year == my_year) ){
			return false;
		} else if( (month == my_month) && (year == my_year)){
			if( day < my_day ){
				return false;
			}
		}
	}
	
	return true;
}

