/*
 * Quickbooker
 * B&B-Hotels
 * 
 */

var tag_anreise_dp;
var tag_abreise_dp;

function initDate (vonDatumObject, bisDatumObject) {
	
	var qb_main = "#quickbooker #quickbooker_main";
	
	// Konfiguration des Datepickers
	var today = new Date();
	var day = today.getDate();
	var month = today.getMonth();
	var year = today.getFullYear();


if ("en" == currentLang) {
	var dp_options_anreise = {
				dateFormat: 'D, mm.dd.yy',
				minDate: today,
				maxDate: new Date(year + 1, month, day),
				firstDay: 1,
				showAnim: 'fadeIn',
				monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
				dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
				dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
	};
	
	var dp_options_abreise = {
			dateFormat: 'D, mm.dd.yy',			
			minDate: new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1),
			maxDate: new Date(year + 1, month, day),
			firstDay: 1,
			showAnim: 'fadeIn',
			monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
			dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
			dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
	};	
	
}
else {

	var dp_options_anreise = {
				dateFormat: 'D, dd.mm.yy',
				minDate: today,
				maxDate: new Date(year + 1, month, day),
				firstDay: 1,
				showAnim: 'fadeIn',
				monthNames: ['Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
				dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
				dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']
	};
	
	var dp_options_abreise = {
			dateFormat: 'D, dd.mm.yy',			
			minDate: new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1),
			maxDate: new Date(year + 1, month, day),
			firstDay: 1,
			showAnim: 'fadeIn',
			monthNames: ['Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
			dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
			dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']
	};	
}

	
	// Datepicker initialisieren
	tag_anreise_dp = $(qb_main + " #tag_anreise").datepicker(dp_options_anreise);
	if (vonDatumObject != null) {
		tag_anreise_dp.datepicker("setDate", vonDatumObject);
	} else {
		tag_anreise_dp.datepicker("setDate", today);
	}
	
	tag_abreise_dp = $(qb_main + " #tag_abreise").datepicker(dp_options_abreise);
	if (bisDatumObject != null) {
		tag_abreise_dp.datepicker("setDate", bisDatumObject);
	} else {
		tag_abreise_dp.datepicker("setDate", +1);
	}

	// Bei Auswahl von Anreise minDate für Abreise-Datepicker setzen
	$(qb_main + " #tag_anreise").live("change", function() {
		var tag_anreise_date = tag_anreise_dp.datepicker('getDate');
		var neu_tag_abreise_date = new Date(tag_anreise_date.getFullYear(), tag_anreise_date.getMonth(), tag_anreise_date.getDate() + 1);
		$(qb_main + " #tag_abreise").datepicker("option", "minDate", neu_tag_abreise_date);
	});

	// Bei Auswahl von Abreise maxDate für Anreise-Datepicker setzen
	$(qb_main + " #tag_abreise").live("change", function() {
		var tag_abreise_date = tag_abreise_dp.datepicker('getDate');
		$(qb_main + " #tag_anreise").datepicker("option", "maxDate", tag_abreise_date);
	});
}



// Unbenutzte Elemente aus Formular entfernen 
function prepare_form(form_id, num_rows) {
	for(var i = 1; i <= 3; i++) {
		if(i > num_rows) {
			// Unbenutzte Zeilen und Kinder-Layer loeschen
			$("#quickbooker #quickbooker_main #mb_row" + i).remove();
			$("#quickbooker #quickbooker_children" + i).remove();
		} else {
			var num_children = parseInt($("#quickbooker #quickbooker_main #mb_row" + i + " #zimmerAnzKind" + i).val());
			for(var j = 1; j <= 3; j++) {
				if(j > num_children) {
					// Unbenutzte Kinder-Alter-Pulldowns loeschen
					$("#quickbooker #quickbooker_children" + i + " #children_table" + i + " #tralter_" + i + "_" + j).remove();
				}
			}
		}
	}
}


//
// MULTI-BOOKER
// angezeigte Zeilen
//
var mb_rows_display = 1;


$(document).ready(function() {

	// Selektoren für Layer
	var qb_main = "#quickbooker #quickbooker_main";
	var qb_children = "#quickbooker #quickbooker_children";
	var qb_special = "#quickbooker #quickbooker_special";
	var qb_error = "#quickbooker #quickbookererror";
	var qb_loading = "#quickbooker #quickbooker_loading";

	var adjust_login = 20;
	var adjust_kundenkarte_login = 77;
	var adjust_children = 25;
	
	$(qb_main + " #hotelSchluessel").live("change", function() {
		if($(this).val() != "0") {
			//$(this).attr("onclick", "$('#qb_loading').hide(); $('#qb_loading_aus').show(); prepare_form('SuchFormular', mb_rows_display); return reloadBlock('quickbookererror');");
			$(qb_main + " #qb_senden_button_aus").hide();
			$(qb_main + " #qb_senden_button").show();
		} else {
			//$(this).attr("onclick","void(0);")
			//$(qb_main + " #qb_senden_button").addClass("transparent");			
			$(qb_main + " #qb_senden_button").hide();
			$(qb_main + " #qb_senden_button_aus").show();
		}
	});
	
	if($(qb_main + " #hotelSchluessel").val() != "0") {
		$(qb_main + " #qb_senden_button_aus").hide();
		$(qb_main + " #qb_senden_button").show();
	} 

	// PLUS
	$(qb_main + " #mb_plus").live("click", function() {
		if(mb_rows_display < 3) {
			mb_rows_display += 1;
			var qb_height = parseInt($("#quickbooker").css("height"));
			$("#quickbooker").css("height", qb_height + adjust_children + "px");
			//console.debug("HEIGHT +: " + qb_height);
		}

		if(mb_rows_display < 3) {
			$(qb_main + " #mb_plus").removeClass("mb_plus_inaktiv");
			$(qb_main + " #mb_plus").addClass("mb_plus_aktiv");
		} else {
			$(qb_main + " #mb_plus").removeClass("mb_plus_aktiv");
			$(qb_main + " #mb_plus").addClass("mb_plus_inaktiv");
		}

		if(mb_rows_display > 1) {
			$(qb_main + " #mb_minus").removeClass("mb_minus_inaktiv");
			$(qb_main + " #mb_minus").addClass("mb_minus_aktiv");
		}

		if(mb_rows_display <= 3) {
			if($.browser.msie) {
				$(qb_main + " #multi_book #mb_row" + mb_rows_display).show();
				$(qb_main + " #multi_book #mb_row" + mb_rows_display + " div.container-zimmer").show();
				$(qb_main + " #multi_book #mb_row" + mb_rows_display + " div.container-anzerwachsene").show();
				$(qb_main + " #multi_book #mb_row" + mb_rows_display + " div.container-anzkinder").show();
			} else {
				$(qb_main + " #multi_book #mb_row" + mb_rows_display).fadeIn();
			}
		}
		
		//console.debug("PLUS: " + mb_rows_display);
	});


	// MINUS
	$(qb_main + " #mb_minus").live("click", function() {
		if(mb_rows_display > 1) {
			
			// Ausgeblendete Zeile resetten
			children_set[mb_rows_display] = false;
			$(qb_main + " #zimmerzahl" + mb_rows_display).val(0);
			$(qb_main + " #zimmerAnzErw" + mb_rows_display).val(0);
			$(qb_main + " #zimmerAnzKind" + mb_rows_display).val(0);
			$(qb_main + " #anz_kinder_hidden" + mb_rows_display).show();
			$(qb_main + " #anz_kinder" + mb_rows_display).hide();
			//$(qb_main + " #anz_kinder" + mb_rows_display).css("background-image", "url(resources/img/quickbooker/i-edit-inaktiv.gif)");
		
			if($.browser.msie) {
				// IE macht Probleme mit fadeOut, deshalb hide
				$(qb_main + " #multi_book #mb_row" + mb_rows_display).hide();
				
				// Select-Boxen verstecken fuer IE6)
				$(qb_main + " #multi_book #mb_row" + mb_rows_display + " div.container-zimmer").hide();
				$(qb_main + " #multi_book #mb_row" + mb_rows_display + " div.container-anzerwachsene").hide();
				$(qb_main + " #multi_book #mb_row" + mb_rows_display + " div.container-anzkinder").hide();
				var qb_height = parseInt($("#quickbooker").css("height"));
				$("#quickbooker").css("height", qb_height - adjust_children + "px");
			} else {
				$(qb_main + " #multi_book #mb_row" + mb_rows_display).fadeOut("normal", function() {
					var qb_height = parseInt($("#quickbooker").css("height"));
					$("#quickbooker").css("height", qb_height - adjust_children + "px");
					//console.debug("HEIGHT -: " + qb_height);
				});
			}
			
			mb_rows_display -= 1;
		}

		if(mb_rows_display < 3) {
			$(qb_main + " #mb_plus").removeClass("mb_plus_inaktiv");
			$(qb_main + " #mb_plus").addClass("mb_plus_aktiv");
		}

		if(mb_rows_display > 1) {
			$(qb_main + " #mb_minus").removeClass("mb_minus_inaktiv");
			$(qb_main + " #mb_minus").addClass("mb_minus_aktiv");
		} else {
			$(qb_main + " #mb_minus").removeClass("mb_minus_aktiv");
			$(qb_main + " #mb_minus").addClass("mb_minus_inaktiv");
		}
		//console.debug("MINUS: " + mb_rows_display);
	});



	//
	// KINDER-LAYER
	//

	var children_set = new Array();
	children_set[1] = false;
	children_set[2] = false;
	children_set[3] = false;

	// Kinder-Layer anzeigen
	function show_children_layer(children, num) {
		if(children > 0) {			 
			$(qb_children + num + " #children_table" + num + " tr").hide();			
			for (var x = 1; x <= parseInt(children); x++) {
				$(qb_children + num + " #children_table" + num + " #tralter_" + num + "_" + x).show();
			}
			$(qb_children + num).fadeIn();
			$(qb_main).fadeOut();
			// $(qb_main + " .container-alterkinder select").removeAttr("disabled");
		} else {
			if(children_set[num]) {
				//$(qb_children + " #children_table").html("");
				$(qb_main + " #anz_kinder" + num).hide();
				$(qb_main + " #anz_kinder_hidden" + num).show();
				children_set[num] = false;
			}
		}
	}
	
	// Layer anzeigen bei Auswahl von Anzahl Kinder
	$(qb_main + " #zimmerAnzKind1").live("change", function() {
		show_children_layer($(this).val(), 1);
	});

	$(qb_main + " #zimmerAnzKind2").live("change", function() {
		show_children_layer($(this).val(), 2);
	});

	$(qb_main + " #zimmerAnzKind3").live("change", function() {
		show_children_layer($(this).val(), 3);
	});


	// Kinder editieren
	$(qb_main + " #anz_kinder1").live("click", function() {
		show_children_layer($(qb_main + " #zimmerAnzKind1").val(), 1);
		children_set[1] = true;
		/*var num_children = parseInt($(qb_main + " #zimmerAnzKind1").val());
		console.log(num_children);
		$(qb_children + " #children_table1 tr").each(function(i) {
			console.log(i);
			if(i > num_children) {
				$(this).hide();
			}
		});
		$(qb_children + "1").fadeIn();
		$(qb_main).fadeOut(); */ 
	});

	$(qb_main + " #anz_kinder2").live("click", function() {
		children_set[2] = true;
		show_children_layer($(qb_main + " #zimmerAnzKind2").val(), 2);
		/*$(qb_children + "2").fadeIn();
		$(qb_main).fadeOut();*/
	});

	$(qb_main + " #anz_kinder3").live("click", function() {
		show_children_layer($(qb_main + " #zimmerAnzKind3").val(), 3);
		children_set[3] = true;
		/*$(qb_children + "3").fadeIn();
		$(qb_main).fadeOut();*/
	});


	// OK
	function children_ok(num) {
		children_set[num] = true;
		$(qb_main + " #anz_kinder_hidden" + num).hide();
		$(qb_main + " #anz_kinder" + num).show();
		$(qb_children + num).fadeOut();
		$(qb_main).show();
	}


	$(qb_children + "1 #children_ok1").live("click", function() {
		children_ok(1);
	});

	$(qb_children + "2 #children_ok2").live("click", function() {
		children_ok(2);
	});

	$(qb_children + "3 #children_ok3").live("click", function() {
		children_ok(3);
	});


	// Abbruch
	function children_cancel(num) {
		if(!children_set[num]) {
			$(qb_main + " #zimmerAnzKind" + num).val(0);
		}
		$(qb_children + num).fadeOut("normal", function() {
			if(!children_set[num]) {
				//$(qb_children + num + " #children_table" + num).html("");
			}
		});
		$(qb_main).show();
	}


	$(qb_children + "1 #children_cancel1").live("click", function() {
		children_cancel(1);
	});

	$(qb_children + "2 #children_cancel2").live("click", function() {
		children_cancel(2);
	});

	$(qb_children + "3 #children_cancel3").live("click", function() {
		children_cancel(3);
	});



	//
	// LOGIN/SPECIAL RATES
	//

	var rate_set = false;

	// Layer einblenden
	$(qb_main + " #login_link").live("click", function() {
		$(qb_special).fadeIn();
		$(qb_main).fadeOut();
	});

	// OK
	/*$(qb_special + " #special_ok").live("click", function() {
		if($(qb_special + " #user").val() != "") {
			if($(qb_special + " #password").val() == "") {
				$(qb_special + " #quickbookerloginerror").hide();
				$(qb_special + " #quickbookerloginerror").text("Fehler: Die Kombination von Passwort und Benutzername ist nicht korrekt.");
				$(qb_special + " #quickbookerloginerror").slideDown();
				
				
			} else {
				$(qb_special + " #qb_error_login").slideUp();
				
				$(qb_main + " .container-services a").addClass("checked");
				rate_set = true;

				$(qb_main + " #isloggedin span#username").text($(qb_special + " #user").val());
				$(qb_main + " #isloggedin").show();
				var qb_height = parseInt($("#quickbooker").css("height"));
				$("#quickbooker").css("height", qb_height + adjust_login + "px");
				$(qb_main + " #login_link").hide();
				$(qb_special).fadeOut();
				$(qb_main).show();
			}
		} else {
			$(qb_error + " #error_message").text("Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein.");
			$(qb_error).fadeIn();
		}
	});*/

	// Abbruch
	$(qb_special + " #special_cancel").live("click", function() {
		$(qb_special).fadeOut("normal", function() {
			if(!rate_set) {
				$(qb_special + " .container-services-layer table input").val("");
			}
		});
		$(qb_main).show();
		$(qb_special + " #login_form_karte").hide();
		$(qb_special + " #login_form").show();
		$(qb_special + " #quickbookerloginerror").hide();
		
		// Felder resetten
		$(qb_special + " #login_form #loginemail, " + qb_special + " #login_form #loginuserpassword").val("");
		$(qb_special + " #login_form_karte #loginemail_ccid, " + qb_special + " #login_form_karte #loginkundenkartenummer").val("");
	});

	// Bei Return in Passwortfeld springen
	$(qb_special + " #user").live("keypress", function(e) {
		if(e.which == 13) {
			$(qb_special + " #password").focus();
		}
	});

	// Bei Return OK
	$(qb_special + " #loginuserpassword").live("keypress", function(e) {
		if(e.which == 13) {
			//$(qb_special + " #special_ok").trigger("click");
			if(!($.browser.msie)) {
				ibe_login();
			}
		}
	});

	//Logout
	$(qb_main + " #logout").live("click", function() {
		$(qb_main + " #isloggedin").hide();
		$(qb_main + " #login_link").show();
		var qb_height = parseInt($("#quickbooker").css("height"));
		$("#quickbooker").css("height", (qb_height - adjust_kundenkarte_login) + "px");
	});
	
	
	// Bei leerer Eingabe von CC-ID Login + Passwort reaktivieren
	$(qb_special + " #loginemail_ccid").blur(function() {
		$(qb_special + " #login_form_karte").hide();
		$(qb_special + " #login_form").show();
		$(qb_special + " #login_form #loginemail").val($(this).val());
		$(qb_special + " #login_form #loginemail").trigger("blur");
		$(qb_special + " #login_form #loginuserpassword").focus();
		$(qb_special + " #login_form_karte #loginkundenkartenummer").val("");
		$(qb_special + " #quickbookerloginerror").hide();
	});




	//
	// ERROR MESSAGE OK
	//
	$(qb_error + " #error_ok").live("click", function() {
		$(qb_error).fadeOut();
		$(qb_main + " #qb_loading_aus").hide();
		$(qb_main + " #qb_loading").show();
	});
	
});