﻿function ToggleCategory(obj, catid, extra, type, isinternal)
{
	for (var i = 0; i < document.getElementsByName("chk_"+extra+"_"+type+"_"+catid).length; i++)
		document.getElementsByName("chk_"+extra+"_"+type+"_"+catid)[i].checked = (obj.checked);
      
	if (! isinternal)
		CheckAllCategories(extra, type);
}

function CheckCategory(obj, catid, extra, type)
{
   if (obj.checked)
   {
      var allchecked = true;
      
      for (var i = 0; i < document.getElementsByName("chk_"+extra+"_"+type+"_"+catid).length; i++)
         if (! document.getElementsByName("chk_"+extra+"_"+type+"_"+catid)[i].checked)
         {
            allchecked = false;
            break;
         }
            
      document.getElementById("chk_cat_"+extra+"_"+type+"_"+catid).checked = allchecked;
      document.getElementById("chk1_cat_"+extra+"_"+type+"_"+catid).checked = allchecked;
   }
   else
   {
      document.getElementById("chk_cat_"+extra+"_"+type+"_"+catid).checked = false;
      document.getElementById("chk1_cat_"+extra+"_"+type+"_"+catid).checked = false;
   }
   
   CheckAllCategories(extra, type);
}

function ToggleAllCategories(obj, extra, type)
{
	// this is a hack so i don't have to monitor what categories are displayed.
	// needs to be updated if there are category id's > 20
	
	var catname;
	
	for (var i = 1; i <= 20; i++)
	{
		catname = document.getElementById("chk_cat_"+extra+"_"+type+"_"+i);
		
		if (catname != null)
		{
			catname.checked = obj.checked;
			ToggleCategory(catname, i, extra, type, true);
		}
	}
}

function CheckAllCategories(extra, type)
{
	// this is a hack so i don't have to monitor what categories are displayed.
	// needs to be updated if there are category id's > 20
	
	var selectall = document.getElementById("chk_select_"+extra+"_"+type);
	
	if (selectall != null)
	{
		var catname;
		var allchecked = true;
		
		for (var i = 1; i <= 20; i++)
		{
			catname = document.getElementById("chk_cat_"+extra+"_"+type+"_"+i);
			
			if (catname != null)
			{
				if (! catname.checked)
				{
					allchecked = false;
					break;
				}
			}
		}
		
		selectall.checked = allchecked;
	}
}

function CheckAnotherCategory(view, obj, catid, extra, type)
{
    if (view=='full')
        document.getElementById("chk1_cat_"+extra+"_"+type+"_"+catid).checked = obj.checked;
    else if (view=='short')
        document.getElementById("chk_cat_"+extra+"_"+type+"_"+catid).checked = obj.checked;
    ToggleCategory(obj, catid, extra, type);
}

function show_cat(fl, div_short, div_full)
{
    if (fl)
    {
        $get(div_short).style.display = 'none'; 
        $get(div_full).style.display = ''; 
    }
    else
    {
        $get(div_short).style.display = ''; 
        $get(div_full).style.display = 'none';
    }
}
