var slideArr = new Array();
var slideHeight = 25;
function doSlide(id){
	browser_version= parseInt(navigator.appVersion);
	browser_type = navigator.appName;

	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		 var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		 if (ieversion <= 6)
		  	return;
	}	
	
	var mediaInspector = document.getElementById('mediaInspector');
	if (mediaInspector.currentStyle) {
		zIndex = mediaInspector.currentStyle['zIndex'];
	} else if (window.getComputedStyle) {
		zIndex = window.getComputedStyle(mediaInspector, '').getPropertyValue("z-index");
	}
	
	if(zIndex == 0){
		return;
	}
	
	if (browser_type == "Microsoft Internet Explorer" && (browser_version >= 4)) {
		timeToSlide = 15; // in milliseconds
	}
	else{
		timeToSlide = 30; // in milliseconds
	}
	obj = document.getElementById(id);

	if (slideArr[id] == undefined)
		slideArr[id] = { focus : false, exit: false, timerHandle : null }

	if (slideArr[id]["exit"])
	{
		window.clearTimeout(slideArr[id]["timerHandle"]);
		slideArr[id]["exit"] = false;
	}

	slideArr[id]["focus"] = true;

	if(obj.style.display != "block")
	{
		obj.style.visibility = "hidden";
		height = slideHeight;
		obj.style.height="0px";
		obj.style.display = "block";
		obj.style.visibility = "visible";
		slideDown(obj,0,height,Math.ceil(height/timeToSlide));
   }
}

function exitSlide(id)
{
	browser_version= parseInt(navigator.appVersion);
	browser_type = navigator.appName;
	if (browser_type == "Microsoft Internet Explorer" && (browser_version >= 4)) {
		timeToSlide = 15; // in milliseconds
	}
	else{
		timeToSlide = 30; // in milliseconds
	}
	obj = document.getElementById(id);

	if (slideArr[id] == undefined)
		slideArr[id] = {focus : false, exit: false, timerHandle : null}

	if (!slideArr[id]["exit"])
	{
		slideArr[id]["exit"] = true;
		slideArr[id]["focus"] = false;
		slideArr[id]["timerHandle"] = window.setTimeout(function() { if (!slideArr[id]["focus"]) slideUp(document.getElementById(id),Math.ceil(slideHeight/timeToSlide),slideHeight); }, 100);
	}
}
 
function slideDown(obj,offset,full,px){
	if(offset < full)
	{
		if (document.getElementById('hoverThumbs' + obj.id.replace("target","")).style.display!='block')
		{
			document.getElementById('hoverThumbs' + obj.id.replace("target","")).style.visibility = "hidden";
			document.getElementById('hoverThumbs' + obj.id.replace("target","")).style.display='block';
			document.getElementById('hoverThumbs' + obj.id.replace("target","")).style.visibility = "visible";
		}
	
		obj.style.height = offset+"px";
		if (browser_type == "Microsoft Internet Explorer" && (browser_version >= 4)) {
			obj.style.bottom = (offset+4) + "px";
		} else {
			obj.style.bottom = (offset+4) + "px";
		}
		offset=offset+px;
		setTimeout((function(){slideDown(obj,offset,full,px);}),1);
	}
	else
	{	
		obj.style.height = full+"px"; //If the data inside is updated on runtime you can use auto instead...
		if (browser_type == "Microsoft Internet Explorer" && (browser_version >= 4)) {
			obj.style.bottom = (full+4) + "px";
		} else {
		 	obj.style.bottom = (full+4) + "px";
		}
	}
}
 
function slideUp(obj,px,full){
	if((obj.offsetHeight-px) > 0)
	{
		if (document.getElementById('hoverThumbs' + obj.id.replace("target","")).style.display!='none')
		{
			document.getElementById('hoverThumbs' + obj.id.replace("target","")).style.display='none';
		}
	
		obj.style.height = obj.offsetHeight-px+"px";
		if (browser_type == "Microsoft Internet Explorer" && (browser_version >= 4)) {
			obj.style.bottom = (obj.offsetHeight+4) + "px";
		} else {
			obj.style.bottom = (obj.offsetHeight+4) + "px";
		}
		setTimeout((function(){slideUp(obj,px,full);}),1);
	}
	else
	{
		obj.style.height=full+"px"; // we reset the height if we were to slide it back down
		if (browser_type == "Microsoft Internet Explorer" && (browser_version >= 4)) {
			obj.style.bottom = (full+4) + "px";
		} else {
			obj.style.bottom = (full+4) + "px";
		}
		obj.style.display = 'none';
		slideArr[obj.id]["focus"] = false;
		slideArr[obj.id]["exit"] = false;
	}
}


function focusLang(id)
{
	if (slideArr[id] == undefined)
		slideArr[id] = {focus : false, exit: false, timerHandle : null}
	
	slideArr[id]["focus"] = true;
	slideArr[id]["exit"] = false;
}

function hideLang(id)
{
	if (slideArr[id] == undefined)
		slideArr[id] = {focus : false, exit: false, timerHandle : null}

	if (!slideArr[id]["exit"])
	{
		slideArr[id]["exit"] = true;
		slideArr[id]["focus"] = false;
		var callback = function() { if (!slideArr[id]["focus"]) slideUp(obj,Math.ceil(obj.offsetHeight/timeToSlide),obj.offsetHeight); }
		slideArr[id]["timerHandle"] = window.setTimeout(callback, 100);
	}
}

function ObjectPosition(obj) {
    var curleft = 0;
      var curtop = 0;
      if (obj.offsetParent) {
            do {
                  curleft += obj.offsetLeft;
                  curtop += obj.offsetTop;
            } while (obj = obj.offsetParent);
      }
      return [curleft,curtop];
}
