// GET FUNCTIONS.

function getLayer(layer, nest) {
 if(nest) {
   nest = doc + nest + obj + ".";
 } else {
   nest = "";
 } 

 layerObj = (is.ns4) ? eval(nest + doc + layer + obj) : eval(doc + layer + obj);
 return layerObj; 
}

function getStyle(layer, nest) {
  if (nest) {
    nest = doc + nest + obj + ".";
  } else {
	  nest = "";
	} 

  layerObj = (is.ns4) ? eval(nest + doc + layer + sty) : eval(doc + layer + sty);
  return layerObj; 
}

function getDoc(layer, nest) {
  if (nest) {
    nest = doc + nest + obj + ".";
  } else {
    nest = "";
	}

  layerObj = (is.ns4) ? eval(nest + doc + layer + htm) : eval(doc + layer + htm);
  return layerObj; 
}

function getEventTargetTag(e) {
  if (is.ns4) {
    return e.target.name;
  } else {
    return window.event.srcElement.tagName;
	}
}
 
function getEventTargetID(e) {
  if (is.ns4 || is.ns5) {
    return e.target.id;
  } else {
    return window.event.srcElement.id;
	}
}

function getTop(layer) {
  layerObj = eval(doc + layer + sty);
  return parseInt(layerObj.top);
}

function getLeft(layer) {
  layerObj = eval(doc + layer + sty);
  return parseInt(layerObj.left); 
}

function getWidth(layer) {
  layerObj = eval(doc + layer + sty);
  return parseInt(layerObj.width);
}

function getHeight(layer) {
  layerObj = eval(doc + layer + sty);
  return parseInt(layerObj.height);
}

function getVisibility(layer) {
  layerObj = eval(doc + layer + sty);
  return layerObj.visibility; 
}

function getZOrder(layer) {
  layerObj = eval(doc + layer + sty);
  return layerObj.zIndex;
}

function getDisplay(layer) {
  layerObj = eval(doc + layer + sty);
  return layerObj.display;
}

function getClip(layer, nest) {
  layerObj = getStyle(layer, nest);
 
  if (is.ns4) {
    clipTop = layerObj.clip.top;
    clipRight = layerObj.clip.right;
    clipBottom = layerObj.clip.bottom;
    clipLeft = layerObj.clip.left;
  } else {
    var newClip = new String(layerObj.clip);
    newClip = newClip.substring(5, newClip.length - 1);
    newClipArray = newClip.split(" ");

    clipTop = parseInt(newClipArray[0]);
    clipRight = parseInt(newClipArray[1]);
    clipBottom = parseInt(newClipArray[2]);
    clipLeft = parseInt(newClipArray[3]);
  }
}
 
function getSource(id, layer, nest) {
  if (layer && is.ns4) {
    imgObj = getDoc(layer, nest);
	} else {
	  imgObj = document;
	} 

  return imgObj.images[id].src;
}

function getRes() {
  if (is.ns4 || is.ns5) {
    available_width = innerWidth;
    available_height = innerHeight;
  } else if(is.ie4 || is.ns6) {
	  available_width = document.body.clientWidth;
    available_height = document.body.clientHeight;
  }

  center_width = available_width / 2;
  center_height = available_height / 2;
}

function getScreenRes() {
	available_width = screen.width;
	available_height = screen.height;

  center_width = available_width / 2;
  center_height = available_height / 2;
}

function getBrowser() {
  if (is.win) {
    if (is.ie4) { return "win_ie"; }
    else if (is.ns4) { return "win_ns4"; }
    else if (is.ns5) { return "win_ns5"; }
    else if (is.ns6) { return "win_ns6"; }
    else { return "other"; }
  } else if (is.mac) {
    if (is.ie4) { return "mac_ie"; }
    else if (is.ns4) { return "mac_ns4"; }
    else if (is.ns5) { return "mac_ns5"; }
    else if (is.ns6) { return "mac_ns6"; }
    else { return "other"; }
  }
}
 
// SET FUNCTIONS

function setTop(layer, y, nest) {
  layerObj = getStyle(layer, nest);
  layerObj.top = y;
}

function setLeft(layer, x, nest) {
  layerObj = getStyle(layer, nest);
  layerObj.left = x;
}

function setWidth(layer, w, nest) {
  layerObj = getStyle(layer, nest);
  layerObj.width = w;
}

function setHeight(layer, h, nest) {
  layerObj = getStyle(layer, nest);
  layerObj.height = h;
}

function setContent(layer, msg, nest) {
  layerObj = getLayer(layer, nest);
   
  if (is.ns4) {
    layerObj.document.write(msg);
    layerObj.document.close();
  } else if (is.dom) {
    layerObj.replaceChild(document.createTextNode(msg), layerObj.childNodes[0]);
  } else if (is.ie4) {
    layerObj.innerHTML = msg;
	}
}

function setClip(layer, clipTop, clipRight, clipBottom, clipLeft, nest) {
  layerObj = getStyle(layer, nest);
 
  if (is.ns4) {
    layerObj.clip.top = clipTop;
    layerObj.clip.right = clipRight;
    layerObj.clip.bottom = clipBottom;
    layerObj.clip.left = clipLeft;
  } else {
	  var newClip = "rect(";
    newClip = newClip + clipTop + "px " + clipRight + "px "
    newClip = newClip + clipBottom + "px " + clipLeft + "px)";

    layerObj.clip = newClip;
  }
}

function setVisibility(layer, state, nest) {
  layerObj = getStyle(layer, nest);
  layerObj.visibility = (state) ? "visible" : "hidden";
}

function setOpacity(layer, percent, nest) {
  layerObj = getStyle(layer, nest);
   
  if (is.ie5) {
    layerObj.filters.alpha.opacity = percent;
  } else if(is.ns5) {
    layerObj.MozOpacity = percent + '%';
	}
}
 
function setZOrder(layer, z, nest) {
  layerObj = getStyle(layer, nest);
  layerObj.zIndex = z;
}

function setDisplay(layer, state, nest) {
  layerObj = getStyle(layer, nest);
  layerObj.display = (state) ? "block" : "none";
}

function setSource(id, image, layer, nest) {
  if (layer && is.ns4) {
    docObj = getLayer(layer, nest);
  } else {
	  docObj = document;
	} 

  docObj.images[id].src = image;
}

/* GENERAL FUNCTIONS */

var aPreload = new Array();
function preload_images() {
  var new_image;

  for (var i = 0; i < aPreload.length; i++) {
	  new_image = new Image();
		new_image.src = aPreload[i];
	}
}

function openWindow(url, name, width, height) {
  var settings = "";
	
	getScreenRes();
	
	var win_left = (available_width - width) / 2;
	var win_top = (available_height - height) / 2;
	var win_width = width;
	var win_height = height;

	settings = settings + "LEFT = " +win_left+ ", TOP = " +win_top+ ", WIDTH = " +win_width+ ", HEIGHT = " +win_height;
	
	var win = window.open(url, name, settings);
	win.focus();
}