var arrSearchNotAllowedChars = new Array(38, 43, 95, 126); //Not allowed chars
function InArray(arr, key) { for (var i = 0; i < arr.length; i++) { if (arr[i] == key) return key; } return -1; }
function RegexTrim(s) { return s.replace(/^\s*/, "").replace(/\s*$/, ""); }
function Go() { return }
function quickSearch() {
    var input = RegexTrim(document.getElementById('keywordInput').value);
    document.getElementById('keywordInput').value = input;
    if ((input == "") || (input == "Keyword, Phrase or Part Number")) { alert("Keyword, Phrase or Part Number field cannot be left blank!"); document.getElementById('keywordInput').focus(); return false; }
    if (input.length < 2) { alert("Keyword, Phrase or Part Number field must have at least two characters!"); document.getElementById('keywordInput').focus(); return false; }
    return true;
}
function quickOEISearch() {
    var input = RegexTrim(document.getElementById('keywordOE').value);
    document.getElementById('keywordOE').value = input;
    if ((input == "") || (input == "OE Part Number")) { alert("OE Part Number field cannot be left blank!"); document.getElementById('keywordOE').focus(); return false; }
    if (input.length < 3) { alert("OE Part Number field must have at least three characters!"); document.getElementById('keywordOE').focus(); return false; }
    return true;
}
function is_enter_key_pressed(e) {
    var key;
    if (window.event) key = window.event.keyCode; else key = e.which;
    if (key == 13) { return true; }
    return false;
}
function stopEvent(evt) {
    evt = evt || window.event;
    if (evt.stopPropagation) {
        evt.stopPropagation(); evt.preventDefault();
    } else if (typeof evt.cancelBubble != "undefined") {
        evt.cancelBubble = true; evt.returnValue = false;
    }
    return false;
}
function check_enter(e) {
    var key;
    if (window.event) key = window.event.keyCode; else key = e.which;
    if (InArray(arrSearchNotAllowedChars, key) > 0) { return false; }
    if (key == 13) { return quickSearch(); }
    return true;
}
function checkoei_enter(e) {
    var key;
    if (window.event) key = window.event.keyCode; else key = e.which;
    if (InArray(arrSearchNotAllowedChars, key) > 0) { return false; }
    if (key == 13) { return quickOEISearch(); }
    return true;
}
function validateQuick() { if (quickSearch()) { document.getElementById('keywordForm').submit(); } }
function validateoeiQuick() { if (quickOEISearch()) { document.getElementById('oeSearchForm').submit(); } }
function validateLogin() {
    if (document.SigninForm.tbEmail.value == "") { alert("The Login Id Field Cannot Be Left Blank!"); document.SigninForm.tbEmail.focus(); }
    else if (document.SigninForm.tbPassword.value == "") { alert("The password Field Cannot Be Left Blank!"); document.SigninForm.tbPassword.focus(); }
    else document.SigninForm.submit();
}
function validate_login() { 
    if (document.login.participID.value == "") { alert("The User ID cannot be left blank!"); document.login.participID.focus(); return false; }
    if (document.login.password.value == "") { alert("The PASSWORD field is blank."); document.login.password.focus(); return false; }
    return true;
}
function validateSubmit() {
    if (validate_login()) { document.login.submit(); }
}
function forget() {
    if (document.SigninForm.tbEmail.value == "") { alert("The User ID cannot be left blank!"); document.SigninForm.tbEmail.focus(); return false; }
    var urlpart_id = document.SigninForm.tbEmail.value; location.href = ('passwd_remind.aspx?clt=hwrap1&part_id=' + urlpart_id);
    return false;
}
function addToFavorite(title, url) {
    if (document.all) window.external.AddFavorite(url, unescape(title));
    else if (window.sidebar) window.sidebar.addPanel(unescape(title), url, "");
    else if (window.opera) { var a = document.createElement('A'); a.rel = 'sidebar'; a.target = '_search'; a.title = unescape(title); a.href = url; a.click(); }
    else alert("Your browser does not support adding bookmark through javascript.\nPress CTRL-D (Netscape, Chrome) or CTRL-T (Opera) to bookmark");
}
function showApplicationPopupDialog() {
    if (document.getElementById('SelectYear') != null) {
        var yearDropdown = document.getElementById('SelectYear');
        if (yearDropdown.selectedIndex > 0) {
            var sitewebsubpath = '';
            if (document.getElementById('sitewebsubpath'))
                sitewebsubpath = $('#sitewebsubpath').val();
            if ($("#IsMobile").val() == "1") {
                window.location.href = sitewebsubpath + 'applicationguide.aspx?y=' + yearDropdown[yearDropdown.selectedIndex].value;
            }
            else {
                var modallink = sitewebsubpath + 'applicationguide.aspx?y=' + yearDropdown[yearDropdown.selectedIndex].value + '&hideskin=1';
                $.colorbox({ innerWidth: "596px", innerHeight: "350px", initialWidth: "700px", initialHeight: "400px",
                    opacity: 0.2, iframe: true, href: modallink, scrolling: false,
                    left: $(yearDropdown).position().left - $(window).scrollLeft(),
                    top: $(yearDropdown).position().top + $(yearDropdown).height() + 5 - $(window).scrollTop(),
                    onComplete: function(event, ui) {
                    },
                    onClosed: function(event, ui) {
                        yearDropdown.selectedIndex = 0;
                    }
                });
            }
            return false;
        }
        else {
            alert('select a year');
        }
    }
}
function gsaencode(value) {
    value = value.replace(/ /g, "%2520").replace(/-/g, "%252D").replace(/\./g, "%252E").replace(/\+/,"%252B");
    value = value.replace(/!/g, "%2521").replace(/\*/g, "%252A").replace(/\(/g, "%2528").replace(/\)/g, "%2529");
    value = value.replace(/,/g, "%252C").replace(/;/g, "%253B").replace(/\?/g, "%253F").replace(/:/g, "%253A");
    value = value.replace(/@/g, "%2540").replace(/#/g, "%2523").replace(/</g, "%253C").replace(/>/g, "%253E");
    value = value.replace(/{/g, "%257B").replace(/}/g, "%257D").replace(/\\/g, "%255C").replace(/~/g, "%257E");
    value = value.replace(/\[/g, "%255B").replace(/\]/g, "%255D").replace(/`/g, "%2560");
    return value;
}
$(document).ready(function() {
    if (document.getElementById('SelectYear') != null) {
        document.getElementById('SelectYear').selectedIndex = 0;
    }
    if (document.getElementById('keywordForm') != null && document.getElementById('sitewebsubpath') != null) {
        $('#keywordForm').attr('action', $('#sitewebsubpath').val() + $('#keywordForm').attr('action'));
    }
    if (document.getElementById('oeSearchForm') != null && document.getElementById('sitewebsubpath')!= null) {
        $('#oeSearchForm').attr('action', $('#sitewebsubpath').val() + $('#oeSearchForm').attr('action'));
    }
    if (document.getElementById('keywordInput') != null) {
        var cache = {};
        $("#keywordInput").autocomplete({
            source: function(request, response) {
                var matcher = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi");
                var term = request.term;
                if (term in cache) {
                    response($.map(cache[term], function(item) {
                        return { label: item.replace(matcher, "<b>$1</b>"), value: item };
                    }));
                    return;
                }
                $.ajax({ type: "POST",
                    url: "/Search/SearchService.asmx/Suggest",
                    data: '{"query": "' + term + '", "max": "9", "format": "os"}',
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(result, status) {
                        if (result != null) {
                            var suggestObject = eval('(' + result.d + ')');
                            if (suggestObject[1]) {
                                cache[term] = suggestObject[1];
                                response($.map(suggestObject[1], function(item) {
                                    return { label: item.replace(matcher, "<b>$1</b>"), value: item };
                                }));
                            }
                        }
                    },
                    error: function(xhr, status, error) {
                        var err = eval("(" + xhr.responseText + ")");
                        alert(err.Message);
                    }
                });
            },
            minLength: 1,
            open: function() {
                $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
            },
            close: function() {
                $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
            },
            select: function(event, ui) {
                $("#keywordInput").val(ui.item.value);
                validateQuick();
            }
        }).data('autocomplete')._renderItem = function(ul, item) {
            return $("<li></li>").data("item.autocomplete", item).append('<a>' + item.label + '</a>').appendTo(ul);
        }
    };

});

