	
    YAHOO.namespace("kalender");

    YAHOO.kalender.init = function(itype, iargs, iobj) {
        function myParseInt(s) {
            if (typeof s == 'string') s = s.replace (/^0+/,"");
            return parseInt(s);
        }
    
        function handleSelect(type, args, obj) {
            var dates = args[0]; 
            var date = dates[0];

            var tag = myParseInt(date[2]);
            var mon = myParseInt(date[1]);
            var jahr = myParseInt(date[0]) - 2000;

            var options = document.getElementById(iobj["idTag"]);
            for (i = 0; i < options.length; i++) {
                if (myParseInt(options[i].value) == tag)
                        options[i].selected = true;
                else
                        options[i].selected = false;
            }

            options = document.getElementById(iobj["idMonatJahr"]);
            for (i = 0; i < options.length; i++) {
                var odatum = options[i].value.split(".");
                var omon = myParseInt(odatum[0]);
                var ojahr = myParseInt(odatum[1]);

                if ((omon == mon) && (ojahr == jahr))
                     options[i].selected = true;
                else
                     options[i].selected = false;
            }

            kalender.hide();
        }

        function showCal() {
            var selDay = document.getElementById(iobj["idTag"]);
            var selMon = document.getElementById(iobj["idMonatJahr"]);

            var tag = myParseInt(selDay.options[selDay.selectedIndex].value);
            var monatJahr = selMon.options[selMon.selectedIndex].value.split(".");
            var monat = myParseInt(monatJahr[0]);
            var jahr = myParseInt(monatJahr[1]) + 2000;

            if (! isNaN(tag) && ! isNaN(monat) && ! isNaN(jahr)) {
                var date = tag + "." + monat + "." + jahr;
                kalender.select(date);
                kalender.cfg.setProperty("pagedate", monat + "." + jahr);
                kalender.render();
            }

            kalender.show();
        }

        var kalender = new YAHOO.widget.Calendar(iobj["typ"], iobj["typ"] + "KalenderKontainer", 
                                                        {mindate:"1.1.2006", title:iobj["titel"], pages:3, maxdate:"31.12.2010", close:true, iframe:true, start_weekday:1} );
		
																
		// Correct formats for Germany: dd.mm.yyyy, dd.mm, mm.yyyy

		kalender.cfg.setProperty("DATE_FIELD_DELIMITER", ".");

		kalender.cfg.setProperty("MDY_DAY_POSITION", 1);
		kalender.cfg.setProperty("MDY_MONTH_POSITION", 2);
		kalender.cfg.setProperty("MDY_YEAR_POSITION", 3);

		kalender.cfg.setProperty("MD_DAY_POSITION", 1);
		kalender.cfg.setProperty("MD_MONTH_POSITION", 2);

		// Date labels for German locale

		kalender.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]);
		kalender.cfg.setProperty("MONTHS_LONG",    ["Januar", "Februar", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]);
		kalender.cfg.setProperty("WEEKDAYS_1CHAR", ["S", "M", "D", "M", "D", "F", "S"]);
		kalender.cfg.setProperty("WEEKDAYS_SHORT", ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]);
		kalender.cfg.setProperty("WEEKDAYS_MEDIUM",["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"]);
		kalender.cfg.setProperty("WEEKDAYS_LONG",  ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]);

														
																
																	  
        kalender.selectEvent.subscribe(handleSelect, kalender, true);
        kalender.render();

        YAHOO.util.Event.addListener(iobj["typ"] + "KalenderKnopf", "click", showCal, kalender, true);
    }

    YAHOO.util.Event.onDOMReady(YAHOO.kalender.init, {typ:"hinflug", idTag:"fromDay", idMonatJahr:"fromMonth", titel:"Anreise (fr&uuml;heste)"} );
    YAHOO.util.Event.onDOMReady(YAHOO.kalender.init, {typ:"rueckflug", idTag:"toDay", idMonatJahr:"toMonth", titel:"R&uuml;ckreise (sp&auml;teste)"} );


