/*
Author: David Pisek (david.pisek@styleflasher.at)
*/
///////////////////////////////////////////////////////////
//Konfiguration
///////////////////////////////////////////////////////////


/**
*Locaction des Backend-Scripts
*/

var calculatorUrl = "http://www.erlebnistherme-zillertal.at/lib/thrdparty/dave/calculation.php";
//var calculatorUrl = "http://develop/erlebnistherme-zillertal.at/lib/thrdparty/dave/calculation.php";


/**
* Konfiguration -> Die jeweiligen Array-Indezes werden in den Calculator-Objekten als String gespeichert 
* zb.: tickets - "0,1,2" = Einzelticket, Familienticket, Saisonkarte			
*/
var ticketTypes = Array(
				"Einzelticket",
				"Familienticket",
				"Saisonkarte",
				"3 Std. 10er-Block",
				"Jahreskarte"
			);
			
var alter  = Array(
				"ab 6",
				"ab 15",
				"ab 18"
			);

var dauer = Array (
				"2 Stunden",
				"3 Stunden",
				"4 Std.-Kombi",
				"2 Std.-Vormittagsk.",
				"Tageskarte",
				"Abendkarte",
				"3 Std. 10er-Block"
			);
//Bei diesen Tickets werden kein Datum bzw. Dauer angezeigt
var specialTickets = Array(
				"Saisonkarte",
				"10er-Block",
				"Jahreskarte"
	);

//Zusatzinfos fÃ¼r die jeweilige Dauer
var ticketInfo = Array();
ticketInfo['Freibad'] = Array();
ticketInfo['Freibad']['Abendkarte']   =  "(17.00 - 19 Uhr)";
ticketInfo['Freibad']['Saisonkarte']  = "(1.05 - 31.10.2007)";

ticketInfo['Therme'] = Array();
ticketInfo['Therme']['Abendkarte']    = "(17:30 - 21:30 Uhr)";
ticketInfo['Therme']['Saisonkarte']  = "(01.11 - 30.04)";


ticketInfo['Sauna'] = Array();
//ticketInfo['Sauna']['Abendkarte']  = "(18.00 - 22 Uhr)";
ticketInfo['Sauna']['Saisonkarte']  = "(1.05 - 31.10.2007)";

ticketInfo['ThermeFreibad'] = Array();
ticketInfo['ThermeFreibad']['Abendkarte']  = "(17.00 - 22 Uhr)";
ticketInfo['ThermeFreibad']['Saisonkarte']  = "(1.05 - 31.10.2007)";

//Zusatzinfos, welche neben dem Preis aufscheinen
var addInfo = Array();

addInfo['Sauna'] = Array();
addInfo['Sauna']['3 Std. 10er-Block'] = "10 + 1 Eintritt (An Wochenenden und Feiertagen 10% Aufpreis)";

addInfo['Freibad'] = Array();
addInfo['Freibad']['Saisonkarte']  = "(zuzÃ¼glich 10, -- â‚¬ Armbandpfand)";

addInfo['Therme'] = Array();
addInfo['Therme']['Saisonkarte']  = "(zuzÃ¼glich 10, -- â‚¬ Armbandpfand)";
addInfo['Therme']['3 Std. 10er-Block'] = "10 + 1 Eintritt (An Wochenenden und Feiertagen 10% Aufpreis)";


addInfo['ThermeFreibad'] = Array();
addInfo['ThermeFreibad']['Saisonkarte']  = "(zuzÃ¼glich 10, -- â‚¬ Armbandpfand)";
addInfo['ThermeFreibad']['Jahreskarte']  = "(zuzÃ¼glich 10, -- â‚¬ Armbandpfand)";

addInfo['Eislauf'] = Array();
addInfo['Eislauf']['Einzelticket'] = "Schlittschuhverleih: Kinder und Jugendliche: 2,00 Euro, Erwachsene: 3,00 Euro";
addInfo['Eislauf']['3 Std. 10er-Block'] = "10 + 1 Eintritt (An Wochenenden und Feiertagen 10% Aufpreis)";



var infoText = Array(
	"<span>Familienrabatt:</span> <br /> 5% bei einem Kind <br /> 10% bei 2 Kindern <br /> 15% bei drei Kindern",
	"Freier Eintritt fÃ¼r Kinder unter sechs Jahren in Begleitung einer volljÃ¤hrigen Aufsichtsperson."
);
	
var addInfoDurations = Array("2 Stunden", "3 Stunden", "2 Std.-Vormittagsk.");
var addInfoDurationsText = "(Bei Ãœberziehung Aufzahlung pro 1/2 Stunde lt. Preisliste bis zum jeweiligen Tageskartentarif)";
	

///////////////////////////////////////////////////////////
//Die Konkreten Objekte
///////////////////////////////////////////////////////////


/**
*Das Freibad-Objekt - EnthÃ¤lt die Konfiguration fÃ¼r den Freibadbereich
**/
function Freibad() {
	//***Bennenung der Formular-Felder 
	this.names = Array();
	this.names[0] = alter;
	this.names[1] = dauer;
	
	//***Konfiguration (0 = Alter, 1 = Dauer)
	this.tickets = new Array();
	
	//Einzelticket
	this.tickets['Einzelticket'] = new Array();
	this.tickets['Einzelticket'][0] = "0,1,2";
	this.tickets['Einzelticket'][1] = "4,5";
		
	//Saisonkarte
	this.tickets['Saisonkarte'] = new Array();
	this.tickets['Saisonkarte'][0] = "0,1,2";
	this.tickets['Saisonkarte'][1] = "0,1,2";
}
//Basisklasse einbinden
Freibad.prototype = new Calculator();


/**
*Das Thermenobjekt - EnthÃ¤lt die Konfiguration fÃ¼r den Thermenbereich
*/
function Therme() {
	//***Bennenung der Formular-Felder 
	this.names = Array();
	this.names[0] = alter;
	this.names[1] = dauer;
	
	//***Konfiguration (0 = Alter, 1 = Dauer)
	this.tickets = Array();
	
	//Einzelticket
	this.tickets['Einzelticket'] = Array();
	this.tickets['Einzelticket'][0] = "0,1,2";
	this.tickets['Einzelticket'][1] = "0,1,3,4,5";
	
	//Familienticket
	this.tickets['Familienticket'] = Array();
	this.tickets['Familienticket'][0] = "0,1,2";
	this.tickets['Familienticket'][1] = "0,1,3,4,5";
	
	//Saisonkarte
	this.tickets['Saisonkarte'] = Array();
	this.tickets['Saisonkarte'][0] = "0,1,2";
	this.tickets['Saisonkarte'][1] = "0,1,2";
	
	//10er Block	
    /*   
    this.tickets['3 Std. 10er-Block'] = new Array();
    this.tickets['3 Std. 10er-Block'][0] = "0,1,2";
    this.tickets['3 Std. 10er-Block'][1] = "1";
    */
}
//Die Methoden der Basisklasse Calculator werden vererbt
Therme.prototype = new Calculator();


/**
*Das Freibad-Objekt - EnthÃ¤lt die Konfiguration fÃ¼r den Freibadbereich
**/
function ThermeFreibad() {
	//***Bennenung der Formular-Felder 
	this.names = Array();
	this.names[0] = alter;
	this.names[1] = dauer;
	
	//***Konfiguration (0 = Alter, 1 = Dauer)
	this.tickets = new Array();
	
    /*
	//Einzelticket
	this.tickets['Einzelticket'] = new Array();
	this.tickets['Einzelticket'][0] = "0,1,2";
	this.tickets['Einzelticket'][1] = "1,4";
	
	//Familienticket
	this.tickets['Familienticket'] = new Array();
	this.tickets['Familienticket'][0] = "0,1,2";
	this.tickets['Familienticket'][1] = "1,4";
	
	//Saisonkarte
	//this.tickets['Saisonkarte'] = new Array();
	//this.tickets['Saisonkarte'][0] = "0,1,2";
	//this.tickets['Saisonkarte'][1] = "0,1,2";
	*/
   
	//Jahreskarte
	this.tickets['Jahreskarte'] = new Array();
	this.tickets['Jahreskarte'][0] = "0,1,2";
	this.tickets['Jahreskarte'][1] = "0,1,2";
}
//Basisklasse einbinden
ThermeFreibad.prototype = new Calculator();


/**
*Das Freibad-Objekt - EnthÃ¤lt die Konfiguration fÃ¼r den Freibadbereich
**/
function Sauna() {
	//***Bennenung der Formular-Felder 
	this.names = Array();
	this.names[0] = alter;
	this.names[1] = dauer;
	
	this.sauna = true;
	
	//***Konfiguration (0 = Alter, 1 = Dauer)
	this.tickets = new Array();
	
	//Einzelticket
	this.tickets['Einzelticket'] = new Array();
	this.tickets['Einzelticket'][0] = "1,2";
	this.tickets['Einzelticket'][1] = "0,1,4,5";
	
	//Familienticket
	this.tickets['Familienticket'] = new Array();
	this.tickets['Familienticket'][0] = "1,2";
	this.tickets['Familienticket'][1] = "0,1,4,5";
	
	//10er-Block
	this.tickets['3 Std. 10er-Block'] = new Array();
	this.tickets['3 Std. 10er-Block'][0] = "1,2";
	this.tickets['3 Std. 10er-Block'][1] = "6";
}
//Basisklasse einbinden
Sauna.prototype = new Calculator();
/**
*Überschreibt die checkSubmit()-Methode der Basisklasse
*/
Sauna.prototype.checkSubmit = function() {
	this.getFormValues();
	
	//Specialtickets
	if(specialTickets.contains(this.ticketType)) {
		ids = new Array('ab_15', 'ab_18');
		if(!this.checkPersons(ids)) {
			return;
		}
		this.calculationRequest();
		return;
	}
	
	//Tag checken / An So oder Sa weiter
	var day = this.formValues['date'].slice(0,2);
	if (!(day == 'So')) {
		if(this.ticketType == 'Familienticket') {
			//alert ('Das Familienticket kann nur an Sonntagen erworben werden.');
			//return;
		}

		//Personen eingetragen?
		ids = new Array('ab_15', 'ab_18');
		if (!this.checkPersons(ids)) {
			return;
		}
	} else {
		//An Sonntagen alle Felder checken
		ids = new Array('ab_6', 'ab_15', 'ab_18');
		if(!this.checkPersons(ids)) {
			return;
		}
	}
	
	this.calculationRequest();
}

//Hilfsfunktion
Sauna.prototype.checkPersons = function(ids) {
	var status = false;
	for(i=0; i < ids.length; i++) {
		var persons = $(ids[i]).value;
		if(!(persons < 1) && !(persons == "")) {
			status = true;
		}
	}
	if (!status) alert('Bitte mindestens eine Person eintragen.');
	return status;
}

/**
*Das Freibad-Objekt - EnthÃ¤lt die Konfiguration fÃ¼r den Freibadbereich
**/
function ThermeSauna() {
	//***Bennenung der Formular-Felder 
	this.names = Array();
	this.names[0] = alter;
	this.names[1] = dauer;
	
	//***Konfiguration (0 = Alter, 1 = Dauer)
	this.tickets = new Array();
	
	//Einzelticket
	this.tickets['Einzelticket'] = new Array();
	this.tickets['Einzelticket'][0] = "1,2";
	this.tickets['Einzelticket'][1] = "1,4";
	
	//Familienticket
	this.tickets['Familienticket'] = new Array();
	this.tickets['Familienticket'][0] = "1,2";
	this.tickets['Familienticket'][1] = "1,4";
	
	//10er-Block
	//this.tickets['10er-Block'] = new Array();
	//this.tickets['10er-Block'][0] = "1,2";
	//this.tickets['10er-Block'][1] = "4";
}
//Basisklasse einbinden
ThermeSauna.prototype = new Calculator();
//Sauna Methoden erben
ThermeSauna.prototype = new Sauna();


/**
*Das Eislauf-Objekt - Enthält die Konfiguration für den Freibadbereich
**/
function Eislauf() {
	//***Bennenung der Formular-Felder 
	this.names = Array();
	this.names[0] = alter;
	this.names[1] = dauer;
	
	//***Konfiguration (0 = Alter, 1 = Dauer)
	this.tickets = new Array();
	
	//Einzelticket
	this.tickets['Einzelticket'] = new Array();
	this.tickets['Einzelticket'][0] = "0,1,2";
	this.tickets['Einzelticket'][1] = "4";
	
	//Familienticket
	this.tickets['Familienticket'] = new Array();
	this.tickets['Familienticket'][0] = "0,1,2";
	this.tickets['Familienticket'][1] = "4";
	
	//Saisonkarte
	this.tickets['Saisonkarte'] = new Array();
	this.tickets['Saisonkarte'][0] = "0,1,2";
	this.tickets['Saisonkarte'][1] = "4";
	
	//10er-Block
	this.tickets['10er-Block'] = new Array();
	this.tickets['10er-Block'][0] = "0,1,2";
	this.tickets['10er-Block'][1] = "4";
}
//Basisklasse einbinden
Eislauf.prototype = new Calculator();
