// Client-side Javascript used for dragging edit console and opening 
// and closing menus.

window.document.ondblclick = function()
{		
	var div = document.getElementById("CmsConsole");		
	if (div != null)
	{
		div.style.display = "block";
		div.style.top = event.y+window.document.body.scrollTop;
		div.style.left = (screen.availWidth-document.body.clientWidth)/2+event.x+window.document.body.scrollLeft;
		div.style.position = "absolute";
		//Store location
		ccSetCookie("ccconsoleypos", div.style.top, null, "/");
		ccSetCookie("ccconsolexpos", div.style.left, null, "/");		
	}	
}
				
var dragOn=0
var dragDiv=null;
var dragX=0,dragY=0;
var zMax=0;
var dragInit=0;

function CloseConsole()
{
	var div = document.getElementById("CmsConsole");		
	if (div != null)
	{
		//Show
		div.style.display = "none";
		ccSetCookie("ccconsoleypos", "", null, "/");
		ccSetCookie("ccconsolexpos", "", null, "/");
	}	
}

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) {	
	var div = document.getElementById("CmsConsole");
	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") 
	{		
		ccSetCookie("ccconsoleypos", div.style.top, null, "/");
		ccSetCookie("ccconsolexpos", div.style.left, null, "/");
		dragOn=0;
	}
	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)
{	
	if (divName.style.display == "none") 
	{		
		divName.style.display="block";		
	}
	else 
	{
		divName.style.display="none";
	}
}


//Sets the cookie on the client machine.
function ccSetCookie(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

///Gets the cookie from the client.
function ccGetCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}
