
        // Detect if the browser is IE or not.
        // If it is not IE, we assume that the browser is NS.
        var IE = document.all ? true : false;

        // If NS -- that is, !IE -- then set up for mouse capture
        if (!IE) document.captureEvents(Event.MOUSEMOVE);

        // Set-up to use getMouseXY function onMouseMove
        document.onmousemove = getMouseXY;

        // Temporary variables to hold mouse x-y pos.s
        var tempX = 0;
        var tempY = 0;

        // Main function to retrieve mouse x-y pos.s
        function getMouseXY(e)
        {
            if(!e) e = window.event;

            var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat")
                ? window.document.documentElement : window.document.body || null;

            tempX = e.pageX ? e.pageX : e.clientX + body.scrollLeft;
            tempY = e.pageY ? e.pageY : e.clientY + body.scrollTop;
        }

	    function gup(name)
	    {
		    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		    var regexS = "[\\?&]"+name+"=([^&#]*)";
		    var regex = new RegExp( regexS );
		    var results = regex.exec( window.location.href );

		    return (results == null) ? '' : results[1].replace('!', '?').replace('$', '&').replace('$', '&').replace('$', '&').replace('$', '&').replace('$', '&').replace('$', '&');
	    }

        function sendHeightToParent() {
            var strSite = gup('parentSite');
            if (strSite != '') {
                var height = document.body.offsetHeight + 50;

                if (strSite.indexOf('?') != -1) {
                    var strSiteParts = strSite.split('?');
                    var href = strSiteParts[0] + '?' + strSiteParts[1].replace(/,/g, '&') + '#height_' + height;
                    parent.location = href;
                }
                else {
                    var href = strSite + '#height_' + height;
                    if (top.frames.length > 1)
                    {
                    	// nichts machen, weil im parent mehrere frames sind!
                    }
                    else
                    {
                    	parent.location = href;
                    }
                }
            }
        }

        function getCurrentHeight()
        {
	    var height = document.body.offsetHeight + 50;

	    return height;
        }

        var divPopUp = null;
        var btPopUpShow = null;
        var hPopUp = null;
        var popUpTimeOut = null;
        var popUpOffsetLeft = false;
        function showPopUp(panel, show, hidden, arguments)
        {
            // elemente finden
            divPopUp = document.getElementById(panel);
            btPopUpShow = document.getElementById(show);
            hPopUp = document.getElementById(hidden);

            // ausloesen
            hPopUp.value = arguments;
            btPopUpShow.click();

            // position setzen
            divPopUp.style.top = tempY + 'px';
            if (tempX > 400)
            {
                // wird unten in endRequest gemacht!
                popUpOffsetLeft = true;
            }
            else
            {
                popUpOffsetLeft = false;
                divPopUp.style.left = tempX + 'px';
            }
        }

        function scrollToPosition(top)
        {
            window.scrollTo(0, top);
        }

        function scrollToSender(sender)
        {
            scrollToPosition(sender.offsetTop);
        }

        function dpDeparture_SelectedDateChanged(sender, args)
        {
            SetDepartureDate(sender);
        }

        function dpArrival_Blur(sender)
        {
            SetDepartureDate(sender);
        }

        function SetDepartureDate(sender)
        {
            var dpDeparture;
            var hNumberOfNights;

            if (document.forms[0].ctl00_cphCentralControl_CentralControl1_IndexCard1_cafGroupQuery_dpDeparture != null)
            {
                // schritt 1
                dpDeparture = ctl00_cphCentralControl_CentralControl1_IndexCard1_cafGroupQuery_dpDeparture;
            }
            else if (document.forms[0].ctl00_cphCentralControl_CentralControl_IndexCard1_cafGroupQuery_dpDeparture != null)
            {
                // schritt 1
                dpDeparture = ctl00_cphCentralControl_CentralControl_IndexCard1_cafGroupQuery_dpDeparture;
            }
            else if (document.forms[0].ctl00_cphCentralControl_CentralControl1_IndexCard2_cafHotelQuery_dpDeparture != null)
            {
                // schritt 2
                dpDeparture = ctl00_cphCentralControl_CentralControl1_IndexCard2_cafHotelQuery_dpDeparture;
            }
            else
            {
                // schritt 2
                dpDeparture = ctl00_cphCentralControl_CentralControl_IndexCard2_cafHotelQuery_dpDeparture;
            }

            if (document.forms[0].ctl00_cphCentralControl_CentralControl1_IndexCard1_cafGroupQuery_hNumberOfNights != null)
            {
                // schritt 1
                hNumberOfNights = document.forms[0].ctl00_cphCentralControl_CentralControl1_IndexCard1_cafGroupQuery_hNumberOfNights;
            }
            else if (document.forms[0].ctl00_cphCentralControl_CentralControl_IndexCard1_cafGroupQuery_hNumberOfNights != null)
            {
                // schritt 1
                hNumberOfNights = document.forms[0].ctl00_cphCentralControl_CentralControl_IndexCard1_cafGroupQuery_hNumberOfNights;
            }
            else if (document.forms[0].ctl00_cphCentralControl_CentralControl1_IndexCard2_cafHotelQuery_hNumberOfNights != null)
            {
                // schritt 2
                hNumberOfNights = document.forms[0].ctl00_cphCentralControl_CentralControl1_IndexCard2_cafHotelQuery_hNumberOfNights;
            }
            else
            {
                // schritt 2
                hNumberOfNights = document.forms[0].ctl00_cphCentralControl_CentralControl_IndexCard2_cafHotelQuery_hNumberOfNights;
            }

            var date = sender.GetDate();
            var numberOfNights = new Number(hNumberOfNights.value);
            date.setDate(date.getDate() + numberOfNights);
            dpDeparture.SetDate(date);
        }

        function setDates(date)
        {
            var dates = date.toString().split(',');
            var year = new Number(dates[0]);
            var month = new Number(dates[1]);
            var day = new Number(dates[2]);
            var selectedDate = new Date(year, month-1, day);
            try
            {
                try
                {
                    // schritt 2, mit gruppensuche
                    ctl00_cphCentralControl_CentralControl1_IndexCard2_cafHotelQuery_dpArrival.SetDate(selectedDate);
                }
                catch (e1)
                {
                    try
                    {
                        // schritt 2, ohne gruppensuche
                        ctl00_cphCentralControl_CentralControl_IndexCard2_cafHotelQuery_dpArrival.SetDate(selectedDate);
                    }
                    catch (e2)
                    {
                        throw e2;
                    }
                }
            }
            catch (e)
            {
                // index card 1
            }
        }
