





// Custom JavaScripts Functions will be placed here...



var language="en";

// Other common functions...

function clearField(htmlObject) {
   if (htmlObject != null) {
       htmlObject.value = "";
   }
}

function showPicture(c,r) {
   window.open('show_picture.jsp?category='+c+'&resourcecode='+r,'pictureloader','width=400,height=500,resizable=1,status=yes');
}


errmsg=new Array();
errmsg['default']="Please complete the form...";

errmsg['Email']="Your E-Mail address is invalid";

errmsg['LastName']="Please enter your surname";

errmsg['Phone1']="Your Telephone number is invalid";

errmsg['Birthdate_Month']="Invalid birth date";

errmsg['checkin_date']="Invalid check-in date";

errmsg['SelectedHotel']="Please select a hotel";

errmsg['Birthdate_Year']="Invalid birth date";

errmsg['checkout_date']="Invalid check-out date";

errmsg['']="Country";

errmsg['Phone']="Your Telephone number is invalid";

errmsg['EnableCookies']="Your browser should allow `Session Cookies`...";

errmsg['Fax']="Your Fax number is invalid";

errmsg['FirstName']="Please enter your name";

errmsg['Birthdate_Day']="Invalid birth date";

errmsg['Birthdate']="Invalid birth date";

errmsg['Message']="Please enter your message";


// field checks...
function checkEmail(f) {
   var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
   if(filter.test(f.value)) {
      return true;
   } else {
      alert(errmsg[f.name]?errmsg[f.name]:errmsg['default']);
      f.focus();
      return false;
   }
}

function checkString(f) {
   if (f.value.length < 2) {
      alert(errmsg[f.name]?errmsg[f.name]:errmsg['default']);
      f.focus();
      return false;
   } else {
      return true;
   }
}

function checkNumber(f) {
   if (isNaN(parseInt(f.value))) {
      alert(errmsg[f.name]?errmsg[f.name]:errmsg['default']);
      f.focus();
      return false;
   } else {
      return true;
   }
}

function checkDate(fday, fmonth, fyear, fieldname) {

	var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	if(! (fday.options && fmonth.options && fyear.options)) return true;
	
	var day = parseInt(fday.options[fday.selectedIndex].value);
	var month = parseInt(fmonth.options[fmonth.selectedIndex].value);
	var year = parseInt(fyear.options[fyear.selectedIndex].value);

	if (!day || !month || !year) {
		alert(errmsg[fieldname]?errmsg[fieldname]:errmsg['default']);
		return false;
	}
		
	if (year/4 == parseInt(year/4))
		monthLength[1] = 29;

	if (day > monthLength[month-1]) {
		alert(errmsg[fieldname]?errmsg[fieldname]:errmsg['default']);
		return false;
	}

	return true;
}

function checkSelect(f) {
   if (f.options[f.selectedIndex].value=="") {
      alert(errmsg[f.name]?errmsg[f.name]:errmsg['default']);
      f.focus();
      return false;
   } else {
      return true;
   }
}

function checkRadio(f) {

   checked=false;

   for(var i=0; i<f.length; i++) {
      if(f[i].checked) checked=true;
   }

   if (! checked) {
      alert(errmsg[f[0].name]?errmsg[f[0].name]:errmsg['default']);
      f[0].focus();
      return false;
   } else {
      return true;
   }
}

function checkField(f) {

    if(f.length && f[0].type=="radio") return checkRadio(f)
    if(f.length && f[0].type=="checkbox") return checkRadio(f)
    if(! f.length) {
	    if(f.tagName.toUpperCase()=="SELECT") return checkSelect(f);
	    if(f.tagName.toUpperCase()=="TEXTAREA") return checkString(f);
        if(f.tagName.toUpperCase()=="INPUT" && f.type.toUpperCase()=="TEXT") return checkString(f);
    }
	alert("Invalid type: "+f.name+" ("+f.tagName+")");
	return false;
}

