﻿(function ($) {

    function strcmp(a, b) {
        return (a < b ? -1 : (a > b ? 1 : 0));
    }



    function encode(string) {
        return escape(_utf8_encode(string));
    }

    function decode(string) {
        return _utf8_decode(unescape(string));
    }

    function _utf8_encode(string) {
        string = string.replace(/\r\n/g, "\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if ((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    }

    function _utf8_decode(utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while (i < utftext.length) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if ((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i + 1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i + 1);
                c3 = utftext.charCodeAt(i + 2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }



    function s() {
        window.location.href = 'Redirect.ashx?u=' + encode('Search.aspx?s=' + $('#Search').val());
    }

    $(document).ready(function () {

        if (strcmp(window.location.search.substr(1, 1), "s") == 0 && strcmp(window.location.search.substr(3), "") != 0) {

            $("#Search").val(decode(window.location.search.substr(3)));
        }

        $("#Search").keyup(function (event) {
            if (event.keyCode == 13) {
                //                    tmp = new Date();
                //                    tmp = '?p=' + tmp.getTime();
                s();

                //                    // simulates similar behavior as an HTTP redirect
                //                    window.location.replace("http://stackoverflow.com");

                //                    // simulates similar behavior as clicking on a link
                //                    window.location.href = "http://stackoverflow.com";

            }
        });

        $("#Search").focus(function () {
            if (strcmp($("#Search").val(), "جستجو . . . ") == 0)
                $("#Search").val("");
        });

        $("#Search").blur(function () {
            if (strcmp($("#Search").val(), "") == 0)
                $("#Search").val("جستجو . . . ");
        });

    });

})(jQuery);
