page={
	lastStep: 1,
	init:function(){
		this.lastStep = 1;
		var frm=document.forms['avl-frm'];
		frm.pickups.value="";
		frm.returns.value="";
		// auto-complete
		if(frm.pickups) {
			this.depComplete = new v8.AutoComplete(frm.pickups,
			JS.apply(	 
				new v8.AutoComplete.Ajax('crr/cartrawler.list.cfm'),	// we don't pass a url here @see: page.topologyChange()
				{
					format: function(data) {
						return Array.map(data.output, function(output, i) {
							return output ;
						});
					},
					handle: function(data, i, input) {
						input.value = data.output[i] ;
						frm.pickup_code.value= data.codes[i];
						frm.p_cty_code.value= data.city[i];
						frm.p_cnt_rg_code.value= data.region[i];
						frm.p_cnt_code.value= data.country[i];
						frm.p_loctype.value= data.loctype[i];									
					}
				}
			), {delay:0.3, max:20, width: 400});
		}
		
		if (frm.returns) {
			this.colComplete = new v8.AutoComplete(frm.returns,
			JS.apply(
				new v8.AutoComplete.Ajax(),	// we don't pass a url here @see: page.topologyChange()
				{
					format: function(data) {
						return Array.map(data.output, function(output, i) {
							return output ;
						});
					},
					handle: function(data, i, input) {
						input.value = data.output[i] ;
						frm.return_code.value= data.codes[i];
						frm.r_cty_code.value= data.city[i];
						frm.r_cnt_rg_code.value= data.region[i];
						frm.r_cnt_code.value= data.country[i];
						frm.r_loctype.value= data.loctype[i];									
					}
				}
			), {delay:0.3, max:20, width: 400});
		}
		this.depComplete.onChange.subscribe(this.pickupChange, this, true);
		
		if(frm.country){
			Event.on(frm.country, 'change', this.cntChange);
		}
		Event.on(frm.pickUp_flag, 'change', this.toggleReturn);
		Event.on(frm.p_loctype, 'change', this.cntChange);
		this.cntChange();	// this sets the url for the autocomplete	
		
		if ( isset(app.uri.queryKey.quick) ) {
			page.avl();
		}
	},
		
	cntChange:function(){
		var cnt = document.forms['avl-frm'].country.value;
		var loc = document.forms['avl-frm'].p_loctype.value;
		page.depComplete.config('crr/cartrawler.list.cfm'
			.queryAppend('cnt='+cnt)		
		);
	},
	
	pickupChange:function(){
		var cnt = document.forms['avl-frm'].country.value;
		var loc = document.forms['avl-frm'].p_loctype.value;
		page.colComplete.config('crr/cartrawler.list.cfm'
			.queryAppend('cnt='+cnt)
			.queryAppend('loctype='+loc)
		);
	},
	
	updateFrm:function(el){
		var frm=document.forms['avl-frm'];
		var choise=parseInt(el.value, 10);
		if(choise==0) {
			frm.choise.value=0;
			dom.hide('country_rgn');
		} else {
			frm.choise.value=1;
			dom.show('country_rgn');
		}
	},
			
	toggleReturn:function(){
		var frm=document.forms['avl-frm'];
		if(frm.pickUp_flag.checked){
				dom.hide('return');
				frm.returns.value="";
				frm.return_code.value="";
				frm.r_cty_code.value="";
				frm.r_cnt_rg_code.value="";
				frm.r_cnt_code.value= "";
				frm.r_loctype.value= "";
		} else {
			dom.show('return');
		}	
	},
				
	toggleCountry:function(){
		var frm=document.forms['avl-frm'];
		var selindex;
		if(frm.country_flag.checked){
			dom.hide('country');
			for(i=0;i<frm.country.options.length;i=i+1){
				if(frm.country.options[i].value=='GR'){
					frm.country.options[i].selected='true';
				}
			}	
		} else {
			dom.show('country');
		}	
	},	
			
	avl:function(){
		var frm=document.forms['avl-frm'];
		if(!hasValue(frm.country))
			 return form.error("Please select a country",frm.country);
		
		if(!hasValue(frm.pickup_code))
			return form.error("Please select a pick up location",frm.pickups);
				
		if(!frm.pickUp_flag.checked && !hasValue(frm.return_code)){
			return form.error("Please select a drop off location",frm.returns);
		}
		else if(frm.pickUp_flag.checked){
			frm.return_code.value=frm.pickup_code.value;
		}			
		if(!validateDate(frm.pickupdate))
			return form.error("Please select  pick up date",frm.pickupdate);
		if(!validateDate(frm.returndate))
			return form.error("Please select  return  date",frm.returndate);
		if(!validateTime(frm.pickuptime))
			return form.error("Please select  pick up time",frm.pickuptime);
		if(!validateTime(frm.returntime))
			return form.error("Please select return time",frm.returntime);	
		if((frm.pickupdate.value.toDate().compareTo(frm.returndate.value.toDate())>=0))	
			return form.error("Please select drop off date later than pick up date",frm.returndate);	
		if(!hasValue(frm.drAge, 1) || ! parseInt(frm.drAge.value))
			return form.error("Please select driver age",frm.drAge);
		if(parseInt(frm.drAge.value)<=18)
			return form.error("Driver age should greater than or equal 18",frm.drAge); 
		if(!hasValue(frm.country_res))
			return form.error("Please select country ",frm.country_res) ;
		
		ajax.post(frm);
		if(frm.p_loctype.value=='C'){
			 var act='avail';
		}else{
			var act='Eavail';
		}	
		ajax.queue(this.availhnd,'avl_action');
		ajax.loadXML("?action="+act,"avl_action","Searching for availability");
		//  ajax.load('?action=avail','chxml_act','Checking available cars.');
		 
		return false;
	},
	
	availhnd:function() {
		var xmlDoc = ajax.getXML("avl_action");
		//  var pups = xmlDoc.selectSingleNode("rows").getElementsByTagName("availinfo");
		$('avail_rgn').innerHTML=dom.xmlText(xmlDoc.selectSingleNode('availinfo'));	
		dom.hide('avl-rgn');
		dom.show('avail_rgn');
		
		$j('ul#filter input').click(function() {
		var filterVal = $j(this).val().toLowerCase().replace(' ','-');
		 
		if ($j(this).attr('checked')) {
			$j('div#carmodels div.' + filterVal).each(function() {
				$j(this).fadeIn('fast').removeClass('hidden');
			});
		}
		else { 
			$j('div#carmodels div.' + filterVal).each(function() {
				$j(this).fadeOut('fast').addClass('hidden');
			}); 
		}
					
		});
	},
			  
	countryChange: function() {
		var frm=document.forms['avl-frm'];
		ajax.post(frm,'country');
		ajax.loadXML("?action=updateCARTRAWLER","plc_action","Searching for cartrawler pickups");
	},
	
	srvSel:function(a){
		dom.hide('extra-area');
		
		var sfrm=document.forms['avl-frm'];
		var ref="ref_"+a;
		var fee="fees_"+a;
		var prices="prices_"+a;
		var name="name_"+a;
		var total="total_"+a;
		var downpayment="downpayment_"+a;
		var version="version_"+a;
		var status="status_"+a;
		var extras="extras_"+a;
		var img="img_"+a;
		var pickupname="picupname_"+a;
		var address="adress_"+a;
		var ratequalifier="ratequalifier_"+a;
		var tel="tel_"+a;
		var min_age="min_age_"+a;
		var max_age="max_age_"+a;
		var min_lic="min_lic_"+a;
		var returnname="returnname_"+a;
		var raddress="radress_"+a;
		var rtel="rtel_"+a;
		sfrm.name.value=sfrm[name].value;
		sfrm.total.value=sfrm[total].value;
		sfrm.reference.value=sfrm[ref].value;
		sfrm.prices.value=sfrm[prices].value;
		sfrm.fees.value=sfrm[fee].value;
		sfrm.status.value=sfrm[status].value;
		var frm=document.forms['bk-frm'];
		frm.extras.value=sfrm[extras].value;
		frm.srv_code.value = sfrm.reference.value;
		frm.group_id.value = sfrm.fees.value;
		frm.fromd.value = sfrm.pickupdate.value;
		frm.status.value = sfrm.status.value;
		frm.tod.value = sfrm.returndate.value;
		frm.del_time.value = sfrm.pickuptime.value;
		frm.col_time.value = sfrm.returntime.value;
		frm.loctype.value=sfrm.p_loctype.value;
		frm.del_place_id.value = sfrm.pickup_code.value;
		frm.col_place_id.value=sfrm.return_code.value;
		frm.price.value=sfrm.total.value;
		frm.drAge.value=sfrm.drAge.value;
		frm.country_res.value=sfrm.country_res.value;
		frm.country.value=sfrm.country.value;
		frm.fees.value=sfrm[fee].value;
		frm.downpayment.value = sfrm[downpayment].value;
		
		frm.version_id.value=sfrm[version].value;
		var statObj = $('sum_status'),
		stat = frm.status.value.toLowerCase(),
		statTypes = {'av':['Available',"green"], 'or':['On Request',"orange"], 'na':['Not Available',"red"]};
		statObj.innerHTML = statTypes[stat][0];
		statObj.style.color = statTypes[stat][1];
		frm.del_place_name.value=sfrm[pickupname].value;
		$('pickup_name').innerHTML=sfrm[pickupname].value;
		$('pickup_address').innerHTML=sfrm[address].value;
		//$('pickup_tel').innerHTML=sfrm[tel].value;
		$('pickup_dates').innerHTML=sfrm.pickupdate.value+' '+sfrm.pickuptime.value;
		$('return_dates').innerHTML=sfrm.returndate.value+' '+sfrm.returntime.value;
		$('tot_group_price').innerHTML = frm.price.value.currencyFormat() + " &euro;";
		$('tot_price').innerHTML = frm.price.value.currencyFormat() + " &euro;";
		$('crr_group').innerHTML = '<strong>Group:</strong>' + frm.group_id.value;
		
		$('min_age').innerHTML = 'Not Available';
		$('max_age').innerHTML = 'Not Available';
		$('min_lic').innerHTML = 'Not Available';
		
		$('pickup_date').innerHTML = frm.fromd.value;
		$('dropoff_date').innerHTML = frm.tod.value;	
		
		ajax.post(frm, 'cars','loctype','drAge');
		ajax.queue(driverTblHnd, "drvTbl-load");
		ajax.loadXML('?action=driverTbl', "drvTbl-load", "Loading driver information form.");
		$('car-name').innerHTML=sfrm.name.value;
		$('car-img').innerHTML='<img src="'+sfrm[img].value+'" >';
					
		if (frm.loctype.value=='C') {
			dom.show('ins-area-c');
			dom.hide('ins-area-e');
			ajax.post(frm, 'loctype');
			var rate=sfrm[ratequalifier].value.search('POSTPAID');
			ajax.queue(paymentTblHnd, "payTbl-load");
			ajax.loadXML('?action=paymentTbl&ratequalifier='+rate, "payTbl-load", "Loading driver information form.");			
			
			var carfees=sfrm[fee].value.split('^');
			var cf='<ul>';
			for (var i=0;i<carfees.length-1;i=i+1 ) {
				cf=cf+'<li>';
				tmp=carfees[i].split(',');
				cf=cf+'<div>'+tmp[0]+'</div>';
				cf=cf+'<span  class="color1">'+tmp[1].currencyFormat() + ' &euro;</span>';
				cf=cf+'</li>';
			}
			cf=cf+'<li><div>'+lang.common.total+':</div><span id="car-total" class="color2">'+frm.price.value.currencyFormat() + " &euro;</span></li>";	
			$('car-fees').innerHTML=cf+'</ul>';

			dom.show('extra-area');
			dom.show('extras_car');
			
			ajax.post(frm, 'extras');
			ajax.queue(extrasTblHnd, "extTbl-load");
			ajax.loadXML('?action=car_extras', "extTbl-load", "Loading optional extras information form.");
			
		}
					
		if(frm.loctype.value=='E'){
			var cf='<ul>';
			cf=cf+'<li>';
			cf=cf+'<div>'+lang.crr.cars+'</div>';
			cf=cf+'<span  class="color1">'+frm.price.value.currencyFormat() + ' &euro;</span>';
			cf=cf+'</li>';
			cf=cf+'<li>';
			cf=cf+'<div>'+lang.common.extra+'</div>';
			cf=cf+'<span id="car-extras" class="color2">'+0.00+ ' &euro;</span>';
			cf=cf+'</li>';
			cf=cf+'<li>';
			cf=cf+'<div>'+lang.common.total+'</div>';
			cf=cf+'<span id="car-total" class="color2">'+frm.price.value.currencyFormat()+ ' &euro;</span>';
			cf=cf+'</li>';
			cf += '<li><div>'+lang.common.downpayment+':</div><span id="car-downpayment" class="color2">'+ parseFloat(frm.downpayment.value) + '%</span></li>';
			$('car-fees').innerHTML=cf+'</ul>';
			
			$('min_age').innerHTML = sfrm[min_age].value.length ? sfrm[min_age].value : lang.no_limitations;
			$('max_age').innerHTML = sfrm[max_age].value.length ? sfrm[max_age].value : lang.no_limitations;
			$('min_lic').innerHTML = sfrm[min_lic].value.length ? 'at least ' + sfrm[min_lic].value : lang.no_limitations;
			dom.show('returninfoetour');
			dom.show('ins-area-e');
			dom.hide('ins-area-c');
			if (sfrm[returnname] && sfrm[returnname] !="") {
				$('return_name').innerHTML=sfrm[returnname].value;
				$('return_address').innerHTML=sfrm[raddress].value;
			} else {
				$('return_name').innerHTML=sfrm[pickupname].value;
				$('return_address').innerHTML=sfrm[address].value;
			}
			var tbl = $('extra-tbl');
			dom.show('extra-area');
			dom.show('extras_car');
			
			ajax.post(frm);
			
			ajax.queue(extrasTblHnd, "extTbl-load");
			ajax.loadXML('?action=car_extras_etour', "extTbl-load", "Loading optional extras information form.");
			
			
			ajax.queue(insuTblHnd, "insuTbl-load");
			ajax.loadXML('?action=car_insu_etour', "insuTbl-load", "Loading insurence information form.");
		}
		dom.show('addtional-info');
		dom.fadeInOut('bk-region', 'avail_rgn');
	},

	showstep:function(a,b){
		var a_rgn='';
		var b_rgn='';
		if (a>b) {
			switch(a) {
				case 2:a_rgn='avail_rgn';break;
				case 3:a_rgn='bk-region';break;
				case 1:a_rgn='avl-rgn'; break;
			}
			switch(b) {
				case 2:b_rgn='avail_rgn';break;
				case 3:b_rgn='bk-region';break;
				case 1:b_rgn='avl-rgn'; break;
			}		
			dom.hide(a_rgn);
			dom.show(b_rgn);
		}
	},
				
	sumUpd:function(){			
		var frm=document.forms['bk-frm'];
		var extras=cssQuery("select[name^='ext_']", $('extra-area'));
		var extras_price=cssQuery("input[name^='ext_price_']", $('extra-area'));
		var insu=cssQuery("select[name^='ins_']", $('ins-area-e'));
		var insu_price=cssQuery("input[name^='ins_price_']", $('ins-area-e'));
		var totextras=0;
		var selext='';
		
		for (i=0;i<extras.length;i=i+1) {
			a=parseInt(extras[i].value);
			b=extras_price[i].value.parseCurrency();
			totextras=totextras+a*b; 
			selext=selext+a+',';	 
		}
		for (i=0;i<insu.length;i=i+1) {
			a=parseInt(insu[i].value);
			b=insu_price[i].value.parseCurrency();
			totextras=totextras+a*b; 
			selext=selext+a+',';	 
		}	
		
		frm.extras_sel.value=selext;	
		car_price=frm.price.value.parseCurrency();	
		car_price=car_price+totextras;
		$('tot_extra_price').innerHTML=totextras.currencyFormat()+'&euro;';
		$('tot_price').innerHTML = car_price.currencyFormat()+'&euro;';
		$('car-extras').innerHTML=totextras.currencyFormat()+'&euro;';
		$('car-total').innerHTML=car_price.currencyFormat()+'&euro;';
	},

	extraAdd: function(frm) {
		ajax.post(frm, 'fromd', 'tod', 'srv_code', 'group_id', 'cars');
		ajax.load(frm.action + "?action=extras", "extra_bk", "Loading extra selection list.");
	},
	
	insuAdd: function(frm) {
		ajax.post(frm, 'fromd', 'tod', 'srv_code', 'group_id', 'cars');
		ajax.load(frm.action + "?action=extras&type=CRR_INSU", "extra_bk", "Loading extra selection list.");
	},

	extraSel: function() {
		var frm = $('bk-frm');
		var cars = parseInt(frm.cars.value, 10);
		var carSel = "1";

		if ( cars > 1 ) {
			carStrB = new StringBuilder();
			Array.forEach($$('input', 'extras-veh'), function(chk){
				if ( chk.checked ) {
					carStrB.append(chk.value);
				}
			});
			if ( carStrB.isEmpty() ) {
				return form.error("At least one car should be selected.", $$('input', 'extras-veh')[0]);
			}
			carSel = carStrB.toString(',');
		}

		ajax.post(frm, 'fromd', 'tod', 'srv_code', 'group_id', 'cars');
		ajax.load("?action=extraAdd&extra_type=" + app.row.getAttribute('extra_type') + "&extra_code=" + app.row.getAttribute('extra_code') + "&carSel=" + carSel, "extra_bk", "Loading details form for selected extra.");
	},

	exIndCheck: function(obj) {
		var stObj = obj.form.dayIndexSt,
			enObj = obj.form.dayIndexEn,
			stObjChecked, enObjChecked = null,
			i=0;

		for (; i < stObj.length; i++ ) {
			if ( stObj[i].checked ) {
				stObjChecked = stObj[i];
				break;
			}
		}

		for ( i=0; i < enObj.length; i++ ) {
			if ( enObj[i].checked ) {
				enObjChecked = enObj[i];
				break;
			}
		}

		if ( stObjChecked.value > enObjChecked.value ) {
			if ( obj.name == 'dayIndexSt' ) {
				enObj[stObjChecked.value-1].checked = true;
			} else {
				stObj[enObjChecked.value-1].checked = true;
			}
		}
	},

	extraAddValidate: function(frm) {
		if ( !validateInt(frm.units, 1) ) { return form.error("Please input a valid number of units (at least 1).", frm.units); }

		queryAppend(frm, "action=extraAddHnd");
		if(frm.extType.value=="CRR_INSU"){
			ajax.stack(sumAllInsu, $('insurance-tbl').action);
			$('insurance-tbl').recordAdd(frm, frm.action, "Adding selected extra to booking form.");
		  }else{
			ajax.stack(sumAll, $('extra-tbl').action);
			$('extra-tbl').recordAdd(frm, frm.action, "Adding selected extra to booking form.");
		}
		
		return false;
	},

	extraDel: function() {
		if ( dom.confirm("Are you sure you want to remove this extra?") ) {
			$('extra-tbl').deleteRow(app.row);
			sumAll();
		}
	}				
};
	
function rentalCon(a){
	var frm=document.forms['avl-frm'];
	if(frm){
		if(frm.p_loctype.value=='C'){
			var ref="ref_"+a;
			var fee="fees_"+a;
			var prices="prices_"+a;
			var name="name_"+a;
			var total="total_"+a;
			frm.name.value=frm[name].value;
			frm.total.value=frm[total].value;
			frm.reference.value=frm[ref].value;
			frm.fees.value=frm[prices].value;
			ajax.post(frm);
			ajax.load('?action=rentalCon',"con_action","Reservation Conditions");
		} else {
			var ref="ref_"+a;
			var fee="fees_"+a;
			var name="name_"+a;
			var total="total_"+a;
			frm.name.value=frm[name].value;
			frm.total.value=frm[total].value;
			frm.reference.value=frm[ref].value;
			frm.fees.value=frm[fee].value;
			ajax.post(frm);
			ajax.load('?action=def_extra',"con_action","Reservation Conditions");
		}
	} else {
	return false;
	}
}

function driverTblHnd() {
	var xml = ajax.getXML("drvTbl-load");
	$('drv-info').innerHTML = dom.xmlText(xml.selectSingleNode('driverTbl'));
}

 function paymentTblHnd() {
	var xml = ajax.getXML("payTbl-load");
	$('pay-info').innerHTML = dom.xmlText(xml.selectSingleNode('paymentTbl'));
}

 function extrasTblHnd() {
	var xml = ajax.getXML("extTbl-load");
	
	$('extras_car').innerHTML = dom.xmlText(xml.selectSingleNode('carextrasTbl'));
	page.sumUpd();
}

function insuTblHnd() {
	var xml = ajax.getXML("insuTbl-load");
	$('ins-area-e').innerHTML = dom.xmlText(xml.selectSingleNode('carextrasTbl'));
	page.sumUpd();
}

function sumAll() {
	dom.show('extra-area');
	var extra_price = 0.0;

	if ( $('extra-tbl').rowCount ) {
		Array.forEach($('extra-tbl').getRows(), function(r) {
			extra_price += r.cells[8].innerHTML.parseCurrency();
		});
	}

	$('tot_extra_price').innerHTML = extra_price.currencyFormat() + " &euro;";
	$('tot_price').innerHTML = ($('tot_group_price').innerHTML.parseCurrency() + extra_price).currencyFormat() + " &euro;";
	$('car-total').innerHTML = ($('tot_group_price').innerHTML.parseCurrency() + extra_price).currencyFormat() + " &euro;";
}

function sumAllInsu() {
	var extra_price = 0.0;

	if ( $('insurance-tbl').rowCount ) {
		Array.forEach($('insurance-tbl').getRows(), function(r) {
			extra_price += r.cells[8].innerHTML.parseCurrency();
		});
	}

	$('tot_extra_price').innerHTML = extra_price.currencyFormat() + " &euro;";
	$('tot_price').innerHTML = ($('tot_group_price').innerHTML.parseCurrency() + extra_price).currencyFormat() + " &euro;";
	$('car-total').innerHTML = ($('tot_group_price').innerHTML.parseCurrency() + extra_price).currencyFormat() + " &euro;";
}

function bkService(frm){
	if(frm){
		if(!hasValue(frm.fname_d))
			return form.error("Please enter the name of driver",frm.fname_d);
		if(!hasValue(frm.lname_d))
			return form.error("Please enter the surname of driver",frm.lname_d);  
		if(!hasValue(frm.email))
			return form.error("Please enter the email of driver",frm.email);  
		if(!hasValue(frm.p_areacode))
			return form.error("Please enter the city area code",frm.p_areacode);
		if(!hasValue(frm.phone))
			return form.error("Please enter the phone number of driver",frm.phone);  
		if(!hasValue(frm.first_name))
			return form.error("Please enter the name of customer",frm.first_name);
		if(!hasValue(frm.last_name))
			return form.error("Please enter the surname of customer",frm.last_name);
		if(frm.zip && !hasValue(frm.zip))
			return form.error("Please enter the Postal Code of customer",frm.zip);
		if(frm.card_no && !hasValue(frm.card_no))
			return form.error("Please enter the card number of customer",frm.card_no);
		if(frm.card_ver && !hasValue(frm.card_ver))
			return form.error("Please enter credit card verification code",frm.card_ver);
		if(frm.card_exp_m && !hasValue(frm.card_exp_m))
			return form.error("Please enter the expiration date",frm.card_exp_m);
		if(frm.card_exp_y && !hasValue(frm.card_exp_y))
			return form.error("Please enter the expiration date",frm.card_exp_y);			
		if(!hasValue(frm.city))
			return form.error("Please enter the city of the customer",frm.city);

		ajax.post(frm);
		
		if(frm.loctype.value=='C'){
			ajax.queue(bookHnd,'bk_action');
			ajax.loadXML("?action=reshnd","bk_action","Waiting response for your request. Please wait");
		}else{
			ajax.queue(bookHnd,'bk_action');
			ajax.loadXML("crr/book.cfm","bk_action","Waiting response for your request. Please wait");	
		}
		return false;
	 }
}

function addService() {
	var frm=document.forms['bk-frm'];
	// validate form
	if ( !hasValue(frm.group_id) ) { return form.error("Please select a group to continue."); }
	if ( !hasValue(frm.del_place_id) ) { return form.error("Please select place of delivery."); }
	if ( !hasValue(frm.del_time) ) { return form.error("Please input time of delivery."); }
	if ( !hasValue(frm.col_time) ) { return form.error("Please input time of collection."); }
	frm.price.value = $('tot_price').innerHTML.parseCurrency();

	// create extras strings
	// car_no1:extra_type1:extra_code1:per_type1:units1:fromd1:tod1^
	var i;
	var extraStr= "";
	var extras=cssQuery("select[name^='ext_']", $('extra-area'));
	var extras_price=cssQuery("input[name^='ext_price_']", $('extra-area'));
	var extras_str=cssQuery("input[name^='ext_str_']", $('extra-area'));
	var ins=cssQuery("select[name^='ins_']", $('ins-area-e'));
	var ins_price=cssQuery("input[name^='ins_price_']", $('ins-area-e'));
	var ins_str=cssQuery("input[name^='ins_str_']", $('ins-area-e'));
	for(i=1;i<extras.length;i=i+1){
		if(extras[i].value >=1){
			if(extras_str[i].value!=''){
			var tmp=extras_str[i].value.split(':');
			for(var y=0;y<7;y=y+1){
					if (y>0) {
						extraStr=extraStr+':';
					}
					if (y==4) {
						extraStr=extraStr+extras[i].value;
					} else {
						extraStr=extraStr+tmp[y];
					}
				}
				
				extraStr=extraStr+'^';
			}
		}
	}
	
	for(i=1;i<ins.length;i=i+1){		
		if(ins[i].value >=1){
			if(ins_str[i].value!=''){
				var tmp=ins_str[i].value.split(':');
				for (var y=0;y<7;y=y+1) {
					if(y>0){
						extraStr=extraStr+':';
					}
					if(y==4) {
						extraStr=extraStr+ins[i].value;
					} else {
						extraStr=extraStr+tmp[y];
					}
				}
				extraStr=extraStr+'^';
			}
		}
	}

	frm.extras_str.value = ''+extraStr;

	ajax.queue(bkHnd, "crr_bk");
	ajax.post(frm);
	ajax.loadXML("bookings/add_service.cfm", "crr_bk", "Adding service to shopping cart.");
}
	
function bkHnd() {
	if ( !ajax.checkXMLResult( "crr_bk", true ) ) {
		ajax.checkXMLResult("crr_bk");
		return false;
	}
	nav("cart.cfm");
}
	
function bookHnd(){
	if ( !ajax.checkXMLResult( "bk_action", true ) ) {
		ajax.checkXMLResult("bk_action");
		return false;
	}
	nav("crr_success.cfm");
}

function clearSelections(){
	var frm=document.forms['bk-frm'];
	dom.fadeInOut('avail_rgn','bk-region');
	frm.srv_code.value = '';
	frm.group_id.value = '';
	frm.fromd.value = '';
	frm.tod.value = '';
	frm.del_time.value = '';
	frm.col_time.value = '';
	frm.loctype.value='';
	frm.del_place_id.value = '';
	frm.col_place_id.value='';
	frm.price.value='';
	frm.drAge.value='';
	frm.country_res.value='';
	frm.country.value='';
	
	frm.version_id.value='';
	
	var statObj = $('sum_status'),
	stat = frm.status.value.toLowerCase(),
	statTypes = {'av':['Available',"green"], 'or':['On Request',"orange"], 'na':['Not Available',"red"]};
	statObj.innerHTML = statTypes[stat][0];
	statObj.style.color = statTypes[stat][1];
	
	$('tot_group_price').innerHTML = frm.price.value.currencyFormat() + " &euro;";
	$('tot_price').innerHTML = frm.price.value.currencyFormat() + " &euro;";
			
	$('min_age').innerHTML = 'Not Available';
	$('max_age').innerHTML = 'Not Available';
	$('min_lic').innerHTML = 'Not Available';
			
	$('pickup_date').innerHTML = "";
	$('dropoff_date').innerHTML = "";	
	$('drv-info').innerHTML='';
	$('pay-info').innerHTML='';
}

function filterToggle() {
	jQuery('ul#filter input').each(function() { 
		this.checked = !this.checked;
		
		var filterVal = $j(this).val().toLowerCase().replace(' ','-');
		if ($j(this).attr('checked')) {
			$j('div#carmodels div.' + filterVal).each(function() {
				$j(this).fadeIn('fast').removeClass('hidden');
			});
		}
		else { 
			$j('div#carmodels div.' + filterVal).each(function() {
				$j(this).fadeOut('fast').addClass('hidden');
			}); 
		}
	});
}