$(document).ready(function() {
    var eventId = $("#eventId").val();
    var language = $("#language").val();
    var step = $("input[name='step']").val();
    var step2 = $("input[name='step2']").val();

    // Beim Laden muss geprüft werden, was schon angeklickt ist und danach der Preis berechnet werden (step1) oder es wird der Startpreis angezeigt
    // Bei jedem Start der Seit muss gecheckt werden, was angeklickt wurde.
    var uri1 = document.location.href.toLowerCase();
    if (uri1.indexOf("contact") == -1 && uri1.indexOf("kontakt") == -1 && uri1.indexOf("ausstellung") == -1)
    {
        selectionArr = getCheckButtons(eventId);

	if (step == 1 && eventId)
	{
	// 	Preis fuer die Statusbox
	    setPriceStatusboxRight (eventId,selectionArr,language);
	}

	if (step == 2)
	{
		// 	Preis fuer die Statusbox
		setRabatt (eventId,language);
	}

	if (step == 3)
	{
	    // 	Preis fuer die Statusbox
	    setStatusBoxRight(eventId,language);
	}
    }

    // bei jedem Click wird ausgewertet, was angeklickt wurde
    $("input").click ( function ()	{
        selectionArr = "";
        selectionArr = getCheckButtons(eventId);

        if (step == 1)
            setPriceStatusboxRight (eventId,selectionArr, language);
        if (step == 2)
        {
            // Der "Next-Button" soll nichts auslösen, nur absenden
            if ($(this).attr("id") !=  "next")
            setRabatt (eventId, language);
        }
    });

});

// Rabatt fuer Step 2 berechnen
function setRabatt (eventId,language)
{
	var participant_label 	= "";
	var amount_label		= "";
	if (language == "en")
	{
	    participant_label 	= "Participant";
	    amount_label		= "Amount";
	} else {
	    participant_label 	= "Teilnehmer";
	    amount_label		= "Summe";
	}
	var participant_nr_current = $("#participant_nr_current").val();
	rabattAvailable = false;
	rabatt = new Object();
	$("input[action='rabatt']:checked").each ( function () {
	    if ($(this).attr('checked') == 'checked')
	    {
			rabatt[$(this).attr('id')] = 1;
			rabattAvailable = true;
	    }
	});

	// Die Preisbasis kommt aus einem Hidden-Feld
	price_normal = $("#price_normal").val();
	if (rabattAvailable == false)
	{
	    $("#participant_nr").html(participant_label+" "+participant_nr_current);
	    $("#price").html(amount_label+": "+parseFloat(price_normal).toFixed(2));
	} else
	{
    	var ajaxBaseURL = "/db/db_queryAjaxNew.php?eventId="+eventId+"&target=rabatt&price_normal="+price_normal;
	    $.ajax (
	    {
		    dataType: "json",
		    url: ajaxBaseURL,
			type: "POST",
		    data: rabatt,
		    success: function (ajaxData)
		    {
			    var anzahlDatensaetze = ajaxData.length;
			    var day = [];
			    day['id'] = ajaxData[0].id;
			    day['paysettingid'] = ajaxData[0].paysettingid;
			    day['eventId'] = ajaxData[0].eventId;
			    day['priceEarly'] = ajaxData[0].priceEarly;
			    day['priceNormal'] = ajaxData[0].Price;

			    //Uebergabe der Werte an die Box zur Darstellung
			    // hier wird die id des angeklickten Radio-Buttons verwendet
			    $("#participant_nr").html(participant_label+" "+participant_nr_current);
			    $("#price").html(amount_label+": "+parseFloat(day['priceNormal']).toFixed(2));
		    },
		    error: function (xhr, ajaxOptions, thrownError)
		    {
// 				alert(xhr.status);
// 				alert('fehler'+thrownError);
		    }
	    });
	}
}

// in step3 muss nur die Box gefuellt werden
function setStatusBoxRight (eventId,language)
{
    var participant_label 	= "";
    var amount_label		= "";
    if (language == "en")
    {
		participant_label 	= "Participant";
		amount_label		= "Amount";
    } else {
		participant_label 	= "Teilnehmer";
		amount_label		= "Summe";
    }
    var participant_nr_current = $("#participant_nr_current").val();
    price_normal = $("#price_normal[name='price_normal']").val();
    rabatt = new Object();
    rabatt[$("#rabatt_name").val()] = 1;
    var ajaxBaseURL = "/db/db_queryAjaxNew.php?eventId="+eventId+"&target=rabatt&price_normal="+price_normal;
    $.ajax (
    {
	    dataType: "json",
	    url: ajaxBaseURL,
		type: "POST",
	    data: rabatt,
	    success: function (ajaxData)
	    {
		    var anzahlDatensaetze = ajaxData.length;
		    var day = [];
// 		    alert(anzahlDatensaetze);
		    day = [];
		    day['id'] = ajaxData[0].id;
		    day['paysettingid'] = ajaxData[0].paysettingid;
		    day['eventId'] = ajaxData[0].eventId;
		    day['priceEarly'] = ajaxData[0].priceEarly;
		    day['priceNormal'] = ajaxData[0].Price;
		    //Uebergabe der Werte an die Box zur Darstellung
		    // hier wird die id des angeklickten Radio-Buttons verwendet
		    $("#participant_nr").html(participant_label+" "+participant_nr_current);
		    $("#price").html(amount_label+": "+parseFloat(day['priceNormal']).toFixed(2));
	    },
	    error: function (xhr, ajaxOptions, thrownError)
	    {
// 			alert(xhr.status);
// 			alert(thrownError);
	    }
    });
}


// welcher Button ist angeklickt
function getCheckButtons(eventId)
{
    selectionArr 			= new Object();
    conflictArr 			= new Object();
    selectionArr['day_selection'] 	= new Object();
    selectionArr['selected_session'] 	= new Object();
    selectionArr['selected_workshop'] 	= new Object();
    selectionArr['rabatt'] 		= new Object();
    conflictArr['session'] 		= new Object();
    conflictArr['workshop'] 		= new Object();
    // welche Tage wurden ausgewaehlt (step1)
    $("input[group='day_selection']:checked").each ( function () {
	if ($(this).attr('checked') == 'checked')
	{
	    selectionArr['day_selection'][$(this).attr('id')] = 1;
	}
    });

    // alle entfärben
    $("input[group='session']").each ( function () {
	sessionClassDay = ($(this).attr('dayDate'));
	sessionClassTimeSpan = ($(this).attr('timeSpan'));
	$("td[marker='"+sessionClassDay+sessionClassTimeSpan+"']").attr('style','');
    });
    // welche Session,Classes wurden ausgewaehlt (step1)
    $("input[group='session']:checked").each ( function () {
	if ($(this).attr('checked') == 'checked')
	{
	    selectionArr['selected_session'][$(this).attr('subeventid')] = 1;

	    // Setzen des ConflictArrays für Sessions
	    conflictArr['session'][$(this).attr('dayDate')] = new Object();
	    if ($(this).attr('timeSpan') == "amPm")
	    {
		conflictArr['session_'+$(this).attr('dayDate')+'am'] = 1;
		conflictArr['session_'+$(this).attr('dayDate')+'pm'] = 1;
	    }
	    conflictArr['session_'+$(this).attr('dayDate')+$(this).attr('timeSpan')] = 1;
	}
	sessionClassDay = ($(this).attr('dayDate'));
	sessionClassTimeSpan = ($(this).attr('timeSpan'));
	$("td[marker='"+sessionClassDay+sessionClassTimeSpan+"']").attr('style','');
    });



    // welche Workshops/Tutorials wurden ausgewaehlt  (step1)
    $("input[group='workshop']:checked").each ( function () {
	sessionClassId = ($(this).attr('id'));
	sessionClassDay = ($(this).attr('dayDate'));
	sessionClassTimeSpan = ($(this).attr('timeSpan'));
	$("td[marker='"+sessionClassDay+sessionClassTimeSpan+"']").attr('style','');

    });


    message = "";

    // zweite Schleife über die Classes
    $("input[group='workshop']:checked").each ( function () {

	sessionClassId = ($(this).attr('id'));
	sessionClassDay = ($(this).attr('dayDate'));
	sessionClassTimeSpan = ($(this).attr('timeSpan'));
	color = "#"+$("#colorWarning").val();

	if ($(this).attr('checked') == 'checked')
	{
	    selectionArr['selected_workshop'][$(this).attr('subeventid')] = 1;
	    // Zeitüberlappung
	    conflictArr['workshop'][$(this).attr('dayDate')] = new Object();
	    if ($(this).attr('timeSpan') == "amPm")
	    {

		if (conflictArr['workshop_'+$(this).attr('dayDate')+'am'] == 1 || conflictArr['workshop_'+$(this).attr('dayDate')+'pm'] == 1 || conflictArr['session_'+$(this).attr('dayDate')+'am'] == 1 || conflictArr['session_'+$(this).attr('dayDate')+'pm'] == 1)
		{
		    message = "yes";
		    // farbliche Markierung des Fehlers
		    $("td[marker='"+sessionClassDay+"am']").each ( function () {
			if ($(this).find('input').attr('checked') == 'checked')
			    $(this).attr('style','background-color:'+color);
		    });
		    $("td[marker='"+sessionClassDay+"pm']").each ( function () {
			if ($(this).find('input').attr('checked') == 'checked')
			    $(this).attr('style','background-color:'+color);
		    });
		    $("td[marker='"+sessionClassDay+"amPm']").each ( function () {
			if ($(this).find('input').attr('checked') == 'checked')
			    $(this).attr('style','background-color:'+color);
		    });

		}
		conflictArr['workshop_'+$(this).attr('dayDate')+'am'] = 1;
		conflictArr['workshop_'+$(this).attr('dayDate')+'pm'] = 1;

	    } else
	    {
		if (conflictArr['workshop_'+$(this).attr('dayDate')+$(this).attr('timeSpan')] == 1 || conflictArr['session_'+$(this).attr('dayDate')+$(this).attr('timeSpan')] == 1)
		{
		    message = "yes";
		    // farbliche Markierung des Fehlers
		    $("td[marker='"+sessionClassDay+sessionClassTimeSpan+"']").each ( function () {
			if ($(this).find('input').attr('checked') == 'checked')
			    $(this).attr('style','background-color:'+color);
		    });
		    $("td[marker='"+sessionClassDay+"amPm']").each ( function () {
			if ($(this).find('input').attr('checked') == 'checked')
			    $(this).attr('style','background-color:'+color);
		    });
		}
	    }
	    conflictArr['workshop_'+$(this).attr('dayDate')+$(this).attr('timeSpan')] = 1;
	}
    });

    //     einmaliges Anzeigen der Fehlermeldung
    var eventId = $("#eventId").val();
    var language = $("#language").val();
    pathToConf = $("#path_to_conf").val();
    if (message != "") {
 	$lb.launch({ url: "misc/error_message.php?path="+pathToConf+"&eventId="+eventId+"&language="+language, options: "showPrint:false, width:200px; height:220px", 'title': "Warning" });
	$("#submitbuttonStep1").attr('style', 'display:none');
    } else
	$("#submitbuttonStep1").removeAttr("style", "display:none");

    // welcher Rabatt wurden ausgewaehlt  (step2)
    $("input[group='rabatt']:checked").each ( function () {
	if ($(this).attr('checked') == 'checked')
	{
	    selectionArr['rabatt'][$(this).attr('id')] = 1;
	}
    });
    return selectionArr;
}


// Preis fuer Step 1
function setPriceStatusboxRight (eventId, selectionArr, language)
{
    var participant_label 	= "";
    var amount_label		= "";
    if (language == "en")
    {
	participant_label 	= "Participant";
	amount_label		= "Amount";
    } else {
	participant_label 	= "Teilnehmer";
	amount_label		= "Summe";
    }

    // Participant Nummer
    var participant_nr_current = $("#participant_nr_current").val();
    // Bestimmen des Preises durch die angeklickten Felder
    $("#participant_nr").html(participant_label+" "+participant_nr_current);
    $("#price").html(amount_label+": 0");
    pathToConf = $("#path_to_conf").val();
    var ajaxBaseURL = "/db/db_queryAjaxNew.php?eventId="+eventId+"&target=getEarlyNormalDate";
    $.ajax (
    {
	dataType: "json",
	url: ajaxBaseURL,
	async: false,
	success: function (ajaxData)
	{
	    var anzahlDatensaetze1 = ajaxData.length;
	    current = ajaxData[0].current;
// 	    alert(current);

	    // welche Preise gibt es überhaupt
	    var ajaxBaseURL = "/db/db_queryAjaxNew.php?eventId="+eventId+"&target=getPriceFromPaysettingsAutomotive&path="+pathToConf;
	    $.ajax (
	    {
		dataType: "json",
		url: ajaxBaseURL,
		async: false,
		data: selectionArr,
		success: function (ajaxData1)
		{
		    var anzahlDatensaetze2 = ajaxData1.length;
// 		    alert(anzahlDatensaetze2);
		    var price = 0;

		    if (current == "priceEarly")
			price = (parseFloat(ajaxData1[0].priceEarly));
		    else
			price = (parseFloat(ajaxData1[0].priceNormal));

		    $("#participant_nr").html(participant_label+" "+participant_nr_current);
		    $("#price").html(amount_label+": "+parseFloat(price).toFixed(2));

		},
		error: function (xhr, ajaxOptions, thrownError){
//                     alert(xhr.status);
//                     alert("inner: "+thrownError);
		}
	    });
	}
    });
    // wenn im Step > 1 keine Felder vorhanden sind, wird der Preis und der Part aus den Hidden-Feldern ausgelesen
    if (selectionArr == null)
    {
	$("#participant_nr").html(participant_label+" "+participant_nr_current);
	$("#price").html(amount_label+": "+parseFloat($("#price_normal").val()).toFixed(2));
    }
}
