﻿var contentStatus = new Array();
var isMouseOver = new Array();
var slidingHeight = 220;
var slidingNbSteps = 10;

//Get all the elements of the given classname of the given tag.
function getElementsByClassName(parent,classname,tag) {
	if(!tag) tag = "*";
	if(parent=="") parent = document;
	var anchs =  parent.getElementsByTagName(tag);
	var total_anchs = anchs.length;
	var regexp = new RegExp('\\b' + classname + '\\b');
	var class_items = new Array()

	for(var i=0;i<total_anchs;i++) { //Go thru all the links seaching for the class name
		var this_item = anchs[i];
		if(regexp.test(this_item.className)) {
			class_items.push(this_item);
		}
	}
	return class_items;
}

function openHandler(e,inputObj)
{
	if(!inputObj)inputObj = this;
	var num = inputObj.id.replace(/[^0-9]/g,'');
	isMouseOver[num] = true;
	
	setTimeout(function() { if(isMouseOver[num]==true) openClose(num)}, 300);
}

function closeHandler(e,inputObj)
{
	if(!inputObj)inputObj = this;
	var num = inputObj.id.replace(/[^0-9]/g,'');
	isMouseOver[num] = false;
}

function openClose(num)
{
	
	if(contentStatus[num]==0)
	{
		var open = 0;
		for(var i=0; i< contentStatus.length; i++)
		{
			if(contentStatus[i]==1){ open = i;}
			if(i != num){contentStatus[i]=0;}
		}
		
		document.getElementById("contents" + num).style.height = '1px'; 
		document.getElementById("contents" + num).style.display = "block";
		
		stepHeight = Math.round(slidingHeight / slidingNbSteps);
		/*setTimeout(function() { document.getElementById("contents" + num).style.height = stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - stepHeight) + 'px' }, 40);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 2*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 2*stepHeight) + 'px' }, 60);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 3*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 3*stepHeight) + 'px' }, 80);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 4*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 4*stepHeight) + 'px' }, 100);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 5*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 5*stepHeight) + 'px' }, 120);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 6*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 6*stepHeight) + 'px' }, 140);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 7*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 7*stepHeight) + 'px'}, 160);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 8*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 8*stepHeight) + 'px'}, 180);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 9*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 9*stepHeight) + 'px'}, 200);
		setTimeout(function() { document.getElementById("contents" + num).style.height = slidingHeight + 'px'; document.getElementById("contents" + open).style.display = 'none'}, 220);*/
		setTimeout(function() { document.getElementById("contents" + num).style.height = stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - stepHeight) + 'px' }, 40);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 2*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 2*stepHeight) + 'px' }, 60);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 3*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 3*stepHeight) + 'px' }, 80);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 4*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 4*stepHeight) + 'px' }, 100);
		setTimeout(function() { document.getElementById("contents" + num).style.height = 5*stepHeight + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - 5*stepHeight) + 'px' }, 120);
		setTimeout(function() { document.getElementById("contents" + num).style.height = Math.round(7.5*stepHeight) + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - Math.round(7.5*stepHeight)) + 'px' }, 140);
		setTimeout(function() { document.getElementById("contents" + num).style.height = Math.round(8.75*stepHeight) + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - Math.round(8.75*stepHeight)) + 'px' }, 160);
		setTimeout(function() { document.getElementById("contents" + num).style.height = Math.round(9.3*stepHeight) + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - Math.round(9.3*stepHeight)) + 'px' }, 180);
		setTimeout(function() { document.getElementById("contents" + num).style.height = Math.round(9.7*stepHeight) + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - Math.round(9.7*stepHeight)) + 'px'}, 200);
		setTimeout(function() { document.getElementById("contents" + num).style.height = Math.round(9.85*stepHeight) + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - Math.round(9.85*stepHeight)) + 'px'}, 220);
		setTimeout(function() { document.getElementById("contents" + num).style.height = Math.round(9.9*stepHeight) + 'px'; document.getElementById("contents" + open).style.height = (slidingHeight - Math.round(9.9*stepHeight)) + 'px'}, 240);
		setTimeout(function() { document.getElementById("contents" + num).style.height = slidingHeight + 'px'; document.getElementById("contents" + open).style.display = 'none'}, 260);
		//var t1=setTimeout(resize(num, 10),20);
		//var t=setTimeout(resize(open, 90),20);

		contentStatus[num] = 1;
		
		/* Rollover Effect */
		//changeOpac("handler" + num, 100);
		//changeOpac("handler" + open, 40);
		document.getElementById('handler_left' + num).className= "handler_left_hot";
		document.getElementById('handler_left' + open).className= "handler_left";
		
		document.getElementById('handler_right' + num).className= "handler_right_hot";
		document.getElementById('handler_right' + open).className= "handler_right";
		
		document.getElementById('handler' + num).getElementsByTagName('div')[0].className= "handler_wrapper_hot";
		document.getElementById('handler' + open).getElementsByTagName('div')[0].className= "handler_wrapper";
		
	}
	
	/*for(var i=0; i< contentStatus.length; i++)
	{
		if(i != num)
		{
			if(contentStatus[i]==1)
			{
				//document.getElementById("contents" + i).style.height = '100px';
				setTimeout(function() { document.getElementById("contents" + i).style.height = '80px'}, 40);
				setTimeout(function() { document.getElementById("contents" + i).style.height = '60px'}, 60);
				setTimeout(function() { document.getElementById("contents" + i).style.height = '40px'}, 80);
				setTimeout(function() { document.getElementById("contents" + i).style.height = '20px'}, 100);
				setTimeout(function() { document.getElementById("contents" + i).style.display = 'none'}, 120);
				var t=setTimeout(resize(i, 90),20);
			}
			
			//document.getElementById("contents" + i).style.display = "none";
			//if(contentStatus[i]==1){new Effect.SlideUp(document.getElementById("contents" + i));}
			contentStatus[i]=0;
		}
	}*/
}

function resize(id, size)
{
	document.getElementById("contents" + id).style.height = size + "px";
}

function changeOpac(id, opacity)
{
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function initializeSlider()
{
	var handlerList = new Array();
	handlerList = getElementsByClassName(document,"handler");
	try{
		for(var i=0; i< handlerList.length; i++)
		{
			if(handlerList[i] != "undefined"){
				var num = handlerList[i].id.replace(/[^0-9]/g,'');
				var content = document.getElementById("contents" + num);
				
				contentStatus[i] = content.style.display == "none" ? 0:1;
				
				handlerList[i].onmouseover = openHandler;
				handlerList[i].onmouseout = closeHandler;
				handlerList[i].style.cursor = 'pointer';
				
				/* Alpha */
				//changeOpac(handlerList[i].id, content.style.display == "none" ? 40:100);
				
			}
		}
	}
	catch(e)
	{
		alert(e.message);
	}
}

/*window.onload = initializeSlider;*/
