﻿// JScript File

//--------------------------------------------
//            BASIC FUNCTIONS
//--------------------------------------------

//Abbreviated getElementById function
function ge(elemID) 
{
  return document.getElementById(elemID);
}

//Get Absolute X Position of HTML Element
function findX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

//Get Absolute Y Position of HTML Element
function findY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

//Get mouse x coordinate
function mousePosX(e)
{
  var posx = 0;
  if (!e) var e = window.event;
  if (e.pageX)
    posx = e.pageX;
  else if (e.clientX && document.body.scrollLeft)
    posx = e.clientX + document.body.scrollLeft;
  else if (e.clientX && document.documentElement.scrollLeft)
    posx = e.clientX + document.documentElement.scrollLeft;
  else if (e.clientX)
    posx = e.clientX;
  return posx;
}

//Get mouse y coordinate
function mousePosY(e)
{
  var posy = 0;
  if (!e) var e = window.event;
  if (e.pageY)
    posy = e.pageY;
  else if (e.clientY && document.body.scrollTop)
    posy = e.clientY + document.body.scrollTop;
  else if (e.clientY && document.documentElement.scrollTop)
    posy = e.clientY + document.documentElement.scrollTop;
  else if (e.clientY)
    posy = e.clientY;
  return posy;
}

//Debug: Print all object properties
function dp(object)
{
  var descString;
  for(var value in object)
    descString += (value + " => " + object[value] + "\n");
  if( descString != "" )
    alert(descString);
  else
    alert(object);
}

//Debug: Print to div on page
function dpd(debugOutput)
{
  if( ge('debugout') ) {
    ge('debugout').style.overflow = "auto";
    ge('debugout').innerHTML = debugOutput + "<br>" + ge('debugout').innerHTML;
  }
}

//Debug: Print Time
var debugStartTime;
function dtime(marker)
{
  endTime = new Date();
  dpd(marker + " " + (debugStartTime.getTime() - endTime.getTime()));
  debugStartTime = endTime;
}

function dtimestart()
{
  debugStartTime = new Date();
}

//----------------------------------------------------
//             SHOW AND HIDE HTML ELEMENT
//----------------------------------------------------

function showElement(id)
{
  if (document.layers)
  {
    document.layers[id].display = "block";
  }
  else if (document.all)
  {
    document.all[id].style.display = "block";
  }
  else if (document.getElementById)
  { 
    if (document.getElementById(id) != undefined)
    {
      document.getElementById(id).style.display = "block";
    }
  }
}

function hideElement(id)
{
  if (document.layers)
  {
    document.layers[id].display = "";
  }
  else if (document.all)
  {
    document.all[id].style.display = "none";
  }
  else if (document.getElementById)
  { 
    if (document.getElementById(id) != undefined)
    {
      document.getElementById(id).style.display = "none";
    }
  }
}

function popUp(URL) 
{
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=650,height=575');");
}
function pU(URL,width,height) 
{
    day = new Date();
    id = day.getTime();
    eval("p" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width="+width+",height="+height+"');");
}

function confirmDiag(message)
{
    var a = confirm(message);
    if(a)
        return true;
    else
        return false;
}