// JavaScript Document

$(function() {
	if ($('.bestel-kaarten-form').length) {
		$('.cards-input input').each(function() {orderTickets($(this))});
    	$('.cards-input input').blur(function() {orderTickets($(this))});
		$('.send-copy input').attr('readonly', 'true');
		$('.send-copy input').addClass('readonly');
		$("div.form-errors").css('display', 'none');
		validateTicketForm();
		emailSendCopy();
	}
	
	
});

function emailSendCopy() {
	$('#m6fbrp__38').blur(function() {
		$('.send-copy input').val($(this).val());
	});
}

function orderTickets(inputElement) {
		
		var ticketAmount   = parseInt($(inputElement).val());
		if (!isNaN(ticketAmount)) {
			var parentElement  = $(inputElement).parent(); 
			var weekdayClass   = parentElement.attr('class').split(' ').slice(-1); 
			var weekday 	   = weekdayClass[0].replace(/cards-/, ""); 
			var hiddenTagName  = 'amount-'+weekday;
			var hiddenTagEl	   = $('#order-tickets-table input[name='+hiddenTagName+']');
			var dayTicketPrice = parseFloat($(hiddenTagEl).val());		
			var sumTicketPrice = moneyFormat('' + parseFloat(ticketAmount * dayTicketPrice));
			var sumTicketPriceHidden = '<input type="hidden" name="sumprice_'+ weekday +'" value="'+ sumTicketPrice +'" />';
			$(hiddenTagEl).parent().parent().find('.sumcol').html(sumTicketPrice + sumTicketPriceHidden);
			
			updateTotalPrice();
		}
}
function moneyFormat(number) {
	var intArray = number.split('.');
	
	if (intArray[1]) {
		if (intArray[1].length < 2) {
			intArray[1] = intArray[1] + '0';
		}
	} else {
		intArray[1] = '00';
	}
	
	return intArray[0] + ',' + intArray[1];
}
function updateTotalPrice() {
	var ticketPrices = 0;
	$('#order-tickets-table .sumcol').each(function() {
		if ($(this).html().length > 0) {
			thisPrice = $(this).html().replace(',', '.');
			ticketPrices = parseFloat(ticketPrices + parseFloat(thisPrice));
		}
	});
	if (!isNaN(ticketPrices)) {
		var sumTicketPrice = moneyFormat('' + ticketPrices);
		var sumTicketPriceHidden = '<input type="hidden" name="sumprice_total" value="'+ sumTicketPrice +'" />';

		$('#order-tickets-table').find('.totalsum').html(sumTicketPrice + sumTicketPriceHidden);
	}
}

function validateTicketForm() {
	$.validator.addMethod('postalCode', function (value) { 
		return /^([0-9]{4}[' ']{0,1}[a-zA-Z]{2})$/.test(value); 
	}, 'Please enter a valid Dutch postal code.');
	$.validator.addMethod('phoneNumber', function (value) { 
		return /^(\+[0-9]{2}|0)([0-9]{9}|[0-9]{1}-?[0-9]{8}|[0-9]{2}-?[0-9]{7}|[0-9]{3}-?[0-9]{6})$/.test(value); 
	}, 'Please enter a valid phonenumber.');
	
	// validate signup form on keyup and submit
	$("#m6moduleform_2").validate({
		errorLabelContainer: $("div.form-errors"),
		rules: {
			m6fbrp__32: "required", /* naam */
			m6fbrp__33: "required", /* voorletters */
			m6fbrp__34: "required", /* adres */
			m6fbrp__35: {			/* postcode */
				required: true,
				postalCode: true
			},
			m6fbrp__36: "required", /* woonplaats */
			m6fbrp__37: { 			/* telefoonnummer */
				required: true,
				phoneNumber: true
			},
			m6fbrp__38: {			 /* email */
				required: true,
				email: true
			},
			//m6fbrp__41: "required",	 /* bankrekeningnummer */
			//m6fbrp__42: "required",  /* rekeninghouder */
			m6fbrp__44: "digits",    /* aantal kaarten wo */
			m6fbrp__45: "digits",    /* aantal kaarten vr */
			m6fbrp__46: "digits",    /* aantal kaarten za */
			m6fbrp__47: "digits"     /* aantal kaarten zo */

		},
		messages: {
			m6fbrp__32: "Er is geen naam ingevuld",
			m6fbrp__33: "Er zijn geen voorletters ingevuld",
			m6fbrp__34: "Er is geen adres ingevuld",
			m6fbrp__35: {
				required: "Er is geen postcode ingevuld",
				postalCode: "Vul een geldige postcode in"
			},
			m6fbrp__36: "Er is geen woonplaats ingevuld",
			m6fbrp__37: {
				required: "Er is geen telefoonnummer ingevuld",
				phoneNumber: "Voer een geldig telefoonnummer in (geen spaties)"
			},
			m6fbrp__38: {
				required: "Er is geen e-mailadres ingevuld",
				email: "Voer een geldig e-mailadres in"
			},
			//m6fbrp__41: "Er is geen bankrekeningnummer ingevuld",
			//m6fbrp__42: "Er is geen rekeninghouder ingevuld",
			m6fbrp__44: "Vul een getal in voor het aantal kaarten op woensdag",
			m6fbrp__45: "Vul een getal in voor het aantal kaarten op vrijdag",
			m6fbrp__46: "Vul een getal in voor het aantal kaarten op zaterdag",
			m6fbrp__47: "Vul een getal in voor het aantal kaarten op zondag"
		}
	});
}