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)
{
    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;
    }
//    if(val1=='package')
//		searchSummary();
}

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 = document.getElementsByClassName(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;
    }
	
	//document.getElementById('typesddl').value = "";
	
}

function check(f,type)
{
    var checked = f.checked;
    var fields = getChildren(f);
    for (var i = 0; i < fields.length; i++)
    {
        fields[i].checked = checked;
    }
    checkParent(f,checked);
	//changeSummary(type);
	//searchSummary();
}

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 = allNodes[i].getElementsByClassName('subCategory');
        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";
    }
   
	//searchSummary();
}


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)
}

// Removes leading whitespaces
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value ) {
	return LTrim(RTrim(value));
}

/*function changeSummary(type)
{
	
    var parent = $(type + 'Details');
    
    allNodes = getElementsByClassName(parent,"div",type);
    
    var k = 0;
    var typeSelectedCount = 0;
    var typeList = new Array();
    var subCount = 0;
    var subSelectedCount = 0;
    for(i = 0; i < allNodes.length; i++)
    {
        var childContainer = getElementsByClassName(allNodes[i],"div",'subCategory');
        var name = getCategoryName(childContainer[0]);
        var parentNode = getCategory(childContainer[0]);
        
        if (parentNode.checked == true )
        {
            ddlval = parentNode.value;
            typeList[typeSelectedCount] = name;
            typeSelectedCount++;
        }
        var childNode = getChildren(parentNode);
        var count = childNode.length;
        subCount = subCount + count;
        var countSelected = 0;
        for (var j = 0; j < childNode.length; j++)
        {
            if (childNode[j].checked)
            {
                var countryname = childNode[j].value;
                subSelectedCount++;
                countSelected++;
            }
        }
       
        var notesNode = getElementsByClassName(childContainer[0],'span','notes')[0];
        if (countSelected == count)
        {
            notesNode.innerHTML = "All Sub-Categories Selected";
        }
        else if (countSelected == 0)
        {
            notesNode.innerHTML = "No Sub-Category Selected";
        }
        else
        {
            notesNode.innerHTML = countSelected + " Sub-Categories Selected";
        }
    }
     result = '';
    var ddl;
    var gsummary;
    var Summary;
    var sumStr;
    if(type == 'course')
    {
        ddl = $('RecipeCategoryddl');
        gsummary = $('GrandCategorySummary');
    }
    else if(type == 'region')
    {
        ddl = $('countryddl');
        gsummary = $('GrandCountrySummary');
    }
    else if(type == 'preparation')
    {
        ddl = $('PreparationMethodsddl');
        gsummary = $('GrandMethodSummary');
    }
    else if(type == 'position')
    {
        ddl = $('positioning');
        gsummary = $('GrandpositioningSummary');
    }
      
    if(type == 'region')
    {			
        if(subSelectedCount == 1)
        {
            ddl.style.display='block';
           
			ddl.value = countryname;
            gsummary.innerText = "";
            gsummary.style.display='none';
            result = "<b>country</b> matches <b><i>" + countryname+"</b>";
        }
        else if(subSelectedCount == 0)
        {
            gsummary.innerText = "";
            gsummary.style.display='none';
            ddl.style.display='block';
            ddl.value = '';
        }
        else if(subSelectedCount == subCount)
        {
            gsummary.innerText = "";
            gsummary.style.display='none';
            ddl.style.display='block';
            ddl.value = '';
        }
        else 
        {
            gsummary.style.display='block';
            if(other != '')
				sumStr = (subSelectedCount-1) + " countries selected across " + typeSelectedCount + " regions or Other Countries";
            else
	            sumStr = subSelectedCount + " countries selected across " + typeSelectedCount + " regions";
	        if(document.all)
				gsummary.innerText = sumStr;
			else
				gsummary.textContent = sumStr;
            ddl.style.display='none';
            if(other != '')
				result = "<b>country</b> matches one of <font color=#7EB0D3><b>"+ (subSelectedCount-1) + " countries</b></font> across <b><i>" + typeSelectedCount + " regions</i></b> or <b>Other Countries </b>";
            else
				result = "<b>country</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " countries</b></font> across <b><i>" + typeSelectedCount + " regions</i></b>";
        }
    }
    else if(type == 'course')
    {
        if(typeList.length == 1)
        {
            ddl.style.display='block';
            ddl.value = ddlval;
            gsummary.innerText = "";
            gsummary.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-category</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-categories</b></font> within <b><i>" + typeList[0] + " category</i></b>";
        }
        else if(typeList.length == 0)
        {
            gsummary.innerText = "";
            gsummary.style.display='none';
            ddl.style.display='block';
            ddl.value = '';
        }
        else if(subSelectedCount == subCount)
        {
            gsummary.innerText = "";
            gsummary.style.display='none';
            ddl.style.display='block';
            ddl.value = '';
        }
        else
        {
            gsummary.style.display='block';
            sumStr = subSelectedCount + " sub-categories selected across " + typeSelectedCount + " categories";
            if(document.all)
				gsummary.innerText = sumStr;
			else
				gsummary.textContent = sumStr;
            ddl.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-category</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-categories</b></font> within <b><i>" + typeSelectedCount + " categories</i></b>";
        }
    }
    else if(type == 'preparation')
    {
       
        if(typeList.length == 1)
        {
            ddl.style.display='block';
            ddl.value = ddlval;
            gsummary.innerText = "";
            gsummary.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-preparation method</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-preparation method</b></font> within <b><i>" + typeList[0] + " preparation method</i></b>";
        }
        else if(typeList.length == 0)
        {
            gsummary.innerText = "";
            gsummary.style.display='none';
            ddl.style.display='block';
            ddl.value = '';
        }
        else
        {
            gsummary.style.display='block';
            sumStr = subSelectedCount + " sub-preparation method selected across " + typeSelectedCount + " preparation method";
            if(document.all)
				gsummary.innerText = sumStr;
			else
				gsummary.textContent = sumStr;
            ddl.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-preparation method</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-preparation method</b></font> within <b><i>" + typeSelectedCount + " preparation method</i></b>";
        }
    }
    else if(type == 'position')
    {
        if(typeList.length == 1)
        {
            ddl.style.display='block';
            ddl.value = ddlval;
            gsummary.innerText = "";
            gsummary.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-positioning</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-positioning</b></font> within <b><i>" + typeList[0] + " positioning</i></b>";
        }
        else if(typeList.length == 0)
        {
            gsummary.innerText = "";
            gsummary.style.display='none';
            ddl.style.display='block';
            ddl.value = '';
        }
        else
        {
            gsummary.style.display='block';
            sumStr = subSelectedCount + " sub-positioning selected across " + typeSelectedCount + " positioning";
            if(document.all)
				gsummary.innerText = sumStr;
			else
				gsummary.textContent = sumStr;
            ddl.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-positioning</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-positioning</b></font> within <b><i>" + typeSelectedCount + " positioning</i></b>";
        }
    }
    else
    {
        if(typeList.length == 1)
        {
            ddl.style.display='block';
            ddl.value = ddlval;
            gsummary.innerText = "";
            gsummary.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-category</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-categories</b></font> within <b><i>" + typeList[0] + " category</i></b>";
        }
        else if(typeList.length == 0)
        {
            gsummary.innerText = "";
            gsummary.style.display='none';
            ddl.style.display='block';
            ddl.value = '';
        }
        else
        {
            gsummary.style.display='block';
            sumStr = subSelectedCount + " sub-categories selected across " + typeSelectedCount + " categories";
            if(document.all)
				gsummary.innerText = sumStr;
			else
				gsummary.textContent = sumStr;
            ddl.style.display='none';
            if(type != 'flavour')
				result = "<b>sub-category</b> matches one of <font color=#7EB0D3><b>"+ subSelectedCount + " sub-categories</b></font> within <b><i>" + typeSelectedCount + " categories</i></b>";
        }
    }
    
    return result;
}*/

/* function changePackSummary()
{
	var result='';
	p = 0;
	var obj = document.getElementById('package');
	for(i=0;i<eval(obj.length);i++)
	{
		if(eval(obj.item(i)).selected == true)
		{
			if(p == 0)
				result = obj.item(i).value;
			else
				result = result + ", "+obj.item(i).value
			p++;
		}
	}
	
    var packresult='';
    if (p > 0)
    {
        if(p == 1)
			packresult = "<b>Packaging</b> matches <i><b>"+ result + "</b></i>";
		else
			packresult = "<b>Packaging</b> matches one of <i><b>"+ result + "</b></i>";
    }
    return packresult;
}

function betweendatesummary()
{
    main= document.getElementById('summary');
    main.innerText = "search for menu items where";
    fmonval = document.getElementById('frommnth').value;
    fyrval = document.getElementById('fromyear').value;
    tmonval = document.getElementById('tomnth').value;
    tyrval = document.getElementById('toyear').value;
    betweensummary = '';
    var showsweep = false;
    if(document.getElementById('between').checked==true)
    {
        if(fyrval!='0' && tyrval!='0' )
        {
            if(fmonval == '0' || fmonval == '')
            fmonval = "1";
            if(tmonval == '0' || tmonval == '')
            tmonval = "12";
            betweensummary = "<b>Date Published</b> between <i><b>"+ fmonval + "/"+ fyrval + "</b></i> and <i><b>"+ tmonval + "/"+ tyrval +"</b></i>";
            showsweep = true;
        }
        else if((fyrval!='0') && tmonval=='' && tyrval=='0')
        {
            if(fmonval == '0' || fmonval == '')
            fmonval = "1";
            betweensummary = "<b>Date Published</b> from <i><b>"+ fmonval + "/"+ fyrval + "</b></i>";
            showsweep = true;
        }
        else if(fmonval=='' && fyrval=='0' && (tyrval!='0'))
        {
            if(tmonval == '0' || tmonval == '')
            tmonval = "12";
            betweensummary = "<b>Date Published</b> till <i><b>"+ tmonval + "/"+ tyrval + "</b></i>";
            showsweep = true;
        }
    }   
    return betweensummary;
}

function lastdateSummary()
{
	interval = document.getElementById('dateoffset').value;
    main= document.getElementById('summary');
    main.innerText = "search for menu items where";
    var period = document.getElementById('dateoffsettype');
    lastsummary = '';
    var showsweep = false;
    if(document.getElementById('last').checked==true)
    {
        if(interval != '' && interval != '0')
        {
            lastsummary = "last <i><b>"+ interval + " "+ period.value + "</b></i>";
            showsweep = true;
        }
	} 
	return lastsummary;
}*/

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;
}