function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)) {
		num = "0";
	}
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10) {
		cents = "0" + cents;
	}
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+'.'+
		num.substring(num.length-(4*i+3));
	}
	return (((sign)?'':'-') + '' + num + ',' + cents);
}

function calc_totals() {
	var total = 0;
	var data_obj = {order: [], total: 0};
	$("#form1 .tmp").remove();
	$('#order tbody tr').each(function(index) {
		var price = $(this).find('td:first-child span.price').text().toString().replace(/\$|\,/g,'');
		price = isNaN(price) ? 0 : price;
		var amount = $(this).find('td:nth-child(2) input').attr('value');
		amount = isNaN(amount) ? 0 : amount;
		var sub = amount*(price/100);
		$(this).find('td:last-child').html(formatCurrency(sub));//text().toString().replace(/\$|\,/g,'');
		total += sub;
		data_obj.order.push({iNr: sub, iDesc: 'random', iQuantity: amount, iPrice: price});
		$("#form1").append('<input type="hidden" class="tmp" name="title[]" value="Blanco">');
		$("#form1").append('<input type="hidden" class="tmp" name="price[]" value="' + price + '">');
		$("#form1").append('<input type="hidden" class="tmp" name="quantity[]" value="' + amount + '">');
	});
	
	data_obj.total = total;
	// $('#amount').attr('value',(total*100));
	$('#order tr.total td:last').html(formatCurrency(total));
	
	//get correct hash
	$.getJSON('hash.php?rid=' + Math.random(), data_obj,
		function(data) {
			$('#hash').attr('value', data.hash);
			$('#amount').attr('value', data.amount);
			$('#itemPrice1').attr('value', data.amount);
			$('#valid').attr('value', data.valid);
			save_data();
		});
}
function save_data() {
	$.ajax({
	  type: 'POST',
	  url: 'save.php',
	  data: $("#form1").serialize()
	});
}

$(document).ready(function() {
	$("#print_selection").hide();
	$("#print_selection").draggable({ handle: '.handle', containment: "parent" });
	$("#print_selection li a").click(function() {
		/* show active img */
		$("#print_selection a").removeClass('active');
		$(this).addClass('active');
		// change current order
		$("#order tr.current td:first-child").html($(this).find('img').attr('alt') + ' (&euro; <span class="price">' + formatCurrency($(this).attr('title')) + '</span>)<br><img src="' + $(this).find('img').attr('src') + '" class="example" title="' + $(this).attr('href') + '">');

		calc_totals();
		
		$('#krat').attr('src',$(this).attr('href'));
		
		return false;
	})
	
	$("#new_crate").click(function() {
		var n = $('#order tr.current').clone(true);
		$('#order tr.current').removeClass();
		var new_nr = $('#order tbody tr').length+1;
		n.find('input').each(function(index, value) {
			// alert('rep: ' + $(this).attr('name').toString() + ' > ' + $(this).attr('name').toString().replace(/\d+$/g,''));
			var new_name = $(this).attr('name').toString().replace(/\d+$/g,'') + new_nr;
			$(this).attr('name',new_name);
		});
		n.appendTo('#order tbody');
		calc_totals();
	})
	$("#order .example").click(function () {
		$("#print_selection").fadeIn('slow');
	});
	$("#order tbody tr").click(function () {
		// alert('change');
		$('#order tr.current').removeClass();
		$(this).addClass('current');
		$('#krat').attr('src',$(this).find('img.example').attr('title'));
	});
	
	$("#order tbody td input").keyup(function() {
		calc_totals();
	});
	
	$("#form1 input").blur(function() {
		// alert('save')
		save_data();
	});
	
	$("#form1").validate({
		onkeyup: true,
		onblur: false,
		rules: {
			zip: {
				required: true,
				minlength: 6
			},
			email: {
				required: true,
				email: true
			}
		},
		messages: {
			name: "Vul hier je naam in",
			zip: 'Vul hier je postcode in',
			nr: 'Vul hier je huisnummer in',
			email: "Vul hier een (geldig) e-mail adres in"
			
		},
		submitHandler: function(form) {
			var f = form;
			$.ajax({
				type: 'POST',
				url: 'save.php',
				data: {status: 'ideal'},
				success: function(data) {
					f.submit();
					
				}
			});
		}
	});
	toggleInfo = function(force) {
		if($('#info a.more').html() == 'meer info' || force == true) {
			$('#info a.more').html('minder info');
		} else {
			$('#info a.more').html('meer info');
		}
		if (force == true) {
			$('#more_info').slideDown('slow');
		} else {
			$('#more_info').slideToggle('slow');
		}
	}
	$('#dealer').hide();
	$('#contact').hide();
	$('#more_info').hide();
	$('#info a.more').click(toggleInfo);
	
	$('ul#nav a.info').click(function() {
		$('#dealer').hide();
		$('#contact').hide();
		$('#info').show();
		toggleInfo(true);
	});
	$('ul#nav a.dealer').click(function() {
		$('#dealer').show();
		$('#contact').hide();
		$('#info').hide();
	});
	$('ul#nav a.contact').click(function() {
		$('#dealer').hide();
		$('#contact').show();
		$('#info').hide();
	});
	$('#dealer, #contact, #info').append('<a href="#" class="close">close</a>');
	$('.close').click(function(){
		$(this).parent().hide();
	});
	calc_totals();
});
