var ecolor = "#EEE";

function ValidateForm()
{
    if (checkinput())
    {
        //validemail();
        return true;
    }
    else
    {
        return false;
    }
}

/*function validemail(){
	var valid = emailCheck(document.theform.email.value);
	document.theform.valid_email.value=valid;
}
*/
function validStateCountry(){
	
	if((document.theform.state.selectedIndex > 1 && document.theform.country.selectedIndex == 1) || (document.theform.state.selectedIndex == 1 && 					document.theform.country.selectedIndex ==2 || document.theform.country.selectedIndex > 3)){
		return true;
	}else{
		alert("Invalid State Country");
		return false;
	}
}

function validDate(){
	currentTime = new Date();
	if(new Date(document.theform.year.value, document.theform.month.value-1, document.theform.day.value)< currentTime)
	{	
		alert("Invalid Date");
	    return (false);
    }
	else
	{
	    return(true)
	}
}

function checkinput()
{
    var bRet;
    
    bRet = IsFilled(document.forms[0].firstname,"First Name");
    if (bRet)
        bRet = IsFilled(document.forms[0].lastname,"Last Name");
    if (bRet)
        bRet = IsFilled(document.forms[0].title,"Title");
    if (bRet)
        bRet = IsFilled(document.forms[0].company,"Company Name");
    if (bRet)
        bRet = IsFilled(document.forms[0].business,"Type of Business");
    if (bRet)
        bRet = IsFilled(document.forms[0].mailing_address,"Mailing Address");
    if (bRet)
        bRet = IsFilled(document.forms[0].city,"City");
	if (bRet)
        bRet = IsFilled(document.forms[0].state,"State");
    if (bRet)
        bRet = IsFilled(document.forms[0].zip,"Zip Code");
	if (bRet)
        bRet = IsFilled(document.forms[0].country,"Country");
    if (bRet)
        bRet = validStateCountry();
	if (bRet)
        bRet = PhoneNumber();
	if (bRet)
        bRet = IsEmail(document.forms[0].email,"E-Mail Address");
	if (bRet)
        bRet = IsFilled(document.forms[0].center,"Select a Center");
    if (bRet)
        bRet = IsFilled(document.forms[0].month,"Month");
    if (bRet)
        bRet = IsFilled(document.forms[0].day,"Day");
    if (bRet)
        bRet = IsFilled(document.forms[0].year,"Year");	
	if(bRet)
		bRet = validDate();
	if(bRet)
		bRet = GuestCheck();

        //bRet = IsNumeric(document.forms[0].guests,"Number of Guests");
		
		//bRet = guestValidator();

    return bRet
	//return false;
}

function IsFilled(oField,fieldName)
{

    var strData = oField.value;

    if (strData.length >= 1) {
	   	//if user submits form multiple times, 
	   	//set field bg color back to white for any fields that may have been in error previously
	    var strName = oField.name;
		oField.id = strName;
		document.getElementById(strName).style.backgroundColor = "#FFF";
		
		return true;
    }
    else
    {
	    alert(fieldName + " is Required.");
	    seterror(oField);
	    return false;
    }
}
function GuestCheck(){
	if (document.theform.guests.value == ""){
					alert("Please fill out how many guests you have.");
					return(false)
			}else{
						checkVals = /^[1-9]/;
					if(document.theform.guests.value == ""){
							alert("You must tell us how many guests you have.")
							return(false)
					}
					else if(document.theform.guests.value < 1){
							alert("The number of guests must be greater than 0.");
							return(false)
					}else if(checkVals.test(document.theform.guests.value) != true){
							alert("The number of guests must be a numeric value.");
							return(false)
					}else{
							return(true)	
					}
			}

	
}
function PhoneNumber(){
	if (document.theform.phone.value == ""){
					alert("Please fill out your phone number");
					return(false)
			}else{
						var phoneVals = /[^0-9\(\)\.\s\-]+/;
					if(document.theform.phone.value.search(phoneVals) != -1){
							alert("Please fill out a valid phone number");
							return(false)
					}else{
							return(true)	
					}
			}
}

function IsAlpa(oField)
{
    if (/^[a-zA-Z\s\.\-\_]+/.test(oField.value))
    {
        return(true);
    }
    else
    {
        alert("Please enter a number.");
        seterror(oField);
        return(false);
    }
}


function IsPhoneNumber(oField)
{
    //if (/^[(]?\d{3}[)]?[ -.]?\d{3}[ -.]?\d{4}$/.test(oField.value))
    if (/^[\d\s\(\)\-\+\/]*$/.test(oField.value))
    {
        return(true);
    }
    else
    {
        alert("Please enter a valid phone number.");
        seterror(oField);
        return(false);
    }
}

function IsEmail(oField)
{
    if (/^([a-zA-Z0-9_.-]){2,}@([a-zA-Z0-9_.-]){2,}\.([a-zA-Z])+([a-zA-Z])$/.test(oField.value))
    {
        return(true);
    }
    else
    {
        alert("Please enter a valid email address.");
        seterror(oField);
        return(false);
    }
}

function seterror(oField)
{
        var strName = oField.name;
        var strID = oField.id;
        //if (strID.length <= 0)
        //{
	        oField.id = strName;
       // }
	    document.getElementById(strName).style.backgroundColor = ecolor;
	    oField.focus();
}

