function invalidcc(x) 
	{
		var ccnumber=x.replace(/\D/g, '');
  		var cclength=ccnumber.length;
  		var parity=cclength % 2;
  		var sum=0;
  		for (i=0; i < cclength; i++) {
    			var ccdigit=ccnumber.charAt(i);
    			if (i % 2 == parity) ccdigit=ccdigit * 2;
    			if (ccdigit > 9) ccdigit=ccdigit - 9;
    			sum = sum + parseInt(ccdigit);
  		}
  		var valid=(sum % 10 == 0);
  		if (valid) 
		{
			return false;
		}
  		return true;
	}
function disableEnterKey(e)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13)
          return false;
     else
          return true;
}
function form_refresh(form)
	{
		var the_hostel=form.elements['FORM_HOSTEL'].value;
		var the_currency=form.elements['FORM_CURRENCY'].value;
		var the_nights=form.elements['FORM_NIGHTS'].value;
		var the_from=form.elements['EDA_YEARS'].value+'-'+form.elements['EDA_MONTHS'].value+'-'+form.elements['EDA_DAYS'].value;
		var the_to=form.elements['EDL_YEARS'].value+'-'+form.elements['EDL_MONTHS'].value+'-'+form.elements['EDL_DAYS'].value;
		var the_href=window.location.href.split("?");
		var url=the_href[0]+"?from="+the_from+"&to="+the_to+"&nights="+the_nights+"&currency="+the_currency+"&hostel="+the_hostel;
		var str="";
		
		for(i=0; i<form.elements.length; i++){
			switch(form.elements[i].name){
				case "FORM_HOSTEL":
					break;
				case "FORM_CURRENCY":
					break;
				case "FORM_PRICE":
					url=url+"&price="+form.elements[i].value;
					break;
				case "FORM_GROUP":
					url=url+"&group="+form.elements[i].value;
					break;
				case "FORM_CONDITIONS":
					break;
				case "FORM_BOOKINGS":
					break;
				case "FORM_NIGHTS":
					break;
				case "FORM_EMAIL":
					break;
				case "EDA_DAYS":
					break;
				case "EDA_MONTHS":
					break;
				case "EDA_YEARS":
					break;
				case "EDL_DAYS":
					break;
				case "EDL_MONTHS":
					break;
				case "EDL_YEARS":
					break;
				case "ADDRESS_1":
					break;
				case "ADDRESS_2":
					break;
				case "ADDRESS_3":
					break;
				case "ADDRESS_4":
					break;
				case "EMAIL":
					break;
				case "FORENAME":
					break;
				case "SURNAME":
					break;
				case "PERSON":
					break;
				case "ADULT":
					break;
				case "CHILD":
					break;
				case "PHONE":
					break;
				case "CONTACT":
					break;
				case "ETA_HOURS":
					break;
				case "ETA_MINUTES":
					break;
				case "ETA_AMPM":
					break;
				case "NATIONALITY":
					break;
				case "REFERRAL":
					break;
				case "REGION":
					break;
				case "TRAVELBY":
					break;
				case "TRAVELFROM":
					break;
				case "CCPROVIDER":
					break;
				case "CCVALID_MONTHS":
					break;
				case "CCVALID_YEARS":
					break;
				case "CCNAME":
					break;
				case "CCNUMBER_1":
					break;
				case "CCNUMBER_2":
					break;
				case "CCNUMBER_3":
					break;
				case "CCNUMBER_4":
					break;
				case "SPECIAL":
					break;
				case "SOURCE":
					break;
				case "cmdGo":
					break;
				default:
					str=form.elements[i].name;
					if(str.substr(0,1)!="*")
					{
						url=url+"&"+form.elements[i].name+"="+form.elements[i].value;
					}
					break;
			}
		}
		window.location.replace(url);
	}
function form_submit()
	{
		document.write("<input type=button name=cmdGo class=form value='Book Now' onClick=form_validate(this.form)>");
	}
function form_paysubmit()
	{
		document.write("<input type=button name=cmdGo class=form value='Book & Pay Now' onClick=form_validate(this.form)>");
	}
function form_validate(form)
	{		
		var the_from=form.elements['EDA_YEARS'].value+'-'+form.elements['EDA_MONTHS'].value+'-'+form.elements['EDA_DAYS'].value;
		var the_expiry="";
		var the_number="";
		var the_hostel=form.elements['FORM_HOSTEL'].value;
		
		for(i=0; i<form.elements.length; i++){
			switch(form.elements[i].name){
			case "FORM_BOOKINGS":
				if (form.elements['FORM_BOOKINGS'].value==0)
				{
					alert("Please select ACCOMMODATION required.");
					return false;
				}
				break;
			case "EMAIL":
				if (form.elements['EMAIL'].value == "")
				{
					alert("Please provide EMAIL address.");
					form.elements[i].focus();
					return false;
				}
				break;
			case "FORM_EMAIL":
				if (form.elements['EMAIL'].value!=form.elements['FORM_EMAIL'].value)
				{
					alert("Please check EMAIL address.");
					form.elements[i].focus();
					return false;
				}
				break;
			case "FORENAME":
				if (form.elements['FORENAME'].value=="")
				{	
					alert("Please provide FORENAME.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "SURNAME":
				if (form.elements['SURNAME'].value=="")
				{
					alert("Please provide SURNAME.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "PHONE":
				if ((form.elements['PHONE'].value=="") && (the_hostel=="rentgps"))
				{
					alert("Please provide PHONE number.");
					form.elements[i].focus();
					return false;	
				}
				break;

			case "ADULT":
				if (form.elements['ADULT'].value=="0")
				{
					alert("Please enter number of ADULTS.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "PERSON":
				if (form.elements['PERSON'].value=="0")
				{
					alert("Please enter number of PEOPLE.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "ETA_HOURS":
				if (form.elements['ETA_HOURS'].value=="Hrs")
				{
					alert("Please complete ARRIVAL time.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "ETA_MINUTES":
				if (form.elements['ETA_MINUTES'].value=="Mins")
				{
					alert("Please complete ARRIVAL time.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "ETA_AMPM":
				if (form.elements['ETA_AMPM'].value=="am/pm")
				{
					alert("Please complete ARRIVAL time.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "NATIONALITY":
				if (form.elements['NATIONALITY'].value=="")
				{
					alert("Please complete NATIONALITY.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "REFERRAL":
				if (form.elements['REFERRAL'].value=="")
				{
					alert("Please complete REFERRAL.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "MEAL":
				if (form.elements['MEAL'].value=="")
				{
					alert("Please complete MEAL.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "TRAVELBY":
				if (form.elements['TRAVELBY'].value=="")
				{
					alert("Please complete TRAVEL.");
					form.elements[i].focus();
					return false;	
				}
				break;
			case "CCNUMBER_1":
				the_number=form.elements['CCNUMBER_1'].value+form.elements['CCNUMBER_2'].value+form.elements['CCNUMBER_3'].value+form.elements['CCNUMBER_4'].value;
				if ((the_number=="") && (the_hostel!="possumlodge"))
				{
					alert("Please provide credit card NUMBER.");
					form.elements[i].focus();
					return false;		
				}
				break;
			case "CCPROVIDER":
				the_number=form.elements['CCNUMBER_1'].value+form.elements['CCNUMBER_2'].value+form.elements['CCNUMBER_3'].value+form.elements['CCNUMBER_4'].value;
				if(the_number!="")
				{
					if (form.elements['CCPROVIDER'].value=="Type")
					{
						alert("Please provide credit card TYPE.");
						form.elements[i].focus();
						return false;
					}
				}
				break;
			case "CCVALID_MONTHS":
				the_number=form.elements['CCNUMBER_1'].value+form.elements['CCNUMBER_2'].value+form.elements['CCNUMBER_3'].value+form.elements['CCNUMBER_4'].value;
				if(the_number!="")
				{
					if (form.elements['CCVALID_MONTHS'].value=="Month")
					{
						alert("Please provide credit card DATE.");
						form.elements[i].focus();
						return false;
					}
				}
				break;
			case "CCVALID_YEARS":
				the_number=form.elements['CCNUMBER_1'].value+form.elements['CCNUMBER_2'].value+form.elements['CCNUMBER_3'].value+form.elements['CCNUMBER_4'].value;
				if(the_number!="")
				{
					if (form.elements['CCVALID_YEARS'].value=="Year")
					{
						alert("Please provide credit card DATE.");
						form.elements[i].focus();
						return false;
					}
				}
				break;
			case "CCNAME":
				the_number=form.elements['CCNUMBER_1'].value+form.elements['CCNUMBER_2'].value+form.elements['CCNUMBER_3'].value+form.elements['CCNUMBER_4'].value;
				if(the_number!="")
				{
					if (form.elements['CCNAME'].value=="")
					{
						alert("Please provide credit card holder NAME.");
						form.elements[i].focus();
						return false;
					}
				}
				break;
			case "CCAUTHORISE":
				the_number=form.elements['CCNUMBER_1'].value+form.elements['CCNUMBER_2'].value+form.elements['CCNUMBER_3'].value+form.elements['CCNUMBER_4'].value;
				if(the_number!="")
				{
					if (form.elements['CCAUTHORISE'].value=="")
					{
						alert("Please provide credit card CVD number.");
						form.elements[i].focus();
						return false;
					}
				}
				break;
			case "FORM_CONDITIONS":
				if (form.elements[i].checked)
				{
				} else
				{
					alert("Please agree to CONDITIONS.");
					form.elements[i].focus();
					return false;	
				}
				break;
			}
		}	
		if(the_number!="")
		{
			if (invalidcc(the_number))
			{
				alert("Invalid credit card NUMBER. Please check.");
				return false;
			}
		}
		if(the_number!="")
		{
			the_expiry='20'+form.elements['CCVALID_YEARS'].value+'-'+form.elements['CCVALID_MONTHS'].value+'-31';
			if(the_expiry<the_from)
			{
				alert("Credit card EXPIRES before arrival date. Please check.");
				return false;
			}	
		}
		form.elements['cmdGo'].disabled=true;
		form.submit()			
		return true;
	}
