var compareThese = new Array("","","","");
var spas = [["Victoria","Constance"],["Maxxus","Aspen","Optima","Cameo","Majesta","Altamar","Marin","Capri",{"spa":"Optima in-ground","page":"OptimaInGround"},{"spa":"Cameo in-ground","page":"CameoInGround"},{"spa":"Marin in-ground","page":"MarinInGround"}],["Chelsee","Hamilton","Certa","Camden",{"spa":"Dover","page":"2-Person-Hot-Tub"}],[{"spa":"Hartford","page":"Large-Hot-Tubs"},{"spa":"Hawthorne","page":"Custom-Hot-Tubs"},"Burlington","Denali",{"spa":"Tacoma","page":"Portable-Spa"}]];

function seriesSelected() {
	var ser = parseInt($(this).children(':selected').val());
	var ind = $(this).siblings('img').attr('alt');
	compareThese[ind] = "";
	$(this).siblings('.model, .which').empty().filter('.which').append('<img src="images/compare/select-hot-tub.gif" />');
	if(ser > -1) {
		var optstr = '<option selected="selected" value="Select a spa">Select a spa</option>';
		for(var i=0; i < spas[ser].length; i++) {
			optstr += '<option value="'+ (spas[ser][i].page ? spas[ser][i].page : spas[ser][i]) +'">'+ (spas[ser][i].spa ? spas[ser][i].spa : spas[ser][i]) +'</option>';
		}
		$(this).siblings('.model').html(optstr).change(spaSelected);
		try{
			$(this).siblings('.model').val('Select a spa');
		}catch(e) {}
	}
	compcheck();
}
function spaSelected() {
	$(this).siblings('.which').empty();
	var spa = $(this).children(':selected').html();
	var ind = $(this).siblings('img').attr('alt');
	var lspa = "";
	var ser = "";
	if(spa != "Select a spa") {
		if(spa.indexOf('in-ground') > 0) {
			spa = spa.substr(0,spa.length - 10);
			lspa = 'in-ground-' + spa.toLowerCase();
			spa = spa + 'InGround';
		}
		else {
			lspa = spa.toLowerCase();
		}
		ser = $(this).siblings('.series').children('option:selected').html().substr(0,3);
		if(ser=='Eli') ser = 'Elite_';
		compareThese[ind] = ser + 'Series/' + $(this).children(':selected').val();
		
		if(ser=='Elite_') ser = 'Elite';
		
		ser += '-series';
		
		$(this).siblings('.which').append('<img src="images/'+ser+'/'+lspa+'-thm.gif" alt="'+lspa+'" /><img src="images/compare/'+ser+'.gif" class="ser" alt="'+ser+'" /><img src="images/compare/titles/'+lspa+'.gif" class="name" alt="'+lspa+'" />');
	}
	else {
		compareThese[ind] = '';
		$(this).siblings('.which').append('<img src="images/compare/select-hot-tub.gif" />');
	}
	compcheck();
}
function compcheck() {
	var atleastone = false;
	for(var i=0; i<4; i++) {
		if(compareThese[i] != "") {
			atleastone = true;
		}
	}
	if(atleastone) {
		$('#compareHere a#go').attr('class','on');
	}
	else {
		$('#compareHere a#go').removeAttr('class');
	}
}

function goCompare() {
	if($(this).attr('class') == 'on') {
		$('#compareHere table').remove();
		$('#disclaimers').remove();
		$('#compareLoading').show();
		ajaxattax(0);
	}
	return false;
}

function headers(wha) {
	var retstr = '<tr class="hdr"><td class="first"><img src="images/compare/'+wha+'.gif" alt="'+wha+'" /></td>'
	var nam;
	for(var i=0;i<3;i++) {
		nam = $('#select-fields div.box:eq('+i+') img.name');
		retstr += '<td>';
		if(nam.size() > 0) { 
			nam = nam.attr('alt');
			retstr += '<img src="images/compare/titles/'+nam+'-hdr.gif" alt="'+nam+'" />';
		}
		else { retstr += '&nbsp;'; }
		retstr += '</td>';
	}
	
	retstr += '</tr>';
	return retstr;
}

function ajaxattax(ind) {
	if(ind < 4) {
		var str = compareThese[ind];
		if(compareThese[ind] == "") {
			str = "includes/specs-default";
		}
		str += '.html table.specs';
		str = str.replace('_',''); // error correct for "Elite_Series" images vs "SelectSeries" html
		$("#compspacer").load(str,function() {
			$('#compspacer tr').removeAttr('class');
			$('#compareHere').append($('#compspacer').html());
			$('#compspacer').empty();
			if(ind == 0) {
				$('#compareHere .specs:eq('+ind+') td.sr').remove();			
			} else {
				$('#compareHere .specs:eq('+ind+') td.sl').remove();
				$('#compareHere .specs:eq('+ind+') td').removeAttr("class");
			}
			ajaxattax(ind + 1);
		});
	}
	else {
		$('#compareLoading').hide();
		$("#compareHere .specs:first tr").each(function(i) {
			$(this).append($("#compareHere .specs:eq(1) tr:eq("+i+")").html() + $("#compareHere .specs:eq(2) tr:eq("+i+")").html() + $("#compareHere .specs:eq(3) tr:eq("+i+")").html());
		});
		$("#compareHere .specs:gt(0)").remove();		
		$("#compareHere .specs:first td:first").attr("width","200");
		$("#compareHere .specs:first td:gt(0)").attr("width","140");
		$('#compareHere .specs tr td.sl').attr("class","first");
		$('#compareHere .specs').attr("width","714").attr("class","specs2");
		
		$('#compareHere .specs2 tr:first').before(headers('overview'));
		$("#compareHere .specs2 tr td:contains('Total Jets')").parent().before(headers('jets'));
		$("#compareHere .specs2 tr td:contains('Aromatherapy Delivery/Air Blower:')").parent().before(headers('features'));
		$("#compareHere .specs2 tr td:contains('Shell Colors:')").parent().before($('#compareHere .specs2 tr:last'));
		$("#compareHere .specs2 tr td:contains('Shell Colors:')").parent().before(headers('colors'));
		
		// and cycle
		var check;
		$("#compareHere .specs2 tr").each(function(i) {
			check = $(this).children('td');
			check = check.eq(1).html() + check.eq(2).html() + check.eq(3).html();
			if(check == '') { $(this).remove(); }
		});
		$('#compareHere .specs2 tr[class!=hdr]:odd').attr("class","odd");
		
		$('#compareHere').prepend('<span class="print"><a href="" onclick="window.print(); return false;">Print Comparison</a></span>');
		$('#compareHere').after('<div id="disclaimers"><br />* BHP (brake horsepower) is a maximum value measured by the motor manufacturer with no pump installed.<br />** Standard on 50 Hz export spas<br />*** Heater warranty varies outside North America<br />**** Not available in all countries.<br /><br />Features and specifications for in-ground models may vary from models shown.<br /><br />Dimensions, capacities and weights are approximate. Specifications are subject to change without notice.<br /><br /></div>');
	}
}

$(function() {
	$('#select-fields h3').remove();
	$('#select-fields .box').show().append('<div class="which"><img src="images/compare/select-hot-tub.gif" /></div>').children('.series')
		.append('<option value="-1">Select a series</option><option value="0">Select Series</option><option value="1">880 Series</option><option value="2">780 Series</option><option value="3">680 Series</option>')
		.change(seriesSelected)
		.children('option:first').attr('selected','selected');
	$('#compareHere a#go').click(goCompare);
	$('body').append('<div id="compareLoading">Loading. Please wait...</div>');
	$('#select-fields .box img:even').hide();
});
