// Neps
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function addEvent(element, eventType, fn, useCapture)
{
  if(element.addEventListener)
  {
    element.addEventListener(eventType, fn, useCapture);
    return true;
  }
  else if (element.attachEvent)
  {
    var r = element.attachEvent('on' + eventType, fn);
    return r;
  }
  else
  {
    element['on' + eventType] = fn;
  }
}


// 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;

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 && ev.type=="mousemove" && dragOn) {
		dragDiv.style.left=(ev.pageX?ev.pageX:ev.clientX)-dragX+"px";
		dragDiv.style.top=(ev.pageY?ev.pageY:ev.clientY)-dragY+"px";
		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";
	}
}

function getConsolePos() {
    var c = document.getElementById('console');
    
    if (c) {
        var coords = new Array();
        coords[0] = c.style.left;
        coords[1] = c.style.top;
    }
    return coords;
}

function setConsolePos() {
    var coordsStr = readCookie('neps-console-psf');
    var c = document.getElementById('console');
    
    if (coordsStr) {    
        if (c) {
            var coords = coordsStr.split(',');
            c.style.left = coords[0];
            c.style.top = coords[1];
        }
    }
    else {
        if (c) {
            c.style.left = '20px';
            c.style.top = '80px';
        }
    }
}

function saveConsolePos() {
    var coords = getConsolePos();  
    if (coords) createCookie('neps-console-psf',coords[0]+','+coords[1],7);
}

