﻿
/*############# Search ############ */

$(document).ready(function () {
    var link = $('#searchUrl').text();
    try {
        $('#searchField').autocomplete({
            minLength: 2,
            source: "/Helpers/GetAutocomplete.ashx",
            delay: 0,
            focus: function (event, ui) {
                $('#searchField').val(ui.item.Name);
                return false;
            },
            select: function (event, ui) {
                window.location = link + $("#searchField").val().replace(new RegExp(" ", "g"), '+');
            }
        }).data("autocomplete")._renderItem = function (ul, item) {
            ul.width('250px');
            return $("<li></li>")
            .data("item.autocomplete", item)
            .append("<a>" + item.Name + "</a>")
            .appendTo(ul);
        };
    }
    catch (err) {
        console.warn("Exeption at Searchfield Autocomplete");
    }

    try {
        $("#searchBtn").click(function () {
            if ($('#searchField').val().length > 1) {
                window.location = link + $("#searchField").val().replace(new RegExp(" ", "g"), '+');
            }
        });
    }
    catch (err) {
        console.warn("Exeption at Searchbutton click bind");
    }

    try {
        $('#searchField').keypress(function (e) {
            if (e.keyCode == 13 && $('#searchField').val().length > 1) {
                window.location = link + $("#searchField").val().replace(new RegExp(" ", "g"), '+');
            }
            else
                return true;
        });
    }
    catch (err) {
        console.warn("Exeption at SearchField keypress bind");
    }


    try {
        $('form').submit(function (e) {
            if (e.keyCode == 13 && $('#searchField').val().length > 1) {
                window.location = link + $("#searchField").val().replace(new RegExp(" ", "g"), '+');
            }
            else
                return false;
        });
    }
    catch (err) {
        console.warn("Exeption at Form submit bind");
    }
});

/* Key Filter http://code.google.com/p/jquery-keyfilter/  */
(function (h) { var f = { pint: /[\d]/, "int": /[\d\-]/, pnum: /[\d\.]/, money: /[\d\.\s,]/, num: /[\d\-\.]/, hex: /[0-9a-f]/i, email: /[a-z0-9_\.\-@]/i, alpha: /[a-z_]/i, alphanum: /[a-z0-9 ]/i }; var c = { TAB: 9, RETURN: 13, ESC: 27, BACKSPACE: 8, DELETE: 46 }; var a = { 63234: 37, 63235: 39, 63232: 38, 63233: 40, 63276: 33, 63277: 34, 63272: 46, 63273: 36, 63275: 35 }; var e = function (j) { var i = j.keyCode; i = h.browser.safari ? (a[i] || i) : i; return (i >= 33 && i <= 40) || i == c.RETURN || i == c.TAB || i == c.ESC }; var d = function (j) { var i = j.keyCode; var l = j.charCode; return i == 9 || i == 13 || (i == 40 && (!h.browser.opera || !j.shiftKey)) || i == 27 || i == 16 || i == 17 || (i >= 18 && i <= 20) || (h.browser.opera && !j.shiftKey && (i == 8 || (i >= 33 && i <= 35) || (i >= 36 && i <= 39) || (i >= 44 && i <= 45))) }; var b = function (j) { var i = j.keyCode || j.charCode; return h.browser.safari ? (a[i] || i) : i }; var g = function (i) { return i.charCode || i.keyCode || i.which }; h.fn.keyfilter = function (i) { return this.keypress(function (m) { if (m.ctrlKey || m.altKey) { return } var j = b(m); if (h.browser.mozilla && (e(m) || j == c.BACKSPACE || (j == c.DELETE && m.charCode == 0))) { return } var o = g(m), n = String.fromCharCode(o), l = true; if (!h.browser.mozilla && (d(m) || !n)) { return } if (h.isFunction(i)) { l = i.call(this, n) } else { l = i.test(n) } if (!l) { m.preventDefault() } }) }; h.extend(h.fn.keyfilter, { defaults: { masks: f }, version: 1.7 }); h(document).ready(function () { var i = h("input[class*=mask],textarea[class*=mask]"); for (var j in h.fn.keyfilter.defaults.masks) { i.filter(".mask-" + j).keyfilter(h.fn.keyfilter.defaults.masks[j]) } }) })(jQuery);
