// Client-side Javascript used for dragging edit console and opening  
// and closing menus. Should be placed in external .js file for easier 
// code maintenance and enhanced performance  

var dragOn=0 
var dragDiv=null; 
var dragX=0,dragY=0; 
var zMax=0; 
var dragInit=0; 

function GetCookie(name)
{
	var search = name + "="
	var val = "";
	
	if (document.cookie.length > 0) 
	{
		offset = document.cookie.indexOf(search)
	
		if (offset != -1)
		{ 
			offset += search.length
			end = document.cookie.indexOf(";", offset);
	
			if (end == -1)
				end = document.cookie.length;
			val = unescape(document.cookie.substring(offset, end))
		}
	}
	return val;
}

function SetCookie(name, val)
{
	document.cookie = name + "=" + escape(val.replace(/[^0-9]/gi, "")) + "; path=/";
}


function PositionConsole()
{
	var oConsole = document.all.editConsole;
	
	if(oConsole == undefined)
		return;

	if (GetCookie("consoleX") != "")
		oConsole.style.left = GetCookie("consoleX");
	else
		oConsole.style.left = document.body.clientWidth - oConsole.clientWidth - 50;

	if (GetCookie("consoleY") != "")
		oConsole.style.top = GetCookie("consoleY");
	else
		oConsole.style.top = 20;
}


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); 
            dragDiv.style.zIndex=zMax++; // remove this line to preserve z-indexes 
            return false; 
      } 
      if (ev.type=="mouseup")
      { 
            dragOn=0;
            if(dragDiv)
            {
				SetCookie("consoleY", dragDiv.style.top);  
				SetCookie("consoleX", dragDiv.style.left);            
			}
          
      } 
      if (dragDiv && ev.type=="mousemove" && dragOn) { 
            dragDiv.style.left=(ev.pageX?ev.pageX:ev.clientX)-dragX; 
            dragDiv.style.top=(ev.pageY?ev.pageY:ev.clientY)-dragY;

            return false; 
      } 
      if (ev.type=="mouseout") { 
            if (!dragOn) dragDiv=null; 
      } 
} 

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){
      divName.filters[0].Apply();
      if (divName.style.visibility == "hidden") { 
            divName.style.visibility = "visible"; 
            divName.filters.revealTrans.transition=5;
      } 
      else { 
            divName.style.visibility = "hidden"; 
            divName.filters.revealTrans.transition=4;         
      } 
      divName.filters[0].Play();
} 
