var searchDefaultValue = "{NewSearch}";

function SetPageTitle() {
    var productTitle = document.getElementById('ctl00_TemplateBody_ProductDetail1_TitleDescriptionControl_header');
    if (productTitle != null) {
        document.title = getText(productTitle);
    }
}

function getText(el) {
    if ('string' == typeof el.textContent) return el.textContent;
    if ('string' == typeof el.innerText) return el.innerText;
    return el.innerHTML.replace(/<[^>]*>/g, '');
}


function TrySearch(event1, textBoxID, resultsPage) {
    var kCode = String.fromCharCode(event1.keyCode);
    if (kCode == "\n" || kCode == "\r") {
        GoSearch(textBoxID, resultsPage);
        return false;
    }
}

function GoSearch(textBoxID, resultsPage) {
    var k = document.forms[0].elements[textBoxID].value;
    k = k.replace(/\s*$/, '');

    if (k == '') {
        if (null != event) {
            event.returnValue = false;
            return false;
        }
        else return;
    }

    var F = document.forms[0];
    try { external.AutoCompleteSaveForm(F); } catch (err) { }

    var qs = replaceQueryString(window.top.location.search, 'q', encodeURIComponent(k)); // replace keyword
    //        qs = replaceQueryString(qs, 'start1', '1'); // reset page count for query 1

    var qs = RemoveParameterFromUrl(qs, 'hkey');
    window.location = resultsPage + qs;
    try {
        if (null != event)
            event.returnValue = false;
    }
    catch (err) { }
    return;
}

function GoSearchFilter(textBoxID, searchFilterID, resultsPage) {
    var k = document.forms[0].elements[textBoxID].value;
    k = k.replace(/\s*$/, '');

    if (k == '') {
        if (null != event) {
            event.returnValue = false;
            return false;
        }
        else return;
    }

    var F = document.forms[0];
    try { external.AutoCompleteSaveForm(F); } catch (err) { }

    var qs = replaceQueryString(window.top.location.search, 'q', encodeURIComponent(k)); // replace keyword
    //        qs = replaceQueryString(qs, 'start1', '1'); // reset page count for query 1

    // add category to query string
    var searchSelectedIndex = document.forms[0].elements[searchFilterID].selectedIndex;
    var searchCategory = document.forms[0].elements[searchFilterID].options[searchSelectedIndex].text;
    //if (searchCategory != "All") {
        qs = replaceQueryString(qs, 'c', encodeURIComponent(searchCategory));
    //}

    var qs = RemoveParameterFromUrl(qs, 'hkey');
    window.location = resultsPage + qs;
    try {
        if (null != event)
            event.returnValue = false;
    }
    catch (err) { }
    return;
}

function RemoveParameterFromUrl(url, parameter) {
    if (typeof parameter == "undefined" || parameter == null || parameter == "") throw new Error("parameter is required");

    url = url.replace(new RegExp("\\b" + parameter + "=[^&;]+[&;]?", "gi"), ""); "$1";

    // remove any leftover crud
    url = url.replace(/[&;]$/, "");

    return url;
}

function replaceQueryString(querystring, param, value) {
    var trimmedQueryString = querystring.replace(/\s*$/, '');

    var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
    if (trimmedQueryString.match(re))
        return trimmedQueryString.replace(re, '$1' + param + "=" + value + '$2');
    else if (trimmedQueryString.length != 0) {
        return trimmedQueryString + '&' + param + "=" + value;
    }
    else {
        return '?' + param + "=" + value;
    }
}

function CloseSession() {
    //location.href = '/CTFWEB/AsiCommon/Controls/Shared/FormsAuthentication/CTFLogout.aspx';
}

//window.onbeforeunload = CloseSession;
