function initialize() {

	//remove IE CSS image flicker...
	try{document.execCommand("BackgroundImageCache",false,true);}catch(ex){;}

	//initialize menu slider...
	if(init_slider != null ) 
		init_slider();
}

//payment form validation..
function validate_payment_form() {
 var error_message = null;
 document.getElementById("payment_firstname").className = "";
 document.getElementById("payment_surname").className = "";
 document.getElementById("payment_email").className = "";
 document.getElementById("payment_phone").className = "";
 document.getElementById("payment_suite").className = "";
 document.getElementById("payment_amount").className = "";
 document.getElementById("payment_date_from").className = "";
 document.getElementById("payment_date_to").className = "";
 
 if(document.getElementById("payment_firstname").value == "") {
   error_message = "Please enter your Firstname.";
   document.getElementById("payment_firstname").className = "invalid";
 } 
 else if(document.getElementById("payment_surname").value == "") {
   error_message = "Please enter your Surname.";
   document.getElementById("payment_surname").className = "invalid";
 } 
 else if(document.getElementById("payment_email").value == "") {
   error_message = "Please enter your Email address.";
   document.getElementById("payment_email").className = "invalid";
 }
 else if(!validateEmail(document.getElementById("payment_email").value)) {
   error_message = "Please enter a valid email address.";
   document.getElementById("payment_email").className = "invalid";
 }
 else if(document.getElementById("payment_phone").value == "") {
   error_message = "Please enter your contact phone number";
   document.getElementById("payment_phone").className = "invalid";
 }
 else if(document.getElementById("payment_suite").value == "") {
   error_message = "Please choose the Suite you have booked.";
   document.getElementById("payment_suite").className = "invalid";
 }
 else if(document.getElementById("payment_date_from").value == "") {
   error_message = "Please enter the 'Date from'";
   document.getElementById("payment_date_from").className = "invalid";
 }
 else if(document.getElementById("payment_date_to").value == "") {
   error_message = "Please enter the 'Date to'";
   document.getElementById("payment_date_to").className = "invalid";
 }
 else if(document.getElementById("payment_amount").value == "") {
   error_message = "Please enter the Payment Amount.";
   document.getElementById("payment_amount").className = "invalid";
 }
 

 //if no error found, check payment amount validity...
 if(error_message == null) {
  var _amount = document.getElementById("payment_amount").value;
  var _amountint = parseFloat(_amount);
  
  //check validity...
  if(_amount.indexOf(",") > -1 || isNaN(_amountint)) {
   error_message = "Payment Amount contains invalid characters.\nPlease enter only numbers (and an optional decimal point)";
   document.getElementById("payment_amount").className = "invalid";
  }
  else {
    //valid amount, convert to cents and set 'payment_amount_cents' hidden field...
    //document.getElementById("payment_amount_cents").value = Math.round(_amountint * 100);
    var amount_cents =  Math.round(_amountint * 100);
    var amount_cents_str = (amount_cents + "");
    
    //make sure we zero pad to 3 places...
    amount_cents_str = zeroPad(amount_cents_str, 3);
    document.getElementById("payment_amount_cents").value = amount_cents_str;
  }
 }

 if(error_message) {
  alert("Error: - " + error_message); 
  return false;
 }
 else {
  return true; 
 }
}


//pad with 0's...
function zeroPad(num,count)
{
	var numZeropad = num + '';
	while(numZeropad.length < count) {
		numZeropad = "0" + numZeropad;
	}
	return numZeropad;
}

//validate email address
function validateEmail(email_address) {
     var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
     return regex.test(email_address);
  }
