﻿$(function() {

	if($("table.bestilling").size()>0) {
		// bestillingsformular
		$("table.bestilling tr").hover(function() { $(this).css('backgroundColor','#e0eff1'); }, function() { $(this).css('backgroundColor',''); });
		
		$("input.numeric").bind({
			blur: function() { 
				var tmp = $(this).val();
				tmp = tmp.replace(/[^0-9]/g,"");
				$(this).val(tmp);			
				var totalVal = 0;
				jQuery.map($(this).parents('tr:first').find('input[class*=numeric]'), function (a) { 
					if($(a).val().length>0&&!isNaN($(a).val())) {
						totalVal += parseInt($(a).val()); 
					}
				});
				// get price
				var price = $(this).parents('tr:first').find('td.price').attr('rel');
				if(!isNaN(price)) {
					price = totalVal*price;
					// find price holder
					var priceHolder = $(this).parents('tr:first').find('td[class*=priceTotal]');
					priceHolder.attr('rel',price);
					priceHolder.html(formatPrice(price));
					calcTotal();
				}
				
			}
		});	
		$("form#bForm").bind('submit', function(e) {
			var required = ["bName","bEmail","bAddress","bZip","bCity","bPhone"];
			var fieldLabels = ["Navn","E-mail","Adresse","Postnr.","By","Tlf"];
			var missing = [];
			for(var i=0;i<required.length;i++) {
				if($("#" + required[i]).val()=="") missing.push(i);
			}
			if(missing.length>0) {
				e.preventDefault();
				var err = "<div class='headline'>Fejl!</div><div class='msg'>Du mangler at udfylde:</div><ul>";
				for(i=0;i<missing.length;i++) {
					err += "<li>" + fieldLabels[missing[i]] + "</li>";
				}
				err += "</ul>";
				$("#errors").html(err);
			}
		});
		
		
		// make description pop up
		$("td.productName").hover(
			function() {
				if($("div#" + $(this).attr('rel') + ".product_description").html()!="") {
					$("div#" + $(this).attr('rel') + ".product_description")
					.css({
						'top': ($(this).position().top+23)+'px',
						'left': ($(this).position().left-1)+'px'
					})
					.show();
				}
			},
			function() {
				$("div#" + $(this).attr('rel') + ".product_description").hide();
			}
		);
		
	}

});


function calcTotal() {
	var totalVal = 0;
	jQuery.map($("table.bestilling td[class*=priceTotal][rel!='']"), function (a) { 
		if($(a).html().length>0) {
			totalVal += parseInt($(a).attr('rel')); 
		}
	});	
	$("th#totalPrice").attr('rel',totalVal).html(formatPrice(totalVal));
}

function formatPrice(num) {
	return "kr. " + num + ",-";
}

