//////////////////////////////////////////// DOM /////////////////////////////////////////

////////////////////////////////
// Categori Listesi dolduruluyor
////////////////////////////////
function fillCategoryList()
{
   var i;
   
   categories = clearDuplicateEntity(categories);
   
   lbCategories.options[0] = new Option("(Hepsi)","");
   
   var k=1;
   for( i=0;i<categories.length;i+=2)
   {
       lbCategories.options[k] = new Option(categories[i+1],categories[i]);
       k++;
   }
   
   lbCategories.selectedIndex = 0;      
}


////////////////////////////////
// Categori Listesi dolduruluyor
////////////////////////////////
function getSelectedValue(selectElement)
{
	var arSelected = new Array();
	
	/// eger hiç bisey secmemisse yada (hepsi)^'ni seçmis ise array bos donder
	if(selectElement.selectedIndex != -1 && selectElement.selectedIndex != 0 )
	{
	   for(i=0;i<selectElement.length; i++)
	   {
	        if(selectElement.options[i].selected)
	        {
	           arSelected.push(selectElement.options[i].value);
	        }
	   }
	}
	else
	{
	 arSelected = null;
	}	
	
	
	
	return arSelected;
}


////////////////////////////////
// ALt kategorileri gösteriyor
////////////////////////////////
function fillSubcategories(arSelected)
{
  var arDisplay = new Array();
  var i;
  var j;
  var k;

  
  
  /// hepsi seçilmis ise
  if(arSelected == null )
  {
     arDisplay = subcategories;
    
  }
  else if (arSelected.length == 0)
  {
   arDisplay = subcategories;
  }
  else
  {
  
    
    for( i=0;i<arSelected.length;i++)
    { 
           
       for( j=0;j<subcategories.length;j+=2)
       {
         
         
          if(subcategories[j].substr(0,3) == arSelected[i] )
          {
                
				arDisplay.push(subcategories[j]);    
				arDisplay.push(subcategories[j+1]);
          }
       }
    }      
  }
  
  arDisplay = clearDuplicateEntity(arDisplay);
  
  /// hepsi ekleniyor
  lbSubcategories.options[0] = new Option("(Hepsi)","");
  k=1;
  for(i=0;i<arDisplay.length;i+=2)
  {
		 lbSubcategories.options[k] = new Option(arDisplay[i+1],arDisplay[i]);
		 k++;
  } 
      
  lbSubcategories.selectedIndex = 0;
  
}
////////////////////////////////////
/// iNDEX = 0 ise category 1 ise alt categori
/////////////////////////////////////
function fillBrands(arSelected,index)
{
  var arDisplay = new Array();
  var tmpBrand  = new Array();
  var i;
  var j;
  var k;


  
  /// hepsi seçilmis ise
  if(arSelected == null )
  {
     arDisplay = brands;
  }
  else
  {
    for( i=0;i<arSelected.length;i++)
    { 
           
       for( j=0;j<CatSubBrandHierarchy.length;j+=3)
       {
                  
          if(CatSubBrandHierarchy[j+index] == arSelected[i] )
          {
              tmpBrand.push(CatSubBrandHierarchy[j+2]);			
          }
       }
    }   
    
    /// brand dizisinden ayikla
        for( i=0;i<tmpBrand.length;i++)
        {
          for(j=0;j<brands.length;j+=2)
          {
             if(tmpBrand[i] == brands[j])
             {
                arDisplay.push(brands[j]);
                arDisplay.push(brands[j+1]);                
             }
          }
        }   
    
  }
  
  arDisplay = clearDuplicateEntity(arDisplay);
  
  lbBrands.options[0] = new Option("(Hepsi)","");
  
  k = 1;
  
  for(i=0;i<arDisplay.length;i+=2)
  {
     lbBrands.options[k] = new Option(arDisplay[i+1],arDisplay[i]);    
     k++;
  }
  lbBrands.selectedIndex = 0;
  
}


////////////////////////////////
// 
////////////////////////////////
function lbCategories_onChange()
{
  var arSelected = getSelectedValue(lbCategories);
 
  ClearSelectBox(lbSubcategories);  
  fillSubcategories(arSelected);
  ClearSelectBox(lbBrands);  
  fillBrands(arSelected,0);
	
}


////////////////////////////////
// 
////////////////////////////////
function lbSubcategories_onChange()
{
  var arSelected = getSelectedValue(lbSubcategories);
  ClearSelectBox(lbBrands);  
  fillBrands(arSelected,1);
}


function ClearSelectBox(SelectBox){
    while(0<SelectBox.options.length)
        SelectBox.remove(0);
}

function clearDuplicateEntity(arDisplay)
{
  var tmpArray = new Array();
  var i;
  var j;
  var k;
  
  tmpArray.push(arDisplay[0]);
  tmpArray.push(arDisplay[1]);  
  
  for(i=2;i<arDisplay.length;i+=2)
  {
     k = 0;   
     for(j=0;j<tmpArray.length;j+=2)
     {
       if(tmpArray[j] == arDisplay[i])
       {
         k=1  
         break;
       }
     } 
     
     if(k == 0)
     {
       tmpArray.push(arDisplay[i]);
	   tmpArray.push(arDisplay[i+1]);       
     } 
    
  }
  
  
  return tmpArray;
  
  
}


////////////////////////////////////////// MAIN /////////////////////////////////////////


fillCategoryList();
fillSubcategories(null);
fillBrands(null,null);





