var pnltoid = null;
var currDIV;

function display_categ_list(id,frameid)
{
   var div = window.parent.document.getElementById('ListPanel');
   if (typeof div == 'undefined' || div==null)
   {
       var url = approot+'/Products/ProductsListEx.aspx?CategoryID='+id;
       window.location=url;
   }
   else
   {
       var x   = window.parent.document.getElementById('CacheMark');
       if (typeof x != 'undefined' && x!=null)
       {
           var url = approot+'/cache/LoadProductList.aspx?CategoryID='+id;
           //document.frames[frameid].document.location.href=url;
           window.frames[frameid].window.location=url;
       }
       else
       {
           var url = approot+'/Products/LoadProductList.aspx?CategoryID='+id;
          //document.frames[frameid].document.location.href=url;
           window.frames[frameid].window.location=url;
       
       }
   }
}

function LoadItem(id,frameid,cache,last)
{
   if (last==0)
   {
       var DIV = document.getElementById(id);
       if (typeof DIV == 'undefined' || DIV==null)
          return;
       DIV.style.display = 'block'
       var td = DIV.parentNode.previousSibling;
       while (td.nodeName!='TD')
          td = td.previousSibling;
       var node = td.firstChild;
       while (node!=null && node.nodeName!='A')
         node = node.nextSibling;
       if (node.childNodes.length > 0)
       {
          for (var i=0;i<node.childNodes.length;i++)
          {
              if (node.childNodes.item(i).nodeName == "IMG")
              {
                 node.childNodes.item(i).src = imgDir(node.childNodes.item(i).src) + "minus1.gif";
                 break;
              }
          }
       }
       DIV.innerHTML ='loading ...';
       DIV.style.color = "#aaaaaa";
       pnltoid=window.setTimeout("display_categ_wait()", 300);
       currDIV = DIV;
       id = id.substring(id.lastIndexOf('_') + 1);
       var url = approot+'/Products/LoadCategLayer.aspx?id='+id+'&fid='+frameid+'&c='+cache;
       if (typeof target != 'undefined' && target!=null)
          url += '&target='+target;
       //document.frames[frameid].document.location.href=url;
       window.frames[frameid].window.location=url;
   }
   else
   {
       id = id.substring(id.lastIndexOf('_') + 1);
       display_categ_list(id,frameid)
   }
}

var error = new String('failed to load, try again!');
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function collapexpand(node,frameid,cache)
{
  var firstDIV = node.nextSibling;
  while (firstDIV!=null && firstDIV.nodeName!="SPAN")
      firstDIV = firstDIV.nextSibling;
  var td = node.parentNode;
  while (td.nodeName!='TD')
      td = td.nextSibling
  td = td.nextSibling;
  while (td.nodeName!='TD')
      td = td.nextSibling
  var nextDIV = td.firstChild;
  while(nextDIV.nodeName != "DIV")
      nextDIV = nextDIV.nextSibling;
  if (nextDIV.style.display == 'none')
  {
    if (node.childNodes.length > 0)
    {
      for (var i=0;i<node.childNodes.length;i++)
      {
         if (node.childNodes.item(i).nodeName == "IMG")
         {
             if (nextDIV.firstChild!=null || nextDIV.innerHTML=='')
                node.childNodes.item(i).src = imgDir(node.childNodes.item(i).src) + "minus1.gif";
             else
                node.childNodes.item(i).src = imgDir(node.childNodes.item(i).src) + "empty.gif";
             break; 
         }
      }
    }
    nextDIV.style.display = 'block';
    if (firstDIV!=null)
    {
      firstDIV.style.display = 'block';
      firstDIV.style.width='1px';
      firstDIV.style.height=node.parentNode.style.height;
      firstDIV.style.borderLeft='#333333 1px solid';
    }
    node.parentNode.bgColor = '#eeeeee';
    if (nextDIV.innerHTML.trim()=='' || nextDIV.innerHTML==error)
    {
       nextDIV.innerHTML ='loading ...';
       nextDIV.style.color = "#aaaaaa";
       currDIV = nextDIV;
       pnltoid=window.setTimeout("display_categ_wait()", 300);
       currDIV = nextDIV;
       var id = nextDIV.id;
       id = id.substring(id.lastIndexOf('_') + 1);
       var url = approot+'/Products/LoadCategLayer.aspx?id='+id+'&fid='+frameid+'&c='+cache;
       if (typeof target != 'undefined' && target!=null)
         url += '&target='+target;
       //document.frames[frameid].document.location.href=url;
       window.frames[frameid].window.location=url;
       //nextDIV.innerHTML = document.frames[frameid].document.body.innerHTML;
    }
  }
  else
  {
    if (node.childNodes.length > 0)
    {
      for (var i=0;i<node.childNodes.length;i++)
      {
          if (node.childNodes.item(i).nodeName == "IMG")
          {
           // if (nextDIV.firstChild!=null)
               node.childNodes.item(i).src = imgDir(node.childNodes.item(i).src) + "plus1.gif";
          }
      }
    }
    //nextDIV.innerHTML = '';
    nextDIV.style.display = 'none';
    if (firstDIV!=null)
    {
      firstDIV.style.display = 'none';
    }
  }
}

function imgDir(source)
{
  return source.substring(0, source.lastIndexOf('/') + 1);
}

var cnt=0;
var err=false;
function display_categ_wait()
{
  if (err)
    return;
  cnt++;
  if (cnt<80)
  {
      if (currDIV.innerHTML.length<30)
         currDIV.innerHTML += '.';
      else
         currDIV.innerHTML = '';
      pnltoid=window.setTimeout("display_categ_wait()", 300);
  }
  else
  {
      currDIV.innerHTML = error;
      stop_categ_Wait();
      err=true;
  }
}

function stop_categ_Wait()
{
  cnt=0;
  window.clearTimeout(pnltoid);
  pnltoid=null;
  if (window.onresize!=null)
    window.onresize();
}


