﻿var isIE = document.all?true:false;
function hideshowDiv(div)
{
    elm = document.getElementById(div);
    if(navigator.appName.indexOf("Microsoft") > -1)
    {
	    var check = elm.style.display.toString();
	    if(check.length == 5)
	    {
		    // Hide
		    elm.style.display = "";
	    }
	    else
	    {
		    // Show	
		    //holdert = document.getElementById('menuMain');
		    //feest = holdert.getElementsByTagName("span");
		    //for(i = 0; i < feest.length; i++)
		    //{
			//	    feest[i].style.display = "";		
		    //}

		    elm.style.visibility = "visible";			
		    elm.style.display = "block";	
	    }
    } 
    else 
    {
	    if(elm.style.visibility == "visible")
	    {
		    // Hide
		    elm.style.visibility = "collapse";
		    elm.style.display = "none";
	    }
	    else
	    {
		    // Show
		    elm.style.visibility = "visible";
		    elm.style.display = "block";	

	    }			
    }
}
function showDiv(div)
{
    elm = document.getElementById(div);
    if(navigator.appName.indexOf("Microsoft") > -1)
    {
	    elm.style.visibility = "visible";			
	    elm.style.display = "block";
    }    
    else
    {
	    elm.style.visibility = "visible";
	    elm.style.display = "block";	    
    }    
}
function hideDiv(div)
{
    elm = document.getElementById(div);
    if(navigator.appName.indexOf("Microsoft") > -1)
    {        
        elm.style.display = "";
        elm.style.visibility = "hidden";
    }    
    else
    {
	    elm.style.visibility = "collapse";
	    elm.style.display = "none";   
    }    
}
var toHideMinX = 0;
var toHideMaxX = 0;
var toHideMinY = 0;
var toHideMaxY = 0;
var elementIdToHide = '';
var hideTimer = -1;
function showDivAndTrackMouseHide(div)
{
    element = document.getElementById(div);    
    changeOpac(1,div);
    showDiv(div);
    opacity(div,1,100,750);
    
    // Set tracking area
    position = findPos(div);
    toHideMinX = position[0];
    toHideMaxX = position[0] + element.offsetWidth;
    toHideMinY = position[1];
    toHideMaxY = position[1] + element.offsetHeight;
    elementIdToHide = div;
    
    //alert(toHideMinX + "-" + toHideMaxX + "-" + toHideMinY + "-" + toHideMaxY); 
      
    // Obsolete:    
    if (!isIE) document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = HideOnMousePosition; 
    //document.addEventListener('mousemove',HideOnMousePosition,true);
       
}
function hideDivStopTimer(div)
{    
    opacity(div,100,0,750);
    clearTimeout(hideTimer);
    hideTimer = -1;   
    document.onmousemove = null;  
}
function HideOnMousePosition(e) {

      var _x;
      var _y;
      if (!isIE) {
        _x = e.pageX;
        _y = e.pageY;
      }
      if (isIE) {
        _x = event.clientX + document.body.scrollLeft;
        _y = event.clientY + document.body.scrollTop;
      }
      
      if(_x < toHideMinX || _x > toHideMaxX || _y < toHideMinY || _y > toHideMaxY)
      {
            if(hideTimer <= 0)
            {
                hideTimer = setTimeout("hideDivStopTimer(elementIdToHide)",500);        
            }
      }
      else
      {
            // In area
            if(hideTimer > 0)
            {
                clearTimeout(hideTimer);
                hideTimer = -1;
            }
      }
      
      
      return true;
}
function findPos(obj) {
    obj = document.getElementById(obj);
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	//document.title = curleft + "," + curtop + "width: " + + "height: " + ;
	return [curleft,curtop];
}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }       
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
    if(opacity == 0)
    {
        hideDiv(id);
    }
} 

function shiftOpacity(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
    if(document.getElementById(id).style.opacity == 0) {
        opacity(id, 0, 100, millisec);
    } else {
        opacity(id, 100, 0, millisec);
    }
} 
