/*
 * (C) 2009 Foamshop.co.uk
 * Author: Christian Piper (Christian@design-desires.co.uk)
 */

/*
 * Avoid conflicts with prototype
 */
var $j = jQuery.noConflict();

$j(document.body).ajaxStart(function() {
	$j("#load").slideDown(250);
	$j('#pricebox').fadeTo(150, 0.25);
}).ajaxStop(function() {
	$j("#load").slideUp(100).fadeOut();
	$j('#pricebox').fadeTo(150, 1.00);
});




/*
 * Fired when a select box value has changed
 */
function pingQuote() {
	/*
	 * Resets the extras select box to black, to show we acknowledge a change has occured after an error.
	*/
	$j('#regal_firmness').css("color","black");

	var shape = $j('[name=shape]').val();
	var depth = $j('[name=depth]').val();
	var width = $j('[name=width]').val();
	var length = $j('[name=length]').val();
	var extra = $j('[name=extras]').val();
	var call = $j.ajax({
		type: "POST",
		url: "/tools/getprice.php",
		data: ({s: shape, w: width, d: depth, l: length, e: extra}),
		cache: false,
		dataType: "html",
		success: function(foo, textStatus){
			$j('#pricebox').html(foo);
		}
	});
}

/*
 * Change the template image when the shape selection has changed
 */
function changeShape(){
	var i = $j('[name=shape]').get(0).selectedIndex;
	if (i == 7 || i == 8) {++i;}
	switch(i){
		case 0:
			$('shapeimage').update('<img src="/media/shapes/square.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').hide();
			$('togglee').hide();
			$('togglef').hide();
			$('toggleg').hide();
			$('toggleh').hide();
		break;
		case 1:
			$('shapeimage').update('<img src="/media/shapes/circle.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').hide();
			$('toggled').hide();
			$('togglee').hide();
			$('togglef').hide();
			$('toggleg').hide();
			$('toggleh').hide();
		break;
		case 2:
			$('shapeimage').update('<img src="/media/shapes/semicircle.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').hide();
			$('togglee').hide();
			$('togglef').hide();
			$('toggleg').hide();
			$('toggleh').hide();
		break;
		case 3:
			$('shapeimage').update('<img src="/media/shapes/wedge.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').show();
			$('togglee').hide();
			$('togglef').hide();
			$('toggleg').hide();
			$('toggleh').hide();
		break;
		case 4:
			$('shapeimage').update('<img src="/media/shapes/tshape.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').show();
			$('togglee').show();
			$('togglef').show();
			$('toggleg').show();
			$('toggleh').hide();
		break;
		case 5:
			$('shapeimage').update('<img src="/media/shapes/lshape.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').show();
			$('togglee').show();
			$('togglef').show();
			$('toggleg').hide();
			$('toggleh').hide();
		break;
		case 6:
			$('shapeimage').update('<img src="/media/shapes/windowtapered.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').show();
			$('togglee').show();
			$('togglef').hide();
			$('toggleg').hide();
			$('toggleh').hide();
		break;
		case 7:
			//
		break
		case 8:
			$('shapeimage').update('<img src="/media/shapes/taperedtshape.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').show();
			$('togglee').show();
			$('togglef').show();
			$('toggleg').show();
			$('toggleh').show();
		break
		case 9:
			$('shapeimage').update('<img src="/media/shapes/taperedlshape.png" alt="" />');
			$('togglelength').show();
			$('togglewidth').show();
			$('toggledepth').show();
			$('toggled').show();
			$('togglee').show();
			$('togglef').show();
			$('toggleg').show();
			$('toggleh').hide();
		break
	}
	pingQuote();
}

function checkCover() {
	var question = "You have not selected a protective Stockinette cover for your foam product.\nYour guarantee may be invalidated, would you like to continue?";
	var answer = confirm(question, 2, 2);
	if (!(answer)) {
		$j('#extras').css("color","red");
		$j('#extras').focus();
		return false;
	}
}

/*
 * Checks that whatever foamtype has the a firmness selected (if needed)
 */
function checkFirmness(foamtype){
	switch(foamtype){
		case 'regal':
			if($j('#regal_firmness').val() < 1){
				alert('Please select a firmness for your Regal Luxury product.');
				$j('#regal_firmness').css("color","red");
				$j('#regal_firmness').focus();
				return false;
			} else {
				if($j("#extras").get(0).selectedIndex < 1) {return checkCover()}
			}
		break;
		case 'stately':
			if($j('#stately_firmness').val() < 1){alert('Please select a firmness for your Stately Range product.')}
			$j('#stately_firmness').css("color","red");
			$j('#stately_firmness').focus();
		break;
		case 'imperial':
			if($j('#imperial_firmness').val() < 1){alert('Please select a firmness for your Imperial Comfort product.')}
			$j('#imperial_firmness').css("color","red");
			$j('#imperial_firmness').focus();
		break;
	}
}

/*
 * Setup the initial product view, we check teh values of fields due to the
 * fact FF retains the last values on a page reload, keeps things pretty :)
 */
$j(document).ready(function () {
	changeShape();
	var shape = $j('[name=shape]').val();
	var depth = $j('[name=depth]').val();
	var width = $j('[name=width]').val();
	var length = $j('[name=length]').val();
	var extra = $j('[name=extras]').val();
    $j('#pricebox').load("/tools/getprice.php", {s: shape, w: width, d: depth, l: length, e: extra});
});
