// Client-side Javascript used for dragging edit console and opening 
// and closing menus.

var dragOn=0
var dragDiv=null;
var dragX=0,dragY=0;
var zMax=0;
var dragInit=0;

var myWidth = 0;
var myHeight = 0;
  
function initDrag()
{
	if ( document.layers )
	   document.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN|Event.MOUSEUP);
	   
	document.onmousemove=dragf;
	document.onmousedown=dragf;
	document.onmouseup=dragf;
	dragDiv=null;
	dragInit=1;
	
	if ( document.getElementsByTagName )
	   zMax=document.getElementsByTagName("DIV").length;
	else if ( document.all )
		zMax=document.body.all.tags("DIV").length;
	else if ( document.layers )
		zMax=document.layers.length;
}

function dragf(arg)
{
	ev = arg?arg:event;

	if ( dragDiv && ev.type == "mousedown" )
	{
		dragOn = 1;
		dragX = (ev.pageX?ev.pageX:ev.clientX) - parseInt(dragDiv.style.left);
		dragY = (ev.pageY?ev.pageY:ev.clientY) - parseInt(dragDiv.style.top);
				
		return false;
	}

	if ( ev.type == "mouseup" )
		dragOn = 0;

	if ( dragDiv && ev.type == "mousemove" && dragOn )
	{
		LoadClientWidth();
		
		dragDiv.style.left = (ev.pageX?ev.pageX:ev.clientX) - dragX;
		
		//Left Margin Control only for "Internet Explorer"
		if ( navigator.appName.indexOf("Explorer") > -1 )
		{
			if ( parseInt(dragDiv.style.left) + parseInt(dragDiv.clientWidth) >= myWidth)
				dragDiv.style.left = parseInt(myWidth) - parseInt(dragDiv.clientWidth);
			else if ( parseInt(dragDiv.style.left) <= 0 )
				dragDiv.style.left = 0;
		}
		
		dragDiv.style.top = (ev.pageY?ev.pageY:ev.clientY) - dragY;
		
		//Top Margin Control only for "Internet Explorer"
		if ( navigator.appName.indexOf("Explorer") > -1 )
		{
			if ( parseInt(dragDiv.style.top) + parseInt(dragDiv.clientHeight) >= myHeight)
				dragDiv.style.top = parseInt(myHeight) - parseInt(dragDiv.clientHeight);
			else if ( parseInt(dragDiv.style.top) <= 0 )
				dragDiv.style.top = 0;
		}
				
		return false;
	}

	if ( ev.type == "mouseout" )
	{
		if ( !dragOn )
			dragDiv = null;
	}
}

//Funcion que recupera el ScrollWidth y el ScrollHeight de la ventana actual
function LoadClientWidth()
{
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myWidth = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.scrollWidth;
    myHeight = document.documentElement.scrollHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.scrollWidth;
    myHeight = document.body.scrollHeight;
  }
}

function drag(div)
{
	if ( !dragInit )
		initDrag();

	if ( !dragOn )
	{
		dragDiv=document.getElementById?document.getElementById(div): 
		document.all?document.all[div]:document.layers?document.layers[div]:null;
		
		if (document.layers) dragDiv.style=dragDiv;
			dragDiv.onmouseout=dragf;
	}
}

function OpenCloseDiv(divName)
{
	if ( divName.style.display == "none" )
	{
		divName.style.display="block";
		
		if ( divName.id == "Navigation" )
		{
			spaNavigation.innerText = "Hide Navigation Tree";
			
			divName.style.left = editConsole.style.left;
			divName.style.top = parseInt(editConsole.style.top) + 65 + "px";
		}
	}
	else 
	{
		divName.style.display="none";
		
		if ( divName.id == "Navigation" )
			spaNavigation.innerText = "Navigation Tree";
	}
}