isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;

function ddInit(e){
  topDog=isIE ? "BODY" : "HTML";
  whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");  
  hotDog=isIE ? event.srcElement : e.target;  
  while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){
    hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
  }  
  if (hotDog.id=="titleBar"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(whichDog.style.left);
    nowY=parseInt(whichDog.style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function firstInitiation(e)
{
	topDog=isIE ? "BODY" : "HTML";
	whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");  
	ddEnabled=false;
}

function dd(e){
  if (!ddEnabled) return;
  whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog){
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function hideMe(){
  if (isIE||isNN) whichDog.style.visibility="hidden";
  else if (isN4) document.theLayer.visibility="hide";
    //requires AJAX functions
  ajaxGetContents('innerHTML','../modules/loadingContent.php', 'layerContent');
  //and hide
}

function showMe(){
  resizeToContents();
  var currentStatus;
  if (isIE||isNN) {currentStatus = whichDog.style.visibility;}
  else if (isN4) {document.theLayer.visibility;};
  
  if (currentStatus=='visible' || currentStatus=='show' ){return;};
  
  if (isIE||isNN) whichDog.style.visibility="visible";
  else if (isN4) document.theLayer.visibility="show";
}

function showMeAtCursor(e){
  //get current cursor position
  var x,y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
  
  
  currentX=isIE ? event.clientX : e.clientX;
  currentY=isIE ? event.clientY : e.clientY;
  
  
  if (isIE||isNN) {whichDog.style.top=(currentY + y) ; whichDog.style.left=(currentX+x)}
  else if (isN4) {document.theLayer.top=(currentY+y);document.theLayer.left=(currentX+x);};
  showMe();
}

function centerLayer()
{
	showMe();
	if (isIE||isNN) {whichDog.style.top="200"; whichDog.style.left="200"}
 	else if (isN4) {document.theLayer.top="200";document.theLayer.left="200";};
}

//SCALING THE WINDOW
function resizeToContents()
{
	var Elem = document.getElementById('layerContent');
	var Outside = document.getElementById('layerFrame');
	Outside.style.width = getElementWidth('layerContent');
	Outside.style.height = getElementHeight('layerContent');
	Elem.style.width = getElementWidth('layerContent');
	Elem.style.height = getElementHeight('layerContent');
}

function getElementHeight(Elem) {

		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (elem.style.pixelHeight) { 
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;

}

function getElementWidth(Elem) {

		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (elem.style.pixelWidth) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	
}

document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");
