
//TODO: populate form with values from session

function content_loading_snip() {
	return '<p id="loading"><img src="$ThemeDir/images/icons/content_loader.gif" width="128" height="15" alt="loading..."></p>';
}

function book_loading_snip() {
	return '<div id="vehicle_book" class="book status"><h1>Booking</h1><p class="loading_mini"><img src="$ThemeDir/images/icons/mini_loader.gif" width="16" height="11" alt="loading..."></p></div>';
}

function set_extras(){
	
	//console.log("setting extras....");
	$( 'html, body' ).animate( { scrollTop: 0 }, 0 );
	
	//serialise extras list
	$('#vehicle_holder').hide();
	$('#loading').show();
	$.get(URLSegment+"/setExtras", $("form").serializeArray(),
		function(data){
			// render customer detail form
			$('p#loading').hide();
			$('#vehicle_holder').replaceWith(data);
			
			//prevent default browser action
			return false;
		}
	 );
	 
	//render booking status - manually set booking step
	$('#vehicle_book').hide();
	$('#loading_book').show();
	$.get(URLSegment+"/getStatus/3", {},
			function(data){
				$('#loading_book').hide();
				$('#vehicle_book').replaceWith(data);
				return false;
			}
	 );
		 
	return false;
}

function get_extras(id){
	
	//console.log(id);
	$( 'html, body' ).animate( { scrollTop: 0 }, 0 );
	
	//render extras list
	$('#vehicle_holder').hide();
	$('#loading').show();
	$.get(URLSegment+"/getExtras/"+id, {},
		function(data){
			$('p#loading').hide();
			$('#vehicle_holder').replaceWith(data);
			
			// extras list contains a popup link - so reapply
		 	do_popups();
		 	
			return false;
		}
	);
		 
	//render booking status
	$('#vehicle_book').hide();
	$('#loading_book').show();
	$.get(URLSegment+"/getStatus/2", {},
		function(data){
			$('#loading_book').hide();
			$('#vehicle_book').replaceWith(data);
			return false;
		}
	 );
		 
	return false;
}

function do_popups() {
	$('.popup').click(function() {
		window.open(this.getAttribute('href'),"blank","toolbar=no,scrollbars=yes,width=740,height=700");
		return false;
	});
}

//attach handler to each vehicle link
function attach_extra_handlers(){
	//console.log("handlers");
	$(".vehicles .quote_or_book").click(function(){
		//console.log("attached: "+this.id);
		get_extras(this.id);
		//prevent default browser action
		return false;
	});
}

// this only exists after the first update!
function vehicle_update(){
	
	// render vehicle list
	$('#vehicle_holder').hide();
	$('#loading').show();
	$.get(URLSegment+"/getVehicles", $("form").serializeArray(),
		function(data){
			// render vehicle list
			$('p#loading').hide();
			$('#vehicle_holder').replaceWith(data);
			
			//attach handler to each vehicle link - because they don't exist yet
			attach_extra_handlers();
			
			//prevent default browser action
			return false;
		}
	);
	// update help text - contact info
	$.get(URLSegment+"/getContactInfo",
		function(data){
			$('li#contact_info').replaceWith(data);
			
			//prevent default browser action
			return false;
		}
	);
	ready();
	return false;
}

// do stuff when DOM is ready
$(document).ready(function(){
	
	//console.log("ready");
	
	// manual form
	$('#vehicle_holder #first_FromDate input').datepicker({
		showOn: 'both',
		buttonImage: 'themes/pegasus/images/icons/calendar_view_month.png',
		dateFormat: 'dd/M/yy',
		defaultDate: +1,
		minDate: +1
	});
	$('#vehicle_holder #first_ToDate input').datepicker({
		showOn: 'both',
		buttonImage: 'themes/pegasus/images/icons/calendar_view_month.png',
		dateFormat: 'dd/M/yy',
		defaultDate: +1,
		minDate: +1
	});
		$('#vehicle_holder #second_FromDate input').datepicker({
		showOn: 'both',
		buttonImage: 'themes/pegasus/images/icons/calendar_view_month.png',
		dateFormat: 'dd/M/yy',
		defaultDate: +1,
		minDate: +1
	});
	$('#vehicle_holder #second_ToDate input').datepicker({
		showOn: 'both',
		buttonImage: 'themes/pegasus/images/icons/calendar_view_month.png',
		dateFormat: 'dd/M/yy',
		defaultDate: +1,
		minDate: +1
	});
	
	// book widget
	$('#from_date').datepicker({
		showOn: 'both',
		buttonImage: 'themes/pegasus/images/icons/calendar_view_month.png',
		dateFormat: 'dd/M/yy',
		defaultDate: +1,
		minDate: +1
	});
	$('#to_date').datepicker({
		showOn: 'both',
		buttonImage: 'themes/pegasus/images/icons/calendar_view_month.png',
		dateFormat: 'dd/M/yy',
		defaultDate: +2,
		minDate: +2
	});
	
	// attach handler to vehicle page only
	$("#vehicle_book #update_btn").click(vehicle_update);
	
	//attach handler to each vehicle link - for back button
	attach_extra_handlers();
	
	do_popups();

});