YAHOO.util.Event.addListener(window,'load',portPageLoaders);
function portPageLoaders() {  
  var portOver = new PortOver();  
  portOver.init();
}

function PortOver()
{  
  this.openedItem = null;
  this.animOpenActive = false;
  this.animCloseActive = false;
}

PortOver.prototype.init = function()
{
  var caseselect = YAHOO.util.Dom.getElementsByClassName('caseselect','select')[0];
  var detailcases = new Array();
  this.content = document.getElementById('content');  
  var list = YAHOO.util.Dom.getElementsByClassName('cases','DIV');
  this.openitems = YAHOO.util.Dom.getElementsByClassName('item','DIV');
  var openeditemindex = randomNumber(0, (this.openitems.length - 1));

  for (var i=0;i<this.openitems.length;i++)
  {
    
    var h3 = this.openitems[i].getElementsByTagName('h3')[0];
    var strong = h3.getElementsByTagName('strong')[0];
    
    //if (typeof strong != 'undefined' )
    if (typeof strong =='object' )
    {
      
      var anchors = this.openitems[i].getElementsByTagName('A');
      if(anchors.length>1){
      var href = anchors[anchors.length - 1].href;
      detailcases[detailcases.length] = new Array(strong.firstChild.nodeValue,href);
      }
    }
    if(i != openeditemindex)
    {
      this.openitems[i].style.height = '25px';
    }
    else
    {
      this.openedItem = this.openitems[i];
    }
  }
  var items = list[0].getElementsByTagName('h3');
  for (var i=0;i<items.length;i++) {
    if (items[i].className == '') {
      YAHOO.util.Event.addListener(items[i],'mouseover',this.itemOverStart,[this,this.openitems[i]]);
      YAHOO.util.Event.addListener(items[i],'mouseout',this.itemOutStart,this);
    }
  }
  this.content.style.height = this.content.offsetHeight;
  
  var businessunitselect = YAHOO.util.Dom.getElementsByClassName('businessunitselect')[0];
  YAHOO.util.Event.addListener(businessunitselect,'change',this.filterBusinessUnit,this);
  YAHOO.util.Event.addListener(caseselect,'change',this.showCase,this);
  
  for (var i=0;i<detailcases.length;i++)
  {
    var option = document.createElement('option');
    option.value = detailcases[i][1];
    var name = document.createTextNode(detailcases[i][0]);
    option.appendChild(name);    
    caseselect.appendChild(option);
  }
}

PortOver.prototype.itemOverStart = function(e, vars)
{
  this.className = 'hover';
  base = vars[0];
  if (vars[1] != base.openedItem)
  {
    base.itemToOpen = vars[1];
    base.itemOverStart = setTimeout(base.createContextFunction("beginCollapse"), 300);
  }
}

PortOver.prototype.itemOutStart = function(e, base)
{
  this.className = '';
  clearTimeout(base.itemOverStart);
}

PortOver.prototype.swithAnimOpenActive = function()
{
  if (this.animOpenActive = true)
  {
    this.animOpenActive = false;
  }
  else
  {
    this.animOpenActive = true;
  }
}

PortOver.prototype.swithAnimCloseActive = function()
{  
  if (this.animCloseActive = true)
  {
    this.animCloseActive = false;
  }
  else
  {
    this.animCloseActive = true;
  }
}

PortOver.prototype.createContextFunction = function (method) {
  var context = this;
  return (function(){
    eval("context."+method+"()");
    return false;
    });
}

PortOver.prototype.beginCollapse = function ()
{
  if (this.animOpenActive == false && this.animCloseActive == false)
  {
    myAnim=new Tween(this.itemToOpen.style,this.openedItem.style,"height",25,187,0.5);
    this.animOpenActive = true;
    this.animCloseActive = true;
    setTimeout(this.createContextFunction("swithAnimOpenActive"), 500);
    setTimeout(this.createContextFunction("swithAnimCloseActive"), 500);
    myAnim.start();
    this.openedItem = this.itemToOpen;
  }
}

PortOver.prototype.filterBusinessUnit = function(e, base)
{
  base.content.style.height = 'auto';
  base.openedItem.style.height = '25px';
  base.openedItem.className = 'item';
  base.firstset = false;
  if (this.value != '')
  {
    for (var i=0;i<base.openitems.length;i++)
    {
      var businessunit = base.openitems[i].getElementsByTagName('span')[0];
      if (businessunit.firstChild.nodeValue == this.value)
      {
        base.openitems[i].style.display = 'block';
        base.openitems[i].className = 'item';
        if (base.firstset == false)
        {
          base.openitems[i].style.height = '187px';
          base.openitems[i].className = 'item active';
          base.openedItem = base.openitems[i];
          base.firstset = true;
        }
      }
      else
      {
        base.openitems[i].style.display = 'none';
      }
    }
  }
  else
  {
    for (var i=0;i<base.openitems.length;i++)
    {
      base.openitems[i].style.display = 'block';
      base.openitems[i].className = 'item';
      if (base.firstset == false)
      {
        base.openitems[i].style.height = '187px';
        base.openitems[i].className = 'item active';
        base.openedItem = base.openitems[i];
        base.firstset = true;
      }
    }
  }
  base.content.style.height = base.content.offsetHeight;
}

PortOver.prototype.showCase = function(e, base)
{
  if (this.value != '')
  {
    window.location = this.value;
  }
}
