var cp = false;
function expandAll(moreopt,id)
{
    if(moreopt.innerText == m.get("Collapse")+'...')
    {
        moreopt.innerText = m.get("Expand")+'...';
    }
    else
    {
        moreopt.innerText = m.get("Collapse")+'...';
    }
    var element = $(id);
    Element.toggle(element);
}

function chkall(val1,val2)
{alert(val1);
    if(val2=="s")
    {
        for(i=0;i<eval("document.frmsearch."+val1+".length");i++)
        eval("document.frmsearch."+val1+".item(i)").selected = true;
    }
    else
    {
        for(i=0;i<eval("document.frmsearch."+val1+".length");i++)
        eval("document.frmsearch."+val1+".item(i)").selected = false;
    }
}

function expand(moreopt,id)
{
    if(moreopt.innerText == 'Collapse')
    {
        moreopt.innerText = 'Expand';
    }
    else
    {
        moreopt.innerText = 'Collapse';
    }
    var element = $(id);
    Element.toggle(element);
}

function showCategory(className,parentElement)
{
    allNodes = getElementsByClassName(parentElement,"div",className);
    for(i = 0; i < allNodes.length; i++)
    {
        var element = getCategory(allNodes[i]);
        if( element.type == "checkbox" )
        {
            if ( element.checked == true )
            {
                if(allNodes[i].style.display == 'block')
                allNodes[i].style.display = 'none';
                else
                allNodes[i].style.display = 'block';
            }
            else
            {
                allNodes[i].style.display = 'none';
            }
        }
    }
}

function selectCheckBox(parentElement,state,type)
{
    allNodes = parentElement.getElementsByTagName('input');
    for(i = 0; i < allNodes.length; i++)
    {
        allNodes[i].checked = state;
    }
}

function check(f)
{
    var checked = f.checked;
    var fields = getChildren(f);
    for (var i = 0; i < fields.length; i++)
    {
        fields[i].checked = checked;
    }
    checkParent(f,checked);
}

function checkMarket(obj,type)
{
    var parent = $(type + 'Details')
    allNodes = getElementsByClassName(parent,"div",type);
    var k = 0;
    for(i = 0; i < allNodes.length; i++)
    {
        var childContainer = getElementsByClassName(allNodes[i],"div",'subCategory');
        var parentNode = getCategory(childContainer[0]);
        if (parentNode.value == obj.value)
        {
            var name = getCategoryName(childContainer[0]);
            var checked = parentNode.checked;
            if(!checked)
            parentNode.checked = true;
        }
        else
        {
            parentNode.checked = false;
        }
        var childNode = getChildren(parentNode);
        var count = childNode.length;
        var countSelected = 0;
        for (var j = 0; j < childNode.length; j++)
        {
            childNode[j].checked = parentNode.checked;
            if(childNode[j].checked)
            k++;
        }
        var notesNode = getElementsByClassName(childContainer[0],"span",'des_03')[0];
        if(obj.value == '')
        notesNode.innerHTML = "No Sub-Categories Selected";
        else
        notesNode.innerHTML = "All Sub-Categories Selected";
    }
}

function getElementsByClassName(oElm, strTagName, oClassNames)
{
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object")
    {
        for(var i=0; i<oClassNames.length; i++)
        {
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else
    {
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++)
    {
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++)
        {
            if(!arrRegExpClassNames[k].test(oElement.className))
            {
                bMatchesAll = false;
                break;
            }
        }
        if(bMatchesAll)
        {
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

function LTrim( value )
{
    var re = /\s*((\S+\s*)*)/;
    return value.replace(re, "$1");
}

function RTrim( value )
{
    var re = /((\s*\S+)*)\s*/;
    return value.replace(re, "$1");
}

function trim( value )
{
    return LTrim(RTrim(value));
}

function getChildren(f)
{
    var childContainer = f.nextSibling;
    while (childContainer && childContainer.tagName != "DIV")
    {
        childContainer = childContainer.nextSibling;
    }
    if (childContainer)
    {
        return childContainer.getElementsByTagName("INPUT");
    }
    else
    {
        return [];
    }
}

function checkParent(f,checked)
{
    var p = f.parentNode.previousSibling;
    while (p && p.tagName != "INPUT")
    {
        p = p.previousSibling;
    }
    if (p)
    {
        var fields = getChildren(p);
        for (var i = 0; i < fields.length; i++)
        {
            if (fields[i].checked)
            {
                checked = true;
                break;
            }
        }
        p.checked = checked;
        checkParent(p,checked);
    }
}

function getParent(f)
{
    var p = f.parentNode.previousSibling;
    while (p && p.tagName != "INPUT")
    {
        p = p.previousSibling;
    }
    return(p);
}

function getCategory(f)
{
    var p = f.previousSibling;
    while (p && p.tagName != "INPUT")
    {
        p = p.previousSibling;
    }
    return(p);
}

function getCategoryName(f)
{
    var p = f.previousSibling;
    while (p && p.tagName != "LABEL")
    {
        p = p.previousSibling;
    }
    return(p.innerHTML);
}

function accordion(el)
{
    return;
}

function accordion_init()
{
    var acc = document.getElementById('accordion');
    var apanels = acc.getElementsByTagName('div');
    for (i = 0; i < apanels.length; i++)
    {
        if (apanels[i].className == 'panel_body')
        {
            apanels[i].style.display = 'none';
        }
    }
    var avis = document.getElementById('visible').parentNode.id+'-body';
    document.getElementById(avis).style.display = 'block';
}

function addEvent(elm, evType, fn, useCapture)
{
    elm["on"+evType]=fn;
    return;
}
