﻿// JScript File
/// <reference path="MicrosoftAjax.js" />
/// <reference path="../WLJQuery/jquery-1.4.1-vsdoc.js" />
/* ==================================== */
/* Smart Dictionary / Font Size         */
/* ==================================== */
function getPrefixById(objId) {
    return objId.substring(0, objId.lastIndexOf("_") + 1);
}

var currentTabOpen = null;
var phrases = "mind|PinnacleHealth|More";
$(document).ready(function () {
    /* --------------------- */
    /* Font Size             */
    /* --------------------- */
    var fontSize = "small";

    var coo = document.cookie.split(';');
    for (var i = 0; i < coo.length; i++) {
        if (coo[i].indexOf("FontSize") > -1) {
            fontSize = coo[i].substring("FontSize=".length + 1, coo[i].length);
            break;
        }
    }

    className = "master_body_" + fontSize;

    $('body').removeClass("master_body_small").removeClass("master_body_medium").removeClass("master_body_big").addClass(className);

    $('a.master_pageToolsFontSizeSmall').removeClass("master_pageToolsFontSizeSelected");
    $('a.master_pageToolsFontSizeMedium').removeClass("master_pageToolsFontSizeSelected");
    $('a.master_pageToolsFontSizeBig').removeClass("master_pageToolsFontSizeSelected");
    $('a.master_pageToolsFontSize' + fontSize.charAt(0).toUpperCase() + fontSize.slice(1)).addClass("master_pageToolsFontSizeSelected");

      /* ----------------------------------- */
     /* menu: remember current tab  */
    /* ---------------------------------- */
    currentTabOpen = $(".CMSMenuHighlightedMenuItem").attr("id");
    if (currentTabOpen) {
        while (currentTabOpen.indexOf("-") != currentTabOpen.lastIndexOf("-")) {
            currentTabOpen = currentTabOpen.substring(0, currentTabOpen.lastIndexOf("-"));
        }
    }

    /* --------------------- */
    /* Smart Dictionary      */
    /* --------------------- */
    /*var obj = document.getElementById("smartDictionary");
    var obj = $("div.smartDictionary");

    if (obj.length == 0)
    {
    return;
    }

    var arrPhrases = phrases.split("|");

    var newHtml = obj.html();
    for (var i = 0; i < arrPhrases.length; i++)
    {
    var phrase = arrPhrases[i];
    var rePhrase = new RegExp(phrase, "ig");
    newHtml = newHtml.replace(rePhrase, "<label class='smartDictionary' onmouseover='smartDictionaryMouseOver(this, \"" + phrase + "\")' onmouseout='smartDictionaryMouseOut()'>" + phrase + "</label>");
    }

    obj.html(newHtml);*/

});

var G_objWord = null;
function smartDictionaryMouseOver(objWord, phrase) 
{
    G_objWord = objWord;

    // get word meaning
    var strParams = "phrase=" + phrase;
    var webReq = new Sys.Net.WebRequest;
    webReq.add_completed(smartDictionaryComplete);
    //webReq.set_url("http://localhost/PinnacleCMS/WLHandlers/SmartDictionaryGetMeaning.ashx");
    webReq.set_url(strHostSite + "WLHandlers/SmartDictionaryGetMeaning.ashx");
    webReq.set_httpVerb("POST");
    webReq.set_body(strParams);
    webReq.get_headers()["Content-Length"] = strParams.length;
    webReq.invoke(); 
}


function smartDictionaryComplete(executor, eventArgs) 
{
    if (executor.get_responseAvailable) 
    {
        var divSmartDictionaryOverlay = document.getElementById("divSmartDictionaryOverlay");

        var objPosition = master_getElementPosition(G_objWord);
        var nLeft = objPosition.left + 5;
        var nTop = objPosition.top;

        divSmartDictionaryOverlay.style.left = (parseInt(nLeft) + 25) + "px";
        divSmartDictionaryOverlay.style.top = (parseInt(nTop) - 25) + "px";
        divSmartDictionaryOverlay.innerHTML = executor.get_responseData();
        divSmartDictionaryOverlay.style.display = "inline";
    }
}

function smartDictionaryMouseOut() 
{
    var divSmartDictionaryOverlay = document.getElementById("divSmartDictionaryOverlay");
    divSmartDictionaryOverlay.style.display = "none";
}

function master_getElementPosition(obj) 
{
    var parent = obj;
    var offsetLeft = 0;
    var offsetTop = 0;

    while (parent) 
    {
        offsetLeft += parent.offsetLeft;
        offsetTop += parent.offsetTop;
        parent = parent.offsetParent;
    }

    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }

    if (isNaN(offsetLeft) || isNaN(offsetTop)) 
    {

        return { left: obj.offsetLeft, top: obj.offsetTop };
    }
    return { left: offsetLeft, top: offsetTop };
}

function cmsModalDialog(url, name, width, height, otherParams, noWopener)
{
    win = window;
    var dHeight = height; var dWidth = width;
    if (width.toString().indexOf('%') != -1)
    {
        dWidth = Math.round(screen.width * parseInt(width, 10) / 100);
    }

    if (height.toString().indexOf('%') != -1)
    {
        dHeight = Math.round(screen.height * parseInt(height, 10) / 100);
    }

    if ((document.all) && (navigator.appName != 'Opera'))
    {
        if (otherParams == undefined)
        {
            otherParams = 'resizable:yes;scroll:no';
        }

        var vopenwork = true;
        if (!noWopener)
        {
            try { win = wopener.window; } catch (e) { vopenwork = false; }
        }

        if (parseInt(navigator.appVersion.substr(22, 1)) < 7)
        {
            dWidth += 4; dHeight += 58;
        };

        try
        {
            dialog = win.showModalDialog(url, this, 'dialogWidth:' + dWidth + 'px;dialogHeight:' + dHeight + 'px;' + otherParams);
        }
        catch (e)
        {
            if (vopenwork)
            {
                window.showModalDialog(url, this, 'dialogWidth:' + dWidth + 'px;dialogHeight:' + dHeight + 'px;' + otherParams);
            }
        }
    }
    else
    {
        if (otherParams == undefined)
        {
            otherParams = 'toolbar=no,directories=no,menubar=no,modal=yes,dependent=yes,resizable=yes';
        }
        oWindow = win.open(url, name, 'width=' + dWidth + ',height=' + dHeight + ',' + otherParams);

        if (oWindow)
        {
            oWindow.opener = this; oWindow.focus();
        }
    }
} 

/* ==================================== */
/* Page Tools                           */
/* ==================================== */

function master_getParams()
{
    var arrPath = document.URL.split("?");
    if (arrPath.length == 2) {
        var arrPageName = arrPath[0].split("/");
        if (arrPageName.length > 0) {

            var strPage = arrPageName[arrPageName.length - 1].toLowerCase();

            switch (strPage) {
                case "doctor-profile.aspx":
                    indexDoctorID = arrPath[1].indexOf("DoctorID=");
                    if (indexDoctorID != -1) {
                        params = arrPath[1].split("&");
                        return "|" + params[0];
                    }
                    break;
                default:
                    var reAmp = new RegExp("&", "ig");
                    return arrPath[1].replace(reAmp, "|");
                    break;
            }

        }
    }
    return "";
}

function master_getTitle()
{
    var arrPath = document.URL.split("?");
    var arrPageName = arrPath[0].split("/");
    
    if (arrPageName.length > 0)
    {
        var strPage = arrPageName[arrPageName.length - 1].toLowerCase();
        
        switch (strPage)
        {
            case "class.aspx":
                var reAmp = new RegExp("&", "ig");
                return document.title.replace("Pinnacle Site - ", "").replace(reAmp, "|");
                break;
            case "doctor-profile.aspx":
                arrPath[1].indexOf("DoctorID=");
                return document.title.replace("Pinnacle Site - ", "").replace(reAmp, "|");
                break;
        }
    }
    return "";
}

function pageTools_email(aliasPath)
{
    var strParams = "&AliasPath=" + aliasPath + "&MoreParams=" + master_getParams();
    tb_show("Send to a Friend", strPathPopupsPinnacle + 'PageToolsEmail.aspx?keepThis=true&modal=false&width=440&height=300' + strParams + '&TB_iframe=true', false);
}

function pageTools_addToMyFolders(aliasPath)
{
    var strParams = "&AliasPath=" + aliasPath + "&Title=" + escape(master_getTitle()) + "&MoreParams=" + master_getParams();
    tb_show("Add to My Folders", strPathPopupsPinnacle + 'PageToolsAddToMyFolders.aspx?keepThis=true&modal=false&width=440&height=206' + strParams + '&TB_iframe=true', false);
}


var linkPrevTopSize = null;
function pageTools_fontSize(fontSize)
{
    className = "master_body_" + fontSize;
    
    $('body').removeClass("master_body_small").removeClass("master_body_medium").removeClass("master_body_big").addClass(className);

    // save the FontSize to a cookie
    var date = new Date();
    date.setYear(date.getYear() + 1);
    document.cookie = "FontSize=" + fontSize + "; path=/";

    $('a.master_pageToolsFontSizeSmall').removeClass("master_pageToolsFontSizeSelected");
    $('a.master_pageToolsFontSizeMedium').removeClass("master_pageToolsFontSizeSelected");
    $('a.master_pageToolsFontSizeBig').removeClass("master_pageToolsFontSizeSelected");
    $('a.master_pageToolsFontSize' + fontSize.charAt(0).toUpperCase() + fontSize.slice(1)).addClass("master_pageToolsFontSizeSelected");
}

/* ==================================== */
/* SearchBox.ascx                       */
/* ==================================== */
function master_searchBox_onFocus(obj)
{
    if (obj.value == Dictionary_SearchBox_DefaultPhrase)
    {
        obj.value = "";
    }
}

function master_searchBox_onBlur(obj)
{
    if (obj.value == "")
    {
        obj.value = Dictionary_SearchBox_DefaultPhrase;
    }
}

function master_isnull(str)
{
    str = str + '';
    return (str == '' || str == 'null' || str == 'undefined');
}

function master_getBrowser()
{
    if (navigator["userAgent"].indexOf("Macintosh") > -1 && navigator["userAgent"].indexOf("Safari") > -1)
    {
        return "Safari-Mac";
    }
    else if (navigator["userAgent"].indexOf("Macintosh") > -1 && navigator["userAgent"].indexOf("Firefox") > -1)
    {
        return "Firefox-Mac";
    }
    else if (navigator["userAgent"].indexOf("Windows") > -1 && navigator["userAgent"].indexOf("Safari") > -1)
    {
        return "Safari-Win";
    }
    else if (navigator["userAgent"].indexOf("Windows") > -1 && navigator["userAgent"].indexOf("Firefox") > -1)
    {
        return "Firefox-Win";
    }
    else if (navigator["userAgent"].indexOf("Windows") > -1 && navigator["userAgent"].indexOf("MSIE 9.0") > -1)
    {
        return "Explorer9-Win";
    }
    else if (navigator["userAgent"].indexOf("Windows") > -1 && navigator["userAgent"].indexOf("MSIE 8.0") > -1)
    {
        return "Explorer8-Win";
    }
    else if (navigator["userAgent"].indexOf("Windows") > -1 && navigator["userAgent"].indexOf("MSIE 7.0") > -1)
    {
        return "Explorer7-Win";
    }
    else if (navigator["userAgent"].indexOf("Windows") > -1 && navigator["userAgent"].indexOf("MSIE") > -1)
    {
        return "Explorer-Win";
    }
    else
    {
        return "Default";
    }
}

function master_searchBox_onKeyPress(e)
{
    if(window.event) // IE
    {
        keynum = e.keyCode
    }
    else if(e.which) // Netscape, Firefox, Opera
    {
        keynum = e.which
    }
   
    if (keynum == 13)
    {
        //alert("cancelBubble: " + e.cancelBubble)    // FF=false     CHROM=false SAFARI=false    IE=false
        //alert("returnValue: " + e.returnValue)      // FF=undefined CHROM=true  SAFARI=true     IE=true
        switch (master_getBrowser())
        {
            case "Firefox-Win": 
            case "Explorer9-Win":
                e.preventDefault();
                e.stopPropagation();
                break;

            default:
                e.cancelBubble = true;
                e.returnValue = false;
                break;  
        }

        master_searchBox_onClick();
    }
}

function master_searchBox_onClick()
{
    var txtSearch = $("input.master_search_box");
    
    if (txtSearch.val() != Dictionary_SearchBox_DefaultPhrase)
    {

        var reAmp = new RegExp("&", "ig");
        location.href = Params_PageSearchByPhrase.replace("{0}", txtSearch.val().replace(reAmp, "%26"));

    }
}


/* ==================================== */
/* Mega Menu                             */
/* ==================================== */

function megaMenu(aliasPath)
{
    CSubmenuElem(strHostSite + aliasPath + '.aspx');
}

function skm_mousedOverMenuOverride(obj) {
//Properties --> Menu --> Javascript command: megaMenu('{%currentdocument.nodealiaspath%}');return false;
    var aliasPath = String(eval(obj.onclick)).split("{")[1].split(";")[0].replace("megaMenu('", "").replace("')", "").replace('megaMenu("', '').replace('")', '').replace("\n", "");
    var divMegaMenuOverlay = document.getElementById("divMegaMenuOverlay");
    var strParams = "AliasPath=" + trim(aliasPath);

    retrieveUrlAJAX(strPathAjaxPages + "MegaMenu.aspx", "divMegaMenuOverlay", strParams, false);
    
    if (trim(divMegaMenuOverlay.innerHTML) != "")
    {
        var tblMenuElem = document.getElementById("plc_lt_zoneTopMenuNav_topmenu_menuElem");
        var objPosition = master_getElementPosition(tblMenuElem);
        var nLeft = objPosition.left + 5;
        var nTop = objPosition.top;

        divMegaMenuOverlay.style.left = (parseInt(nLeft - 6)) + "px";
        divMegaMenuOverlay.style.top = (parseInt(nTop) + 62) + "px";
        divMegaMenuOverlay.style.display = "inline";
    }
}

function skm_mousedOutMenuOverride(obj)
{
    if (obj.className.indexOf("Highlight") == -1)
    {
        obj.className = "CMSMenuItem";
    }
    var divMegaMenuOverlay = document.getElementById("divMegaMenuOverlay");
    divMegaMenuOverlay.style.display = "none";
}

function topMenuOverlayMouseOver(obj)
{
    obj.style.display = "inline";
}

function topMenuOverlayMouseOut(obj)
{
    obj.style.display = "none";
}


//////////////

var lastNavOver = null;
function master_topMenu_mouseOver(obj){

    // level 2
    if (obj.id.indexOf("menuElem_LI_0_") > -1)
    {
        var ULs = obj.getElementsByTagName('UL');
        
        if (ULs.length > 0)
        {
            ULs[0].className += " CMSListMenu_Level2_Over";
        }
    }

    // level 3
    if (obj.id.indexOf("menuElem_LI_1_") > -1)
    {
        var ULs = obj.getElementsByTagName('UL');

        if (ULs.length > 0)
        {
            ULs[0].className += " CMSListMenu_Level3_Over";
        }
    }

    lastNavOver = obj;

    //menuElem_LI_0_3_1 - first level

    // ul   menuElem
    //      li  menuElem_LI_0_1_1
    //      li  menuElem_LI_0_2_1           Conditions & Treatment
    //          ul  menuElem_UL_2           
    //              li  menuElem_LI_1_1_3           Cancer Care
    //                  ul  menuElem_UL_3                        
    //              li  menuElem_LI_1_7_3           Specialized Services
    //                  ul  menuElem_UL_4
    //                      li  menuElem_LI_2_1_79
    //                      li  menuElem_LI_2_2_79
}

function master_topMenu_mouseOut(obj){
    setTimeout(function ()
    {
        //alert(lastNavOver.id + " - " + obj.id);

        // level 2
        if (obj.id.indexOf("menuElem_LI_0_") > -1)
        {
            var ULs = obj.getElementsByTagName('UL');

            if (ULs.length > 0)
            {
                ULs[0].className = ULs[0].className.replace(" CMSListMenu_Level2_Over", "");
            }
        }

        // level 3
        if (obj.id.indexOf("menuElem_LI_1_") > -1)
        {
            var ULs = obj.getElementsByTagName('UL');

            if (ULs.length > 0)
            {
                ULs[0].className = ULs[0].className.replace(" CMSListMenu_Level3_Over", "");
            }
        }

    }, 100);


}

//#region FilterSearch

var masterG_searchInputTimeoutID = 0;
var masterG_inputTextInputControlId = "";


function master_searchResultsMouseOver(obj) {
    obj.className = obj.className.replace("_Off", "_On");
}

function master_searchResultsMouseOut(obj) {
    obj.className = obj.className.replace("_On", "_Off");
}

function master_searchInputFocus(obj) {
    masterG_inputTextInputControlId = obj.id;
    if (obj.value == CB_master_textboxSearchDefaultText)
        obj.value = "";
    $(obj).removeClass("MasterSearchSpecificBtnDefaultText");
}

function master_searchInputBlur(obj) {
    if (obj.value == "")
        obj.value = CB_master_textboxSearchDefaultText;
    if (obj.value == CB_master_textboxSearchDefaultText)
        $(obj).addClass("MasterSearchSpecificBtnDefaultText");

    // wait a few moments before hiding the Search Results, so if the user have clicked on go, the master_buttonSearchGo_onclick function would happen before.  
    setTimeout("master_searchInputBlurDelay('" + obj.id + "')", 500);
    $(".master_findFilters_selectCategory").show();
    $("div.master_itemLinks a").css("z-index", "1");

}

function master_searchInputBlurDelay(objId) {
    var divMasterSearchContentList = document.getElementById("divMasterSearchContentList");
    divMasterSearchContentList.style.display = "none";

    if (objId != 'undefined') {
        var txtSearchInput = document.getElementById(objId);
    }

    masterG_searchInputTimeoutID = 0;

}

function master_searchResultsListMouseClick(obj, nodeAliasPath, name) {

    var hiddenPageAddress = document.getElementById("hiddenPageAddress");
    hiddenPageAddress.value = nodeAliasPath;

    var reApostrophe = new RegExp("@`@", "ig");

    var inputTextInput = document.getElementById(masterG_inputTextInputControlId);
    inputTextInput.value = name.replace(reApostrophe, "'");
    if (($.browser.msie) && ($.browser.version < 8)) {
        $(".master_findFilters_selectCategory").show();
        $("div.master_itemLinks a").css("z-index", "1");
    }
}


//block unlegeal typing
function master_searchInputKeyPress(e) {
    if (window.event) // IE
    {
        keynum = e.keyCode
    }
    else if (e.which) // Netscape, Firefox, Opera
    {
        keynum = e.which
    }

    if (keynum == 32) // space
    {
        return true;
    }

    if (keynum == 8) // backspace
    {
        return true;
    }

    if (keynum == 46) // dot
    {
        return true;
    }

    if (keynum == 37) // %
    {
        return true;
    }

    if (keynum == 38) // &
    {
        return true;
    }

    if (keynum == 39) // '
    {
        return true;
    }

    var reg = /\w/;
    if (!reg.test(String.fromCharCode(keynum))) {  //block unlegeal typing
        return false;
    }
}

var masterG_strPrefix = "";

function master_searchInputKeyUp(obj, aliasPath, e) {

    if (e.keyCode == 13 | e.keyCode == 40 | e.keyCode == 38) // handle key press: enter, arrow down,arrow up 
    {
        navigateResults(e)
        return;  //  quit without affecting search
    }

    masterG_strPrefix = getPrefixById(obj.id);
    if (masterG_searchInputTimeoutID > 0) {
        clearTimeout(masterG_searchInputTimeoutID);
    }
    if (obj.value != "") {
        var reAmp = new RegExp("&", "ig");
        var reInvertedCommas = new RegExp("'", "ig");
        var strParams = "&Phrase=" + obj.value.replace(reAmp, "@AMP@").replace(reInvertedCommas, "@`@");
        strParams += "&AliasPath=" + aliasPath;
        masterG_searchInputTimeoutID = setTimeout("retrieveUrlAJAX('" + strPathAjaxPages + "MasterGetListSearchResults.aspx', 'divMasterSearchContentList', '" + strParams + "', false, 'master_searchInputKeyUpComplete()', true)", 500);
    }
    else {
        var divMasterSearchContentList = document.getElementById("divMasterSearchContentList");
        divMasterSearchContentList.style.display = "none";
        if (($.browser.msie) && ($.browser.version < 8)) {
            $(".master_findFilters_selectCategory").show();
            $("div.master_itemLinks a").css("z-index", "1");
        }
    }
}

function master_searchInputKeyUpComplete() {

    clearTimeout(masterG_searchInputTimeoutID);

    var divMasterSearchContentList = document.getElementById("divMasterSearchContentList");
    divMasterSearchContentList.style.display = "";
    if (($.browser.msie) && ($.browser.version < 8)) {
        $(".master_findFilters_selectCategory").hide();
        $("div.master_itemLinks a").css("z-index", "-10");
    }
}



// allow sellecting results with key up/key down and enter
function navigateResults(e) {
    switch (e.keyCode) {
        case 13:  //enter
            selected = $('li.master_searchResultsListItem_Selected');
            btnSubmit = $('input.jqueryId_Master_buttonSearchGo');
            if (selected.length) {   // if selectd exist                    
                selected.click();  //trigger the li onClick event
            }
            master_searchInputBlurDelay(); // close results div    
            master_Go_onclick(); //go to other page
            break;
        case 40: //down arrow
            prev = $('li.master_searchResultsListItem_Selected');
            if (!prev.length) {   // if none selectd (prev is null)
                current = $("ul.jqueryId_MasterSearchResults").children(0)[0];  //select the first li
                $(current).addClass('master_searchResultsListItem_Selected');
            }
            else {
                current = $(prev).next()
                if (current.length) {  //if prev was not last li
                    $(current).addClass('master_searchResultsListItem_Selected');
                    $(prev).removeClass('master_searchResultsListItem_Selected');
                }
            }
            break;
        case 38: //up arrow
            prev = $('li.master_searchResultsListItem_Selected');
            if (!prev.length) {   //if none selectd (prev is null)
                return;
            }
            else {
                current = $(prev).prev()
                if (current.length) {  //if prev was not first li
                    $(current).addClass('master_searchResultsListItem_Selected');
                    $(prev).removeClass('master_searchResultsListItem_Selected');
                }
            }
            break;
    }

}

//Go to "selected page from smart filter" or to "search page"
function master_Go_onclick() {
    var txtSearch = $("input.jqueryId_MasterSpecificBtnDefaultText")
    if (txtSearch.val() !=undefined & txtSearch.val() != Dictionary_SearchBox_DefaultPhrase & txtSearch.val() != "") 
 {
        var hiddenPageAddress = document.getElementById("hiddenPageAddress");
        if (hiddenPageAddress.value != "")
            window.location = hiddenPageAddress.value;  //Go to specific page
        else
            location.href = Params_PageSearchByPhrase.replace("{0}", txtSearch.val()); //go to search by phrase page

    }
}

function master_buttonSearchGo_onclick(obj) {
    master_Go_onclick();
}

/// AMK - 14-Nov-2011
/// Read cookies
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

// Check if we should allow FireBug Console Log
var logEnabled = readCookie("ViewMode");

/// Log to Firebug/IE Developer Tool/Chrome Dev Tool if we're in Kentico Preview Mode
function devLog(msg) {
    if (logEnabled && logEnabled != "0")
        console.log(msg);
}

