		// 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;
			// Ajax call to get the price list, returns to update_list()
			x_ajax_price_list_load(week,only_available,current_sortby,reversed,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();
			}
			
			
			positionFooter();
		}
		
		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="http://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 = '<img src="empty.gif" width="1" height="1" />';
		
		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] || {};
	
			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;
				html = '<a name="'+utype+'"></a>';
				html += '<h2><a class="fancyBoatBox iframe" href="' + data['url'] + '&iframe=1">'+name+'</a></h2>\n';
				html += '<h5>For maximum '+data['max_persons']+' persons.</h5>\n';
				html += '<p>'+ (data['description'] || '<i>No description yet!</i>');
				//html += ' <a rel="facebox" href="' + data['url'] + '">Read more / check availability</a></p>\n';
				html += ' <a id="boxlink_'+utype+'" class="fancyBoatBox iframe" href="' + data['url'] + '&iframe=1">Read more / check availability</a></p>\n';
				html += '<p id="pics_'+id+'">';
				for (i=0; i < Math.min(6*2,data['img'].length); i+=2) {
					html += '<a href="' + data['img'][i+1] + '" class="fancyBoatImage" title="'+name+'" rel="boat_' + classname + '"><img onload="positionFooter()" src="' + data['img'][i] + '" border="0" /></a>';
				}
				if (data['img'].length > 6*2) {
					html += '<br /><a href="javascript:loadPhotos('+id+',\''+utype+'\',\''+classname+'\')">More photos</a>';
				}
				html += '</p>';
				cell.innerHTML = html;
				cell.className = 'boatTable_openCell';
				// activate Lightbox on thumbs
				$('a.boat_'+classname).fancybox();
				// Thickbox on links
				$('a.fancyBoatBox').fancybox({
					'frameHeight' 	:	700,
					'frameWidth' 		:	550
				});
				$('a.fancyBoatImage').fancybox();				
			}
			
			positionFooter();
		}
		
		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 onload="positionFooter()" 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;
			$('a.fancyBoatImage').fancybox();			
			positionFooter();
		}
		
		// 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   = $('#boatrow_'+utype).html();
    			var type  = $('#boattype_'+utype).html();
    			var boatclass = $('#boatclass_'+utype).html();
					if(!type) { return }  
					expand_row(row,type,utype,boatclass);
					loadPhotos(row,utype,boatclass);
					window.location.href = '#'+utype;
					if(!jQuery.browser.msie) {
						$('#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];
		}