﻿function ValidateCategories(val, args)
{
    // Custom validator function: validates that at least one category was selected
    var objSel = $(m_lstSelCats)[0];
	
    // Returns True or False depending if there are selected categories or not
    args.IsValid = (objSel.options.length > 0);
    
    if (!args.IsValid) {
        document.getElementById(val.id).style.display = "inline";
    } else {
        document.getElementById(val.id).style.display = "none";
    }
    
    validationexecuted = true;
}


function AddCat()
{
    var objCats = $(m_lstCats)[0];
    var objSel = $(m_lstSelCats)[0];
    var nocatsel = true;
    for (var i = 0; i < objCats.options.length; i++)
        if (objCats.options[i].selected)
        {
            nocatsel = false;
            var notselected = true;
            for (var j = 0; j < objSel.options.length; j++)
                if (objSel.options[j].value==objCats.options[i].value)
                {
                    notselected = false;
                    break;
                }
            if(notselected)
            {
                var item = new Option(objCats.options[i].text, objCats.options[i].value, true, true);
                objSel.options[objSel.options.length] = item;
            }
        }
    if(nocatsel)
        alert("Please select a Category to add");
    else
        UpdateSelCats();
}

function RemoveCat()
{
    var objSel = $(m_lstSelCats)[0];
    for (var j = 0; j < objSel.options.length; j++)
        if (objSel.options[j].selected)
        {
            objSel.options[j] = null;
            j--;
        }
    UpdateSelCats();
}

function UpdateSelCats()
{
    var objSel = $(m_lstSelCats)[0];
    var objHddSelCats = $(m_hddSelCats)[0];
    var selcatsids = "";
    for (var j = 0; j < objSel.options.length; j++)
    {
        if(selcatsids != "")
            selcatsids += ",";
        selcatsids += objSel.options[j].value;
    }
    objHddSelCats.value = selcatsids;
}

function ReloadCats()
{
    var objGroup = $(m_ddlCatGroup)[0];

    // Get selected group
    var groupid = -1;
    for (var i = 0; i < objGroup.options.length; i++)
    {   
        if (objGroup.options[i].selected)
        {
            groupid = objGroup.options[i].value;
            break;
        }
    }

    // Populate Categories drop down list depending on the group id            
    var response = AjaxMethods.populateLawsCategoryDropDown(groupid);
    var value = response.value;
    if(value!=null)
    {
        var dt = value.getTable("Categories");
        if (dt!=null && typeof(dt.Rows[0])!='undefined')
        {
            var objCats = $(m_lstCats)[0];
            // Remove all items
            objCats.options.length = 0;
            
            for (i=0;i<dt.Rows.length;i++) 
            {
                // Add option for each category row
                var value = dt.Rows[i].Id;
		        var text = dt.Rows[i].Name;
                var optionName = new Option(text, value);
                objCats.options[objCats.options.length] = optionName;	
            }
        }
    }
}