﻿// JScript File
//########################################################################
//    This is filter for main sections. User sites uses
//  filterctrl/filter.js in the component directory 
//########################################################################

function GetUserArticles(UserName)
{
    var Page = "1";

    getElementFromID("IFilterBy").innerHTML = "UserName";
    getElementFromID("IFilterValue").innerHTML = UserName ; 

    GetNewPage(Page);
    
}


function GetListViewFilterValue(Me)
{

    var OptionID =  Me.id ; //"ListFilterByOption" ; //

    SelectedIndex = getElementFromID(OptionID).selectedIndex
    SelectedOption = getElementFromID(OptionID).options[SelectedIndex].value
    getElementFromID("IFilterBy").innerHTML = SelectedOption;


    //var ListViewValueOption =  JournalFilterOptions(SelectedOption)

    if(SelectedOption=="")
    {
        getElementFromID('FilterValuesPanel').style.display = "none"
        //ListViewValueOption = "";   //If Show ALL is selected, dont show dropdown menu, get data
        FilterListView(Me);
    }
    else
    { 
    
    GetFilterValues(SelectedOption);
    

     }



}




//Filter Function for List View (Datalist View)
function FilterListView(Me)
{

    var OptionID =  Me.id ; //"ListFilterByOption" ; //


    //Reset Values 
    //var SortOrder = "ASC";
    //var SortBy = "id"
    var Page = "1";
    
    var FilterBy = getElementFromID("IFilterBy").innerHTML

     if(FilterBy =="")
        var FilterValue = ""; //Case where Show ALL is selected
     else
     {   

        var SelectedIndex = getElementFromID(OptionID).selectedIndex
        var FilterValue = getElementFromID(OptionID).options[SelectedIndex].value
    
        /*
          //If filter by category, check if this is a subcategory, then change the filterby
          if((FilterBy == "Category") || (FilterBy == "CategoryId"))
          {
           var FilterText = getElementFromID(OptionID).options[SelectedIndex].text
           var reg = new RegExp("^--->.*");

           if(reg.test(FilterText))
                getElementFromID("IFilterBy").innerHTML = "SubCategoryId"
          else
                getElementFromID("IFilterBy").innerHTML = "CategoryId"
          
          }
        
        */
    
    
     }
     getElementFromID("IFilterValue").innerHTML = FilterValue ; 
         
      if(FilterBy== "CategoryID")
        getElementFromID("FilterByCategoryID").innerHTML = FilterValue;

     //The filter control is shared so need to determine which mode we are in
     
     var PageMode = getElementFromID("PageMode").innerHTML

    switch(PageMode)
    {
    case "View" :
          GetNewPage(Page);
          break;
    case "FrontPage" :
          GetNewPage(Page);
          break;         
    case "List" :
          GetGridViewPage(Page);
          break;
    case "Admin" :
          GetGridViewPage(Page);
          break;
    default:
         break;
        
    }    
           

}

 

function ResetFilter()
{
     //reset the dropdown menu
    var FilterByDropDownList = getElementFromID("FilterByDropDownListName").innerHTML ;
   // getElementFromID(FilterByDropDownList).selectedIndex = 0;

    var FilterValueDropDownList = getElementFromID("FilterValueDropDownListName").innerHTML ;
    //getElementFromID(FilterValueDropDownList).selectedIndex = 0;

    if(getElementFromID(FilterByDropDownList)!=null)
        SetFilterIndex(getElementFromID(FilterByDropDownList), "");
    
    if(getElementFromID(FilterValueDropDownList)!=null)
        SetFilterIndex(getElementFromID(FilterValueDropDownList), "");

    getElementFromID('FilterValuesPanel').style.display = "none"

    //reset filter option
    getElementFromID("FilterBy").innerHTML = "";
    getElementFromID("FilterValue").innerHTML = "";
    getElementFromID("IFilterBy").innerHTML = "";
    //getElementFromID("IFilterValue").innerHTML = "";

    FilterListView("");
    
}

function SetFilterIndex(DropdownID, Value) 
{
    for ( var i = 0; i < DropdownID.options.length; i++ ) 
    {
        if ( DropdownID.options[i].value == Value ) 
        {
            DropdownID.options[i].selected = true;
            return;
        }
    }
}





    function SetCategoryDropDownIndex(CategoryID)
    {
    
        var DropDownListName = getElementFromID("CategoryDropDownID").innerHTML
        var DropdownID = getElementFromID(DropDownListName)
       
        SetDropDownIndex(DropdownID, CategoryID)

    
        getElementFromID("Category").value = CategoryID;

    
    }
    
    function SetSubCategoryDropDownIndex(SubCategoryID)
    {
    
        var DropDownListName = getElementFromID("SubCategoryDropDownID").innerHTML
        var DropdownID = getElementFromID(DropDownListName)
       
        SetDropDownIndex(DropdownID, SubCategoryID)
    
        getElementFromID("SubCategory").value = Value;

    
    }
