
var scholenLimit = 1;
var numDiffTickets = 0;
var arrDiff;

function submitOrderForm(form) {
    if(mode == "abo") {
    	var _obj = document.getElementById("tickets");
    	var ticket_array = _obj.value.split(",");
    	
    	var aantal = 0;
    	
    	var unique_ticket_array = new Array();
    	
    	for (var i = 0; i<ticket_array.length; i++) {
    		var ticket = ticket_array[i].split("_");
    		
    		ticket = ticket[0];
    		
    		if(ticket) {
	    		
	    		var f = false;
	    		for (var u = 0; u < unique_ticket_array.length; u++) {
	    	
	    			if (ticket == unique_ticket_array[u]) {
	    				f = true;
	    				break;
	    			}
	    		}
	    		
	    		if (!f) {
	    			unique_ticket_array.push(ticket);
	    			aantal++;
	    		}
    		}
    	}
    	
    	if(aantal<min_abo) {
    		_obj = document.getElementById("form_tickets_errors");
        	_obj.innerHTML = "<span class='error'>selecteer minstens " + min_abo + " verschillende voorstellingen per abonnee</span>";
    	} else {
    		document.getElementById("form_tickets").submit();
    	}
    } else {
    	var _obj = document.getElementById("aantal");
    	
    	if (_obj.value) {
        	document.getElementById("form_tickets").submit();
        } else {
        	_obj = document.getElementById("form_tickets_errors");
        	_obj.innerHTML = "<span class='error'>selecteer een voorstelling/activiteit</span>";
        }		
    }
}

function checkAbo(evt) {
	
	if (document.getElementById(evt.id.split("chk").join("btn"))) {
		_obj = document.getElementById(evt.id.split("chk").join("btn"));
		_obj.disabled = !evt.checked;
	}
	
	var id = evt.id.split("chk").join("");
	
	var price_array = document.getElementById("price_" + id + "_array").value;
	price_array = price_array.split(",");
	_obj = document.getElementById("price_" + id + "_2");
	
	if (evt.checked) {
		_obj.value = aantal_abo;
		tickets_summary(_obj);
	} else {
		for (var i = 0; i<price_array.length; i++) {
			_obj = document.getElementById("price_" + id + "_" + price_array[i]);
			
			while (_obj.value != "0") {
				price_min(_obj.id.split("price_").join(""));
			}
		}
	}
}

function submitAbonnementForm(form) {
	document.getElementById("form_abonnement").submit(); 
}


function resultUserDataForm(id) 
{
	if(mode != "abo") {
		window.location = "/bestellen/" + mode + "/stap3/user-id/" + id;
	} else {
		window.location = "/bestellen/abonnement/stap4/user-id/" + id;
	}
}

function errorAboLimit(aant) 
{
	/*var params = "&tickets=" + ticket_array.join(",");
	params += "&aantal=" + aantal_array.join(",");
	params += "&prijs=" + prijs_array.join(",");
	params += "&mode=" + mode;*/
	var params = "";
	
	jQuery.ajax({
		   type: "POST",
		   url: "/ajax/get-error-abo-limit/",
		   data: "aant=" + aant,
		   success: function(msg){
				msg = eval(msg);
			
				alert(msg);
		   }
		 });
	//alert("je mag niet meer dan 4 extra tickets bestellen!")
}

function updateNumber(e) 
{
	var id = e.id;
		
	var _obj = document.getElementById(id);
	var prijs = document.getElementById(id + "_value").value;
	var limit = aboLimit;
	
	if (mode == "abo") {
		if (document.getElementById(id + "_limit")) {
			limit = document.getElementById(id + "_limit").value
		}
	}

	
	var aantal = e.value;
	var total = 0;
	
	if (mode == "abo") {
	
		var parentId = id.split("_");
		parentId = parentId[1];
	
		jQuery("#reductions_" + parentId).find("input[type=text]").each(function(){
			total += parseInt(jQuery(this).val());
		});
		//total+=1;
	}
	if(mode == "abo" && total > limit) {
		
		aantal = 0;
		e.value = 0;
		errorAboLimit(limit);
	}

	tickets_summary(_obj);
	
	var _obj = document.getElementById(id + "_amount");
	_obj.innerHTML = "&euro; " + (aantal*prijs);
}
var ajax = false;
var initSummary = false;
function tickets_summary(_obj) {
	var totaal_bedrag = 0;
	var totaal_aantal = 0;
	
	if (_obj) {
		var id = _obj.id.split("price_").join("");
		var aantal = _obj.value;
		var prijs = document.getElementById("price_" + id + "_value").value;
		
		var f = false;
		
		for(var i = 0;i<ticket_array.length;i++)
		{
			if(ticket_array[i] == id)
			{
				f = true;
				ticket_array[i] = id;
				aantal_array[i] = aantal;
				prijs_array[i] = prijs;
				break;
			}
		}
		
		if (!f) {
			ticket_array.push(id);
			aantal_array.push(aantal);
			prijs_array.push(prijs);
		}
		
		var temp_ticket_array = new Array();
		var temp_aantal_array = new Array();
		var temp_prijs_array = new Array();
		
		for (var i = 0;i<aantal_array.length;i++) {
			if (aantal_array[i]!=0) {
				temp_ticket_array.push(ticket_array[i]);
				temp_aantal_array.push(aantal_array[i]);
				temp_prijs_array.push(prijs_array[i]);
			}
		}
		
		ticket_array = temp_ticket_array;
		aantal_array = temp_aantal_array;
		prijs_array = temp_prijs_array;
	}
	
	var msg = "";
	
	if (ticket_array.length==0) {
		msg = "nog geen tickets besteld";
	} else {
		var title_array = new Array();

		for (var i = 0;i<ticket_array.length;i++) {
			var id_array = ticket_array[i].split("_");
			var event_id = id_array[0];
			var price_id = id_array[1];
			title_array.push(document.getElementById("title_" + event_id).innerHTML + " - " + document.getElementById("subtitle_" + event_id).innerHTML);
		}
	}
		
	jQuery(document).ready(function() {		
		if (!totaal_bedrag) {
			totaal_bedrag = 0;
		}
		
		jQuery("#price_total").html("totaal: &euro; " + totaal_bedrag);
		
		if (!totaal_aantal) {
			totaal_aantal = 0;
		}
		
		jQuery("#tickets").val(ticket_array.join(","));
		jQuery("#aantal").val(aantal_array.join(","));
		jQuery("#prijs").val(prijs_array.join(","));
		
		jQuery("#price_number").html("aantal: " + totaal_aantal);
		
		/*alert("test");
		
		if (_obj == null) {
			alert("lol");
			ajax = true;
			getSummary();
			ajax = false;
		} else */
		if (!initSummary || !ajax) {
			
			initSummary = true;
			getSummary();
		}
	});
}

function getSummaryAjax()
{
	jQuery("#tickets_summary").html("bezig&nbsp;met&nbsp;laden");

	var params = "&tickets=" + ticket_array.join(",");
	params += "&aantal=" + aantal_array.join(",");
	params += "&prijs=" + prijs_array.join(",");
	params += "&mode=" + mode;
	
	jQuery.ajax({
		   type: "POST",
		   url: "/ajax/get-ticket-summary/",
		   data: params,
		   success: function(msg){
				msg = eval(msg);
				jQuery("#tickets_summary").html(msg);
				setTimeout("getSummary();",10000);
		   }
		 });
}

function getSummary() 
{	
	
	/* met ajax zorgt ervoor dat de server te veel moet verwerken */
	if (ajax) {
		
		getSummaryAjax();
	} else {
		var extra = " style='width:100px;'";
		var msg = "<table cellspacing='0' style='width:100%;" + extra + "'>";
	
		var old_title = "";
		var totalAbo = 0;
		var totalQuantity = 0;
		var totalPrice = 0;

		var specialCount = 0;
		var aant = 0;
	
		for (var i = 0; i<ticket_array.length;i++) {
			var id_array = ticket_array[i].split("_");
			var id = id_array[0];
			var price_id = id_array[1];
			var title = document.getElementById("title_" + id).innerHTML;
					
			if (document.getElementById("special_" + id)) {
				var special = document.getElementById("special_" + id).value;
				specialCount+= parseInt(special);
			} 
			
			aant++;
			var subtitle = document.getElementById("subtitle_" + id).innerHTML;
			var price_value = document.getElementById("price_" + id + "_" + price_id + "_value").value;
			var price_label = "";
			var price_label_obj = document.getElementById("price_" + id + "_" + price_id + "_label");
			var date = document.getElementById("date_" + id);
			
			if (price_id != 2) {
				price_label = price_label_obj.innerHTML;
			} else {
				totalAbo++;
				price_label = price_label_obj.value;
			}
			
			var price_amount = document.getElementById("price_" + id + "_" + price_id).value;
		
			totalQuantity += parseInt(price_amount);
			
			if (title != old_title && old_title != "") {
				msg += "<tr><td colspan='3'>&nbsp;</td></tr>";
				msg += "<tr><td colspan='3' class='orderSummarySeperator'>&nbsp;</td></tr>";
			}
			
			if (title != old_title || old_title == "") {
				msg += "<tr><td colspan='3'><b>" + title + " - " + subtitle + "</b></td></tr>"
				if (date) {
					msg += "<tr><td colspan='3'>" + date.innerHTML + "</td></tr>"
				}
				msg += "<tr><td colspan='3'>&nbsp;</td></tr>";
			}
			
			var price = price_value * price_amount;
			totalPrice += price;
			
			msg += "<tr><td" + extra + ">" + price_label + "</td>";
			msg += "<td>" + price_amount + "x</td>";
			msg += "<td>&euro;&nbsp;" + price_value + "</td></tr>";
			
			old_title = title;
	
	
		}
		////////////////////////
		msg += "<tr><td colspan='3'>&nbsp;</td></tr>";
		msg += "<tr><td colspan='3' class='orderSummarySeperator'>&nbsp;</td></tr>";
		
	
		if (mode == "abo") {
			if (totalAbo>=aboReductionNumber) {
				aboReduction = totalAbo * aantal_abo;
				totalPrice-= aboReduction;
				aboReduction = "-&nbsp;&euro;&nbsp;" + aboReduction;
			} else {
				aboReduction = "-";
			}
	
			msg += "<tr><td colspan='2'><b>extra reductie vanaf " + aboReductionNumber + "de voorstelling:</b></td><td>" + aboReduction + "</td></tr>";
		}
	
	
		if (specialCount != aant) {
			if (mode != "scholen" && mode != "educatieve-activiteiten") {
				totalPrice = totalPrice+shippingCost;
				if (totalQuantity > 0) {
					msg += "<tr><td colspan='2'><b>verzendingskosten:</b></td><td>+&nbsp;&euro;&nbsp;" + shippingCost + "</td></tr>";
				}
			}
		}
	
		msg += "<tr><td><b>totaal:</b></td>";
		//msg += "<td" + extra + ">" + totalQuantity + "x</td>";
		msg += "<td>&nbsp;</td>";
		msg += "<td>&euro;&nbsp;" + totalPrice + "</td></tr>";
		msg += "</table>";
	
		if (!totalQuantity) {
			msg = "u heeft nog niets besteld";
		}
		
		msg += "</table>";
		jQuery("#tickets_summary").html(msg);
	}
}
function getUniqueTickets()
{
	var unique_ticket_array = new Array();
	for (var i = 0; i<ticket_array.length; i++) {
		var ticket = ticket_array[i].split("_");
		ticket = ticket[0];
		if(ticket) {
    		var f = false;
    		for (var u = 0; u < unique_ticket_array.length; u++) {
    			if (ticket == unique_ticket_array[u]) {
    				f = true;
    				break;
    			}
    		}
    		if (!f) {
    			unique_ticket_array.push(ticket);
    		}
		}
	}
	return unique_ticket_array;
}
function price_plus(id)
{
	var can = true;
	if (mode == "scholen") {
		var ticket = id.split("_")[0];
		var uniqueTickets = getUniqueTickets();
		if(uniqueTickets.length > 0) {
			if (uniqueTickets[0] != ticket) {
				can = false;
				alert("scholen kunnen slechts 1 voorstelling kiezen per bestelling")
			}
		}
	}
	
	var _obj = document.getElementById("price_" + id);
	var prijs = document.getElementById("price_" + id + "_value").value;
	
	var aantal = parseInt(_obj.value)+1;
	
	if (!can) {
		aantal = parseInt(_obj.value);
	}
	
	var limit = aboLimit;
	var total = 0;
	
	if (mode == "abo") {
		if (document.getElementById("price_" + id + "_limit")) {
			limit = document.getElementById("price_" + id + "_limit").value;
		}
		var parentId = id.split("_");
		parentId = parentId[0];
	
		
		jQuery("#reductions_" + parentId).find("input[type=text]").each(function(){
			total += parseInt(jQuery(this).val());
		});
		total+=1;

	}
	//alert(aantal)
	//alert(limit);
	
	if(mode == "abo" && total > limit) {
		aantal-=1;
		errorAboLimit(limit);
	}
	
	_obj.value = aantal;
	
	tickets_summary(_obj);
	
	var _obj = document.getElementById("price_" + id + "_amount");
	_obj.innerHTML = "&euro; " + (aantal*prijs);
}
function price_min(id)
{
	var _obj = document.getElementById("price_" + id);
	var prijs = document.getElementById("price_" + id + "_value").value;
	var aantal = parseInt(_obj.value)-1;
	
	if(aantal<0) {
		aantal = 0;
	}
	//console.log(id + " " + aantal);
	_obj.value = aantal;
	
	tickets_summary(_obj);
	
	var _obj = document.getElementById("price_" + id + "_amount");

	if (_obj) {
		_obj.innerHTML = "&euro; " + (aantal*prijs);
	}
}
function showSchoolLimitError() 
{

}
