function checkform () {


		        for (var i=3; i < 17; i++) { 
					if ((document.forms[0].elements[i].value.length < 1) || (document.forms[0].elements[i].value == "--")){    
						if ((i == 8) || (i == 9) || (i == 4) || (i == 0)) { 
									// optional fields					                       
						} else {  
								alert(i+"Some mandatory field(s) are missing information.");
								return false; 			
						}
	          		}
		        }
				
				for (var i=27; i < 30; i++) { 
					if ((document.forms[0].elements[i].value > 0) && (document.forms[0].elements[i].value < 4)) {
							// check that they are unique
							if ((document.forms[0].elements[27].value == document.forms[0].elements[28].value) || 
								(document.forms[0].elements[27].value == document.forms[0].elements[29].value) ||
								(document.forms[0].elements[28].value == document.forms[0].elements[29].value)) {
									alert("Use priority of phones must be uniquely 1, 2 or 3.");
									return false;
								}
							
					} else {
						alert("Use priority of phones must be in the range of 1-3.");
						return false;
					}
					
				}
				
				
				if (document.forms[0].elements[5].value == document.forms[0].elements[4].value) {
					//okay
				} else {
						alert("Password and Confirmation do not match.");
						return false;	
				}
				if (checkEmail(document.forms[0].elements[14].value)) {
					// okay
				} else {
					alert("Email address provided is not valid.");
					return false;
				}
	return true;
}


function checkformMP () {
		        for (var i=5; i < 18; i++) { 
					if ((document.forms[0].elements[i].value.length < 1) || (document.forms[0].elements[i].value == "--")){    
						if ((i == 8)) { 
									// optional fields					                       
						} else {  
								alert(i+"Some mandatory field(s) are missing information.");
								return false; 			
						}
	          		}
		        }
				
				for (var i=26; i < 29; i++) { 
					if ((document.forms[0].elements[i].value > 0) && (document.forms[0].elements[i].value < 4)) {
							// check that they are unique
							if ((document.forms[0].elements[26].value == document.forms[0].elements[27].value) || 
								(document.forms[0].elements[26].value == document.forms[0].elements[28].value) ||
								(document.forms[0].elements[27].value == document.forms[0].elements[28].value)) {
									alert("Use priority of phones must be uniquely 1, 2 or 3.");
									return false;
								}
							
					} else {
						alert("Use priority of phones must be in the range of 1-3.");
						return false;
					}
					
				}
				
				if ((document.forms[0].elements[2].length > 0 ) || (document.forms[0].elements[3].length > 0 )) { 
					if (document.forms[0].elements[2].value == document.forms[0].elements[3].value) {
						//okay
					} else {
							alert("Password and Confirmation do not match.");
							return false;	
					}
				} 
				
				if (checkEmail(document.forms[0].elements[13].value)) {
					// okay
				} else {
					alert("Email address provided is not valid.");
					return false;
				}
	return true;
}


function checkEmail(addy) {
        var re;
        re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
        return  (re.test(addy) == true) ? true : false;
}
function checkDigits(addy) {
        var re;
        re = /^\d+$/;
        return  (re.test(addy) == true) ? true : false;
}

function checkRadio(rb) {
	for(j=0;j<rb.length;j++)
		if(rb[j].checked) 
			return true; 
	return false;
}

function match_password_fields(p,cp){
	if (p!=cp) {
		alert("The input from Password doesn't match the input from the Confrim Password field") ;
		return false;
	}
	return true;
}
//			name, mandatory = 1/0, type = ["str","int","eamil"]
var reg_f_def = [		
				["firstname",1,"str","First Name"],
				["lastname",1,"str", "Last Name"],
				["address1",1,"str", "Address"],
				["city",1,"str", "City"],
				["state",1,"str", "State"],
				["zip",1,"int", "Zip"],
				["country",1,"str", "Country"],
				["email",1,"email", "Email"],
				["home_areacode",0,"int", "Home Phone: Area Code"],
				["home_phone_exchange",0,"int", "Home Phone: Exchange"],
				["home_phone",0,"int", "Home Phone: Phone"],
				["home_ext",0,"int", "Cell Phene: Ext"],
				["business_areacode",0,"int", "Work Phone: Area Code"],
				["business_phone_exchange",0,"int", "Work Phone: Exchange"],
				["business_phone",0,"int", "Work Phone: Phone"],
				["business_ext",0,"int", "Cell Phene: Ext"],
				["cell_areacode",0,"int", "Cell Phene: Area Code"],
				["cell_phone_exchange",0,"int", "Cell Phene:Exchange"],
				["cell_phone",0,"int", "Cell Phene:Phone"],
				["cell_ext",0,"int", "Cell Phene: Ext"],
				["phone_priority_home",0,"int", "Priority Value 1"],
				["phone_priority_business",0,"int", "Priority Value 1"],
				["phone_priority_cell",0,"int", "Priority Value 1"],
				["mailing_list",1,"radio", "Mailing List"],
				["contact_preference",1,"radio", "Contact Preferences"],
				["voicetype",0,"radio", "Voice Type"],
				["timejoined",0,"int", "Date of First Season"]
				];



var eventreg_f_def = [		["address1",1,"str", "Address"],
				["city",1,"str", "City"],
				["state",1,"str", "State"],
				["zip",1,"int", "Zip"],
				["country",1,"str", "Country"],
				["email",1,"email", "Email"],
				["home_areacode",0,"int", "Home Phone: Area Code"],
				["home_phone_exchange",0,"int", "Home Phone: Exchange"],
				["home_phone",0,"int", "Home Phone: Phone"],
				["home_ext",0,"int", "Cell Phene: Ext"],
				["business_areacode",0,"int", "Work Phone: Area Code"],
				["business_phone_exchange",0,"int", "Work Phone: Exchange"],
				["business_phone",0,"int", "Work Phone: Phone"],
				["business_ext",0,"int", "Cell Phene: Ext"],
				["cell_areacode",0,"int", "Cell Phene: Area Code"],
				["cell_phone_exchange",0,"int", "Cell Phene:Exchange"],
				["cell_phone",0,"int", "Cell Phene:Phone"],
				["cell_ext",0,"int", "Cell Phene: Ext"],
				["phone_priority_home",0,"int", "Priority Value 1"],
				["phone_priority_business",0,"int", "Priority Value 1"],
				["phone_priority_cell",0,"int", "Priority Value 1"],
				["mailing_list",1,"radio", "Mailing List"],
				["contact_preference",1,"radio", "Contact Preferences"],
				["voicetype",0,"radio", "Voice Type"]
				];


				
function validate_form_fields_type(frm,f_def)
{
	for(i=0;i<f_def.length;i++){
		try{
			fld = frm[f_def[i][0]];
			if (f_def[i][2]=="radio") {
				if ( f_def[i][1]==1 && (!checkRadio(fld)) ){
					alert("You have to select one of the options for " + f_def[i][3] + ".");
					frm[f_def[i][0]][0].focus();
					return false;
				}
				
			} else if ((tmp=trim(fld.value))=="" && f_def[i][1]==1) {
				alert("Missed mandatory field: " +f_def[i][3] );
				frm[f_def[i][0]].focus();
				return false;
			} else if(tmp!="")
				switch(f_def[i][2]) {
				case "int" :
					if (!checkDigits(tmp)){
						alert("Wrong data format! " + f_def[i][3] + " should contain digits only.");
						frm[f_def[i][0]].focus();
						return false;
					}
					break;
				case "email":
					if (!checkEmail(tmp)){
						alert("Wrong data format! " + f_def[i][3] + " should have a valid email format.");
						frm[f_def[i][0]].focus();
						return false;
					}
					break;
				default:
				} 
		} catch (e){
			alert("wrong field name " + f_def[i][0]);
			return false;
		}
	}
	return true;
}

function check_phone_priority_fields(pr1, ph1, pr2, ph2, pr3, ph3) {
	var ret= true;
	
	if(ph1=="" && ph2=="" && ph3=="") {
		alert("You have to enter at least one phone number");
		return false;
	}

	if (isNaN(pr1=parseInt(pr1))) pr1=0;
	if (isNaN(pr2=parseInt(pr2))) pr2=0;
	if (isNaN(pr3=parseInt(pr3))) pr3=0;

	if( ph1!="" && (pr1<1 || pr1>3 || pr1==pr2 || pr1==pr3)) ret = false;
	if( ph2!="" && (pr2<1 || pr2>3 || pr2==pr3)) ret = false;
	if( ph3!="" && (pr3<1 || pr3>3 )) ret = false;
	if(!ret) alert("You have to specify a unique priority value from 1-3 for each entered phone number");
	return ret;
}


function trim(s) {
	var ret = s;
	while (ret.substring(0, 1) == " ") 
		ret = ret.substring(1, ret.length);
	while (ret.substring(ret.length-1, ret.length) == " ")
		ret = ret.substring(0, ret.length-1);
	return ret;
}

function validate_uprofile_form(frm){
	return	validate_form_fields_type(frm, reg_f_def) && 
		check_phone_priority_fields(
					frm["phone_priority_home"].value,
					frm["home_areacode"].value,
					frm["phone_priority_business"].value,
					frm["business_areacode"].value,
					frm["phone_priority_cell"].value,
					frm["cell_areacode"].value) &&
		match_password_fields(frm["pass"].value,frm["pass_confirm"].value);
}
function validate_ereguprofile_form(frm){
	return	validate_form_fields_type(frm, eventreg_f_def) && 
		check_phone_priority_fields(
					frm["phone_priority_home"].value,
					frm["home_areacode"].value,
					frm["phone_priority_business"].value,
					frm["business_areacode"].value,
					frm["phone_priority_cell"].value,
					frm["cell_areacode"].value);
}
function check_int(f)
{f.value = tmp = isNaN(tmp= parseInt(f.value))?0:tmp;}

function ccb(fname,femail,cb)
{
if (trim(fname.value) == "" && trim(femail.value) == "") {
	cb.checked = false;
} 
}

function validate_ereg_form1(f){
	for(i=0;i<f.length;i++) {
		if (f[i].name.indexOf("adults_num_")>-1){
			id = f[i].name.substring(11);
			n = isNaN(tmp = parseInt(f[i].value))?0:tmp;
			n += isNaN(tmp = parseInt(f["teens_num_"+id].value))?0:tmp;
			if(f["cb_myself_"+id].checked &&n<=0) {
				alert("Please enter the number of adults, teens and baies for the Getaway Weekend\nAt least 1 adult or 1 teen is required");
				f[i].focus();return false;
			}
		}
		if (f[i].name.indexOf("guestname")>-1){
			id = f[i].name.substring(9);		
			if (trim(f[i].value) != "" && trim(f["guestemail" + id].value) == "") { 
				alert("Please enter an email for guest  #" + id  + ". \nNOTE: If you don't have an email for this person or don't know it, just enter your own email.");
				f["guestemail" + id].focus();
				return false;
			}	
			if (trim(f[i].value) != "" && !checkEmail(f["guestemail" + id].value)) {
				alert("Guest  #" + id  + " appears to have a bad email address.");
				f["guestemail" + id].focus();
                return false;
			}
		}
	}
}

