		// Begin: local AJAX handling
		var current_sortby = 'size'; //default sort
		var reversed = 0;
		var first_load = 1;
		
		function load_list() {
			loaderON();
			week 						= document.getElementById('week').value;
			only_available 	= document.getElementById('only_available').checked    ? 1 : 0;
			ext_skipper 		= document.getElementById('ext_skipper').value=='skipper' ? 1 : 0;
			hostess 				= document.getElementById('ext_skipper').value=='hostess' ? 1 : 0;			
			boys_only 			= document.getElementById('boys_only').value=='true'   ? 1 : 0;
			// Ajax call to get the price list, returns to update_list()
			x_ajax_price_list_load(week,only_available,current_sortby,reversed,ext_skipper,hostess,boys_only,update_list);
		}
		
		function update_list(content) {
			document.getElementById('boatTable').innerHTML = content;
			loaderOFF();
			
			// See if we should expand one row by default
			if (first_load) {
				first_load	= 0;
				showLinkedBoat();
			}
		}
		
		function sort_by(col) {
			if(col == current_sortby) {
				reversed = (reversed+1)%2;
			}
			else {
				current_sortby = col;
				reversed = 0;
			}
			load_list();
		}
		
		function loaderON() {
			document.getElementById('loader').innerHTML = '<img src="https://www.theyachtweek.com/yachtbook/gfx/ajax-loader.gif" /> loading...';
		}
		
		function loaderOFF() {
			document.getElementById('loader').innerHTML = '';
		}
		// End: local AJAX handling
	
		// Begin: Boat Table JS for row expansion
		expanded_cells = {};	
		emptyCellHTML = '';
		
		function expand_row(id,name,utype,classname) {
			row 	= document.getElementById('row-'+id);
			erow	= document.getElementById('expanded_row-'+id);
			cell	= document.getElementById('expanded_cell-'+id);

			data = boat_data[utype] || {};
	
			ext_skipper	= document.getElementById('ext_skipper').value=='true' ? 1 : 0;
			boys_only		= document.getElementById('boys_only').value=='true'   ? 1 : 0;
	
			if (expanded_cells[id]) {
				// clear cell
				expanded_cells[id] = false;
				cell.innerHTML = emptyCellHTML;
				cell.className = '';	
			} else {
				// write boat data in cell
				expanded_cells[id] = true;
				url  = data['url'] + '&ext_skipper='+ext_skipper + '&boys_only='+boys_only + '&iframe=1';
				html = '<a name="'+utype+'"></a>';
				html += '<h2><a class="fancyBoatBox iframe" href="' + url + '">'+name+'</a></h2>\n';
				html += '<h5>For maximum '+data['max_persons']+' persons.</h5>\n';
				html += '<p>'+ (data['description'] || '<i>No description yet!</i><br/>');
				html += ' <a id="boxlink_'+utype+'" class="fancyBoatBox iframe book_now" href="' + url + '">Read more / Book Now</a></p>\n';
				html += '<p id="pics_'+id+'">';
				for (i=0; i < Math.min(7*2,data['img'].length); i+=2) {
					html += '<a href="' + data['img'][i+1] + '" class="fancyBoatImage" title="'+name+'" rel="boat_' + classname + '"><img src="' + data['img'][i] + '" border="0" /></a>';
				}
				if (data['img'].length > 7*2) {
					html += '<br /><a href="javascript:loadPhotos('+id+',\''+utype+'\',\''+classname+'\')">More photos</a>';
				}
				html += '</p>';
				cell.innerHTML = html;
				cell.className = 'boatTable_openCell';
				
				jQuery('a.boat_'+classname).fancybox();
				jQuery('a.fancyBoatBox').fancybox({
					'height' 	:	750,
					'width' 		:	900
				});
				jQuery('a.fancyBoatImage').fancybox();		
			}
		}
		
		jQuery(document).ready(function() {
			jQuery('a#boxlink_own_skipper').fancybox({
					'height' 	:	750,
					'width' 		:	900			
			});
		});		
		
		function loadPhotos(id,utype,classname) {
			data = boat_data[utype] || {};
			html = '';
			for (i=0; i < data['img'].length; i+=2) {
				html += '<a href="' + data['img'][i+1] + '" class="fancyBoatImage" rel="boat_' + classname + '"><img src="' + data['img'][i] + '" border="0" /></a>\n';
			}
			html += "<br /><a href=\"javascript:expand_row("+id+",'','','')\">Hide row</a>";
			document.getElementById('pics_'+id).innerHTML = html;
			jQuery('a.fancyBoatImage').fancybox();			
			
		}
		
		// End: Boat Table JS

    // Stuff to load the right boat based on query string
    
     function showLinkedBoat() {
    		if(getQuerystring('showLinkedBoat')) {
    			var utype = getQuerystring('utype');
    			var row   = jQuery('#boatrow_'+utype).html();
    			var type  = jQuery('#boattype_'+utype).html();
    			var boatclass = jQuery('#boatclass_'+utype).html();
					if(!type) { return }  
					expand_row(row,type,utype,boatclass);
					loadPhotos(row,utype,boatclass);
					window.location.href = '#'+utype;
					if(!jQuery.browser.msie) {
						jQuery('#boxlink_'+utype).click();
					}
    		}
     }
    
    function getQuerystring(key, default_)
		{
		  if (default_==null) default_="";
		  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
		  var qs = regex.exec(window.location.href);
		  if(qs == null)
		    return default_;
		  else
		    return qs[1];
		}
		


