$(document).ready(function() {

	$("a.tooltip-trigger").tooltip();
	
	$("a.fancybox").fancybox({
		'overlayOpacity': 0.8,
		'zoomSpeedIn': 400,
		'zoomSpeedOut': 200
	});
	$("a#inline").fancybox({ 
		'frameWidth': 600,
		'frameHeight': 520,
		'padding': 20,
		'overlayOpacity': 0.8,
		'zoomSpeedIn': 400,
		'zoomSpeedOut': 200 
	});

	// Catering form
	var form = $('form#menu-form');
	form.submit(order_validate).find('.order-quantity input').blur(order_set_ordered).focus(order_set_ordered);
	
	function order_set_ordered(event) {
	
		var value = parseInt($(this).val());
		
		if(value != '' && value > 0) {
			$(this).parents('tr').addClass('ordered-item');
		} else {
			$(this).parents('tr').removeClass('ordered-item');
		}
		
		update_order_total();
	}
	
	function update_order_total() {
	
		var total = 0;
		
		form.find('.order-quantity input').each(function() {
		
			var value = parseInt($(this).val());
			var item_total = 0;
			
			if(!isNaN(value)) {
				item_total = value * 10;
			}
			
			total += item_total;
		});
		
		total = parseFloat(total);
		$('h2#order-total-display').text('$'+ number_format(total, 2, '.', ','));
		$('input#order-total').val(total);
	}
	
	function order_validate() {
	
		var errors = 0;
		var valid = false;
		
		if(form.find('input[name=order[customer_name]]').val() == '') {errors++;}
		if(form.find('input[name=order[customer_phone]]').val() == '') {errors++;}
		
		if(errors > 0) {
			valid = false;
		} else {
			valid = true;
		}
		
		if(!valid) {
			alert('You have not completed the form, please make sure you have filled in all the required fields.');
		}
		
		return valid;
	}
	
	function number_format(number, decimals, dec_point, thousands_sep) {
		var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
		// Fix for IE parseFloat(0.55).toFixed(0) = 0;
		s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
		if (s[0].length > 3) {
			s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
		}
		if ((s[1] || '').length < prec) {
			s[1] = s[1] || '';
			s[1] += new Array(prec - s[1].length + 1).join('0');
		}
		return s.join(dec);
	}
});