// Image Preloading
	var iPath = "/images/"
	var iExt = "gif"
	var suffix = new Array('on', 'off')
	var loaded = false

function preLoad()
{
  if(document.images)
  {
    var argLen = arguments.length;
    for(var i = 0; i < argLen; i++)
    {
      var arg = arguments[i];
      var sufLen = suffix.length;
      for(j = 0; j < sufLen; j++)
      {
        var suf = suffix[j]
        self[arg + '_' + suf] = new Image();
        self[arg + '_' + suf].src = iPath + arg + '_' + suf + '.' + iExt;
      }
    }   
    loaded = true;
  }
}

function rollOver(iName, iState)
{
  if(document.images && loaded)
  {
    document.images[iName].src = self[iName + '_' + iState].src;
  }
}

function init(){
//	alert ("start");
//	preLoad('rainbow');
}

function makeArray() {
     for (i = 0; i<makeArray.arguments.length; i++)
          this[i + 1] = makeArray.arguments[i];
}



function displayDate(){
	var months = new makeArray('January','February','March','April','May','June','July','August','September','October','November','December');
	var date = new Date();
	var day  = date.getDate();
	var month = date.getMonth() + 1;
	var yy = date.getYear();
	var year = (yy < 1000) ? yy + 1900 : yy;
	
	document.write(months[month] + " " + day + ", " + year);
}

function popup(url,name,w,h,t,f,sb,posTop,posLeft) { 
	var NS4=(document.layers)?1:0; var IE=(document.all)?1:0;
	var NS6=(document.getElementById&&!document.all)?1:0;
   	  strURL = url;
		var top=(IE)?window.screenTop:window.screenY;
		var left=(IE)?window.screenLeft:window.screenX;
		if(!w)w=600; 
		if(!h)h=500; 
		if(f==null)f=1; 
		sb=(sb!=null)?sb:((f)?1:0); 
		var D=new Date();
		var win=window.open(strURL,name,'toolbar='+t+',location=0,directories=0,menubar=0,resizable=1,status=0,scrollbars='+sb+',width='+w+',height='+h+',screenX='+(left+posLeft)+',screenY='+(top+posTop)+',left='+(left+posLeft)+',top='+(top+posTop)); if (window.focus)win.focus();
}

// Determine browser
var isNS4 = (document.layers) ? 1 : 0;
var isIE = (document.all) ? 1 : 0;
var isNS6 = (document.getElementById && !document.all) ? 1 : 0;

/* Layer visibility */
function hideLayer(layer)
{
	if (isNS4){ layer.visibility = "hide"; }
	else if (isIE || isNS6 ){ layer.style.visibility = "hidden"; }
}

function showLayer(layer)
{
	if (isNS4){ layer.visibility = "show"; }
	else if (isIE || isNS6 ){ layer.style.visibility = "visible"; }
}

function inheritLayer(layer)
{
	if (isNS4){ layer.visibility = "inherit"; }
	else if (isIE || isNS6 ){ layer.style.visibility = "inherit"; }
}

function getVisibility(layer)
{
	if (isNS4) {
		if (layer.visibility == "show"){ return "visible"; }
		if (layer.visibility == "hide"){ return "hidden"; }
		return layer.visibility;
	} else if (isIE || isNS6 ){ 
		return layer.style.visibility;
	}
	return "";
}

/*  Layer positioning */
function moveLayerTo(layer, x, y)
{
	if (isNS4){
		layer.moveTo(x, y);
	} else if (isIE || isNS6 ) {
		layer.style.left = x;
		layer.style.top  = y;
	}
}

function moveLayerBy(layer, dx, dy)
{
	if (isNS4){ layer.moveBy(dx, dy); }
	else if (isIE || isNS6 ) {
		layer.style.pixelLeft += dx;
		layer.style.pixelTop  += dy;
	}
}

function getLeft(layer)
{
	if (isNS4){ return layer.left; }
	else if (isIE || isNS6 ){ return layer.style.pixelLeft; }
	return -1;
}

function getTop(layer)
{
	if (isNS4) { return layer.top; }
	else if (isMinIE || isNS6 ){ return layer.style.pixelTop; }
	return -1;
}

function getRight(layer)
{
	if (isNS4){ return layer.left + getWidth(layer); }
	else if (isIE || isNS6 ){ return layer.style.pixelLeft + getWidth(layer); }
	return -1;
}

function getBottom(layer)
{
	if (isNS4){ return layer.top + getHeight(layer); }
	else if (isIE || isNS6 ){ return layer.style.pixelTop + getHeight(layer); }
	return -1;
}

function getPageLeft(layer)
{
	var x;
	if (isNS4){ return layer.pageX; }
	else if (isIE || isNS6 ) {
		x = 0;
		while (layer.offsetParent != null) {
			x += layer.offsetLeft;
			layer = layer.offsetParent;
		}
	
		x += layer.offsetLeft;
		return x;
	}
	return -1;
}

function getPageTop(layer)
{
	var y;
	if (isNS4){ return layer.pageY; }
	else if (isIE || isNS6 ) {
		y = 0;
		while (layer.offsetParent != null) {
			y += layer.offsetTop;
			layer = layer.offsetParent;
		}
		y += layer.offsetTop;
		return y;
	}
	return -1;
}

function getWidth(layer)
{
	if (isNS4) {
		if (layer.document.width){ return layer.document.width; }
		else { return layer.clip.right - layer.clip.left; }
	} else if (isIE || isNS6 ) {
		if (layer.style.pixelWidth){ return layer.style.pixelWidth; }
		else{ return layer.clientWidth; }
	}
	return -1;
}

function getHeight(layer)
{
	if (isNS4) {
		if (layer.document.height){ return layer.document.height; }
		else{ return layer.clip.bottom - layer.clip.top; }
	} else if (isIE || isNS6 ) {
		if (layer.style.pixelHeight){ return layer.style.pixelHeight; }
		else{ return layer.clientHeight; }
	}
	return -1;
}

function getzIndex(layer)
{
	if (isNS4){ return layer.zIndex; }
	else if (isIE || isNS6 ){ return layer.style.zIndex; }
	return -1;
}

function setzIndex(layer, z)
{
	if (isNS4){ layer.zIndex = z; }
	else if (isIE || isNS6 ){ layer.style.zIndex = z; }
}

/*  Layer clipping */
function clipLayer(layer, clipleft, cliptop, clipright, clipbottom)
{
	if (isNS4) {
		layer.clip.left   = clipleft;
		layer.clip.top    = cliptop;
		layer.clip.right  = clipright;
		layer.clip.bottom = clipbottom;
	} else if (isIE || isNS6 ) {
		layer.style.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';
	}
}

function getClipLeft(layer)
{
	if (isNS4) { return layer.clip.left; }
	else if (isIE || isNS6 ) {
	var str =  layer.style.clip;
	if (!str) { return 0; }
		var clip = getIEClipValues(layer.style.clip);
		return(clip[3]);
	}
	return -1;
}

function getClipTop(layer)
{
	if (isNS4) { return layer.clip.top; }
	else if (isIE || isNS6 ) {
		var str = layer.style.clip;
		if (!str) { return 0; }
		var clip = getIEClipValues(layer.style.clip);
		return clip[0];
	}
	return -1;
}

function getClipRight(layer){if (isNS4) { return layer.clip.right; }if (isIE || isNS6 )
{
	var str =  layer.style.clip;
	if (!str) { return layer.style.pixelWidth; }
		var clip = getIEClipValues(layer.style.clip);
		return clip[1];
	}
	return -1;
}

function getClipBottom(layer)
{
	if (isNS4) { return layer.clip.bottom; }
	else if (isIE || isNS6 ) {
		var str =  layer.style.clip;
		if (!str) { return layer.style.pixelHeight; }
		var clip = getIEClipValues(layer.style.clip);
		return clip[2];
	}
	return -1;
}

function getClipWidth(layer){if (isNS4) { return layer.clip.width; }if (isIE || isNS6 )
{
	var str = layer.style.clip;
	if (!str) { return layer.style.pixelWidth; }
		var clip = getIEClipValues(layer.style.clip);
		return clip[1] - clip[3];
	}
	return -1;
}

function getClipHeight(layer)
{
	if (isNS4) { return layer.clip.height; }
	else if (isIE || isNS6 ) {
		var str =  layer.style.clip;
		if (!str) { return layer.style.pixelHeight; }
		var clip = getIEClipValues(layer.style.clip);
		return clip[2] - clip[0];
	}
	return -1;
}

function getIEClipValues(str)
{
	var clip = new Array();
	var i;
	// Parse out the clipping values for IE layers.
	i = str.indexOf("(");
	clip[0] = parseInt(str.substring(i + 1, str.length), 10);
	i = str.indexOf(" ", i + 1);
	clip[1] = parseInt(str.substring(i + 1, str.length), 10);
	i = str.indexOf(" ", i + 1);
	clip[2] = parseInt(str.substring(i + 1, str.length), 10);
	i = str.indexOf(" ", i + 1);
	clip[3] = parseInt(str.substring(i + 1, str.length), 10);
	return clip;
}

/*  Layer scrolling */
function scrollLayerTo(layer, x, y, bound)
{
	var dx = getClipLeft(layer) - x;
	var dy = getClipTop(layer) - y;
	scrollLayerBy(layer, -dx, -dy, bound);
}

function scrollLayerBy(layer, dx, dy, bound)
{
	var cl = getClipLeft(layer);
	var ct = getClipTop(layer);
	var cr = getClipRight(layer);
	var cb = getClipBottom(layer);
	if (bound) {
		if (cl + dx < 0) { dx = -cl; }
		else if (cr + dx > getWidth(layer)) { dx = getWidth(layer) - cr; }
		if (ct + dy < 0) { dy = -ct; }
		else if (cb + dy > getHeight(layer)) { dy = getHeight(layer) - cb; }
	}
	clipLayer(layer, cl + dx, ct + dy, cr + dx, cb + dy);
	moveLayerBy(layer, -dx, -dy);
}

/*  Layer background */
function setBgColor(layer, color)
{
	if (isNS4) { layer.bgColor = color; }
	else if (isIE || isNS6 ) { layer.style.backgroundColor = color; }
}

function setBgImage(layer, src)
{
	if (isNS4) { layer.background.src = src; }
	else if (isIE || isNS6 ) { layer.style.backgroundImage = "url(" + src + ")"; }
}

/*  Layer utilities */
function getLayer(name)
{
	if (isNS4) { return findLayer(name, document); }
	else if (isIE) { return eval('document.all.' + name); }
	else if (isNS6) { return document.getElementById(name); }
	return null;
}

function findLayer(name, doc)
{
	var i, layer;
	for (i = 0; i < doc.layers.length; i++) {
	layer = doc.layers[i];
	if (layer.name == name) { return layer; }
		if (layer.document.layers.length > 0) {
			if ((layer = findLayer(name, layer.document)) != null) { return layer; }
		}
	}
	return null;
}

/*  Image utilities */
function getImage(name)
{
	if (isNS4) { return findImage(name, document); }
	else if (isIE) { return eval('document.all.' + name); }
	else if (isNS6) { return document.getElementById(name); }
	return null;
}

function findImage(name, doc)
{
	var i, img;
	for (i = 0; i < doc.images.length; i++) {
		if (doc.images[i].name == name) { return doc.images[i]; }
	}
	for (i = 0; i < doc.layers.length; i++) {
		if ((img = findImage(name, doc.layers[i].document)) != null)
		{
			img.container = doc.layers[i];
			return img;
		}
	}
	return null;
}

function getImagePageLeft(img)
{
	var x, obj;
	if (isNS4) {
		if (img.container != null) { return img.container.pageX + img.x; }
		else { return img.x; }
	} else if (isIE || isNS6 ) {
		x = 0;
		obj = img;
		if (obj != null) {
			do {
				x += obj.offsetLeft;
				obj = obj.offsetParent;
			} while (obj != null);
		}
		return x;
	}
	return -1;
}

function getImagePageTop(img)
{
	var y, obj;
	if (isNS4) {
		if (img.container != null) { return img.container.pageY + img.y; }
		else { return img.y; }
	} else if (isIE || isNS6 ) {
		y = 0;
		obj = img;
		if (obj != null) {
			do {
				y += obj.offsetTop;
				obj = obj.offsetParent;
			} while (obj != null);
		}
		return y;
	}
	return -1;
}

/* Window and page properties */
function getWindowWidth()
{
	if (isNS4) { return window.innerWidth; }
	else if (isIE || isNS6 ) { return document.body.clientWidth; }
	return -1;
}

function getWindowHeight()
{
	if (isNS4) { return window.innerHeight; }
	else if (isIE || isNS6 ) { return document.body.clientHeight; }
	return -1;
}

function getPageWidth()
{
	if (isNS4) { return document.width; }
	else if (isIE || isNS6 ) { return document.body.scrollWidth; }
	return -1;
}

function getPageHeight()
{
	if (isNS4) { return document.height; }
	else if (isIE || isNS6 ) { return document.body.scrollHeight; }
	return -1;
}

function getPageScrollX()
{
	if (isNS4) { return window.pageXOffset; }
	else if (isIE || isNS6 ) { return document.body.scrollLeft; }
	return -1;
}

function getPageScrollY()
{
	if (isNS4) { return window.pageYOffset; }
	else if (isIE || isNS6 ) { return document.body.scrollTop; }
	return -1;
}
