function resetReservationsForm(def){
	
	if(def==2){
		$('formTypeEnquiry').checked=true;	
	}
	else{
		$('formTypeReservations').checked=true;
	}
	
	$('reservationsDateTimePaxZone').style.display='none';
	$('reservationsPaypal').style.display='none';
	
	if($('formTypeReservations').checked==true){
		toggleFormType('reservations');
	}
	else if($('formTypeEnquiry').checked==true){
		toggleFormType('enquiry');
	}

	var day=$('reservationsDay'),i,j,textInputs,l,selectBoxes;

	/* Build Days */

	for(i=1;i<32;i++){
		j=i<10?'0'+String(i):String(i);
		day.options[i]=new Option(i,j,false,false);
	}
	
	/* Reset Fields */
	
	textInputs=$ES('input','v___reservationsZone');
	l=textInputs.length;
	for(i=0;i<l;i++){
		if(textInputs[i].type!='button'&&textInputs[i].type!='radio'){
			textInputs[i].value='';
		}
	}
	
	selectBoxes=$ES('select','v___reservationsZone');
	l=selectBoxes.length;
	for(i=0;i<l;i++){
		selectBoxes[i].value='';
	}
	
	$('message').value='';

	resetReservationsType();

}

/* This Array Holds The Various Types Availalbe
						{code:1,name:'Current Promotions'}, */

var reservationTypes=	[

						{code:0,name:'Select your reservation type'},
						
						/*{code:1,name:'New Year Promotion'},
						{code:'Festive Dinner for Two',name:'Festive Dinner for Two -  31 Dec 09 - S$95.00++',fixedTime:'1700-2230',paypal:true},
						{code:'Festive Romantic Package for Two',name:'Festive Romantic Package for Two - 31 Dec 09 - S$288.00++',fixedTime:'1700-2230',paypal:true},
						{code:'Drink Package 1',name:'Drink Package 1 - 31 Dec 09 - S$25.00++',fixedTime:'1700-2230',paypal:true},
						{code:'Drink Package 2',name:'Drink Package 2 - 31 Dec 09 - S$15.00++',fixedTime:'1700-2230',paypal:true},
						{code:'Tapas Platter',name:'Tapas Platter - 31 Dec 09 - S$39.00++',fixedTime:'1700-2230',paypal:true},
						{code:'Combo A',name:'Combo A (One Drink Package 1 + One Tapas Platter) - 31 Dec 09 - S$60.00++',fixedTime:'1700-2230',paypal:true},
						{code:'Combo B',name:'Combo B (One Drink Package 2 + One Tapas Platter) - 31 Dec 09 - S$50.00++',fixedTime:'1700-2230',paypal:true},
						
						{code:'Christmas Dinner 2 pax',name:'Christmas Dinner 2 pax - 24 Dec 09. Unit Price:$95.00 nett',paypal:true},
						{code:'Christmas Dinner 3 pax',name:'Christmas Dinner 3 pax - 24 Dec 09. Unit Price:$145.00 nett',paypal:true},
						{code:'Romantic Christmas 2 pax',name:'Romantic Christmas 2 pax - 24 Dec 09. Unit Price:$288.00 nett',paypal:true},
						{code:'New Year Dinner 2 pax',name:'New Year Dinner 2 pax - 31 Dec 09. Unit Price:$95.00 nett',paypal:true},
						{code:'New Year Dinner 3 pax',name:'New Year Dinner 3 pax - 31 Dec 09. Unit Price:$145.00 nett',paypal:true},
						{code:'Romantic New Year 2 pax',name:'Romantic New Year 2 pax - 31 Dec 09. Unit Price:$288.00 nett',paypal:true},*/
						{code:1,name:'Promotion'},
						{code:'Five Years',name:'Relax in The Garden - Recession Special - 1 for 1 All Day Long - Sunday, Monday & Tuesday',fixedTime:'1700-2230'},
						/*{code:'Relax-in-the-Garden - Sun',name:'Relax-in-the-Garden - Recession Specials - 1for1 All Day Long - Sunday No Service Charge',weekly:true,fixedTime:'1600-2230'},
						{code:'Relax-in-the-Garden - Mon & Tue',name:'Relax-in-the-Garden - Recession Specials - 1for1 All Day Long - Monday & Tuesday',fixedTime:'1700-2230'},*/
						{code:1,name:'Reservations'},
						{code:'regular',name:'Regular Dinner',fixedTime:'1700-2230'},
						{code:'Romantic Dinner for Two',name:'Romantic Dinner for Two (2) in a traditional Balinese Lesehan $200 ++',fixedTime:'1700-2230'},
						/*{code:'relax',name:'Relax - Bali Sunday-in-the-Garden (11:30am - 12 midnight)',weekly:true,day:0,fixedTime:'1130-0130'},*/
						{code:'tapas',name:'Drinks & Tapas',fixedTime:'1700-2330'},
						{code:1,name:'Events'},
						{code:'private',name:'Private Dinner',endTime:true},
						{code:'birthday',name:'Birthday',endTime:true},
						{code:'wedding',name:'Wedding/ROM',endTime:true},
						{code:'anniversary',name:'Anniversay',endTime:true},
						{code:'seminar',name:'Seminar',endTime:true},
						{code:'retreat',name:'Retreat',endTime:true},
						{code:'dnd',name:'Company Dinner & Dance',endTime:true}

						];
						
/* Store An Array Of Months */

var monthsArray=['Jan'];

/* Toggle Form Type */

function toggleFormType(value){
	
	if(value=='enquiry'){
		<!--$('reservationsForm').style.display='none';-->
		$('reservationsPaypal').style.display='none';
		$('reservationsTypeZone').style.display='none';
		$('reservationsDateTimePaxZone').style.display='none';
		$('reservationsDateZone').style.display='none';
		$('reservationsTimeZone').style.display='none';
		$('reservationsMessageZone').style.display='';
		$('reservationsDetailsZone').style.display='';
		$('reservationsMessageTitle').setHTML('Type Your Enquiry Here');
		
	}
	else{
		$('reservationsPaypal').style.display='none';
		$('reservationsTypeZone').style.display='';
		$('reservationsDateTimePaxZone').style.display='';
		$('reservationsDateZone').style.display='';
		$('reservationsTimeZone').style.display='';
		$('reservationsMessageZone').style.display='';
		$('reservationsDetailsZone').style.display='';
		<!--$('reservationsForm').style.display='';-->
		$('reservationsMessageTitle').setHTML('Type Special Request And Additional Enquiries Here');
		
		resetReservationsType();
		
	}

}

/* The Reservations Functions Are Here */
						
function resetReservationsType(){
	
	var o,i,l;

	/* Build Reservation Types */
	
	o=$('reservationsType');
	o.length=0;
	l=reservationTypes.length;
	
	for(i=0;i<l;i++){
		
		o.options[i]=new Option(reservationTypes[i].name,reservationTypes[i].code,false,false);
		if(reservationTypes[i].code==1){

			o.options[i].disabled=true;
			o.options[i].className='headerRow';
		
		}

		else if(reservationTypes[i].code==0){
			
			o.options[i].disabled=true;
			o.options[i].className='descriptionRow';
		
		}
		
	}

}

function reservationsTypeChanged(){

	if($('reservationsType').selectedIndex>0){
	
		resetDateTimePax();
		showDateTimePaxZone();
	
	}
	else {
		
		$('reservationsDateTimePaxZone').style.display='none';
		
	}
	
	if ($('reservationsType').selectedIndex==2 || $('reservationsType').selectedIndex==3){
	$('reservationsDay').selectedIndex = 14
	$('reservationsMonth').selectedIndex = 02
	$('reservationsDay').disabled=true
	$('reservationsMonth').disabled=true
	$('reservationsYear').disabled=true
	}
	else {
		resetDateTimePax();
		showDateTimePaxZone();
	}
	

}

function showDateTimePaxZone(){

	$('reservationsDateTimePaxZone').style.display='block';

}
function resetDateTimePax(){

	var o=$('reservationsType').selectedIndex,showEndTime=false,sday=$('reservationsSingleDay'),day=$('reservationsDay'),month=$('reservationsMonth'),year=$('reservationsYear'),hour=$('reservationsHour'),minute=$('reservationsMinute'),i,j;
	
	/* Reset All Date/Time Fields */
	
	sday.length=0;
	day.selectedIndex=0;
	month.selectedIndex=0;
	year.selectedIndex=0;
	
	day.disabled=false;
	month.disabled=false;
	year.disabled=false;
	
	/* Check If This Is A Fixed Date Item */
	
	if(reservationTypes[o].fixedDate){
	
		day.value=reservationTypes[o].fixedDate.substr(6,2);
		month.value=reservationTypes[o].fixedDate.substr(4,2);
		year.value=reservationTypes[o].fixedDate.substr(0,4);
		
		day.disabled=true;
		month.disabled=true;
		year.disabled=true;
	
	}
	
	/* Modify The Date SelectioN Zone */
	
	if(reservationTypes[o].weekly){
	
		$('reservationsSingleDayZone').style.display='block';
		$('reservationsDateZone').style.display='none';
		buildSundays();
	
	}
	else {
	
		$('reservationsSingleDayZone').style.display='none';
		$('reservationsDateZone').style.display='block';
		
	}
	
	if(reservationTypes[o].endTime){
		
		showEndTime=true;
		$('timeEndZone').style.display='';
		
	}
	else{
		
		$('timeEndZone').style.display='none';
		
	}
	
	if(reservationTypes[o].paypal){
		
		$('reservationsPaypal').style.display='';
		$('reservationsDateTimePaxZone').style.display='none';
		$('reservationsDateZone').style.display='none';
		$('reservationsTimeZone').style.display='none';
		$('reservationsMessageZone').style.display='none';
		$('reservationsDetailsZone').style.display='none';
		
	}
	else{
		
		$('reservationsPaypal').style.display='none';
		$('reservationsDateTimePaxZone').style.display='';
		$('reservationsDateZone').style.display='';
		$('reservationsTimeZone').style.display='';
		$('reservationsMessageZone').style.display='';
		$('reservationsDetailsZone').style.display='';
		
	}
	
	resetTime(reservationTypes[o].fixedTime,showEndTime);

}

function resetTime(range,showEndTime){

	var active=false,o=$('reservationsType').selectedIndex,m=$('reservationsTime'),n=$('reservationsTimeEnd'),i,j,k=0;
	
	/* Empty Time */
	
	m.length=0;
	n.length=0;

	if(range){
	
		for(i=0;i<24;i++){
		
			j=i<10?'0'+String(i):String(i);
			
			if(!active){
			
				if(j==reservationTypes[o].fixedTime.substr(0,2)){
				
					active=true;
					
					if(reservationTypes[o].fixedTime.substr(2,2)=='00'){
					
						m.options[k]=new Option(i+':00');
						m.options[k+1]=new Option(i+':30');
						k+=2;
					
					}
					else {
					
						m.options[k]=new Option(i+':30');
						k++;
					
					}
				
				}
			}
			else {
			
				if(j==reservationTypes[o].fixedTime.substr(5,2)){
			
				
					if(reservationTypes[o].fixedTime.substr(7,2)=='30'){
					
						m.options[k]=new Option(i+':00');
						m.options[k+1]=new Option(i+':30');
					
					}
					else {
					
						m.options[k]=new Option(i+':00');
					
					}
					
					return;
			
				}
				else {
				
					m.options[k]=new Option(i+':00');
					m.options[k+1]=new Option(i+':30');
					k+=2;
				
				}
				
			}
		
		}
	
	}
	else{
	
		for(i=0;i<24;i++){
		
			m.options[k]=new Option(i+':00');
			m.options[k+1]=new Option(i+':30');
			n.options[k]=new Option(i+':00');
			n.options[k+1]=new Option(i+':30');
			k+=2;
		
		}
	
	}

}

function buildSundays(){

	var i,j,date=new Date(),o=$('reservationsSingleDay'),weeklySeconds=1000*7*24*60*60,months=$('reservationsMonth');
	
	date.setDate(date.getDate()-date.getDay());
	
	for(i=0;i<12;i++){
		date.setTime(date.getTime()+weeklySeconds);
		j=date.getDate() + ' ' + months.options[date.getMonth()+1].text + ' ' + date.getFullYear();
		o.options[i]=new Option(j,j,false,false);
	
	}

}


function submitReservationsForm(){
	
	$('reservationsError').empty();
	$('reservationsSuccess').empty();

	if(!validateReservations()){return;}
	
	var reservationsDate,birthDate,message;
	
	if($('birthday').selectedIndex!=0&&$('birthmonth').selectedIndex!=0&&$('birthyear').selectedIndex!=0){
		birthDate=$('birthday').value+' '+$('birthmonth').options[$('birthmonth').selectedIndex].text+' '+$('birthyear').value;
	}
	else{
		birthDate='Not Provided';
	}
	
	if($('formTypeReservations').checked==true){
		message='The following person has made a reservation;\n';
		message+='\nType : '+$('reservationsType').options[$('reservationsType').selectedIndex].text+'';
		if($('reservationsType').value!='sunday'){
			message+='\nDate : '+$('reservationsDay').value+' '+$('reservationsMonth').options[$('reservationsMonth').selectedIndex].text+' '+$('reservationsYear').value;
		}
		else{
			message+='\nDate : '+$('reservationsSingleDay').options[$('reservationsSingleDay').selectedIndex].text
		}
		message+='\nTime : '+$('reservationsTime').options[$('reservationsTime').selectedIndex].text;
		if(reservationTypes[$('reservationsType').selectedIndex].endTime){message+=' to '+$('reservationsTimeEnd').options[$('reservationsTimeEnd').selectedIndex].text;}
		message+='';
		message+='\nAdults : '+$('adults').value+'';
		message+='\nChildren : '+$('children').value+'\n';
	}
	else{
		message='The following person has made an enquiry;\n';
	}
	
	message+='\nName : '+$('firstname').value+' '+$('lastname').value+'';
	message+='\nEmail : '+$('email').value+'';
	message+='\nContact No. : '+$('contact').value+'';
	message+='\nMember of "Friends of Little Bali" Lifestyle Programme : '+$('member').value;
	message+='\nCompany : '+$('company').value+'';
	message+='\nTitle : '+$('title').value+'';
	message+='\nBirthday : '+birthDate+'';
	message+='\n\nFollow Up By : '+$('method').value;
	message+='\n\n'+$('message').value;
	
	message='message='+f___urlencode(message)+'&firstname='+f___urlencode($('firstname').value)+'&email='+f___urlencode($('email').value)+'&method='+$('method').value;
	
	var myXHR=new XHR({
							method:'post',
							onSuccess:function(r)	{
														var v___response=Json.evaluate(r);		
														if(v___response.v___error==false){
															resetReservationsForm();
															//$('reservationsSuccess').setText('We have received your reservation and will get back to you soon! Thank You');
															alert('We have received your reservation and will get back to you soon! Thank You');
															f___switchSection('v___contactUsZone');
														}
														else {
															$('reservationsError').setHTML(v___response.v___errorMsg);
														}
													}
							});
	myXHR.send('app/send-reservations.php', message);

}

function validateReservations(){
	
	if($('formTypeReservations').checked==true){
		if($('reservationsType').selectedIndex==0){$('reservationsError').setHTML('Please select a reservation type!');return false;}
		if($('reservationsType').value!='sunday'){
			if($('reservationsDay').selectedIndex==0||$('reservationsMonth').selectedIndex==0){$('reservationsError').setHTML('Please select the date for this reservation!');return false;}
		}
		if($('adults').value==''){$('reservationsError').setHTML('Please indicate the number of adult guests!');return false;}
	}
	if($('firstname').value==''){$('reservationsError').setHTML('Please provide your first name!');return false;}
	if($('lastname').value==''){$('reservationsError').setHTML('Please provide your last name!');return false;}
	if($('contact').value==''){$('reservationsError').setHTML('Please provide your contact number!');return false;}
	if($('email').value==''){$('reservationsError').setHTML('Please provide your email address!');return false;}
	if($('member').value==''){$('reservationsError').setHTML('Please select your answer!');return false;}
	
	var regex = /^[a-z0-9_][a-z0-9-_\.]+@[a-z0-9][a-z0-9-_]+(\.([a-z0-9])+)+$/i;
	
	if(!regex.test($('email').value)){$('reservationsError').setHTML('Please provide a valid email address!');return false;}
	
	return true;
	
}

function continueReservations(){
	$('reservationsPaypal').style.display='none';
	$('reservationsDateZone').style.display='';
	$('reservationsTimeZone').style.display='';
	$('reservationsMessageZone').style.display='';
	$('reservationsDetailsZone').style.display='';
}
