﻿/****************************************************************\
* Name: utility.js                                               *
* Purpose: This file contains global JS used accross the site    *
* Side: Client                                                   *                             *
\****************************************************************/
//All JS IDs in .NET will automatically be prefixed with the following
var sIDPrefix = 'ctl00_';

//add this configuration

function addClass(objDOM, sClassName){
    if(objDOM==null)
        return false;

    if(!hasClass(objDOM, sClassName)) {
        objDOM.className += " " + sClassName;
    }
}

function removeClass(objDOM, sClassName){
    if(objDOM==null)
        return false;
        
    if(hasClass(objDOM, sClassName)) {
        var regEx = new RegExp("\\b"+sClassName+"\\b","g");
        objDOM.className = objDOM.className.replace(regEx, "");
    }
}
function hasClass(objDOM, sClassName) {
    if(objDOM==null)
        return false;
        
    var regEx = new RegExp("\\b"+sClassName+"\\b");
    var m = objDOM.className.match(regEx);
    return (m && m.length>0)?true:false;
}

function changeImgSrc(Img, sURL) {
    if (typeof(Img) == "string") {
        Img = document.getElementById(Img);
    }
    Img.src = sURL;
}
function openWindow(sURL,sWindowId,sWinParams) {
    var params = sWinParams || 'width=976,height=600,left=0,top=0,menubar=0,resizable=1,scrollbars=1';
    window.open(sURL,sWindowId,params);
}

function openPlanFinderGlossary(itemID) {
    var glossaryURL = '/find-a-plan/staticpages/glossary/planfinder-glossary.aspx';
    if (itemID !== null && itemID !== '') {
        glossaryURL = glossaryURL + '?TermID=' + itemID;
    }
    openWindow(glossaryURL, 'PlanFinderGlossaryWindow', '');
}
function setContentFocus() 
{
    if (window.Content - wrap)
    {
        window.Content - wrap.focus();
    }
    else 
    {
        var oTarget
        oTarget = document.getElementById("Content-wrap");
        oTarget.focus();
    }
}

// functions to add and read cookie values - add on 03/28/2010
function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

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;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

// functions to make expandible contractible 508 compliant.
function makeExpandCollapse508(sExtenderName) {

    var currentBehavior = null;
    var allBehaviors = Sys.Application.getComponents();

    for (var ndx = 0; ndx < allBehaviors.length; ndx++) {
        currentBehavior = allBehaviors[ndx];
        if (currentBehavior.get_id().match(sExtenderName)) {
            var ImageTitle = $('#' + currentBehavior._imageControlID).attr('title');
            var ImageAlt = $('#' + currentBehavior._imageControlID).attr('alt');
            $('#' + currentBehavior._imageControlID).attr('alt', ImageTitle + ImageAlt);
            $('#' + currentBehavior._imageControlID).attr('title', ImageTitle + ImageAlt);
            if (currentBehavior.get_Collapsed()) {
                var childPanel = currentBehavior.get_element();
                childPanel.setAttribute("aria-hidden", "true");
                childPanel.setAttribute("style", "display:none");
            }
            currentBehavior.get_events().addHandler('collapseComplete', add508Items);
            currentBehavior.get_events().addHandler('expandComplete', remove508Items);
        }
    }
}

function add508Items(s, e) {
    var collapseAlt = $('#' + s._imageControlID).attr('alt');
    var collapse2 = "";
    if (collapseAlt.indexOf("Contraer") != -1) {
        collapse2 = collapseAlt.replace("Contraer ", "Expandir ");
    }
    else {
        collapse2 = collapseAlt.replace("Collapse ", "Expand ");
    }
    $('#' + s._imageControlID).attr('alt', collapse2);
    $('#' + s._imageControlID).attr('title', collapse2);
    var childPanel = s.get_element();
    childPanel.setAttribute("aria-hidden", "true");
    childPanel.setAttribute("style", "display:none");
}

function remove508Items(s, e) {
    var expandAlt = $('#' + s._imageControlID).attr('alt');
    var expand2 = "";
    if (expandAlt.indexOf("Expandir") != -1) {
        expand2 = expandAlt.replace("Expandir ", "Contraer ");
    }
    else {
        expand2 = expandAlt.replace("Expand ", "Collapse ");
    }
    $('#' + s._imageControlID).attr('alt', expand2);
    $('#' + s._imageControlID).attr('title', expand2);
    var childPanel = s.get_element();
    childPanel.removeAttribute("aria-hidden");
}

function setFocus(controlID) {
    document.getElementById(controlID).focus();
}

function closeWindow() {
    window.close();
    
    return false;
}
