/// <reference path="jquery-1.7.1-vsdoc.js" />

$(window).load(function () {
    if ($("div#makeMeScrollable").length) {
        $("div#makeMeScrollable").smoothDivScroll({});
    }
});

$(document).ready(function () {

    $('#tbcalendar').datepicker({
        dateFormat: 'dd.mm.yy',
        closeText: 'schlie%DFen',
        currentText: 'Heute',
        dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
        monthNames: ['Januar', 'Februar', unescape('M%E4rz'), 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
    });

    $(".seltermin").click(function () {
        $('#ulTermin').show("slow");
    })

    $(".selnotermin").click(function () {
        $('#ulTermin').hide("slow");
    })

    $('#toggleButton').click(function () {
        if ($('#toggleSection').is(":hidden")) {
            $('#toggleSection').slideToggle("fast");
            $('#toggleButton').text(unescape('schlie%DFen'));
        }
        else {
            $('#toggleSection').slideToggle("fast");
            $('#toggleButton').text(unescape('Mehr lesen'));
        }
    });

    $('a.moreReferenzen').click(function () {
        var id = $(this).attr('id');
        if ($('#toggleSection' + id).is(":hidden")) {
            $('#toggleSection' + id).slideToggle("fast");
            $('#' + id).text(unescape('> schlie%DFen'));
        }
        else {
            $('#toggleSection' + id).slideToggle("fast");
            $('#' + id).text(unescape('> Mehr lesen'));
        }
    });

    function position(using) {

        $(".positionable").position({
            of: $(".login"),
            my: "left bottom",
            at: "left top",
            offset: "0",
            collision: "fit fit"
        });
    }
    // falls das fenster geändert wird, soll die neue position direkt berechnet werden
    $(window).resize(function () {
        position();
    });
    var isInPos = false;
    $(".positionable").css("opacity", 1);
    $(".login")
    .mouseover(function () {
        $(".positionable").slideDown(500);
        position();
    })
    .mouseout(function () {

    });
    $(".positionable")
    .mouseover(function () {
        isInPos = true;
    })
    .mouseleave(function () {
        isInPos = false;
        $(".positionable").slideToggle(500);
    });

    $("ul.NewsUL").quickPager({
        pageSize: "3",
        currentPage: "1",
        pagerLocation: "both"
    });

    var cache = {};
    var content = $(".col1").children();
    var isContentOpen = true;
    $(".col1").append("<div id='suchergebnisse' style='display:none'></div>");
    $(".col1").delegate("#suchergebnisse", "zeigeSuchErgebnisse", function (e, data) {

        // Prüfe nach ob es sich um ein 3 Saplten Design handelt, wenn ja blende die 3 Spalte aus:
        // 
        if ($("#divCol3").is(":visible") && $("#divCol3").length > 0) {
            $("#divCol3").toggle();
            $("#main").removeClass("three");
            $("#main").addClass("two");
        }

        // isContentOpen zeigt an, ob der Standard Content angezeigt wird --> Falls Suchergebnisse bereits angezeigt werden: isContentOpen = false
        if (isContentOpen == true) {
            content.each(function (i) {
                if ($(this).is(":visible")) {
                    if (!$(this).hasClass("wasOpen")) {
                        $(this).addClass("wasOpen");
                    }
                    $(this).toggle();
                }
            });
            $("#suchergebnisse").toggle();
        }

        // Löschen in jedem Fall, die alten Suchergebnisse
        $("#suchergebnisse").html("");
        $("#suchergebnisse").append("<div><div style='float:left;padding: 0 0 0 1em;'><h3>Suchergebnisse</h3></div><div id='hh' style='float:right;font-weight:bold;cursor:pointer;padding:1em 1em 0 0'><img id='closePreview' src='/images/close32.png' alt='schliessen' /></div><div style='clear:both'></div></div><ul class='paging'></ul>")
        // Biete Möglichkeit zum Schliessen der Maske

        $("#hh").bind('click', function () {
            $('#suchergebnisse').html("");
            $('#suchergebnisse').toggle();
            content.each(function (i) {
                if ($(this).hasClass("wasOpen")) {
                    $(this).toggle();
                }
            });

            // 
            isContentOpen = true;

            // füge das 3 Spalten Design wieder dazu, falls es überhaupt da ist

            if (!$("#divCol3").is(":visible") && $("#divCol3").length > 0) {
                $("#divCol3").toggle();
                $("#main").removeClass("two");
                $("#main").addClass("three");
            }
        });
        // Fülle die Maske mit Suchergebnissen
        // console.log(data);
        $.each(data.values, function (i, item) {

            var teaser = '';
            if (item.Description != null) {
                teaser = item.Description;
            }
            $("<li style='font-size:1.0em;'><div><a class='suchergebnis-link' id='a_" + i + "' href='" + item.NavigateURL + "'>" + item.Titel + "</a><span id='navUrl_" + i + "' style='display:none;color:blue;font-size:0.8em'> (" + item.NavigateURL + ")</span></div><div style='margin-top:5px;font-size:0.9em;'><i>" + teaser + "</i></div></li>").appendTo($("ul.paging"));
            var counter = i;
            $('#a_' + i)
                        .mouseover(function () {
                            $('#navUrl_' + counter).toggle();
                            //console.log('navUrl_' + counter);
                        })
                        .mouseout(function () {
                            $('#navUrl_' + counter).toggle();
                        });
        });
        if (data.values.length == 0) {
            $("<li>Leider gab es zu Ihrer Suchanfrage keine Ergebnisse!</li>").appendTo($("ul.paging"));
        }

        // Lasse die Suchergebnisse pagen

        $("ul.paging").quickPager({
            pageSize: "5",
            currentPage: "1",
            pagerLocation: "after"
        });

        // Designe die Suchergebnisse

        $("ul.paging li:odd").addClass("odd");
        $("ul.paging li")
                        .mouseover(function () {
                            $(this).addClass("hover");
                        })
                        .mouseout(function () {
                            $(this).removeClass("hover");
                        });

        isContentOpen = false;
    });
    $(window).resize(function () {
        $("#searchB").autocomplete("search");
    });
    $("#searchSubmit").click(function () {
        $("#searchB").autocomplete("search");
        return false;
    });
    $("#searchB").autocomplete({
        source: function (request, response) {
            if (request.term in cache) {
                response(cache[request.term].keys);
                $("#suchergebnisse").trigger("zeigeSuchErgebnisse", cache[request.term]);
                return;
            }
            $.ajax({
                url: "/service/autocomplete.ashx",
                data: request,
                success: function (data) {
                    cache[request.term] = data;
                    response(data.keys);
                    if (data.values.length >= 0) {
                        $("#suchergebnisse").trigger("zeigeSuchErgebnisse", data);
                    }
                }
            })
        },
        select: function (event, ui) {
            $.ajax({
                url: "/service/autocomplete.ashx",
                data: ui.item.value,
                success: function (data) {
                    if (data.values.length >= 0) {
                        $("#suchergebnisse").trigger("zeigeSuchErgebnisse", data);
                    }
                }
            });
        },
        minLength: 3
    });
});


