/*
	writen by:NS
	how to use:
	add onSubmit="return formCheck(this);" on the form that you want to validate
	e.g. <FORM METHOD="POST" name="booking" ACTION="form2_person1.php" onSubmit="return formCheck(this);">
	in fieldRequired array add those elements which needs to be validated
	in fieldDescription array address corresponding name that will appear in the alert if left blank
*/
function formCheck(formobj){
	// Enter name of mandatory fields
	
	var fieldRequired = Array("camp","booker_name1", "booker_name2","booker_addr1","booker_postcode","booker_email","booker_phone", "camper1_name1","camper1_name2","camper1_addr1","camper1_postcode", "camper2_name1","camper2_name2","camper2_addr1","camper2_postcode", "camper3_name1","camper3_name2","camper3_addr1","camper3_postcode", "camper4_name1","camper4_name2","camper4_addr1","camper4_postcode", "camper5_name1","camper5_name2","camper5_addr1","camper5_postcode", "camper6_name1","camper6_name2","camper6_addr1","camper6_postcode", "camper7_name1","camper7_name2","camper7_addr1","camper7_postcode", "camper8_name1","camper8_name2","camper8_addr1","camper8_postcode", "camper9_name1","camper9_name2","camper9_addr1","camper9_postcode", "camper10_name1","camper10_name2","camper10_addr1","camper10_postcode", "paymentmethod","terms","camper1_new","camper2_new","camper3_new","camper4_new","camper5_new","camper6_new","camper7_new","camper8_new", "camper9_new","camper10_new");
	// Enter field description to appear in the dialog box
	var fieldDescription = Array("Select a camp from the list","First Name","Surname","Address","Postcode","Valid Email Address","Phone", "First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode", "First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode","First Name","Surname","Address","Postcode","Select a Payment Method","Tick the box to agree to the booking conditions","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps","Select if this person is new to Folk Camps");
	// dialog message
	var alertMsg = "Please complete the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	for (var i = 0; i < fieldRequired.length; i++)
	{
		var obj = formobj.elements[fieldRequired[i]];
		
		if (obj)
		{
			//alert(obj.type);
			switch(obj.type)
			{

			case "select-one":
			 if (obj.name=='camp')
				{
					//alert(obj.options[obj.selectedIndex].value);
					if (obj.options[obj.selectedIndex].value=='none')
					{						
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
				}

                         if (obj.name=='paymentmethod')
				{
					//alert(obj.options[obj.selectedIndex].value);
					if (obj.options[obj.selectedIndex].value=='none')
					{						
						alertMsg += " - " + fieldDescription[i] + "\n";
					}
				}
				break;
				/*if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;*/
			
			case "select-multiple":
				if (obj.selectedIndex == -1)
				{
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;

                        case "checkbox":
                                if (obj.name=='terms')
                                        {
                                         if (!obj.checked)
                                          {
					   alertMsg += " - " + fieldDescription[i] + "\n";
				          }
                                        }
                                break;
                        case "radiobutton":
                                if (obj.name=='camper1_new' || obj.name=='camper2_new')
                                        {

if ( ( form.obj.name[0].checked == false ) && ( form.obj.name[1].checked == false ) )
                                          {
					   alertMsg += " - " + fieldDescription[i] + "\n";
				          }
                                        }
                                break;
			case "text":
			case "textarea":
				if (obj.name=='booker_email')
					{
						if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(obj.value)==false)
						{						
							alertMsg += " - " + fieldDescription[i] + "\n";
						}
					}
				
				else
				if (obj.value == "" || obj.value == null)
				{
					
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function IsValidDate(Day,Mn,Yr){
    var DateVal = Mn + "/" + Day + "/" + Yr;
    var dt = new Date(DateVal);


if(dt.getDate()!=Day){
        alert('Please enter a valid date of birth');
        return(false);
        }
    else if(dt.getMonth()!=Mn-1){
    //this is for the purpose JavaScript starts the month from 0
        alert('Please enter a valid date of birth');
        return(false);
        }
    else if(dt.getFullYear()!=Yr){
        alert('Please enter a valid date of birth');
        return(false);
        }

        
    return(true);
 }

// -->

/*<!--SAMPLE FORM -------------------------------->
<form name="formcheck" onsubmit="return formCheck(this);">
First Name: <input type=text name="FirstName" size="25"><br>
Last Name: <input type=text name="LastName" size="25"><br>
<input type=submit value="Submit Form">
</form>
</script>*/
