jQuery(document).ready(function($) {
	jQuery.expr[':'].regex = function(elem, index, match) {
	var matchParams = match[3].split(','),
	validLabels = /^(data|css):/,
	attr = {
	    method: matchParams[0].match(validLabels) ? 
			matchParams[0].split(':')[0] : 'attr',
	    property: matchParams.shift().replace(validLabels,'')
	},
	regexFlags = 'ig',
	regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags);
	return regex.test(jQuery(elem)[attr.method](attr.property));
	}

	
	// set up the booking form date pickers.
	jQuery('.arrival-date').datepicker({ showOn: 'both',  buttonImageOnly: true, buttonImage: '/hl/images/calendar.png',buttonText: 'Calendar',dateFormat: 'dd-mm-yy' });

	// set up the booking form date pickers.
	jQuery('.departure-date').datepicker({ showOn: 'both',  buttonImageOnly: true, buttonImage: '/hl/images/calendar.png',buttonText: 'Calendar',dateFormat: 'dd-mm-yy' });


	// lazyload google maps API
	var script = document.createElement("script");
	script.type = "text/javascript";
	script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=drawParkMap";
	document.body.appendChild(script);
		
	jQuery('#bookingform').submit(function() {
		var now = new Date();
		var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
		var arrdate = jQuery('#arrdate');
		var stArrdate = arrdate.val();
		var datebits = stArrdate.split('/');
		//SAHLMOD2011-01-31 Ensure that park is selected (to avoid netroomz error).
		var hid = jQuery('#hid');
		var stHid = hid.val();		
		if (stHid == "")
		{
			//alert("Please select a park");
			jQuery(hid).addClass('errorfld');
			jQuery('<div></div>')
					.text('Select A park')
					.addClass('form-invalid')
					.insertAfter('#hid');
			return false;
		}	
		else {
			jQuery(hid).removeClass('errorfld');
		}		
		//SAHLMOD2011-01-31 Do not validate blank dates (netroomz does accept them and defaults to current date).
		if (stArrdate != '')
		{			
			if (parseInt(datebits[2]) < 100) { datebits[2] = '20'+datebits[2]; }
			var dtArrDate = new Date(datebits[2], datebits[1]-1, datebits[0]);
			jQuery('div.form-invalid').remove();
			if (arrdate.val() == '' || isDateValid(arrdate.get(0), dateReformat) == false || dtArrDate.getTime() < today.getTime())  {	
				jQuery(arrdate).addClass('errorfld');
				jQuery('<div></div>')
					.text('Invalid date')
					.addClass('form-invalid')
					.insertAfter('#container-nights');
				return false;
			}
			else {
				jQuery(arrdate).removeClass('errorfld');
			}
		}		
		return true;
	});	// end submit handler
});	// end ready
