﻿LD = {};
LD.searchResultUrl = "/Search.aspx?";

LD.writeTag = function(name, params, innerHtml) {
    var attrHtml = [];
    for(var key in params)
        attrHtml.push(" " + key + "=\""+params[key]+"\"");
    document.write("<"+name+attrHtml.join("")+">"+(innerHtml==undefined?"":innerHtml)+"</"+name+">");
}

LD.bindSearchField = function() {
    function search() {
        location.href = LD.searchResultUrl + "terms=" + encodeURIComponent(jQuery("#searchField").attr("value"));
    }

    jQuery("#searchField").keypress(function(e) {
        if (e.keyCode == 13) {
            e.stopPropagation();
            e.preventDefault();
            search();
        }
    });

    jQuery("#searchSubmit").click(function(e) {
        
        e.stopPropagation();
        e.preventDefault();
        search();
    });
}

LD.topMenuInitialize = function($jq) {    
    var $tabs = $jq("#topMenu");
    var $allLis = $jq("#topMenu ul:first li");
    var $allDescriptions = $jq("#topMenu .descriptions div");
    var timers = {};
                    
    function getDescription($li) {
        return $jq($allDescriptions.get($allLis.index($li)));
    }
    
    function hide(index) {
        $jq($allLis.get(index)).removeClass("hover");
        $jq($allDescriptions.get(index)).css("visibility", "hidden");
    }
    
    function startHide(index) {
        timers[index] = window.setTimeout(function() { hide(index); }, 100);
    }                                        
    
    function tabHover(e) {
        e.preventDefault();
        e.stopPropagation();
    
        window.clearTimeout(timers[$allLis.index(this)]);
    
        // hide all
        $allLis.removeClass("hover");
        $allDescriptions.css("visibility", "hidden");
        
        // show tab hovering
        getDescription($jq(this).addClass("hover")).css("visibility", "visible");                    
    }
    
    function tabLeave(e) {
        e.preventDefault();
        e.stopPropagation();
        startHide($allLis.index(this));
    }
    
    function descriptionHover() {              
        window.clearTimeout(timers[$allDescriptions.index(this)]);
    }
    
    function descriptionLeave() {
        startHide($allDescriptions.index(this));
    }
            
    $allLis.hover(tabHover, tabLeave);
    $allDescriptions.hover(descriptionHover, descriptionLeave);
};

LD.emailProtection = function($jq) {
    function unprotect(str) {
        return str.replace(/\(snabel\-a\)/ig, "@").replace(/\%28snabel\-a\%29/ig, "@");
    };

    $jq("a.encm").each(function() {
        $jq(this).attr("href", unprotect($jq(this).attr("href")));
        $jq(this).text(unprotect($jq(this).text()));
    });
};

LD.windowPopup = function($jq,cssClass,props) {
    $jq("a."+cssClass).click(function(e) {
        e.preventDefault();
        e.stopPropagation();    
        
        var sep = (this.href.indexOf("?") != -1 ? "&" : "?");
        var url = this.href;
        var hash = "";
        if(url.indexOf("#") != -1) {
            var hash = url.substring(url.indexOf("#"));
            url = url.substring(0, url.indexOf("#"));
        }
 
        window.open(url+sep+"sc_device=popup" + hash, "_blank", props);
    });
};
