function getElement(id){
    return document.getElementById ? document.getElementById(id) : document.all ? document.all(id) : null;
}

function getClientWidth(){
    return document.body && typeof document.body.clientWidth != 'undefined' ? document.body.clientWidth : window.innerWidth ? innerWidth : null;
}

function getClientHeight(){
    return document.body && typeof document.body.clientHeight != 'undefined' ? document.body.clientHeight : window.innerHeight ? innerHeight : null;
}

function centerIt(el_id, horiz_offset){
    if (typeof horiz_offset == 'undefined')
        horiz_offset = 0;
    if (typeof vert_offset == 'undefined')
        vert_offset = 0;
    var el = getElement(el_id);
    var cW = getClientWidth();
    var cH = getClientHeight();
    if (el && el.style && cW && cH) {
        var el_lt = (cW - 770) / 2 + horiz_offset;
        if (cW < 770)
            var el_lt = horiz_offset;
        el.style.left = String(el_lt + 'px');
    }
}

function MM_findObj(n, d){ // v4.0
    var p, i, x;
    if (!d)
        d = document;
    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document;
        n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all)
        x = d.all[n];
    for (i = 0; !x && i < d.forms.length; i++)
        x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++)
        x = MM_findObj(n, d.layers[i].document);
    if (!x && document.getElementById)
        x = document.getElementById(n);
    return x;
}

function MM_reloadPage(init){ // reloads the window if Nav4 resized
    if (init == true)
        with (navigator) {
            if ((appName == "Netscape") && (parseInt(appVersion) == 4)) {
                document.MM_pgW = innerWidth;
                document.MM_pgH = innerHeight;
                onresize = MM_reloadPage;
            }
        }
    else
        if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH)
            location.reload();
}

MM_reloadPage(true);

function MM_showHideLayers(){ // v3.0
    var i, p, v, obj, args = MM_showHideLayers.arguments;
    for (i = 0; i < (args.length - 2); i += 3)
        if ((obj = MM_findObj(args[i])) != null) {
            v = args[i + 2];
            if (obj.style) {
                obj = obj.style;
                v = (v == 'show') ? 'visible' : (v = 'hide') ? 'hidden' : v;
            }
            obj.visibility = v;
        }
}

function MM_swapImgRestore(){ // v3.0
    var i, x, a = document.MM_sr;
    for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++)
        x.src = x.oSrc;
}

function MM_preloadImages(){ // v3.0
    var d = document;
    if (d.images) {
        if (!d.MM_p)
            d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
        for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) {
                d.MM_p[j] = new Image;
                d.MM_p[j++].src = a[i];
            }
    }
}

function MM_swapImage(){ // v3.0
    var i, j = 0, x, a = MM_swapImage.arguments;
    document.MM_sr = new Array;
    for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) {
            document.MM_sr[j++] = x;
            if (!x.oSrc)
                x.oSrc = x.src;
            x.src = a[i + 2];
        }
}

function MM_jumpMenu(targ, selObj, restore){ // v3.0
    eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
    if (restore)
        selObj.selectedIndex = 0;
}

function MM_openBrWindow(theURL, winName, features){ // v2.0
    window.open(theURL, winName, features);
}

function openpopup2(url){// PopUp Druckvorschau
    open(url, 'popup', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=620,height=600');
}

function printPage(){// Befehl zum Drucken
    if (window.print) {
        agree = confirm('Ein Klick auf OK genï¿½gt \nund die Seite wird ausgedruckt. \n\nBereit?');
        if (agree)
            window.print();
    }
}

function chooseAsset($url){
    window.location.href = $url;
}

/*
 * ###################################################### Anpassung der Hï¿½he der
 * beiden Spalten im Content
 * #######################################################
 */
function setDivHeight(){

    if (document.getElementById('content'))
        var content = document.getElementById('content');
    else
        if (document.getElementById('content2'))
            var content = document.getElementById('content2');
        else
            var content = false;

    if (content != false) {
        // Hoehe des Contents
        var height = content.offsetHeight;
        // Linke Spalte
        var subnavi = document.getElementById('subnavi');
        var subnavi_height = subnavi.offsetHeight;
        // Rechte Spalte
        if (document.getElementById('custom')) {
            var custom = document.getElementById('custom');
            var custom_height = custom.offsetHeight;
        }
        else {
            var custom_height = false;
        }

        // Die linke Spalte vergroessern
        if (subnavi_height < height ||
        (custom_height != false && subnavi_height < custom_height)) {
            // Fall: Rechte Spalte groesser als linke Spalte
            if (custom_height != false && subnavi_height < custom_height &&
            subnavi_height > height)
                var new_subnavi_height = custom_height;
            else
                var new_subnavi_height = height + 20;
            if (document.all) // IE
                document.all.subnavi.style.setAttribute("height", new_subnavi_height, "false");
            else
                // gscheite Browser
                subnavi.style.height = new_subnavi_height + "px";
        }
        else {
            var new_subnavi_height = subnavi_height;
        }

        // Die rechte Spalte vergroessern
        if (custom_height != false) {
            if (custom_height < new_subnavi_height) {
                var new_custom_height = new_subnavi_height;
                if (document.all) // IE
                    document.all.custom.style.setAttribute("height", new_custom_height, "false");
                else
                    // gscheite Browser
                    custom.style.height = new_custom_height + "px";
            }
        }
    }
    return true;
}

function setTIHeight(id){
    /* Element Text und Bild Hoehenanpassung */
    var textID = "it_text" + id;
    var imgID = "it_image" + id;

    var img = document.getElementById(imgID);
    var img_height = img.offsetHeight;
    var text = document.getElementById(textID);
    var text_height = text.offsetHeight;

    if (text_height < img_height) {
        var new_text_height = img_height;
        text.style.height = new_text_height + "px";
    }
}

function setInfoHeight(id){
    /* Element Text und Bild Hoehenanpassung */
    var padding = 0;
    var textID = "info_text" + id;
    var imgID = "info_image" + id;
    var dateID = "info_dates" + id;

    var text = document.getElementById(textID);
    var text_height = text.offsetHeight;
    if (document.getElementById(imgID)) {
        var img = document.getElementById(imgID);
        var img_height = img.offsetHeight;
    }
    else
        var img_height = 0;
    if (document.getElementById(dateID)) {
        var date = document.getElementById(dateID);
        var date_height = date.offsetHeight;
    }
    else
        var date_height = 0;

    var height = text_height;
    if (height < img_height)
        height = img_height;
    if (height < date_height)
        height < date_height;
    text.style.height = (height - padding) + "px";
    if (document.getElementById(imgID))
        img.style.height = (height) + "px";
    if (document.getElementById(dateID))
        date.style.height = (height - padding) + "px";
}

/*******************************************************************************
 *
 * JQuery Erweiterungen
 ******************************************************************************/
(function($){
    /******************************************************************************
     * displayTooltip-Funktion
     *****************************************************************************/
    $.fn.displayTooltip = function(){
        $(this).mouseover(function(){
            var $img_position = $(this).position();
            var $img_path = $(this).attr("rel");
            if (!$img_path) {
                $img_path = $(this).attr("src");
            }
            $("body").append('<div class="img_detail"><img src="' + $img_path + '" alt="' + $(this).attr("alt") + '" /></div>');
            $(".img_detail").css({
                "position": "absolute",
                "left": (($img_position.left * 1) + 0) + "px",
                "top": $img_position.top + "px"
            });
        }).mouseout(function(){
            $(".img_detail").remove();
        });
    } // Ende displayTooltip
})(jQuery);


$(document).ready(function(){
    init();
});


function init(){

		$( "#g_termin" ).datepicker();
		$( "#g_termin" ).datepicker( "option", "monthNames", ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'] );
		$( "#g_termin" ).datepicker( "option", "monthNamesShort", ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'] );
		$( "#g_termin" ).datepicker( "option", "dayNamesMin", ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'] );

		$('#set1 *').tooltip();

		$("#guestbook").pager(".pager",
		{
			prevText: "Zurueck ",
				nextText: " Vor"
		});

    $("#content-wrapper").dropShadow({
        left: -2,
        top: 1,
        blur: 1,
        opacity: 0.1
    });
    //Empty Search-Field on focus, refill on blur
    var $val;
    $(".empty-on-focus").focus(function(){
        $val = $(this).val();
        $(this).val("");
    }).blur(function(){
        if ($(this).val().length <= 0) {
            $(this).val($val);
        }
    });
    $("a[href^=#]").each(function(){
        $(this).click(function(){
            var $href = $(this).attr("href");
            $href = $href.split("#");
            window.location.hash = "#" + $href[1];
            return false;
        });
    });
    $(".print").click(function(){
        $("#content, #content2, #content3, #content4").print();
    });
    $(".back").unbind().bind("click", function(){
        window.back();
        return false;
    });
}

/*************************************
 * JQuery Print by Olivier Tille
 *************************************/
jQuery.fn.print = function(){
    var styles = '';
    $("head link").each(function(){
        styles += '<link rel="stylesheet" type="text/css" href="' + $(this).attr("href") + '" />' + "\n";
    })
    var frameName = ("printer-" + (new Date()).getTime());
    var frameTitle = document.title;
    $("<iframe name='" + frameName + "'>").css({
        "width": "1px",
        "height": "1px",
        "position": "absolute",
        "left": "-10px"
    }).appendTo($("body"));
    var frameDoc = window.frames[frameName].document;
    frameDoc.open();
    frameDoc.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
    frameDoc.write("<html>");
    frameDoc.write("<head>");
    frameDoc.write("<style type=\"text/css\">#content_bottom{display:none;}</style>");
    frameDoc.write("<title>");
    frameDoc.write(frameTitle);
    frameDoc.write("</title>");
    frameDoc.write("</head>");
    frameDoc.write("<body>");
    frameDoc.write(styles);
    frameDoc.write(this.html());
    frameDoc.write("</body>");
    frameDoc.write("</html>");
    frameDoc.close();
    window.frames[frameName].focus();
    window.frames[frameName].print();
}

