
function ValidateForm(type) {

  var ErrorMsgs= $A();
   // var RequiredFields = $H({'surname':'t','first_name':'t','phone':'t','email':'e','adult':'n'});

    switch (type) {
    case 'payment':
      var RequiredFields = $H({'CardNumber':'c','CCExpiry_M':'n','CCExpiry_Y':'n','CCName':'t'});
    break;
    case 'booking':
    	var RequiredFields = $H({'first_name':'t','surname':'t','phone':'t','email':'e','adult':'n'});
		if($('payment-div').style.display != 'none') {
			RequiredFields['CardNumber']='c';
			RequiredFields['CCExpiry_M']='n';
			RequiredFields['CCExpiry_Y']='n';
			RequiredFields['cc_name']='t';
		}
	break;
    case 'enquiry':
      var RequiredFields = $H({'first_name':'t','surname':'t','phone':'t','email':'e','adult':'n'});
    break;
    case 'enquiry-general':
      var RequiredFields = $H({'first_name':'t','surname':'t','phone':'t','email':'e'});
    break;
		case 'enquiry-special':
      var RequiredFields = $H({'first_name':'t','surname':'t','phone':'t','email':'e','adult':'n','property':'t'});
		break;
  }


  RequiredFields.each(function(field, key) { 
    var element = $(field[0]);
    switch(field[1]) {
      case 't': //- Text
        if(element.value==0) 
          ErrorMsgs.push("Please fill in the "+element.title+" field.");
      break;
      case 'e':  //- Email
        if (element.value.indexOf('@')<1)
          ErrorMsgs.push("Please enter a valid email address for the "+element.title+" field.");
      break;
      case 'n': //- Number
        if (!IsNumber(element.value))
          ErrorMsgs.push("Please enter a number for the "+element.title+" field.");
      break;
      case 'c': //- Credit Card Number - 4 Input Boxes
      if ($(field[0]+'1').value.length != 4 || $(field[0]+'2').value.length != 4 || $(field[0]+'3').value.length != 4 || $(field[0]+'4').value.length < 2 )
        ErrorMsgs.push("Please enter a valid number for the Credit Card Number field.");
      break;
      case 'cb':
        if(!element.checked)
          ErrorMsgs.push("Please acknowledge the "+element.title+" field.");
      break;
    }
  });
    
  if (ErrorMsgs.length > 0) {
    AlertMsg = ErrorMsgs.collect().join('\n');
    alert(AlertMsg);
   // return false;
  }else {
    //return true;
    $('booking').submit();
  }

   return false;
}

function IsNumber(n){
    var s = n.toString();
    if (s.length == 0) return false;
    for (var k=0; k < s.length; k++) { 
      var X = s.charAt(k); 
      if (X < "0" || X > "9") 
        return false ;
    }
    return true;
}

