﻿////any global scripts for the public app should be added here
////this file is referenced in the global.master

///ADVANCED SEARCH SCRIPTS
var advancedSearchTextBoxID = null;
var advancedSearchButtonID = null;
var basicSearchTextButton = null;
function addAdvancedSearchHandlers(collapsiblePanelExtenderID, textBoxID) {
   
    advancedSearchTextBoxID = textBoxID;
    $find(collapsiblePanelExtenderID).add_expandComplete(expandAdvSearchHandler);
    $find(collapsiblePanelExtenderID).add_collapseComplete(collapseAdvSearchHandler);
}

function addAdvancedSearchHandlersNew(collapsiblePanelExtenderID, textBoxID, btnAdvancedID, btnBasicID) {
    advancedSearchButtonID = btnAdvancedID;
    advancedSearchTextBoxID = textBoxID;
    basicSearchTextButton = btnBasicID;
    
    $find(collapsiblePanelExtenderID).add_expandComplete(expandAdvSearchHandler);
    $find(collapsiblePanelExtenderID).add_collapseComplete(collapseAdvSearchHandler);
}

function expandAdvSearchHandler(sender, args) {

    var advancedSearchTextBox = $get(advancedSearchTextBoxID);
    if (advancedSearchTextBox)
    {
        advancedSearchTextBox.value = "";
        advancedSearchTextBox.disabled = true;
    }

    var basicSearchBtn = $get(basicSearchTextButton);
    var advanceBtnText = $get(advancedSearchButtonID);

    if (advanceBtnText) {
        if (advanceBtnText.innerHTML == "<SPAN>Advanced</SPAN>") {
            basicSearchBtn.disabled = true;
            advanceBtnText.innerHTML = "<SPAN>Basic</SPAN>";
        }
        else if (advanceBtnText.innerHTML == "<span>Advanced</span>") {
            basicSearchBtn.disabled = true;
            advanceBtnText.innerHTML = "<span>Basic</span>";
        }
    }
}

function collapseAdvSearchHandler(sender, args) {

    var advancedSearchTextBox = $get(advancedSearchTextBoxID);
    if (advancedSearchTextBox)
    {
        advancedSearchTextBox.disabled = false;
    }

    var basicSearchBtn = $get(basicSearchTextButton);
    var advanceBtnText = $get(advancedSearchButtonID);
    
    if (advanceBtnText) {
        if (advanceBtnText.innerHTML == "<SPAN>Basic</SPAN>") {
            basicSearchBtn.disabled = false;    
            advanceBtnText.innerHTML = "<SPAN>Advanced</SPAN>";
        }
        else if (advanceBtnText.innerHTML == "<span>Basic</span>") {
            basicSearchBtn.disabled = false;
            advanceBtnText.innerHTML = "<span>Advanced</span>";
        }
    }   
}


//fix to use YellowButton and BlueButton as DefaultButton on panels.

function addClickFunctionToButton(id) {
    var b = $get(id);

    if (b && typeof (b.click) == 'undefined') b.click = function() {
        var result = true; if (b.onclick) result = b.onclick();
        if (typeof (result) == 'undefined' || result) {
            eval(b.getAttribute('href'));
        }
    };
}

// Converts special chars in js strings to unicode equivalent so that we don't get broken js
function escapeSChars(str)
{
    str = str.replace("\b", "\\u000B");
    str = str.replace("\f", "\\u000C");
    str = str.replace("\n", "\\u000A");
    str = str.replace("\r", "\\u000D");
    str = str.replace("\t", "\\u0009");
    str = str.replace("\"", "\\u0022");        
    str = str.replace("\'", "\\u0027");
    str = str.replace("\\", "\\u005C");
    return str;
}

function getElementsByClass(node, searchClass, tag) {
    var classElements = new Array();
    var els = node.getElementsByTagName(tag); // use "*" for all elements
    var elsLen = els.length;
    var pattern = new RegExp("\\b" + searchClass + "\\b");
    for (i = 0, j = 0; i < elsLen; i++) {
        if (pattern.test(els[i].className)) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

