(function(){
	
var frmId = 'avl-frm',
	addFrmId = 'exc-add-frm',
	avlAct = "avl-search",
	avlBox = "avl-results",
	excAdd = "exc-add",
	bkAct = "exc-cart";


Queue.add(function(){  
	if ( isset(app.uri.queryKey.action) && app.uri.queryKey.action == 'showPresentation' ) {
		addFrmId = 'exc-add-frm1';
		
		page.getCalendar();
		
		if( $('avlForm') ) {
			var frm = $('avlForm');
			Event.on(frm.pup_code, "change", page.getCalendar.callback());
			Event.on(frm.cal_month, "change", page.getCalendar.callback());
			Event.on(frm.cal_year, "change", page.getCalendar.callback());
		}
	}		  
});

function addServiceHnd() {
	if ( ajax.checkXMLResult(bkAct, true ) ) {
		nav("cart.cfm");
	} else {
		ajax.checkXMLResult(bkAct);
	}
}

function selHnd(exc_name, status, sp_code, total, exc_code, pp_code, downpayment) {
	var frm = document.forms[addFrmId];
	var avlFrm = document.forms[frmId];
	
	total = parseFloat(total);
	$('exc-name').innerHTML = exc_name;
	frm.sp_code.value = sp_code;
	frm.pp_code.value = pp_code;
	frm.status.value = status;
	frm.price.value = total;
	//frm.downpayment.value = parseFloat(total) * parseFloat(downpayment) / 100;
	frm.downpayment.value = parseFloat(downpayment);
	$('bk_price').innerHTML = total.currencyFormat() + '&nbsp;&euro;';
	$('dpLabel').innerHTML = lang.common.downpayment + ':' +  downpayment + '%';
	frm.srv_code.value = frm.exc_code.value = exc_code;
	
	frm.fzone_id.value = avlFrm.fzone_id.value;
	frm.adults.value = avlFrm.adults.value;
	frm.children.value = avlFrm.children.value;
	frm.infants.value = avlFrm.infants.value;
	frm.market_id.value = avlFrm.market_id.value;

	if ( !ajax.checkXMLResult(excAdd, true) ) {
		ajax.checkXMLResult(excAdd);
		return;
	}
	var xmlDoc = ajax.getXML(excAdd);

	Behavior.remove($('book_options'));
	$('book_options').innerHTML = dom.xmlText(xmlDoc);
	if(status != 'AVL') {
		//dom.hide('show_book', 'bk_btn', 'cc-panel');
		dom.hide('show_book');
		//$('show_email').style.display = '';
		//$('email_btn').style.display = '';
	} else {
		//dom.hide('show_email', 'email_btn');
		ajax.queue(function() {
				if ( !ajax.checkXMLResult('showPayForm_act', true) ) {
					ajax.checkXMLResult('showPayForm_act');
					return;
				}
				var xmlDoc = ajax.getXML('showPayForm_act');
				Behavior.remove($('direct_book'));
				$('direct_book').innerHTML = dom.xmlText(xmlDoc);
				Behavior.apply($('direct_book'));				
		}, 'showPayForm_act');
		ajax.loadXML("exc/exc_avl.cfm?action=showPayForm", 'showPayForm_act', '');
		
		//dom.show('cc-panel');
		//$('show_book').style.display = '';
		//$('bk_btn').style.display = '';
	}
	
	Behavior.apply($('book_options'));
	Event.on(frm.exc_date, "change", page.dateChange.callback(frm));
	page.step(3);
}

function toggleDates() {
	var frm = document.forms[frmId];
	if(frm.no_dates.checked) {
		frm.fromd.disabled = true;
		frm.tod.disabled = true;
		frm.avlsearch.innerHTML = lang.exc.search_lbl;
	} else {
		frm.fromd.disabled = false;
		frm.tod.disabled = false;
		frm.avlsearch.innerHTML = lang.exc.avl;
	}
}

currentTab = "info";

function tabToggle(hide, show) {
	dom.hide('pr_'+hide);
	dom.show('pr_'+show);
	dom.classRemove(cssQuery('ul.Tabs li[data-value='+hide+']')[0], 'active');
	dom.classAdd(cssQuery('ul.Tabs li[data-value='+show+']')[0], 'active');
	currentTab = show;
}

function tabClick(e) {
	var tab = this.getAttribute('data-value');
	if ( tab != currentTab ) {
		tabToggle(currentTab, tab);
	}
}

/*===[ BOOKING ]===*/
var authAct = "ajax-auth",
	authId = "auth-modal",
	authFrmId = "auth-form",
	ACSUrl = "",
	Payload = "",
	ajaxId = "ajax-act";
	
function bkHnd() {
	var result = ajax.getJSON(ajaxId);
	if ( result.flag != 1 ) {
		dom.console(2, result.msg);		
	} else {
		nav('reservation_complete.cfm');
	}
}

function book(pay) {
	var frm = document.forms[addFrmId];
	ajax.post(frm);
	ajax.queue(bkHnd, ajaxId);
	ajax.loadJSON("exc/book.cfm?p=" + pay, ajaxId, "Booking your stay.");
}

function mod10(number) {
	var cLen = number.length,
		digits = [],
		n = 0;

	digits.length = cLen;
	for( ; n < cLen; n++ ) {
		digits[n] = parseInt(number.charAt(n), 10);
	}

	for ( n = cLen - 2; n >= 0; n = n - 2 ) {
		digits[n] *= 2;
		if ( digits[n] >= 10 ) {
			digits[n] -= 9;
		}
	}
	
	return Array.sum(digits) % 10 === 0;
}

function validateCreditCard(cc, type) {
	var isValid = false, len = 0;

	cc = cc.trim().replace(/[\s-]/g, '');
	if ( !(/^[0-9]+$/).test(cc) ) {
		return false;
	}

	len = cc.length;

	switch ( type ) {
	case "Mastercard":
		isValid = (len == 16) && (/^5[1-5]/).test(cc);
		break;
	case "VISA":
		isValid = (len == 13 || len == 16) && (/^4/).test(cc);
		break;
	case "DINERS":
		isValid = (len == 14) && (/^3/).test(cc);
		break;
	default:
		return false;
	}

	return isValid && mod10(cc);
}

function lookup(frm) {
	var result = ajax.getXML(authAct),
		errorNo = parseInt(dom.xmlText(result.selectSingleNode('/CardinalMPI/ErrorNo')), 10);
		EciFlag = result.selectSingleNode('/CardinalMPI/EciFlag');

	EciFlag = EciFlag ? dom.xmlText(EciFlag) : "";
	if ( EciFlag.length ) {
		frm.eci.value = EciFlag;
	} else {
		frm.eci.value = ( frm.card_type.value == 'VISA' ) ? '07' : '01';	// fallback to default values = VISA:07, MasterCard:01
	}

	if ( errorNo !== 0 ) {
		if ( dom.confirm('Failed to contact credit card authentication system. Would you like to proceed to booking without authentication?') ) {
			book(true);
		}
	} else {
		var enrolled = dom.xmlText(result.selectSingleNode('/CardinalMPI/Enrolled'));

		if ( enrolled == 'Y' ) {
			// launch authentication program
			ACSUrl = dom.xmlText(result.selectSingleNode('/CardinalMPI/ACSUrl'));
			Payload = dom.xmlText(result.selectSingleNode('/CardinalMPI/Payload'));

			ajax.queue(function() {
				modal.allowClose(authId, false);
			}, authId);
			ajax.load("pnr/auth.cfc?method=authFrame", authId, "Launching credit card authentication form.");
		} else {
			book(true);	// not enrolled, continue to booking
		}
	}
}

function authInit() {
	var frm = window.frames[0].document.forms[authFrmId];
	frm.PaReq.value = Payload;
	frm.action = ACSUrl;
	frm.submit();
}

function authResult(data) {
	if ( data.success ) {
		var frm = document.forms[addFrmId];
		frm.cavv.value = data.cavv;
		if ( data.eci.length ) {
			frm.eci.value = data.eci;
		} else {
			frm.eci.value = ( frm.card_type.value == 'VISA' ) ? '07' : '01';	// fallback to default values = VISA:07, MasterCard:01
		}
		frm.xid.value = data.xid;
		modal.close(authId);
		book(true);
	} else {
		modal.close(authId);
		dom.console(2, data.noauth ? "<strong>Authentication Failed</strong><br/><br/>Your financial institution has indicated that it could not successfully authenticate this transaction. To protect against unauthorized use, this card cannot be used to complete your purchase." : "<strong>Authentication Failed</strong><br/><br/>An error occured while trying to authenticate the transaction. Please try again or contact technical support.");
	}
}

page = {
	lastStep: 1,
	
	init: function() {
		this.lastStep = 1;
		if(document.forms[frmId]) {
			Event.on($('sort_price'), 'click', this.sortBy.callback('totals'));
			Event.on($('sort_name'), 'click', this.sortBy.callback('exc_name'));
			Event.on($('sort_dest'), 'click', this.sortBy.callback('dest_zone'));
			if(document.forms[frmId].no_dates.checked) {toggleDates();}
			Event.on(document.forms[frmId].no_dates, 'click', toggleDates);
			
			if ( isset(app.uri.queryKey.quick) ) {
				setTimeout(this.avl.delegate(this, [document.forms[frmId]]), 0);
			}
			if ( isset(app.uri.queryKey.search) ) {
				document.forms[frmId].no_dates.checked = true;
				toggleDates();
				document.forms[frmId].fzone_id.selectedIndex = 0;
				setTimeout(document.forms[frmId].onsubmit.delegate(document.forms[frmId]), 0);
			}
		} else {
			Event.on(cssQuery('div.pr_popup ul.Tabs li'), "click", tabClick);
		}
		
	},

	avl: function(frm) {
		if(frm.no_dates.checked) {
			ajax.queue(this.chkAvl, $('avl_tbl').action);
			$('avl_tbl').addRows(frm, 'exc/exc_avl.cfm?action=search', lang.exc.search_act );
			dom.hide('bkForm');
			Behavior.remove($('book_options'));
			$('book_options').innerHTML = '';
			dom.show('presentation');
			addFrmId = 'exc-add-frm1';
			return false;
		}
		addFrmId = 'exc-add-frm';
		dom.hide('presentation');
		Behavior.remove($('presentation'));
		$('presentation').innerHTML = '';
		dom.show('bkForm');
		if ( !hasValue(frm.fromd) ) {
			return form.error(lang.exc.date_err1, frm.fromd);
		} else if ( app.today.dayDiff(getValue(frm.fromd).toDate()) < 1 ) {
			return form.error(lang.exc.date_err2 + app.today.format(), frm.fromd);
		}
		if ( !hasValue(frm.tod) ) {return form.error(lang.exc.date_err1, frm.tod); }
		if ( !hasValue(frm.fzone_id) ) {
			return form.error(lang.exc.dep_err, frm.fzone_id);
		}
		if ( parseInt(getValue(frm.adults), 10) + parseInt(getValue(frm.children), 10) + parseInt(getValue(frm.infants), 10) === 0 ) {
			return form.error(lang.exc.pax_err, frm.adults);
		}

		ajax.queue(this.chkAvl, $('avl_tbl').action);
		$('avl_tbl').addRows(frm, frm.action, lang.exc.avl_act );
		return false;
	},
	
	chkAvl: function() {
		var frm = document.forms['avl-frm'];
		var xmlDoc = ajax.getXML( $('avl_tbl').action );

		if ( parseInt(xmlDoc.getAttribute('recordcount'), 10) === 0 ) {
			dom.console(4, xmlDoc.getAttribute('msg'));
		} else {
			Behavior.apply($('step-2'));
			$('res_no').innerHTML = parseInt(xmlDoc.getAttribute('recordcount'), 10);
			if(!frm.no_dates.checked) {
				$('exc_dates').innerHTML = lang.exc.res_date + '<em>' + frm.fromd.value + '</em> ' + lang.exc.res_to + ' <em>' + frm.tod.value + '</em>';
				$('exc_dates').style.display='';
				$('sort_price').style.display='';
			} else {
				dom.hide('exc_dates');
				dom.hide('sort_price');
			}
			if(frm.fzone_id.selectedIndex == 0) {
				$('exc_from').style.display='none';
			} else {
				$('exc_from').innerHTML = lang.exc.res_from + ' <em>' + frm.fzone_id[frm.fzone_id.selectedIndex].text + '</em>';
				$('exc_from').style.display='';
			}
			if(frm.exc_categ.selectedIndex == 0) {
				$('sel_exc_categ').innerHTML = lang.exc.res_all;
			} else {
				$('sel_exc_categ').innerHTML = '<em>' + frm.exc_categ[frm.exc_categ.selectedIndex].text + '</em> ';
			}
			if( frm.dest_zone[frm.dest_zone.selectedIndex].value !='') {
				$('exc_to').innerHTML = lang.exc.res_goto + ' <em>' + frm.dest_zone[frm.dest_zone.selectedIndex].text + '</em>';
				$('exc_to').style.display='';
			} else {
				dom.hide('exc_to');
			}
			//dom.hide('rightc');
			this.step(2);
		}
		xmlDoc=frm=null;
	},
	
	excAvl: function(frm) {
		if ( !hasValue(frm.exc_date) ) {
			return form.error(lang.exc.date_err1);
		} else if ( app.today.dayDiff(getValue(frm.exc_date).toDate()) < 1 ) {
			return form.error(lang.exc.date_err2 + app.today.format(), frm.exc_date);
		}
		if ( !hasValue(frm.pup_code) ) {
			return form.error(lang.exc.dep_err, frm.pup_code);
		}
		if ( parseInt(getValue(frm.adults), 10) + parseInt(getValue(frm.children), 10) + parseInt(getValue(frm.infants), 10) === 0 ) {
			return form.error(lang.exc.pax_err, frm.adults);
		}

		Behavior.remove($('avl_step_2'));
		ajax.queue(this.excAvlHnd, "avlAct");
		ajax.post(frm);
		ajax.loadXML("exc/exc_avl.cfm?action=excAvl", "avlAct", lang.exc.avl_act);
		return false;
	}, 
	
	excAvlHnd: function(frm) {
		if ( !ajax.checkXMLResult("avlAct", true) ) {
			ajax.checkResult("avlAct");
			return;
		}
		var xmlDoc = ajax.getXML("avlAct");
	
		$('avl_step_2').innerHTML = dom.xmlText(xmlDoc);
		Behavior.apply($('avl_step_2'));
		dom.fadeInOut('avl_step_2','avl_step_1');
	},
	
	resubmit: function() {
		if(this.lastStep <= 2) {
			document.forms[frmId].onsubmit();
		} else if(this.lastStep > 2){
			this.step(2);
		}
	},
	
	back: function(step) {
		dom.fadeInOut('step-' + (step-1),'step-' + step);
	},

	sel: function(exc_code, exc_name, status, sp_code, total, pp, dates, downpayment) {
		ajax.queue(selHnd.callback(exc_name, status, sp_code, total, exc_code, pp, downpayment), excAdd);
		ajax.post(document.forms[frmId]);
		ajax.loadXML('exc/exc_avl.cfm?action=add&exc_code='+exc_code + '&exc_pp_code=' + pp + '&dates=' + dates, excAdd, "");
	},
	
	loadServices: function(exc_code, exc_pp_code) {
		if(!exc_pp_code) {exc_pp_code = '-1';}
		ajax.load('exc/exc_avl.cfm?action=srv_list&exc_code='+exc_code + '&exc_pp_code=' + exc_pp_code, 'srv_list_act', lang.exc.srv_act);
	},
	
	showSight: function(id, exc_code) {
		ajax.load("exc/exc_avl.cfm?action=showSight&id=" + id + "&exc_code="+ exc_code,"sight_action", "");
		return false;
	},

	togglePricing: function(el) {
		$(el).style.display == 'none'? dom.show(el) : dom.hide(el);
	},
	
	toggleSights: function(el) {
		$(el).style.display == 'none'? dom.show(el) : dom.hide(el);
	},
	
	showPresentation: function(exc_code, full) {
		if (full) {
			ajax.queue(this.presentHnd, "presentation_action");
			ajax.loadXML("exc/exc_avl.cfm?action=showPresentation&fullView=true&exc_code="+ exc_code,"presentation_action", lang.exc.pr_act);
			return false;
		} else {
			ajax.load("exc/exc_avl.cfm?action=showPresentation&exc_code="+ exc_code,"presentation_action", lang.exc.pr_act);
			return false;
		}
	},
	
	presentHnd: function() {
		if ( !ajax.checkXMLResult('presentation_action', true) ) {
			ajax.checkXMLResult('presentation_action');
			return;
		}
		var xmlDoc = ajax.getXML('presentation_action');
	
		Behavior.remove($('presentation'));
		$('presentation').innerHTML = dom.xmlText(xmlDoc);
		Event.on(cssQuery('ul.Tabs li', 'presentation'), "click", tabClick);
		Behavior.apply($('presentation'));
		page.step(3);
		
		page.getCalendar();
		if( $('avlForm') ) {
			var frm = $('avlForm');
			Event.on(frm.pup_code, "change", page.getCalendar.callback());
			Event.on(frm.cal_month, "change", page.getCalendar.callback());
			Event.on(frm.cal_year, "change", page.getCalendar.callback());
		}
		
	},
	
	addService: function(frm) {
		ajax.post(frm);
		ajax.queue(addServiceHnd, bkAct);
		ajax.loadXML("bookings/add_service.cfm", bkAct, lang.exc.cart_act);
		return false;
	},
	
	sortBy: function(what) {
		var frm = document.forms[frmId];
		frm.pageNo.value=1;
		frm.sortBy.value = what;
		frm.onsubmit();
	}, 
	
	selrow: function(chkbox){
		var chk = chkbox ? chkbox : $$('input', app.row)[0];
		if(chk) {
			if(!chkbox) { chk.checked = !chk.checked; }
			//update price
			var frm = $(addFrmId);
			var price = parseFloat(frm.price.value);
			var srv_price = 0.00;
			var per_type = app.row.getAttribute('per_type');
			/*if (per_type == 1) {
				srv_price = parseFloat($$('td', app.row)[3].innerHTML);
			} else if (per_type == 2) {*/
			//sale is always per person
			srv_price = parseFloat($$('td', app.row)[3].innerHTML) * parseInt(frm.adults.value, 10) + 
						parseFloat($$('td', app.row)[4].innerHTML) * parseInt(frm.children.value, 10) + 
						parseFloat($$('td', app.row)[5].innerHTML) * parseInt(frm.infants.value, 10);
			
			if(chk.checked) {
				price += srv_price;
			} else {
				price -= srv_price;
			}
			frm.price.value = price;
			var price_tag = 'bk_price';
			addFrmId == 'exc-add-frm'? price_tag = 'bk_price' : price_tag = 'bk_price1';
			$(price_tag).innerHTML = price.currencyFormat() + '&nbsp;&euro;';
			
			return true;
		}
	},
	
	dateChange: function(frm) {
		ajax.post(frm);
		ajax.queue(function() {
				if ( !ajax.checkXMLResult('dateChange_act', true) ) {
					ajax.checkXMLResult('dateChange_act');
					return;
				}
				var xmlDoc = ajax.getXML('dateChange_act');
				Behavior.remove($('inclSrv'));
				$('inclSrv').innerHTML = dom.xmlText(xmlDoc);
				dom.fadeIn('inclSrv');
				dom.fadeIn('bk_price_tag');
				Behavior.apply($('inclSrv'));
				frm.price.value = xmlDoc.getAttribute('price');
				//frm.downpayment.value = parseFloat(xmlDoc.getAttribute('downpayment')) * parseFloat(frm.price.value) / 100;
				frm.downpayment.value = parseFloat(xmlDoc.getAttribute('downpayment'));
				$('dpLabel').innerHTML = lang.common.downpayment + ':' +  xmlDoc.getAttribute('downpayment') + '%';
				
		}, 'dateChange_act');
		ajax.loadXML("exc/exc_avl.cfm?action=dateChange", 'dateChange_act', lang.exc.update_act);
	}, 
	
	step: function(step) {
		if(step !== this.lastStep) {
			/*if (step == 1){
				dom.show('rightc');
			}*/
			dom.fadeInOut('step-' + step,'step-' + this.lastStep);
		} else {
			dom.fadeIn('step-' + step);
		}
		$('steplabel-' + this.lastStep).className = 'stepOuter';
		$('steplabel-' + step).className = 'stepOuter active';
		if ( document.documentElement.scrollTop > 100 ) {
			$("step-"+step).scrollIntoView(true);
		}
		this.lastStep = step;
		currentTab = "info";

		if (step == 1) {
			$('presentation').innerHTML = '';
			$('direct_book').innerHTML = '';
		}
	},
	
	getCalendar: function() {
		var frm = $('avlForm');
		frm.exc_date.value = '';
		$('wait_calendar').style.display = 'block';
		$('cal_container').className = 'waiting';
		Behavior.remove($('cal_container'));
		
		ajax.queue(function() {
				if ( !ajax.checkXMLResult('getCalendar_act', true) ) {
					ajax.checkXMLResult('getCalendar_act');
					return;
				}
				var xmlDoc = ajax.getXML('getCalendar_act');
				//Behavior.remove($('inclSrv'));
				$('cal_container').innerHTML = dom.xmlText(xmlDoc);
				$('wait_calendar').style.display = 'none';
				$('cal_container').className = '';
				Event.on(cssQuery('td.service', 'avl_calendar'), "click", page.dateSelect);
				
		}, 'getCalendar_act');
		
		ajax.post(frm, "exc_code,cal_year,cal_month,pup_code,market_id,adults,children,infants");
		ajax.loadXML("exc/exc_avl.cfm?action=getCalendar", 'getCalendar_act', '');
	},
	
	dateSelect: function(e) {
		var frm = $('avlForm');
		if( this.className.indexOf('NA') > 0 ) { return; }
		frm.exc_date.value = this.getAttribute('cal_date');
		Array.forEach( cssQuery("td.service",'avl_calendar'), function(el) { el.className = el.className.replace(' selected', ''); } );
		this.className += ' selected';
	},
	
	showBook: function() {
		$('bkFld_1') ? dom.fadeInOut('direct_book_1','bkFld_1') : dom.fadeInOut('direct_book','bkFld');
	},
	
	bk_back: function() {
		$('bkFld_1') ? dom.fadeInOut('bkFld_1','direct_book_1') : dom.fadeInOut('bkFld','direct_book');
	}, 
	
	book: function(frm, pay) {
		if ( !hasValue(frm.first_name) ) { return form.error("Please type your first name.", frm.first_name); }
		if ( !hasValue(frm.last_name) ) { return form.error("Please type your last name.", frm.last_name); }
		if ( !hasValue(frm.email) || !frm.email.value.isEmail() ) { return form.error("Please type a valid email address.", frm.email); }
		if ( frm.email.value != frm.email_again.value ) { return form.error("email addresses don't match.", frm.email_again); }
		if ( !hasValue(frm.cnt_code) ) { return form.error("Please select a country.", frm.cnt_code); }			
		if ( !hasValue(frm.tel) ) { return form.error("Please type your telephone number.", frm.tel); }
		if ( !hasValue(frm.location) ) { return form.error("Please type your location.", frm.location); }
		if ( !hasValue(frm.address) ) { return form.error("Please type your mailing address.", frm.address); }
		if ( !hasValue(frm.zip) ) { return form.error("Please type your postal code.", frm.zip); }
		
		//if(!frm.accept.checked) { return form.error(lang.accept_err, frm.accept); }
		
		if(pay) {
			// validate credit card
			var cc_year = parseInt(getValue(frm.card_year), 10),
				cc_month = parseInt(getValue(frm.card_month), 10);
	
			if ( frm.card_number.value.length < 13 || !validateInt(frm.card_number.value) ) { return form.error("Please input credit's card number", frm.card_number); }
			if ( !validateCreditCard(frm.card_number.value, frm.card_type.value) ) {
				return form.error("Please input a valid credit card number", frm.card_number);
			}
			if ( !hasValue(frm.card_name) ) { return form.error("Please input the full name as it appears on the credit card.", frm.card_name); }
			if ( cc_year == app.today.getFullYear() && cc_month < app.today.getMonth()+1 ) {
				return form.error("Please input a valid expiration date", frm.card_year);
			}
			if ( frm.card_cvv2.value.length < 3 || !validateInt(frm.card_cvv2.value) ) { return form.error("Please input credit's card CVV2 number", frm.card_cvv2); }
	
			frm.cavv.value = frm.eci.value = frm.xid.value = "";
			
			if ( dom.confirm(lang.common.book_confirm) ) {
				//no 3d secure
				book(true);
				/*ajax.post(frm, "cavv,eci,xid,card_number,card_name,card_cvv2,card_type,card_month,card_year");
				ajax.queue(lookup.callback(frm), authAct);
				ajax.loadXML("pnr/auth.cfc?method=lookup", authAct, "Looking up eligibility for credit card payer authentication programs.");*/
			}
		} else {
			//Enable online OR booking?
			//book(false);	// no payment, continue to booking
			frm.action = "email_request.cfm";
			frm.submit();
		}
		
		return false;
	}

};

})();