
function calculate(){
	$(".orderform .size select, .orderform .quantity select").change(function(){
		var productIdVal = $("#productId").val();
		var categoryIdVal = $("#categoryId").val();
		var sizesVal = $("#sizes").val();
		var quantitiesVal = $("#quantities").val();
		var paperStockVal = $("#paperStock").val();
		var optionArray = [];
		$("#optionList input[@type=checkbox][@checked]").each(function(){
				optionArray.push( $(this).val() );
		});
		$.ajax({
			type: 'POST',
			url: "../data-bin/scripts/findPrice.php",
			dataType: 'xml',
			data: { productId: productIdVal, categoryId: categoryIdVal, sizes: sizesVal, 'options[]': optionArray, quantities: quantitiesVal, paperStock: paperStockVal },
			success: function(data){
				$('*').css( { cursor: 'wait' } );
				//var price = $(data);
				var price = $(data).find("price").text();
				var other = $(data).find("options").text();
				$('.cost span').fadeOut('def', function() {
					$(this).html( price ).fadeIn('def', function(){
							$('*').css( { cursor: '' } );
						});
				} );
//alert(other);
				if ($("#optionList").css("display") != 'none') {
					$('#optionList').fadeOut('def', function(){
						$(this).html(other).fadeIn('def');
						calculateOptions();
						optionContent();
					});
				}
				else {
					$('#optionList').html(other);
					calculateOptions();
					optionContent();
				}
			}
		});
	});
}

function calculateOptions(){
	$("#optionList input, #optionList select").click(function(){
		var productIdVal = $("#productId").val();
		var categoryIdVal = $("#categoryId").val();
		var sizesVal = $("#sizes").val();
		var quantitiesVal = $("#quantities").val();
		var paperStockVal = $("#paperStock").val();
		var optionArray = [];
		$("#optionList input:checked").each(function(){
				optionArray.push( $(this).val() );
		});
		$("#optionList select").each(function(){
			if(this.selectedIndex>0){
				optionArray.push( $(this).val() );
			}
		});
		$.ajax({
			type: 'POST',
			url: "../data-bin/scripts/findPrice.php",
			dataType: 'xml',
			data: { productId: productIdVal, categoryId: categoryIdVal, sizes: sizesVal, 'options[]': optionArray, quantities: quantitiesVal, paperStock: paperStockVal },
			success: function(data){
				$('*').css( { cursor: 'wait' } );
				var price = $(data).find("price").text();
				var other = $(data).find("options").text();
				$('.cost span').fadeOut('def', function() {
					$(this).html( price ).fadeIn('def', function(){
							$('*').css( { cursor: '' } );
						});
				});
			}
		});
	});
}

function stockChange(){
	$("#paperStock").change(function(){
		var paperStockVal = $("#paperStock").val();
		$("#paperStockId").val( paperStockVal );
		$.ajax({
			type: 'POST',
			url: '../data-bin/scripts/findStock.php',
			dataType: 'xml',
			data: { paperStock: paperStockVal },
			success: function(stockData){
				var image = $(stockData).find("im").text();
				var thumbImage = $(stockData).find("thumbImage").text();
				var stockContent = $(stockData).find("content").text();
				$("#stockBox").fadeOut('fast', function(){
					$("#thumbImage").html( "<img class='stockThumb' src='" + thumbImage + "' />" );
					$("#stockImage").html( "<img class='stockImg' src='" + image + "' />" );
					$(".specs #specsContent").html( stockContent );
				}).fadeIn( 'def', stockHover );
				//alert( stockData );
			}
		});
		var productIdVal = $("#productId").val();
		var categoryIdVal = $("#categoryId").val();
		var sizesVal = $("#sizes").val();
		var quantitiesVal = $("#quantities").val();
		var optionArray = [];
		$("#optionList input:checked").each(function(){
				optionArray.push( $(this).val() );
		});
		$("#optionList select").each(function(){
			if(this.selectedIndex>0){
				optionArray.push( $(this).val() );
			}
		});
		$.ajax({
			type: 'POST',
			url: "../data-bin/scripts/findPrice.php",
			dataType: 'xml',
			data: { productId: productIdVal, categoryId: categoryIdVal, sizes: sizesVal, 'options[]': optionArray, quantities: quantitiesVal, paperStock: paperStockVal },
			success: function(data){
				$('*').css( { cursor: 'wait' } );
				var price = $(data).find("price").text();
				var other = $(data).find("options").text();
				$('.cost span').fadeOut('def', function() {
					$(this).html( price ).fadeIn('def', function(){
							$('*').css( { cursor: '' } );
						});
				});
			}
		});
	});
}

function stockHover(){
	$("#imageHoverBox").hover(
		function(){
			$("img.stockImg").fadeIn();
		},
		function(){
			$("img.stockImg").fadeOut( 'fast' );
		}
	);
}

function options(){
	$("div.options label").toggle(
		function(){
			for( var node = this; node.nextSibling; node=node.nextSibling ){
				if(node.nodeName.toUpperCase() == "SPAN")
					$(node).slideDown( 'slow' );
			}
		}, 
		function(){
			for( var node = this; node.nextSibling; node=node.nextSibling ){
				if(node.nodeName.toUpperCase() == "SPAN")
					$(node).slideUp( 'slow' );
			}
		}
	);
}

function changeHTML(){
	$("input.submit").css( { display: 'none' } );
	$("input.submit").remove();
	$("div.options span").css( { display: 'none' } );
	$("div.options label").hover(
		function() {
			$(this).css( { textDecoration: 'underline' } );
		},
		function() {
			$(this).css( { textDecoration: 'none' } );
		}
	);
}

function dropdown(){
$("#productList ul").css({display: "none"}); // Opera Fix
$("#productList li").hover(function(){
		$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
		},function(){
		$(this).find('ul:first').css({visibility: "hidden"});
	});
}

function dropdownFront(){
$("body.storeFront #browse li").hover(function(){
		$(this).find("ul.productInnerList").css({visibility: "visible",display: "none"}).show(400);
		},function(){
		$(this).find("ul.productInnerList").css({visibility: "hidden"});
	});
}

function optionContent() {
	$('#product .options .showOp').bind( 'click', function(e) {
		e.preventDefault();
	} );
	$('#product .options .showOp').hover( 
		function() {
			$(this).next('.opContent').show();
		},
		function() {
			$(this).next('.opContent').hide();
		}
	 );
}

$(document).ready(function(){
	options();
	calculate();
	calculateOptions();
	changeHTML();
	dropdown();
	stockChange();
	stockHover();
	dropdownFront();
	optionContent();
});

