// JavaScript Document

var restarievenform = '<div id="reservering-a-modo" title="">';
restarievenform += '<h1>Voorstelling</h1>';
restarievenform += '<p><em><span id="resdatumtijd"> </span></em></p>';
restarievenform += '<p><strong><span id="resproductie"> </span></strong></p>';
restarievenform += '<p>&nbsp;</p>';
restarievenform += '<h1>Kaarten</h1>';
restarievenform += '<table border="0" cellspacing="0" cellpadding="0">';
restarievenform += '<tr>';
restarievenform += '<td width="100"><p><strong>aantal</strong></p></td>';
restarievenform += '<td width="250"><p><strong>soort</strong></p></td>';
restarievenform += '<td width="80"><p><strong>tarief</strong></p>      </td>';
restarievenform += '</tr>';
restarievenform += '</table>';
restarievenform += '<table border="0" cellspacing="0" cellpadding="0" id="restarieven"></table>';
restarievenform += '<p>&nbsp;</p>';
restarievenform += '<div id="reservering-a-modo-fout"></div>';
restarievenform += '<p>&nbsp;</p>';
restarievenform += '</div>';
//restarievenform += '<div id="reserveringerrors">';
//restarievenform += '<h1>Let op</h1>';
//restarievenform += '<div id="resfoutmelding"></div>';
//restarievenform += '<p>&nbsp;</p>';
//restarievenform += '<p><input name="closefout_btn" type="submit" id="closefout_btn" value="ga verder" class="reserveerbtn"/></p>';
//restarievenform += '</div>';
restarievenform += '<div id="reserveringresult-a-modo" title="">';
restarievenform += '</div>';

$(document).ready(
	function(){
		$("body").append(restarievenform);
		
		getReserveringBasket();
	}
);
	
$(function(){
	// Dialog			
	$('#reservering-a-modo').dialog({
		autoOpen: false,
		width: 450,
		modal: true,
		resizable: false,
		title: "Kaarten selecteren",
		buttons: {
			"Annuleren": function() { 
				$(this).dialog("close");
			},
			"In winkelwagen": function() { 
				submitReservering(); 
			} 
		}
	});

	// Dialog Link
	$('.reserveringlink').click(function(event){
		$('#reservering-a-modo').dialog('open');
		currentVoorstelling = $(event.target).attr("name");
		getTarieven();
		return false;
	});
	
	// Dialog			
	$('#reserveringresult-a-modo').dialog({
		autoOpen: false,
		width: 300,
		height: 200,
		modal: true,
		resizable: false,
		title: "Fout",
		buttons: {
			"Ga verder": function() { 
				$(this).dialog("close"); 
				return false;
			}
		}
	});
		
});

var currentVoorstelling;

function showReserveringErrors(t){
	$("#reserveringresult-a-modo").empty();
	$("#reserveringresult-a-modo").append(t);
	$("#reserveringresult-a-modo").dialog('option', 'title', 'Fout');
	$("#reserveringresult-a-modo").dialog('option', 'width', 300);
	$("#reserveringresult-a-modo").dialog('option', 'height', "auto");
	$("#reserveringresult-a-modo").dialog('option','buttons',{"Ga verder":function(){$(this).dialog("close");}});
	$('#reserveringresult-a-modo').dialog('open');
	return false;
}

function submitReservering(){
	try{
		
		// zijn kaarten geslecteerd
		var i=0;
		$("#restarieven select").each(function(){
			i += parseInt($(this).val());
		});
		
		if(i<1){
			throw("<p>Geef eerst het aantal kaarten op.<p>");
		}
		
		var t="";
		var curTime = new Date();
		
		$("#restarieven select").each(function(){
			if(parseInt($(this).val())>0){
				t += $(this).attr("name")+"-"+$(this).val()+"[n]";
			}
		});

		$.ajax(
			{	type: "POST",
				url: "reserveren/resfill.php",
				cache: false,
				data: {	soort:"submitreservering",
						voorstelling:currentVoorstelling,
						tarieven:t,
						tijd:curTime.getTime()},
				dataType: "json",
				error: reserveringDataError,
				success: submitReserveringResult
			}
		);
		
	}catch(err){
		$("#reservering-a-modo-fout").empty();
		$("#reservering-a-modo-fout").append('<h1>Let op</h1>');
		$("#reservering-a-modo-fout").append(err);
		$("#reservering-a-modo-fout").append('<p>&nbsp;</p>');
	}
	return false;
}

function submitReserveringResult(data,result){
	if(data.error != null){
		showReserveringErrors(data.error,"restarieven",false);
	}else{
		$("#reservering-a-modo").dialog("close");
		var t = "<p>De kaarten zijn aan uw winkelwagen toegevoegd.</p>";
		t += "<p>Uw bestelling moet binnen dertig minuten afgerekend worden.</p>";
		t += "<p>&nbsp;</p>";
		t += "<p>U kunt direct naar het afrekenscherm door op de button 'afrekenen' te klikken.</p>";
		t += "<p>&nbsp;</p>";
		t += "<p>U kunt ook terug naar de website om nog voor andere voorstellingen kaarten te bestellen en uw reservering later bevestigen.</p>";
		$("#reserveringresult-a-modo").empty();
		$("#reserveringresult-a-modo").append(t);
		$("#reserveringresult-a-modo").dialog('option', 'title', 'Reservering');
		$("#reserveringresult-a-modo").dialog('option', 'width', 500);
		$("#reserveringresult-a-modo").dialog('option', 'height', "auto");
		$("#reserveringresult-a-modo").dialog('option','buttons',{"Afrekenen":function(){bevestigReservering();$("#reserveringresult-a-modo").dialog('close');},"Terug naar de website":function(){$(this).dialog("close");}});
		$('#reserveringresult-a-modo').dialog('open');
		getReserveringBasket();
	}
}

function bevestigReservering(){
	window.location.href = "winkelwagen.php";
}

function getTarieven(){
	var curTime = new Date();
	$.ajax(
			{	type: "POST",
				url: "reserveren/resfill.php",
				cache: false,
				data: {	soort:"gettarieven",
						voorstelling:currentVoorstelling,
						tijd:curTime.getTime()},
				dataType: "json",
				error: reserveringDataError,
				success: getTarievenResult
			}
		);
}

function getTarievenResult(data,result){
	if(data.error != null){
		showReserveringErrors(data.error,"restarieven",false);
	}else{
		$("#reservering-a-modo").show();
		$("#restarieven").empty();
		$("#resproductie").text(data.voorstelling.productie);
		$("#resdatumtijd").text(data.voorstelling.datum+" - "+data.voorstelling.tijd);
		for(var i=0;i<data.tarieven.length;i++){
			$("#restarieven").append(data.tarieven[i]);
		}
		$("#reserveer_btn").bind("click",function(){
			submitReservering();
		});
	}
}

function reserveringDataError(XMLHttpRequest, textStatus, errorThrown){
	var t = "";
	t += "<p>&nbsp;</p><p>Er is een probleem opgetreden.</p>";
	t += "<p>&nbsp;</p><p>U kunt uw reservering sturen naar: kassa@theaterwalhalla.nl.</p>";
	showReserveringErrors(t,"",false);
}

function getReserveringBasket(){
	var curTime = new Date();
	$.ajax(
		{	type: "POST",
			url: "reserveren/resfill.php",
			cache: false,
			data: {	soort:"getbasket",
					tijd:curTime.getTime()},
			dataType: "json",
			error: reserveringDataError,
			success: getBasketResult
		}
	);
}

function getBasketResult(data,result){
	
	$("#reserveringaantalkaarten").empty();
	$("#reserveringaantalkaarten").append(data.aantal);
	$("#reserveringtotaalbedrag").empty();
	$("#reserveringtotaalbedrag").append(data.bedrag);
	if(data.aantal == 0){
		$("#reserveringbasket").css({'visibility':'hidden','height':'0'});
	}else{
		$("#reserveringbasket").css({'visibility':'visible','height':'auto'});
	}
}

