﻿var suche = new Class({
    initialize: function () {

        if ($("searchQuery")) {
            $("aspnetForm").set("action", "javascript:void(0);");
            var input = $("searchQuery");
            if (Browser.Engine.webkit) input.set("type", "search");
            var researchres = $("searchResultsContent");
            this.searchReq = new Request.HTML({ "url": "/ajax/getSearch.aspx", "update": researchres });
            this.cursearch;
            this.curInputvalue = "";
            input.addEvent("keyup", this.inputChanged.bindWithEvent(this));
            $("Archiv").addEvent("change", this.checkboxChanged.bindWithEvent(this));
            $("Aktuelles").addEvent("change", this.checkboxChanged.bindWithEvent(this));
            
        }
    },
    search: function () {
        this.searchReq.cancel();
        this.searchReq.post({ q: $("searchQuery").get("value"), Archiv: $("Archiv").get("checked"), Aktuelles: $("Aktuelles").get("checked") });
        this.curInputvalue = $("searchQuery").get("value");
    },
    checkboxChanged: function (e) {
        this.curInputvalue = "";
        this.inputChanged(e);
    },
    inputChanged: function (e) {
        e.preventDefault();
        var val = $("searchQuery").get("value").trim();
        if (val == this.curInputvalue) return;
        $clear(this.cursearch);
        if (!$chk(val)) return $("searchResultsContent").set("html", "<li class='eventListTitle'><h1>Bitte geben Sie einen Suchbegriff ein:</h1></li>");
        if (val.length < 3) return $("searchResultsContent").set("html", "<li class='eventListTitle'><h1>nicht gen&#228;gend Buchstaben um eine Suche zu starten</h1></li>");
        this.cursearch = this.search.delay(700, this);
        $("searchResultsContent").set("html", "<li class='eventListTitle loading'><h1>Suche wird geladen...</h1></li>");
    }


});
window.addEvent("domready", function() { new suche();});