
// Campaign Manager javascript

function locationTo(x)
{
  window.location=x;
}
function hasClass(el, name) 
{
        return el && el.className && new RegExp('(?:^|\\s)' + 
        name + '(?:\\s|$)').test(el.className);
}
function addClass(el, name) 
{
        if (!hasClass(el, name)) 
            el.className += (el.className ? ' ' : '') + name;
}
function delClass(el, name) 
{
        if (hasClass(el, name)) 
            el.className = el.className.replace(new RegExp('^(?:' + 
            name + '(?:\\s+|$))+|\\s+' + name + '\\s*(?=\\s|$)', 'g'), '');
}

function swapClass(id, oldcls, newcls)
{
    var el = document.getElementById(id);
    if (el)    
    {
        delClass(el, oldcls);
        addClass(el, newcls);
    }
}

// if element has cls1, swap to cls2
// if element has cls2, swap to cls1
function toggleClass(id, cls1, cls2)
{
    var el = document.getElementById(id);
    if (el)    
    {
        if (hasClass(el, cls1))
        {
            swapClass(id, cls1, cls2);
        }
        else
        {
            swapClass(id, cls2, cls1);
        }
    }
}
function setClass(el, name, add) {
        return add ? addClass(el, name) : delClass(el, name);
}
function selectHeaderNav(cls)
{
    var el = document.getElementById(selectedHeaderNav);
    if (el)
        addClass(el, cls);
}
function selectLeftNav(cls)
{
    var el = document.getElementById(selectedLeftNav);
    if (el)
        addClass(el, cls);
}

function swapNavClass(id, oldcls, newcls)
{
    var el = document.getElementById(id+'-l');
    if (el)
    {
        delClass(el, oldcls+'-l');
        addClass(el, newcls+'-l');
    }
    el = document.getElementById(id);
    if (el)
    {
        delClass(el, oldcls);
        addClass(el, newcls);
    }
    el = document.getElementById(id+'-r');
    if (el)
    {
        delClass(el, oldcls+'-r');
        addClass(el, newcls+'-r');
    }    

}
function leftNavEvent(el, eventName)
{
    switch(eventName)
    {
        case 'mouseover':
            if(!hasClass(el, 'selectedTab'))
                addClass(el,'mouseover');
        break;
        case 'mouseout':
            delClass(el,'mouseover');
        break;
        case 'mousedown':
            if(!hasClass(el, 'selected'))
                addClass(el,'mousedown');
        break;
        case 'mouseup':
            delClass(el,'mousedown');
        break
    }
}

function tabNavEvent(el, eventName)
{
   switch(eventName)
    {
        case 'mouseover':
            if(!hasClass(el, 'selectedTab'))
            {
                addClass(el,'mouseoverTab');
                var id = el.id;
                el = document.getElementById(id+'-l');
                addClass(el,'mouseoverTab-l');
                el = document.getElementById(id+'-r');
                addClass(el,'mouseoverTab-r');
            }
                            
        break;
        case 'mouseout':
            delClass(el,'mouseoverTab');
            var id = el.id;
            el = document.getElementById(id+'-l');
            delClass(el,'mouseoverTab-l');
            el = document.getElementById(id+'-r');
            delClass(el,'mouseoverTab-r');
        break;
        case 'mousedown':
        break;
        case 'mouseup':
        break
    }
}


// control type is text, button, submit, etc.
function toggleAllInputControls(controlType, bDisabled)
{
    var controls = document.getElementsByTagName('input');
    if (controls)
    {
        for(var x=0; x<controls.length; x++)
        {   
            if (controls[x].type == controlType)
                controls[x].disabled = bDisabled;
        }
    }
} 
function enableAllSubmitButtons(id)
{
    toggleAllInputControls('submit', 0);
    if (id != undefined) {
        var formChanged = document.getElementById(id);
        if (formChanged)
            formChanged.value = '1';
    }
}
function togglePanel(behaviorID, bOpen)
{
    var cpe=$find(behaviorID); 
    if (cpe)
    {
        if (!bOpen)
            cpe._doClose(true);
        else
            cpe._doOpen();
    }
}

var dlToFill = "";
function PrepareToFill(v)
{
  dlToFill = v;
  var oldIndicator = PFSF_Find("progressIndicator");
  if (oldIndicator != null)
      oldIndicator.outerHTML="";
  PFSF_Find(idPreface + dlToFill).insertAdjacentHTML("AfterEnd",
    "<img id='progressIndicator' src='Images/AjaxWait.gif' />");
}

