/* Tooltip */

function showTooltip(ref, txt) {
    $('body').append('<div id="tooltip"><div id="tooltip-inner"></div></div>');
    $('#tooltip').bgiframe();
    $('#tooltip-inner')[0].innerHTML = txt;
    $('#tooltip')[0].style.top = $(ref).offset().top + 'px';
    $('#tooltip')[0].style.left = $(ref).offset().left + 'px';
    $('#tooltip').bind('mouseout', function tmp() {
        $('#tooltip').unbind('mouseout', tmp);
        $('#tooltip').remove();
        $('IFRAME.bgiframe').remove();
    });
}

function toggleDrop(r, t) {
    $(t).toggleClass('hidden');
    if (!$(t).hasClass('hidden')) {
        $(document).bind('mouseup', function temp01() { toggleDrop(r, t); });
        $(r).bind('mouseup', function() { return false; });
        $(t).css({ left: $(r).offset().left + 'px', top: $(r).offset().top + $(r)[0].offsetHeight + 'px' });
    } else {
        $(document).unbind('mouseup');
    }
}

(function($) {
    $.fn.bgIframe = $.fn.bgiframe = function(s) {
        // This is only for IE6
        if ($.browser.msie && /6.0/.test(navigator.userAgent)) {
            s = $.extend({
                top: 'auto', // auto == .currentStyle.borderTopWidth
                left: 'auto', // auto == .currentStyle.borderLeftWidth
                width: 'auto', // auto == offsetWidth
                height: 'auto', // auto == offsetHeight
                opacity: true,
                src: 'javascript:false;'
            }, s || {});
            var prop = function(n) { return n && n.constructor == Number ? n + 'px' : n; },
	            html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="' + s.src + '"' +
	                       'style="display:block;position:absolute;z-index:-1;' +
	                           (s.opacity !== false ? 'filter:Alpha(Opacity=\'0\');' : '') +
	                           'top:' + (s.top == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')' : prop(s.top)) + ';' +
	                           'left:' + (s.left == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')' : prop(s.left)) + ';' +
	                           'width:' + (s.width == 'auto' ? 'expression(this.parentNode.offsetWidth+\'px\')' : prop(s.width)) + ';' +
	                           'height:' + (s.height == 'auto' ? 'expression(this.parentNode.offsetHeight+\'px\')' : prop(s.height)) + ';' +
	                    '"/>';
	            return this.each(function() {
	                if ($('> iframe.bgiframe', this).length == 0)
	                    this.insertBefore(document.createElement(html), this.firstChild);
	            });
	        }
	        return this;
	    };
	})(jQuery);
	

/* Booking */

function SetDefaultBookingPeriod(checkInID, checkOutID, days) {
    var checkInDateCtl = $('#' + checkInID)[0];
    var checkOutDateCtl = $('#' + checkOutID)[0];

    //check if check-in date is after check-out date
    if (CompareDates(checkInDateCtl.value, checkOutDateCtl.value) == true) {
        checkOutDateCtl.value = ChangeDate(checkInDateCtl.value, days);
    }
}

function CompareDates(checkInString, checkOutString) {
    var checkInArr = checkInString.split('index.html');
    var checkOutArr = checkOutString.split('index.html');
    if (checkInArr.length == 3 && checkOutArr.length == 3) {
        try {
            var checkInDate = new Date(checkInArr[2], checkInArr[1], checkInArr[0]);
            var checkOutDate = new Date(checkOutArr[2], checkOutArr[1], checkOutArr[0]);
            if (checkInDate >= checkOutDate) return true;
        } catch (err) {
            return false;
        }
    } else if (checkInArr.length == 3 && checkOutArr.length == 1) {
        return true;
    }
}

function ChangeDate(checkInString, days) {
    var checkInDateArr = checkInString.split('index.html');
    if (checkInDateArr.length == 3) {
        try {
            var checkOutDate = new Date(checkInDateArr[2], checkInDateArr[1] - 1, checkInDateArr[0]);
            checkOutDate.setDate(checkOutDate.getDate() + days);
            var checkOutDay = checkOutDate.getDate();
            var checkOutMonth = checkOutDate.getMonth() + 1;
            var checkOutYear = checkOutDate.getFullYear();

            //check for proper month, year
            if (checkOutMonth == 0) {
                checkOutMonth = 12;
                checkOutYear -= 1;
            }
            if (checkOutDay < 10) checkOutDay = '0' + checkOutDay;
            if (checkOutMonth < 10) checkOutMonth = '0' + checkOutMonth;
            return checkOutDay + '/' + checkOutMonth + '/' + checkOutYear;
        } catch (err) {
            return '';
        }
    } else return '';
}
