/* 
Functions to generate and use the searchform.
Dynamically generated parameters comes with sfjs.php
*/


$(document).ready(function(){
	if($("#ziel").length > 0) {
		createDestinations();
		//$("#ziel").customselect();
	}
	if($("#start").length > 0) {
		createDepartures();
	}
    
	createYuiCal();
	bindEvents();
});

function toggleSearch() {
	if($("#search_more").css("display") == "none") {
        var f = $("#search_more");
		f.show();
		/*if(lang == "de") { $(".sf_switch").text("Einfache Suche"); }
		else { $(".sf_switch").text("Simple search"); }*/
        $(".sf_switch").text(messages.einfachesuche);
		$(".specials-mask .w").removeClass("w").addClass("wopened");
		$(".specials-mask .e").removeClass("e").addClass("eopened");
		$(".specials-mask .form").removeClass("form").addClass("formopened");
        $(".smore").html("-");
        var ie = $.browser.msie ? true : false;
        var old = false;
        if(ie) {
            var bver = $.browser.version;
            if(parseInt(bver.substr(0,1)) < 7) { old = true; }
        }
        if(old) {
            var o = f.offset();
            $("#smoreiframe").show().css({
                top: o.top+"px",
                left: o.left+"px",
                width: f.outerWidth()+"px",
                height: f.outerHeight()+"px"
            });
        }

	}
	else {
		$("#search_more, #smoreiframe").hide();
		/*if(lang == "de") { $(".sf_switch").text("Erweiterte Suche"); }
		else { $(".sf_switch").text("Advanced search"); }*/
        $(".sf_switch").text(messages.erweitertesuche);
		$(".specials-mask .wopened").removeClass("wopened").addClass("w");
		$(".specials-mask .eopened").removeClass("eopened").addClass("e");
		$(".specials-mask .formopened").removeClass("formopened").addClass("form");
        $(".smore").html("+");
	}
}

function doDisplay(what) {
	if(what == 2) { // Flug+Hotel
		$(".PA, .NF").show();
	}
	if(what == 1) { ///Charter
		$(".NF").show(); $(".PA").hide();
		$("#search_more").hide();
		$(".sf_switch").text("Erweiterte Suche");
	}
	if(what == 3) { //Hotel
		$(".NF").hide(); $(".PA").show();
	}
}

function makeDateString(date) {
	var day,month,year;
	day = date.getDate();
	month = date.getMonth()+1;
	year = date.getFullYear();
	if(day < 10) {
		day =  "0"+day;
	}
	if(month < 10) {
		month =  "0"+month;
	}
	return day+"."+month+"."+year;
}

function bindEvents() {
	if($("#children.side").length > 0) {
		$("#children").bind("click",function(e){
			var ie = $.browser.msie ? true : false;
			var old = false;
			if(ie) {
				var bver = $.browser.version;
				if(parseInt(bver.substr(0,1)) < 7) { old = true; }
			}

			//e.stopPropagation();
			var el = $(this);
			//el.blur();
			var f = $("#childage");
			if(f.css("display") == "none") {
				//setChildren();
				f.show().focus();
				if(old) {
					var o = f.offset();
					$('#chiframe').insertAfter("childage");
					// show iframe to mask input fields in IE6
					$("#chiframe").show().css({
							top: o.top+"px",
							left: o.left+"px",
							width: f.outerWidth()+"px",
							height: f.outerHeight()+"px"
						});
						
						
				}
			}
			else {
				closeChildage();
			}
		});
		
		$("#k1, #k2, #k3").bind("change",function(e){
			e.stopPropagation();
			var k1 = $("#k1");var k2 = $("#k2");var k3 = $("#k3");
			var ct = 0;
			var txt = "";
			if(k1.val() != 0) {
				ct++;
				txt += txt == "" ? k1.find("option:selected").attr("label") : ", "+k1.find("option:selected").attr("label");
			}
			if(k2.val() != 0) {
				ct++;
				txt += txt == "" ? k2.find("option:selected").attr("label") : ", "+k2.find("option:selected").attr("label");
			}
			if(k3.val() != 0) {
				ct++;
				txt += txt == "" ?k3.find("option:selected").attr("label") : ", "+k3.find("option:selected").attr("label");
			}
			$("#childrenoption").text(txt).val(ct);
		});
		$("body").click(function(e){
			$(".customselectbox").hide();

		});
	}

	// standard
	else {
		$("#children").bind("change",function(e){
			var children = $(this).val();
			// Child 1
			if(children < 1) {
				hideChildAge(1);hideChildAge(2);hideChildAge(3);
				$(".klabel").hide();
			}
			else {
				showChildAge(1);
				$(".klabel").show();
			}
			if(children < 2) {
				hideChildAge(2);hideChildAge(3);
			}
			else {
				showChildAge(2);
			}
			if(children < 3) {
				hideChildAge(3);
			}
			else {
				showChildAge(3);
			}
		});
	}
	if($("#start").length > 0) {
		$("#start").bind("click",function(e){
			e.preventDefault();
			var dep = $("#departures");

			if(dep.css("display") == "none") {
				var o = $("#start").offset();
				//var left = $('#departures').hasClass("right") ? o.left - 542 + $("#start").outerWidth() + "px" : o.left - 13  + "px";
				
				$("#departures .title").html($("#dep_label").html());

				//$(this).blur();
				$(".calnavleft, .calnavright").addClass("die");
				dep.show().focus();
				var ie = $.browser.msie ? true : false;
				var old = false;
				if(ie) {
					var bver = $.browser.version;
					if(parseInt(bver.substr(0,1)) < 7) { old = true; }
				}
				if(old) {
					o = dep.css({"z-index": 999}).offset();
                    var cssfr = { top: o.top+"px", left: o.left+"px", width: dep.outerWidth()+"px", height: dep.outerHeight()+"px", filter: "Alpha(opacity=0)" };
                    var cssdp = { top: o.top+"px", left: o.left+"px", width: dep.width()+"px", height: dep.height()+"px" };
					$("#depiframe").prependTo("body")
						.css(cssfr)
						.show();
                    dep.prependTo("body").css(cssdp)
				}
			}
			else {
				$(this).blur();
				dep.hide();
				if($.browser.msie) {
					$("#depiframe").hide();
				}
			}
		});
	};

	if($("#ziel-cities").length > 0) {
		$("#ziel-cities").bind("click",function(e){
			e.preventDefault();
			var dep = $("#destinations");

			if(dep.css("display") == "none") {
				$("#destinations .title").html($("#dest_label").html());

				//$(this).blur();
				dep.show().focus();
				var ie = $.browser.msie ? true : false;
				var old = false;
				if(ie) {
					var bver = $.browser.version;
					if(parseInt(bver.substr(0,1)) < 7) { old = true; }
				}
				if(old) {
					var o = dep.offset();
					$("#destiframe")
						.css({
							top: o.top+"px",
							left: o.left+"px",
							width: dep.outerWidth()+"px",
							height: dep.outerHeight()+"px"
						})
						.show();
				}
				dep.show().focus();
			}
			else {
				//alert("close");
				$(this).blur();
				dep.hide();
				if($.browser.msie) {
					$("#destiframe").hide();
				}
			}
		});
	}

	var tabs = $(".searchmodes .tab");
	if(tabs.length > 0) {
		tabs.bind("mouseover",function(e){
			var el = $(this);
			if(!el.hasClass("selected")) {
				el.addClass("color4bg").addClass("color1");
			}
		}).bind("mouseout",function(e){
			var el = $(this);
			if(!el.hasClass("selected")) {
				el.removeClass("color4bg").removeClass("color1");
			}
		}).bind("click",function(e){
			var el = $(this);
			if(!el.hasClass("selected")) {
				tabs.removeClass("selected").removeClass("color6bb").removeClass("color4bg").removeClass("color6bg").removeClass("color1")
					.addClass("color7bb");
				el.removeClass("color7bb")
					.addClass("selected").addClass("color6bb").addClass("color6bg");

			}
		})
	}

    $("#von, #bis, #vonicon, #bisicon").bind("click",function(e){
        var id = $(this).attr("id");
        var label = $("#"+id+"_label").html();
        if(id.indexOf("von") != -1) {
            YAHOO.yalendar.cal1.cfg.setProperty("title", label);
        }
        else {
            YAHOO.yalendar.cal2.cfg.setProperty("title", label);
        }
    })
	
	$("body").click(function(e){
		var tg = $(e.target);
		if(tg.hasClass("closeall") || tg.hasClass("ok")) {
			closeAllPopups(tg);
			if(tg.attr("id") != "start") { $(".calnavleft, .calnavright").removeClass("die"); }
		}
	});
}

function switchSearchForm(what) {
	$("#search_more").hide();
	switch(what) {
		case "PA":
			$("#TYP").val(2);
			$(".FL").hide();
			$(".NH").hide();
			$(".PA").show();
		break;
		case "NH":
			$("#TYP").val(3);
			$(".PA").hide();
			$(".FL").hide();
			$(".NH").show();
		break;
		case "FL":
			$("#TYP").val(1);
			$(".PA").hide();
			$(".NH").hide();
			$(".FL").show();
		break;
	}
}

function closeAllPopups(tg) {
	var tgid = tg.attr("id");
	if(tgid != "start") { $("#departures, #depiframe").hide(); }
	if(tgid != "ziel" && tgid != "ziel-cities") { $("#destinations, #destiframe").hide(); }
	if(tgid != "children") { $("#childage, #chiframe").hide(); }

    var inline = $("#voncal").hasClass("inline") ? true : false;
	if(tgid != "von" && tgid != "vonicon" && !inline) { YAHOO.yalendar.cal1.hide(); }
	if(tgid != "bis" && tgid != "bisicon" && !inline) { YAHOO.yalendar.cal2.hide(); }
}

//Alternative mask
function closeChildage() {
	$("#childage, #chiframe").hide();
}

function showChildAge(id){
	if($(".k"+id).css("display") == "none"){
		$("#k"+id+"options option:first").remove();
		$(".k"+id).show();
		$("#k"+id+"options").val('7');
	}
}

// standard mask
function hideChildAge(id){
	if($(".k"+id).css("display") == "none"){
		return;
	}
	$(".k"+id).hide();
	$("#k"+id+"options").prepend('<option value="0" label="none">none</option>');
	$("#k"+id+"options").val('0');
	}

function createSelect(variable, selected, type) {
	var html = '';
	$.each(variable,function(){
		var sel = this.code == selected ? 'selected="selected"' : '';
		html += '<option '+sel+' value="'+this.code+'">'+this.desc+'</option>';
	});
	$("#"+type+"options").append(html);
}

function setChildren() {
	var k1 = $("#k1");var k2 = $("#k2");var k3 = $("#k3");
	switch($('#children').val()) {
		case '0':
		case '':
			k2.attr("disabled",true);
			k3.attr("disabled",true);
		break;
		case '1':
			k2.attr("disabled",false);
			k3.attr("disabled",true);
		break;
		case '2':
			k2.attr("disabled",false);
			k3.attr("disabled",false);
		break;
	}
}

function createMultipleSelect(variable, selected, type) {
	$.each(variable,function(){
		var sel = this.code == selected ? 'selected="selected"' : '';
		if($("optgroup[label="+this.group+"]").length < 1){
			$("#"+type+"options").append('<optgroup label="'+this.group+'"></optgroup>');
		}
		$("#"+type+"options").append('<option '+sel+' value="'+this.code+'">'+this.desc+'</option>');
	});
}

function setDepDes(what) {
	var depdes = null;
	var zop = null;
	var sel = null;
	if(what == "des") {
		depdes = $("#destinations .dgroup");
		zop = $("#zieloption");
		sel = $("#ziel");
		/*if(lang=='de') zop.val("").html("alle Reiseziele");
		else zop.val("").html("All Destinations");*/
        zop.val("").html(messages.alleReiseZiele);
	}
	else if(what == "dep") {
		depdes = $("#departures .dgroup");
		zop = $("#startoption");
		sel = $("#start");
		/*if(lang=='de') zop.val("").html("alle Abflughäfen");
		else zop.val("").html("All Airports");*/
        zop.val("").html(messages.alleAbflug);
	}
	else {
		return;
	}

	// iterate all groups

	sel.val("");
	var val = zop.val();
	var label = zop.text();
	for(var i = 0; i < depdes.length; i++) {
		var labels = $(depdes[i]).find("label");
		var gcheck = $(labels[0]);
		var input = gcheck.find("input");
		if(input.attr("checked")) {
			label = val == "" ? gcheck.find("span").text() : label + ", " + gcheck.find("span").text();
			val = val == "" ? input.val() : val + "," + input.val();
		}
		else {
			for(var j = 1; j < labels.length; j++) {
				var ch = $(labels[j]);
				var chinput = ch.find("input");
				if(chinput.attr("checked")) {
					var dval = chinput.val();
					var dlab = ch.find("span").text();
					label = val == "" ? dlab : label + ", " +dlab;
					val = val == "" ? dval : val + "," + dval;
				}
			}
		}
	}
	zop.val(val).text(label);
}
function clearDepDes(elm,what) {
    var depdes = null;
    var label  = null;
    var gcheck = null;
    var input  = null;
    var el     = null;
    var gr     = null;
	if(what == "des") {
		depdes = $("#destinations .dgroup");
        // iterate all groups
        for(var i = 0; i < depdes.length; i++) {
            label = $(depdes[i]).find("label");
            gcheck = $(label[0]);
            input = gcheck.find("input");
            if(input.attr("checked")) {
            	input.attr("checked", false);
            }
            el = $(depdes[i]);
            gr = el.children();
            for(var y = 0; y < gr.length; y++){
                 $(gr[y]).removeClass("color6bg").find("input:checkbox").attr("checked",false);
            }
        }
        setDepDes(what);
		$("#destinations, #departures").hide();
	}
	else if(what == "dep") {
		depdes = $("#departures .dgroup");
        // iterate all groups
        for(var i = 0; i < depdes.length; i++) {
            label = $(depdes[i]).find("label");
            gcheck = $(label[0]);
            input = gcheck.find("input");
            if(input.attr("checked")) {
            	input.attr("checked", false);
            }
            el = $(depdes[i]);
            gr = el.children();
            for(var y = 0; y < gr.length; y++){
                $(gr[y]).removeClass("color6bg").find("input:checkbox").attr("checked",false);
            }
        }
        setDepDes(what);
		$("#destinations, #departures").hide();
	}
	else {
		return;
	}	
}
function toggleDepDes(elm,what) {
	//return;
	var el = $(elm);
	var parent = el.parent();
	var gr = parent.parent();
	var deps = gr.find(".departure");
	var dlen = deps.length;
	if(parent.hasClass("grouplabel")) {
		var checked = el.attr("checked");
		for(var i = 0; i < dlen; i++){
			if(checked) {
				$(deps[i]).addClass("color6bg").find("input:checkbox").attr("checked",checked);
			}
			else {
				$(deps[i]).removeClass("color6bg").find("input:checkbox").attr("checked",checked);
			}
		}
	}
	else {
		if(!el.attr("checked")) {
			gr.find(".grouplabel input:checkbox").attr("checked", false);
			parent.removeClass("color6bg")
		}
		else {
			var all = true;
			$.each(gr.find(".departure"),function(){
				if(!$(this).find("input:checkbox").attr("checked")){
					all = false;
					return false;
				}
			});
			if(all) { gr.find(".grouplabel input:checkbox").attr("checked", true); }
			parent.addClass("color6bg")
		}
	}
	//setDestinations();
	setDepDes(what);
}
function toggleDepDesSki(elm,what) {
	//return;
	var el = $(elm);
	var parent = el.parent();
		
	//setDestinations();
	$("#zieloption").val(el.val());
    var skitext = parent.find("span").text();    
    $("#zieloption").text(skitext);
}
var dpl = dep_selected;
function createDepartures() {
	var table = '';
    /*var all = "alle Abflughäfen";
    if(lang=='de') all = "alle Abflughäfen";
    else all = "All Airports";*/
    table += '<div>';
    table += '<label class="color1bg  color4" for="ALLDEPDES">';
    table += '<span style="cursor:pointer"  onclick="clearDepDes(this,\'dep\')"><b>'+messages.alleAbflug+'</b></span>';
	table += '</label>';
	table += '</div>';
	for(var i = 0; i <= ag; i++){
		var clear = i % 5 ? "" : " gclear";
        if(clear == " gclear") {
            table += '<div class="fclear cell-clear">&nbsp;</div>';
        }
		table += '<div class="dgroup'+clear+'">';
		var gbox = '<input id="'+agc[i]+'" type="checkbox" class="checkbox" value="';
		var deps = "";

		var len = aga[i].length;
		for(var j = 0; j < len; j++) {
			var code = aga[i][j];
			var name = agac[i][j];

			gbox += j == 0 ? agc[i]+","+code : ","+code;
			var dep = '<label class="departure" for="'+code+'" onmouseover="$(this).addClass(\'color7bg\')" onmouseout="$(this).removeClass(\'color7bg\')">';
			dep += '<input id="'+code+'" type="checkbox" class="checkbox" value="'+code+'" onclick="toggleDepDes(this,\'dep\')" /><span>'+name+'</span>';
			dep += '</label>';
			deps += dep;
		}
		gbox += '" onclick="toggleDepDes(this,\'dep\')" />';
		table += '<label class="grouplabel color3bg color2" for="'+agc[i]+'">'+gbox+'<span>';
		/*if(lang == 'de') table += agc[i] == "WWW" || agc[i] == "OOO" || agc[i] == "SSS" || agc[i] == "NNN" ? "Deutschland "+agd[i] : agd[i];
        else table += agc[i] == "WWW" || agc[i] == "OOO" || agc[i] == "SSS" || agc[i] == "NNN" ? "Germany "+agd[i] : agd[i];*/
        table += agc[i] == "WWW" || agc[i] == "OOO" || agc[i] == "SSS" || agc[i] == "NNN" ? messages.germany+" "+agd[i] : agd[i];
		table += '</span></label>';
		table += deps;
		table += '</div>';
	}

	$('#departures .groups').append(table);
	if(dpl != "") {
		var d = dpl.split(",");
		var dl = d.length;
		for(var i = 0; i < dl; i++) {
			var el = $("#"+d[i]);
			el.attr("checked",true);
			var p = el.parent();
			if(!p.hasClass("grouplabel")) {
				p.addClass("color6bg");
			}
		}
	}
	setTimeout(function(){setDepDes("dep")},1);
}

var dsl = dest_selected;
var prov = provider;
function createDestinations(){
	var options = "";
	var key = dsl;
	var sel = false;
	for(var i = 0; i <= des; i++){
		var len = desac[i].length;
		//if(prov != "2" || len == 0) {
		//if(len == 0) {
			sel = key == desc[i] ? ' selected="selected"' : '';
			options += '<option class="group"'+sel+' value="';
			options += desc[i] + '"><b>'+desd[i]+'</b></option>';
		//}
		for(var j = 0; j < len; j++) {
			var code = desac[i][j];
			var name = desa[i][j];
			sel = key == code ? ' selected="selected"' : '';
			options += '<option class="dest"'+sel+' value="'+code+'">&nbsp;&nbsp;&nbsp;'+name+'</option>';
		}
	}
	$('#ziel').append(options);
}

function createYuiCal() {

	if($("#von").length < 1) {
		return;
	}
	YAHOO.namespace("yalendar");
    var pages = 3;
    var inline = false;
    if($("#voncal").hasClass("double")) { pages = 2; }
    if($("#voncal").hasClass("inline")) { pages = 1; inline = true; }
    
	YAHOO.yalendar.init = function() {
		var calopts = {
			navigator: false,
			pages:pages,
			close: inline ? false : true,
			//navigator:true,
			LOCALE_WEEKDAYS:"short",
			START_WEEKDAY: 1,
			DATE_FIELD_DELIMITER: ".",
			MDY_DAY_POSITION: 1,
			MDY_MONTH_POSITION: 2,
			MDY_YEAR_POSITION: 3,
			MD_DAY_POSITION: 1,
			MD_MONTH_POSITION: 2,
            MONTHS_SHORT: yui_abbrMonthNames,
            MONTHS_LONG: yui_monthNames,
            WEEKDAYS_SHORT: yui_abbrDayNames,
            WEEKDAYS_LONG: yui_dayNames
		}

		var jetzt = new Date();
        var tomorrow = new Date(jetzt.getTime()+86400000 * 4);
        var six_weeks = new Date(tomorrow.getTime()+1814400000);
		var mindate = makeDateString(tomorrow);
        if(masktype != "imask/lastmore") {
            var tomorrow = new Date(jetzt.getTime()+1209600000);
            var six_weeks = new Date(tomorrow.getTime()+4838400000);
        }
		var after_tomorrow = new Date(tomorrow.getTime()+86400000);
		$("#von, #vonicon").val(von_selected != "" ? von_selected : mindate);
		$("#bis, #bisicon").val(bis_selected != "" ? bis_selected : makeDateString(six_weeks));
		var calopts_1 = {
			selected: von_selected != "" ? von_selected : makeDateString(tomorrow),
			title: $("#von_label").html(),
			PAGEDATE: (jetzt.getMonth()+1)+"."+jetzt.getFullYear(),
			MINDATE: mindate
		};
		var calopts_2 = {
			selected: bis_selected != "" ? bis_selected : makeDateString(six_weeks),
			title: $("#bis_label").html(),
			PAGEDATE: (jetzt.getMonth()+1)+"."+jetzt.getFullYear(),
			MINDATE: makeDateString(after_tomorrow)
		};
		var o = {};
		$.extend(o,calopts,calopts_1);

		YAHOO.yalendar.cal1 = new YAHOO.widget.CalendarGroup(
			"cal1",
			"voncal",
			o
		);
        var vd = YAHOO.yalendar.cal1.getSelectedDates()[0];
        /*YAHOO.yalendar.cal1.setDay(vd.getDay());
        YAHOO.yalendar.cal1.setMonth(vd.getMonth());
        YAHOO.yalendar.cal1.setYear(vd.getFullYear());*/
		YAHOO.yalendar.cal1.render();
        $("#von, #vonicon").val(makeDateString(vd));
		$("#voncal .calnavleft").hide();

		o = {};
		$.extend(o,calopts,calopts_2);
		YAHOO.yalendar.cal2 = new YAHOO.widget.CalendarGroup(
			"cal2",
			"biscal",
			o
		);
        var bd = YAHOO.yalendar.cal2.getSelectedDates()[0];
        YAHOO.yalendar.cal2.setMonth(bd.getMonth());
        YAHOO.yalendar.cal2.setYear(bd.getFullYear());
		YAHOO.yalendar.cal2.render();
		//if(!inline) { $("#biscal .calnavleft").hide(); }

		YAHOO.util.Event.addListener( "von" , "click", YAHOO.yalendar.cal1.show,YAHOO.yalendar.cal1, true);
		YAHOO.util.Event.addListener( "vonicon" , "click", YAHOO.yalendar.cal1.show,YAHOO.yalendar.cal1, true);
		YAHOO.util.Event.addListener( "bis" , "click", YAHOO.yalendar.cal2.show,YAHOO.yalendar.cal2, true);
		YAHOO.util.Event.addListener( "bisicon" , "click", YAHOO.yalendar.cal2.show,YAHOO.yalendar.cal2, true);


		YAHOO.yalendar.cal1.selectEvent.subscribe(function() {
			var vondate = YAHOO.yalendar.cal1.getSelectedDates()[0];
			$("#von, #vonicon").val(makeDateString(vondate));
			var bisdate = YAHOO.yalendar.cal2.getSelectedDates()[0];
			var vontime = vondate.getTime();

			// is mindate of cal2 smaller than selected date of cal1?
			if(vontime + 86400000 >= bisdate.getTime()) {
				var mindate = new Date(vontime+86400000);
				YAHOO.yalendar.cal2.cfg.setProperty("MINDATE", makeDateString(mindate));
				bisdate = new Date(vontime+3628800000);
				var bisdatstr = makeDateString(bisdate);
				//var bisdatstr = bisdate.getDate()+"."+bisdate.getMonth()+"."+bisdate.getFullYear();
				YAHOO.yalendar.cal2.cfg.setProperty("selected", bisdatstr);
				YAHOO.yalendar.cal2.setMonth(bisdate.getMonth());
				YAHOO.yalendar.cal2.setYear(bisdate.getFullYear());
				YAHOO.yalendar.cal2.render();
				$("#bis, #bisicon").val(bisdatstr);
			}
			else {
				var bismin = YAHOO.yalendar.cal2.cfg.getProperty("MINDATE").split(".");
				var mindate = new Date(bismin[2],bismin[1]-1,bismin[0]);
				//if(mindate.getTime() > vontime + 86400000) {
					YAHOO.yalendar.cal2.cfg.setProperty("MINDATE", makeDateString(new Date(vontime + 86400000)));
					YAHOO.yalendar.cal2.render();
				//}
			}
			YAHOO.yalendar.cal1.setMonth(vondate.getMonth());
			YAHOO.yalendar.cal1.setYear(vondate.getFullYear());
			YAHOO.yalendar.cal1.render();
			if(!inline) { YAHOO.yalendar.cal1.hide(); }
			if($(".ibe3-main").length > 0 && $(".sidebox").length == 0) { posCalKnobs(); }
		});

		YAHOO.yalendar.cal2.selectEvent.subscribe(function() {
			var selDate = YAHOO.yalendar.cal2.getSelectedDates()[0];
			$("#bis, #bisicon").val(makeDateString(selDate));
			YAHOO.yalendar.cal2.setMonth(selDate.getMonth());
			YAHOO.yalendar.cal2.render();
			if(!inline) { YAHOO.yalendar.cal2.hide(); }
			if($(".ibe3-main").length > 0 && $(".sidebox").length == 0) { posCalKnobs(); }
		});

		YAHOO.yalendar.cal1.changePageEvent.subscribe(function() {
			var button = $("#voncal .calnavleft");
			button.hide();
			var min = YAHOO.yalendar.cal1.cfg.getProperty("MINDATE").split(".");
			var minmon = min[1];
			var minyear = min[2];
			var bodym = $("#cal1_0 .calbody").attr("class").split(" ")[0].substr(1);
			if(bodym.length < 2) {
				bodym = "0"+bodym;
			}
			var bodyy = $("#cal1_0").attr("class").split(" ")[1].substr(1);
			if(bodyy+bodym > minyear+minmon) {
				button.show();
			}
			if($(".ibe3-main").length > 0 && $(".sidebox").length == 0) { posCalKnobs(); }
			
		});

		YAHOO.yalendar.cal2.changePageEvent.subscribe(function() {
			var button = $("#biscal .calnavleft");
			button.hide();
			var min = YAHOO.yalendar.cal2.cfg.getProperty("MINDATE").split(".");
			var minmon = min[1];
			var minyear = min[2];
			var bodym = $("#cal2_0 .calbody").attr("class").split(" ")[0].substr(1);
			if(bodym.length < 2) {
				bodym = "0"+bodym;
			}
			var bodyy = $("#cal2_0").attr("class").split(" ")[1].substr(1);
			if(bodyy+bodym > minyear+minmon) {
				button.show();
			}
			if($(".ibe3-main").length > 0 && $(".sidebox").length == 0) { posCalKnobs(); }


		});

		if(!inline) { 
			YAHOO.yalendar.cal1.hide();
			YAHOO.yalendar.cal2.hide();
		}
		else {
			if($(".ibe3-main").length > 0 && $(".sidebox").length == 0) {
				posCalKnobs();
				$(window).resize(function(e) { posCalKnobs(); });
			}
		}
	}
	YAHOO.yalendar.init();
}

function posCalKnobs() {
	var h = $("#voncal_0 .calhead");
	var of = h.offset();
	var w = h.width();
	var lelem = h.find(".calnavleft");
	var relem = h.find(".calnavright");
	lelem.css({
		top: (of.top + 3)+"px",
		left: (of.left + 3)+"px"
	});
	relem.css({
		top: (of.top + 3)+"px",
		left: (of.left + w - relem.width() - 3)+"px"
	});
	h = $("#biscal_0 .calhead");
	of = h.offset();
	w = h.width();
	lelem = h.find(".calnavleft");
	relem = h.find(".calnavright");
	lelem.css({
		top: (of.top + 3)+"px",
		left: (of.left + 3)+"px"
	});
	relem.css({
		top: (of.top + 3)+"px",
		left: (of.left + w - relem.width() - 3)+"px"
	});
}

function setCityDest(city) {
	var zop = $("#zieloption");
	zop.val("").text(city);
	$("#destinations").hide();
}




