$(function () {
    // diese zeile muss ganz als erstes in die scripts.js
    // mit etwas glück gibt es dann kein flackern mehr
    $("body").addClass("jsEnabled");

    // voting via ajax
    $(".teaser form.votingForm input:image").click(function (e) {
        var f = this.form;
        $.post($(f).attr("action"), $(f).serializeArray(), function (d) {
            $("#votingBox").parent().html($(d).find("#votingResultsBox"));
        });
        return false;
    });

    // angebote hinzufügen via ajax
    // setzt voraus, dass es #plannerBox gibt
    $("p.linkAdd a").click(function () {
        $.get($(this).attr("href"), function (data, textStatus) {
//TODO: scheint im ie7 nicht zu funktionieren
// ist außerdem langsam -> überlegen, ob ?ajax=1 mit abgespecktem master oder json/xml verwendet werden kann
// möglicherweise ist ajax hier auch mist, da noch an 2 weiteren stellen die anzeige aktualisiert werden müsste
            var dataJq = $(data);
            // letzer artikel-anzeige aktualisieren
            $("#plannerBox").html(dataJq.find("#plannerBox").html()).show();
            // nachricht setzen
            $("body").prepend(dataJq.find("#flashmsg"));
            notify();
        });
        return false;
    });

});

function notify() {
    // fade-in der flash-message
    $("#flashmsg").fadeIn(400, function () {
        // fade-out der flash-message
        window.setTimeout(function () {
            $("#flashmsg").fadeOut(500, function () {
                $(this).remove();
            });
        }, 1400);
    });
}

$(window).load(function () {
    notify();

    // navigation
    // benötigt jquery-plugin hoverIntent
    $("#navigation>ul>li").each(function () {
        $(this).hoverIntent({
            over: function () {
                $(this).addClass("hover");
            },
            timeout: 300,
            out: function () {
                $(this).removeClass("hover");
            }
        });
    });
    
    
    $("input:text").each(function () {
        var tmp = $(this).attr("title");
        if (String(tmp).length) {
            $(this).bind("focus", function () {
               if (this.value === tmp) {
                   this.value = "";
               }
            }).bind("blur", function () {
                if (this.value === "") {
                    this.value = tmp;
                }
            }).trigger("blur");
        }
    });
    $("form").bind("submit", function () {
        $("input:text").focus();
    });

    // suchvorschlaege
    $("#searchsuggest, #searchsuggest2").autocomplete("/_comp/php/search.php", {
        width: 235,
        selectFirst: false,
        minChars: 2
    });
   
    // für dynamische einblendung der veranstaltungsbeschreibung
    // für dynamische einblendung der faq-antworten
    // für dynamische einblendung der download-details
    $("#eventBox p.linkEventDetails a, #faqBox p.linkFaqDetails a, #downloadBox p.linkDetails a").click(function () {
        if ($(this).parent().hasClass("active")) {
            $("p.linkEventDetails, p.linkFaqDetails, p.linkDetails").removeClass("active");
            $("td.itemDescription > div").hide();
$("tbody, thead").addClass("dontprint");
            return false;
        }
        $("p.linkEventDetails, p.linkFaqDetails").removeClass("active");
        $(this).parent().addClass("active");
        var descId = $(this).attr("href");
        $("td.itemDescription > div").hide();
$("tbody, thead").addClass("dontprint");
        $(descId).slideDown().parents("tbody:first").removeClass("dontprint");
        return false;
    });

    // bestimmte veranstaltung/faq wählen ermöglichen
    if (location.hash && location.hash.match(/^#(event|faq|download|item_)/)) {
        $("a[href='" + location.hash + "']").click();
        var elementOffset = $(location.hash).offset().top - 40;
        $("html, body").animate({scrollTop: elementOffset}, 500);
    }

    // tooltips
    $(".tooltip").find("[alt]").removeAttr("alt").end().tooltip({
        delay: 100,
        showURL: false
    });

    $(".tooltipRezepte").find("[alt]").removeAttr("alt").end().tooltip({
        delay: 100,
        showURL: false,
        showBody: ' - ',
        extraClass: 'tooltipRezepteStyle'
    });

    // angebote
    $("#productsOverview div.settings select").change(function () {
        this.form.submit();
    });

    // aufklapper
    $('div.slider').find('div.hideParagraphs').hide().end().find('.linkSliderDetails a').click(function () {
        if ( $(this).parents('tbody').hasClass('active')){
            $(this).parents('tbody').removeClass('active');
            $(this).parents('tbody').find('div.hideParagraphs').hide();
	    return false;
        } 
        $('div.hideParagraphs').hide();
        $('table.slidesContainer tbody').removeClass('active');
	$(this).parents('tbody').addClass('active');
        $(this).parents('tbody').find('div.hideParagraphs').show();
        $(this).parents('tbody').show();
        return true;
    }); 





    $('div.slider div.mouseoverInfos').find('div.p').hide().end().find('h3').bind('mouseenter', function () {
        $(this).parents('.mouseoverInfos').find('div.p').hide().end().find('h3.active').removeClass('active');
        $(this).addClass('active').next().show();
    }).end().bind('mouseleave', function () {
        $(this).find('div.p').hide().end().find('h3.active').removeClass('active');
    });
});