﻿// START: searchbox
function OnEnter(event, method, args)
{
    //Only do something when enter is pressed
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13)
    {
        try
		{ method(args); }
        catch (e) { }
        return false;
    }
    return true;
}

function DoSearch(args)
{
    location.href = searchResultPage + "?searchText=" + encodeURIComponent(args.value);
}

function initSearchbox(searchResultPage) {
    var searchStringAvailable = (getUrlParameters()["searchText"] != null);
    var searchString = getUrlParameters()["searchText"];

    if (searchStringAvailable && searchString != "") {
        searchString = decodeURIComponent(searchString);
        jQuery("#searchbox-input").val(jQuery.URLDecode(searchString));
    }
    jQuery("#searchbox-input").inputLabel();
}

// END: searchbox

function getUrlParameters() {
    var parameters = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for (var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        parameters.push(hash[0]);
        parameters[hash[0]] = hash[1];
    }
    return parameters;
}

jQuery.extend({ URLEncode: function (c) {
    var o = ''; var x = 0; c = c.toString(); var r = /(^[a-zA-Z0-9_.]*)/;
    while (x < c.length) {
        var m = r.exec(c.substr(x));
        if (m != null && m.length > 1 && m[1] != '') {
            o += m[1]; x += m[1].length;
        } else {
            if (c[x] == ' ') o += '+'; else {
                var d = c.charCodeAt(x); var h = d.toString(16);
                o += '%' + (h.length < 2 ? '0' : '') + h.toUpperCase();
            } x++;
        }
    } return o;
},
    URLDecode: function (s) {
        var o = s; var binVal, t; var r = /(%[^%]{2})/;
        while ((m = r.exec(o)) != null && m.length > 1 && m[1] != '') {
            b = parseInt(m[1].substr(1), 16);
            t = String.fromCharCode(b); o = o.replace(m[1], t);
        } return o;
    }
});
