<?php
class clsColumnHeader
{
    var $field;
    var $label;
    var $searchable=1;
    var $format="";
    var $sortfield=0;
    var $asc=1;
    var $width="";
    var $config_field;
    var $config_sortorder;
    var $FieldKey;

    function clsColumnHeader($Field="",$Label="",$Searchable=1,$sortfield=0,$asc="",$width="",$config_field="",$config_sortorder="")
    {
        $this->field = $Field;
        $this->label = $Label;
        $this->searchable = $Searchable;
        //$this->format = $Format;
        $this->sortfield = $sortfield;
        $this->asc=$asc;
        $this->width=$width;
        $this->config_field = $config_field;
        $this->config_sortorder = $config_sortorder;
    }

    function PrintCol($nowrap)
    {
        global $adminURL;

        if(strlen($this->width)>0)
        {        
          $o = "<TD ".$nowrap.$this->width."\">";
        }
        else
            $o = "<TD ".$nowrap.">";
        if($this->sortfield)
        {        
            if($this->asc=="desc")
            {            
              $img_src = $adminURL."/images/list_arrow_dn.gif";
              $new_asc = "asc";
            }
            else
            {            
              $img_src = $adminURL."/images/list_arrow_up.gif";
              $new_asc="desc";
            }
            $o .= "<A href=\"javascript:config_val('".$this->config_sortorder."','".$new_asc."');\" class=\"columntitle_small\">";
        }
        else
        {
        
            $o .= "<A href=\"javascript:config_val('".$this->config_field."','".$this->FieldKey."');\" class=\"columntitle_small\">";
            $img_src = $adminURL."/images/list_arrow_rt.gif";
        }
        $o .= "<IMG title=\"\" name=\"imgColField".$this->field."\" src=\"".$img_src."\" border=\"0\" align=\"absmiddle\">";
        $o .= $this->label."</A></TD>";
        return $o;
    }
}

class clsColumnHeaderList 
{
  var $Columns;
  var $SortField;
  var $SortOrder;
  var $nowrap = TRUE;

  function clsColumnHeaderList()
  {
      $this->Columns= array();
      $this->SortOrder = "";
  }

  function KeyFromField($Field)
  {
      $result = "";
      foreach($this->Columns as $key=>$c)
      {
          if($c->field == $Field)
              $result = $key;
      }
      return $result;
  }

  function SetSort($SortField,$SortOrder=1)
  {
      $this->SortField = $SortField;
      $this->SortOrder = $SortOrder;      
  }

  function Count()
  {
      return count($this->Columns);
  }

  function Item($key)
  {
      return $this->Columns[$key];
  }

  function Add($Field="",$Label="",$Searchable=1,$sortfield=0,$asc=1,$width="",$config_field,$config_sortorder,$key="")
  {
      $objNewMember = new clsColumnHeader($Field,$Label,$Searchable,$sortfield,$asc,$width,$config_field,$config_sortorder);
      if(strlen($key))
      {
          $objNewMember->FieldKey = $key;
          $this->Columns[$key] = $objNewMember;
      }
      else
      {
          $this->Columns[] = $objNewMember;
      }
      return $objNewMember;
  }

  function PrintColumns()
  {
      $o = "<TR class=\"subsectiontitle\">";
      foreach($this->Columns as $c)
      {
          if($c->field==$this->SortField || ($c->FieldKey==$this->SortField))
          {          
              $c->sortfield=1;
          }
          else
              $c->sortfield=0;      
          $c->asc=$this->SortOrder;
        
          if($this->nowrap)
          {
            $nowrap = " nowrap=\"nowrap\" ";          
          }
          else
            $nowrap = "";
          $o .= $c->PrintCol($nowrap);
      }
      $o .= "</TR>";
      return $o;

  }

}

?>