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;
	}
}
