is_siteDown = false;

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// QUICK & DIRTY BROWSER DETECT
var browserVersion = parseInt(navigator.appVersion);
var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_safari = ((agt.match(/safari/)) ? true : false);
var is_ns4 = (document.layers) ? true : false;
// CORE PROPERTY/ATTRIBUTE VALUE "HOMOGENIZATION"
var hidden = (document.layers) ? "hide" : "hidden";
var visible = (document.layers) ? "show" : "visible";
var toggle = "toggle";
var px = (document.layers) ? "" : "px";
var style = (document.layers) ? "" : ".style";

var defaultPopWinProps = "scrollbars=1,status=0,toolbar=0,location=0,directories=0,menubar=0,resizable=1";

// global Array object method
// getIndexByValue([value]);
// e.g., 	var mostlyDogs = ["Rover","Lassie","Mr. Buttons","Benji","Clifford","Rascal","Rags"];
//			isClifford = (mostlyDogs.getIndexByValue("Clifford") > -1) ? true : false;
// 			returns [isClifford=]true;
//			isScooby = (mostlyDogs.getIndexByValue("Scooby Doo") > -1) ? true : false;
// 			returns [isScooby=]false;
Array.prototype.getIndexByValue = function(value,ignoreCase,is_matchAsString)
{
    tstVal = false;
    tstVal = (value) ? value.toString() : "FAILED_tstVal_CHECK";
    ignoreCase = (typeof ignoreCase != "undefined" && ((ignoreCase > 0) && (ignoreCase != false) && (ignoreCase != "false"))) ? ignoreCase : false;
    is_matchAsString = (typeof is_matchAsString != "undefined" && ((is_matchAsString > 0) && (is_matchAsString != false) && (is_matchAsString != "false"))) ? is_matchAsString : false;
    if(tstVal != "FAILED_tstVal_CHECK")
    {
        indexArray = new Array();
        eval("baseArray = this");
        baseLen = baseArray.length;
        cB = (is_matchAsString) ? ((ignoreCase) ? (value + "").toLowerCase() : (value + "").toString()) : ((ignoreCase && (typeof value) == "string") ? (value).toLowerCase() : value);
        for(oP=0;oP<baseLen;oP++)
        {
            cA = (is_matchAsString) ? ((ignoreCase) ? (baseArray[oP] + "").toLowerCase() : (baseArray[oP] + "").toString()) : ((ignoreCase && (typeof baseArray[oP]) == "string") ? (baseArray[oP]).toLowerCase() : baseArray[oP]);
            if((cA == cB) || (is_matchAsString && cA.match(cB))) {
                indexArray[indexArray.length] = oP;
            }
        }
        if((indexArray.length > 0) && (indexArray != ""))
        {
            return indexArray;
        }
        else
        {
            return -1;
        }
    }
    return -1;
}
Array.prototype.pop = function pop()
{
    var lastElement = this[this.length-1];
    this.length--;
    return lastElement;
}
// _____________________________________________________
// "push" (add) and element to the array (returns the new length of the array : redefines original)
Array.prototype.push = function push(newElement)
{
    this[this.length] = newElement;
    return this.length;
}
// copy an array (returns the copy : leaves original intact)
Array.prototype.copy = function copy()
{
    var l;
    var baseArray = new Array();
    for(l = 0; l < this.length; l++)
    {
        baseArray[l] = this[l];
    }
    return baseArray;
}
// clip an item (by index) from an array (returns the copy : leaves original intact)
Array.prototype.clip = function clip(ndx)
{
    var l;
    var baseArray = new Array();
    for(l = 0; l < this.length; l++)
    {
        if(l < this.length - 1)
        {
            baseArray[l] = (l < ndx) ? this[l] : this[l+1];
        }
    }
    return baseArray;
}
/* START ** Random Number */
function rNm(nM)
{
	nM = ((nM && !isNaN(parseInt(nM))) ? parseInt(nM) : 9);
	rnV = (Math.round(Math.floor((Math.random() * nM))));
	return rnV;
}
/* END ** Random Number */
// "shuffle" an array's elements (returns the randomized resulting array : leaves original intact)
// NOTE: ALTERNATE METHODS DECLARED BELOW
Array.prototype.shuffle = function()
{
    randomArray = new Array();
    trimArray = new Array();
    eval("baseArray = this");
    trimArray = baseArray;
    i = 0;
    while(baseArray.length > 0)
    {
        var newPos = rNm(baseArray.length);
        randomArray[i] = baseArray[newPos]
        baseLen = baseArray.length;
        for(oP=0;oP<baseLen;oP++)
        {
            newIndex = (oP < newPos) ? oP : (oP - 1);
            if(oP != newPos) trimArray[newIndex] = baseArray[oP];
        }
        baseArray.length --;
        i++;
    }
    return randomArray;
}
// NOTE: ALTERNATE FUNCTION NAMES FOR THE SHUFFLE METHOD DECLARED BELOW
Array.prototype.permute = Array.prototype.shuffle;
Array.prototype.randomize = Array.prototype.shuffle;

// "[tag name]":["[peer tag name(s)]"...]
tagPeers = {
    "tr":["tr"],
    "td":["td","th"],
    "th":["th","td"],
    "table":["table"],
    "thead":["thead","tbody"],
    "tbody":["tbody","thead"],
    "ol":["ol","ul"],
    "ul":["ul","ol"],
    "li":["li"],
    "body":["body","head"],
    "head":["head","body"]
};
// "[tag name]":["[parent tag name(s)]"...]
tagChildren = {
    "tbody":["table"],
    "thead":["table"],
    "tr":["tbody","table"],
    "td":["tr"],
    "th":["tr"],
    "li":["ol","ul"],
    "body":["html","xhtml","xml"],
    "head":["html","xhtml","xml"],
    "title":["head"]
};
// "[tag name]":["[peer tag name(s)]"...]
tagSingular = {
    "html":["html","xhtml","xml"],
    "xhtml":["xhtml","xml","html"],
    "xml":["xml","html","xhtml"],
    "head":["head"],
    "title":["title"]
};

// Array for validInputByRegExp
presetRE =
{
    phone: /[0-9\-\.\(\)extmb\#]/i,
    notphone: /[^0-9\-\.\(\)extmb\#]+/gi,
    phonealpha: /[0-9\-\. \(\)a-z\#]/i,
    notphonealpha: /[^0-9\-\. \(\)a-z\#]+/gi,
    zip: /[0-9\-]/,
    notzip: /[^0-9\-]+/g,
    address: /[^<>%\!\?\~\^\\\{\}\[\]]/,
    notaddress: /[<>%\!\?\~\^\\\{\}\[\]]+/g,
    alphanumeric:  /[^<>\?\~\^\\\{\}\[\]]/,
    notalphanumeric: /[<>\?\~\^\\\{\}\[\]]+/g,
    name: /[^<>%\#\!\@\?\~\^\\\{\}\[\]]/,
    notname: /[<>%\#\!\@\?\~\^\\\{\}\[\]]+/g,
    emailaddress: /[^ <>\\%]/,
    notemailaddress: /[ <>\\%]+/g,
    notes: /[^<>\^\{\}]/,
    notnotes: /[<>\^\{\}]+/g
}

function initKeyPress()
{
    if(document.layers)
    {
        document.captureEvents(Event.KEYPRESS);
        document.onkeypress = getKeyPress;
    }
}
function getKeyPress(e)
{
    e = (e && e != "") ? e : (window.event) ? window.event : null;
    retKeyVal = (!e) ? null : (!document.all) ? String.fromCharCode(e.which) : String.fromCharCode(e.keyCode);
    if(document.layers && typeof e.target != "undefined" && typeof e.target.onkeypress != "undefined" && e.target.onkeypress != getKeyPress)
    {
        fS = e.target.onkeypress.toString().replace(/this[ ]*\,[ ]*event/,"e.target,e");
        fS = fS.substring((fS.indexOf("{") + 1),(fS.lastIndexOf("}") - 1));
        if(fS.indexOf("return") != -1) { fS = fS.replace(/return/,""); }
        eval(fS);
    }
    return retKeyVal;
}
function getKeyCode(e)
{
    e = (e && e != "") ? e : (window.event) ? window.event : null;
    retKeyCode = (!document.all) ? e.which : e.keyCode;
    return retKeyCode;
}
function validInputByRegExp(obj, e, rE)
{
    var key;
    var keychar;
    e = (e) ? e : null;
    rE = (typeof rE == "string") ? ((rE != "" && typeof presetRE[rE] != "undefined") ? presetRE[rE] : "") : rE;
    if(!rE)
        return;
    key = getKeyCode(e);
    keychar = (document.layers) ? String.fromCharCode(key) : getKeyPress(e);
    // allow use of  control keys
    /*
    0 = null;
    8 = backspace;
    9 = horizontal tab/down arrow
    13 = carriage return/enter
    27 = esc
    */
    if((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (key==189) || (key==191) || (key==190) || (key==187))
    {
        return true;
    }
    if((keychar + "").match(rE))
    {
        return true;
    }
    return false;
}

/* START  ** **  Macromedia scripts */
/* NOTE:  (renamed from default 'MM_findObj', MM_findObj() provided as an "alias" */
function findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
MM_findObj = findObj;
/* END ** ** Copyright 2002-2006 Adobe */

/* START  ** ** Object/Object.style referencing */
function getObjRef(objId)
{
	objRef = false;
	objRef = (document.layers) ? findObj(objId) : (document.getElementById) ? eval("document.getElementById(\"" + objId + "\")") : (document.all) ? eval("document." + objId) : false;
	if(document.layers && !objRef) { objRef = (typeof document[objId] != "undefined") ? document[objId] : false; };
	if(!objRef)
		objRef = findObj(objId);
	return objRef;
}
function getStyRef(objId)
{
	styRef = false;
	styRef = (document.layers) ? findObj(objId) : (document.getElementById) ? eval("document.getElementById(\"" + objId + "\").style") : (document.all) ? eval("document." + objId + ".style") : false;
	if(document.layers && !styRef) { styRef = (typeof document[objId] != "undefined") ? document[objId] : false; };
	return styRef;
}
/* END  ** ** Object/Object.style referencing */

function getWinDims()
{
	winDim["w"] = (document.all) ? document.body.clientWidth : (document.documentElement) ? document.documentElement.offsetWidth : (!document.all && !document.layers) ? window.innerWidth : (document.layers) ? innerWidth : false;
	winDim["h"] = (document.all) ? document.body.clientHeight : (document.documentElement) ? document.documentElement.offsetHeight : (!document.all && !document.layers) ? window.innerHeight : (document.layers) ? innerHeight : false;
	return winDim;
}
function centerObj(obj,offT,offL) // to be added later ,offB,offR
{
    if(!obj)
        return;
    offT = (offT && !isNaN(parseInt(offT))) ? offT : 0;
    offL = (offL && !isNaN(parseInt(offL))) ? offL : 0;
    /* to be added later
    offB = (offB && !isNaN(parseInt(offB))) ? offB : 0;
    offR = (offR && !isNaN(parseInt(offR))) ? offR : 0;
    */
    bH = parseInt(getWinHeight());
    bW = parseInt(getWinWidth());
    oW = (document.layers) ? parseInt(obj.clip.width) : parseInt(obj.offsetWidth);
    oH = (document.layers) ? parseInt(obj.clip.height) : parseInt(obj.offsetHeight);
    nwT = ((Math.round(parseInt(bH)/2) - Math.round(oH/2)) > 0) ? (Math.round(bH/2) - Math.round(oH/2)) : 0;
    nwT = (nwT + offT);
    nwL = ((Math.round(parseInt(bW)/2) - Math.round(oW/2)) > 0) ? (Math.round(bW/2) - Math.round(oW/2)) : 0;
    nwL = (nwL + offL);
    if(document.layers)
    {
        obj.top = nwT;
        obj.left = nwL;
    }
    else if(!document.layers)
    {
        obj.style.top = nwT + px;
        obj.style.left = nwL + px;
    }
    return;
}
/******************************* */
function getWinWidth()
{
    winWidth = (document.all && !document.documentElement) ? document.body.clientWidth : (document.documentElement && !(document.compatMode == "BackCompat")) ? document.documentElement.clientWidth : (document.documentElement && (document.compatMode == "BackCompat")) ? document.getElementsByTagName("body").item(0).offsetWidth : (document.documentElement) ? window.innerWidth : (document.layers) ? innerWidth : false;
    return winWidth;
}
function getWinHeight()
{
    winHeight = (document.all && !document.documentElement) ? document.body.clientHeight : (document.documentElement && !(document.compatMode == "BackCompat")) ? document.documentElement.clientHeight : (document.documentElement && (document.compatMode == "BackCompat")) ? document.getElementsByTagName("body").item(0).offsetHeight : (document.documentElement) ? window.innerHeight : (document.layers) ? innerHeight : false;
    return winHeight;
}
function getWinScrollLeft()
{
    var scrOffLeft = (document.all && !document.documentElement) ? document.body.scrollLeft : (document.all && document.documentElement && !(document.compatMode == "BackCompat")) ? document.documentElement.scrollLeft : (document.all && document.documentElement && (document.compatMode == "BackCompat")) ? document.body.scrollLeft : pageXOrigOffset;
    return scrOffLeft;
}
function getWinScrollTop()
{
    var scrOffTop = (document.all && !document.documentElement) ? document.body.scrollTop : (document.all && document.documentElement && !(document.compatMode == "BackCompat")) ? document.documentElement.scrollTop : (document.all && document.documentElement && (document.compatMode == "BackCompat")) ? document.body.scrollTop : pageYOrigOffset;
    return scrOffTop;
}
function setWinScrollLeft(xPos)
{
    xPos = (xPos) ? xPos : false;
    if(xPos)
    {
        if(document.all && !document.documentElement) document.body.scrollLeft = xPos;
        if(document.all && document.documentElement) document.documentElement.scrollLeft = xPos;
        else pageXOffset = xPos;
        return getWinScrollLeft();
    }
}
function setWinScrollTop(yPos)
{
    yPos = (yPos) ? yPos : false;
    if(yPos)
    {
        if(document.all && !document.documentElement) document.body.scrollTop = yPos;
        if(document.all && document.documentElement) document.documentElement.scrollTop = yPos;
        else pageYOffset = yPos;
        return getWinScrollTop();
    }
}
function keepItemInWindow(obj,xMode,yMode,xOff,yOff)
{
    if(!obj)
        return false;
    //if(typeof obj.scrollIntoView != "undefined") { obj.scrollIntoView(); };
    xMode = (xMode && typeof xMode == "boolean") ? xMode : false;
    yMode = (yMode && typeof yMode == "boolean") ? yMode : false;
    xOff = (xOff && typeof parseInt(xOff) == "number") ? parseInt(xOff) : 0;
    yOff = (yOff && typeof parseInt(yOff) == "number") ? parseInt(yOff) : 0;
    if(typeof obj.style != "undefined" && typeof obj.style.position != "undefined" && (obj.style.position == "relative" || obj.style.position == "absolute"))
    {
        if(xMode)
        {
            if(typeof obj.originalLeft == "undefined" && typeof obj.style.pixelLeft != "undefined" && typeof parseInt(obj.style.pixelLeft) == "number") obj.originalLeft = parseInt(obj.style.pixelLeft);
            xOff = (xOff == 0) ? obj.originalLeft : xOff;
            obj.style.visibility = hidden;
            obj.style.pixelLeft = (parseInt(getWinScrollLeft()) + parseInt(xOff));
            obj.style.visibility = visible;
        }
        if(yMode)
        {
            if(typeof obj.originalTop == "undefined" && typeof obj.style.pixelTop != "undefined" && typeof parseInt(obj.style.pixelTop) == "number") obj.originalTop = parseInt(obj.style.pixelTop);
            yOff = (yOff == 0) ? obj.originalTop : yOff;
            obj.style.visibility = hidden;
            obj.style.pixelTop = (parseInt(getWinScrollTop()) + parseInt(yOff));
            obj.style.visibility = visible;
        }
    }
    return;
}
// Screen Dimension Script
/**************** Returns the variables: scrDim.w = screen width & scrDim.h = screen height *************** */
function getScrDims()
{
    var scrDim = new Array(2);
    scrDim["w"] = (window.screen) ? window.screen.availWidth : 640;
    scrDim["h"] = (window.screen) ? window.screen.availHeight : 480;
return scrDim;
}
function getId(obj)
{
    nwRnd = rNm(1000);
    dtStr = new Date();
    dtStr = dtStr.getTime() + nwRnd;
    obj.id = (obj.id != "") ? obj.id : ("id_" + dtStr);
    return obj.id;
}
function getWidth(obj)
{
    tmpO = getObjRef(getId(obj));
    widthVal = (document.layers) ? ((tmpO == '[object Image]') ? parseInt(tmpO.width) : (tmpO.obj) ? tmpO.obj.style.clip.width : (typeof tmpO.clip != "undefined" && typeof tmpO.clip.width != "undefined") ? tmpO.clip.width : tmpO.width) : (!document.all && document.getElementById && typeof document.defaultView != "undefined") ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("width")) : (typeof tmpO.offsetWidth != "undefined") ? parseInt(tmpO.offsetWidth) : "";
    return widthVal;
}
function getHeight(obj)
{
    tmpO = getObjRef(getId(obj));
    heightVal = (document.layers) ? ((tmpO == '[object Image]') ? parseInt(tmpO.height) : (tmpO.obj) ? tmpO.obj.style.clip.height : (typeof tmpO.clip != "undefined" && typeof tmpO.clip.height != "undefined") ? tmpO.clip.height : tmpO.height) : (!document.all && document.getElementById && typeof document.defaultView != "undefined") ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("height")) : (typeof tmpO.offsetHeight != "undefined") ? parseInt(tmpO.offsetHeight) : "";
    return heightVal;
}
function getTop(obj)
{
    tmpO = getObjRef(getId(obj));
    topVal = (document.layers) ? (tmpO == '[object Image]') ? "" : tmpO.top : (!document.all && document.getElementById && typeof document.defaultView != "undefined") ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("top")) : (typeof tmpO.offsetTop != "undefined") ? parseInt(tmpO.offsetTop) : "";//+ parseInt(tmpO.parentElement.offsetTop) : "";
    return topVal;
}
function getLeft(obj)
{
    tmpO = getObjRef(getId(obj));
    leftVal = (document.layers) ? (tmpO == '[object Image]') ? "" : tmpO.left : (!document.all && document.getElementById && typeof document.defaultView != "undefined") ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("left")) : (typeof tmpO.offsetLeft != "undefined") ? parseInt(tmpO.offsetLeft) : ""; //+ parseInt(tmpO.parentElement.offsetLeft) : "";
    return leftVal;
}
function getZIndex(obj)
{
    tmpO = getObjRef(getId(obj));
    zIndexVal = (document.layers) ? ((tmpO == '[object Image]') ? "" : (tmpO.obj) ? tmpO.obj.zIndex : tmpO.zIndex) : (!document.all && document.getElementById && typeof document.defaultView != "undefined") ? document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("z-index") : (typeof tmpO.style.zIndex != "undefined") ? tmpO.style.zIndex : ""; //+ tmpO.parentElement.style.zIndex : "";
    return zIndexVal;
}
function getRealDims(id)
{
    // unused but useful Netscape 4 fix snippet
    /*
        current_width = document.layers[layertoCheck].document.width;
        current_height = document.layers[layertoCheck].document.height;
    */
    eval("realDim." + id + " = new Array();");
    tmpO = getObjRef(id);
    realDim[id].w = getWidth(tmpO);//(document.layers) ? ((tmpO == '[object Image]') ? parseInt(tmpO.width) : (tmpO.obj) ? tmpO.obj.style.clip.width : (typeof tmpO.clip != "undefined" && typeof tmpO.clip.width != "undefined") ? tmpO.clip.width : tmpO.width) : (!document.all && document.getElementById) ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("width")) : (document.all) ? parseInt(tmpO.offsetWidth) : "";
    realDim[id].h = getHeight(tmpO);//(document.layers) ? ((tmpO == '[object Image]') ? parseInt(tmpO.height) : (tmpO.obj) ? tmpO.obj.style.clip.height : (typeof tmpO.clip != "undefined" && typeof tmpO.clip.height != "undefined") ? tmpO.clip.height : tmpO.height) : (!document.all && document.getElementById) ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("height")) : (document.all) ? parseInt(tmpO.offsetHeight) : "";
    realDim[id].t = getTop(tmpO);//(document.layers) ? (tmpO == '[object Image]') ? "" : tmpO.top : (!document.all && document.getElementById) ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("top")) : (document.all) ? parseInt(tmpO.offsetTop) + parseInt(tmpO.parentElement.offsetTop) : "";
    realDim[id].l = getLeft(tmpO);//(document.layers) ? (tmpO == '[object Image]') ? "" : tmpO.left : (!document.all && document.getElementById) ? parseInt(document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("left")) : (document.all) ? parseInt(tmpO.offsetLeft) + parseInt(tmpO.parentElement.offsetLeft) : "";
    realDim[id].z = getZIndex(tmpO);//(document.layers) ? ((tmpO == '[object Image]') ? "" : (tmpO.obj) ? tmpO.obj.zIndex : tmpO.zIndex) : (!document.all && document.getElementById) ? document.defaultView.getComputedStyle(tmpO, "").getPropertyValue("z-index") : (document.all) ? tmpO.style.zIndex + tmpO.parentElement.style.zIndex : "";
    return realDim,realDim[id];
}
function setContent(layerRef,content,is_unicode)
{
    if(!layerRef || typeof layerRef != "object")
        return false;
    content = (content) ? content : null;
    if(content)
    {
        is_unicode = (is_unicode) ? is_unicode : false;
        if(is_unicode)
        {
            if(document.layers)
            {
                with(layerRef.document)
                {
                    open();
                    write(unescape(content));
                    close();
                }
            }
            else if(typeof layerRef.innerHTML != "undefined")
            {
                layerRef.innerHTML = unescape(content);
            }
        }
        else if(!is_unicode)
        {
            if(document.layers || (layerRef.innerHTML == "undefined"))
            {
                with(layerRef.document)
                {
                    open();
                    write(content);
                    close();
                }
                return layerRef;
            }
            else if(typeof layerRef.innerHTML != "undefined")
            {
                layerRef.innerHTML = content;
                return layerRef;
            }
        }
    }
    return;
}
function swapImg(imgName,fullPath)
{
	if(!imgName)
		return false;
	imgObj = findObj(imgName);
	if(!imgObj)
		imgObj = getObjRef(imgName);
	if(!imgObj)
		return false;
	fullPath = (fullPath) ? fullPath : "";
	imSrc = imgObj.src.toString();
	imgObj.src = (fullPath != "") ? fullPath : imSrc;
	return imgObj.src;
}
/* 
	EXAMPLE: 
		<a href="http://www.rcninteraction.com/intro/index.jsp" 
			id="tn_home_a" 
			onmouseover="rollOver(this,'','_on');" 
			onmouseout="rollOut();"
		>
				<img src="images/tn_home.gif" width="50" height="27" border="0" alt="Home" 
					name="tn_home"
				></a>
	OR:
		<a href="http://www.rcninteraction.com/intro/index.jsp" 
			id="tn_home_a" 
			onmouseover="rollOver(this,'_off','_on');" 
			onmouseout="rollOver(this,'_on','_off');"
		>
				<img src="images/tn_home_off.gif" width="50" height="27" border="0" alt="Home" 
					id="tn_home"
				></a>
*/
function rollOver(obj,oldSuffix,suffix)
{
	if(!obj)
		return;
	suffix = (typeof suffix != "undefined") ? suffix : null;
	oldSuffix = (typeof oldSuffix != "undefined") ? oldSuffix : null;
	obj.rollId = (obj.id.toString().substring((obj.id.toString().length - 2), (obj.id.toString().length)) == "_a") ? (obj.id.toString().substring(0,(obj.id.toString().length - 2))) : obj.id.toString();
	obj.oldSrc = getObjRef(obj.rollId).src;
    obj.oldSrcExt = obj.oldSrc.substring((obj.oldSrc.toString().lastIndexOf(".")),obj.oldSrc.toString().length);
    obj.oldSrcTrim = obj.oldSrc.substring(0, (obj.oldSrc.toString().lastIndexOf(".")));
	obj.rollRe = new RegExp(obj.oldSrcTrim + '(\\.[a-z0-9]{3,4})','i');
	swapImg(obj.rollId,obj.oldSrc.replace(obj.rollRe,(obj.oldSrcTrim.substring(0,((obj.oldSrcTrim.lastIndexOf(oldSuffix) > -1) ? obj.oldSrcTrim.lastIndexOf(oldSuffix) : obj.oldSrcTrim.length())) + suffix + '$1')));
}

function rollOut(obj)
{
	if(!obj)
		return;             
    refId = (obj.id.toString().substring((obj.id.toString().length - 2), (obj.id.toString().length)) == "_a") ? (obj.id.toString().substring(0,(obj.id.toString().length - 2))) : obj.id.toString();
    imgObj = getObjRef(refId);
	imgName = (typeof imgObj.name != "undefined" && imgObj.name != "") ? imgObj.name : ((typeof imgObj.id != "undefined" && imgObj.id != "") ? imgObj.id : null);
	if(!imgName)
		imgObj.name, imgName = refId;
	swapImg(imgName,obj.oldSrc);
}
/* START ** Function Test */
function isFun()
{
    return typeof (isFun.arguments[0]).toLowerCase() == "function";
}
/* START ** Fade (up or down) Any Obj */
fadeObjTmrs = {};
fadeObjOpacities = {};
function fadeObjById(objId,sop,op,st,sp)
{
	obj = (objId) ? getObjRef(objId) : null;
    if(!obj)
        return;
    fade_direction = (sop < op) ? "up" : ((sop == 0) ? "none" : "down"); 
	op = ((op >= 0) || (op <= 100)) ? op : ((op < 0) ? 0 : (op > 100) ? 100 : op);
	sop = ((sop >= 0) || (sop <= 100)) ? sop : ((sop < 0) ? 0 : (sop > 100) ? 100 : sop);
    sop = ((typeof window.fadeObjOpacities[objId] != "undefined") ? window.fadeObjOpacities[objId] : sop);
    if(op == sop)
        return;
	if(obj != null)
	{
		if(typeof window.fadeObjTmrs[objId] != "undefined")
		{
			clearTimeout(window.fadeObjTmrs[objId]);
		}
		oOp = (typeof window.fadeObjOpacities[objId] != "undefined") ? window.fadeObjOpacities[objId] : 100;
		if((sop != op) && (op != oOp))
		{
			sop = (sop > op) ? (sop - st) : (sop + st);
			sop = (sop <= 0) ? 0 : ((sop > 100) ? 100 : sop);
			if(!document.all && typeof obj.style != "undefined" && typeof obj.style.MozOpacity != "undefined")
			{
				obj.style.MozOpacity = ((sop == 0) ? 0 : (sop/100));
			}
            else if(typeof obj.style != "undefined" && typeof obj.style.opacity != "undefined")
            {
                obj.style.opacity = ((sop == 0) ? 0 : (sop/100));
            }
			else if(document.all && typeof obj.style != "undefined" && typeof obj.style.filter != "undefined")
			{
				obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + sop + ")";
			}
			oOp = sop;
			window.fadeObjTmrs[objId] = setTimeout("fadeObjById('" + objId + "'," + sop + "," + op + "," + st + "," + sp + ")",sp);
			window.fadeObjOpacities[objId] = oOp;
		}
		return oOp;
	}
	return -1;
}
/* END ** Fade (up or down) Any Obj */

/* START ** Return First Nested Image Element Alt Text */
function showImgAlt(obj,e)
{
	eT = (e && (!document.all && typeof e.target != "undefined")) ? e.target : null;
	if(!eT && document.all && typeof e.srcElement != "undefined")
	{
		eT = e.srcElement;
	}
	rV = (eT && eT.getElementsByTagName('img').item(0)) ? eT.getElementsByTagName('img').item(0).alt : (eT && typeof eT.alt != "undefined") ? eT.alt : "";
	return rV;
}
/* END ** Return First Nested Image Element Alt Text */
/* START ** Return Comment Content (First Child Tag) */
function showCommentContent(obj,e)
{
	eT = (e && (!document.all && typeof e.target != "undefined")) ? e.target : null;
	if(!eT && document.all && typeof e.srcElement != "undefined")
	{
		eT = e.srcElement;
	}
	rV = (eT && eT.childNodes && eT.childNodes.item(0) && eT.childNodes.item(0).nodeName.toLowerCase() != "img") ? eT.childNodes.item(0).nodeValue : ((eT.childNodes.item(0).nodeName.toLowerCase() == "img") ? eT.childNodes.item(0).alt : "");
	return rV;
}
/* END ** Return Comment Content (First Child Tag) */
/* START ** Get Title (hover text) from First Child Tag Content */
function sweepForTitle(obj,e)
{
	obj.title = showCommentContent(obj,e);
	return obj.title;
}
/* END ** Get Title (hover text) from First Child Tag Content */
/* START ** Get Leading Zeros */
function getLeadingZeds(val,zC)
{
	val = ((val && !isNaN(parseInt(val))) ? parseInt(val) : 1);
	zC = ((zC && !isNaN(parseInt(zC))) ? parseInt(zC) : 4);
	vSt = "";
	vSt += val;
	for(vI=0; (vSt.length) <= (zC); vI++)
	{
		vSt = "0" + vSt;
	}
	return vSt;
}
/* END ** Get Leading Zeros */
/* START ** Class Swap */
function classSwap(obj,oSuff,rSuff)
{
	obj = (obj) ? obj : null;
	if(!obj)
		return;
	oSuff = (oSuff) ? oSuff : '_off';
	rSuff = (rSuff) ? rSuff : '_on';
	if(typeof obj.className != "undefined")
	{
		if(obj.className.toString().match(oSuff))
		{
			obj.className = obj.className.toString().replace(oSuff,rSuff);
		}
	}
	return;
}
/* END ** Class Swap */
/* START ** Class Swap By Id */
function classSwapById(objId,oSuff,rSuff)
{
	objId = (objId) ? objId : null;
	obj = getObjRef(objId);
	if(!objId)
		return;
	oSuff = (oSuff) ? oSuff : '_off';
	rSuff = (rSuff) ? rSuff : '_on';
	if(typeof obj.className != "undefined")
	{
		if(obj.className.toString().match(oSuff))
		{
			obj.className = obj.className.toString().replace(oSuff,rSuff);
		}
	}
	return;
}
/* END ** Class Swap By Id */
/* START ** Toggle Class "On" or "Off" */
function toggleClassOnOff(objId)
{
	objId = (objId) ? objId : null;
	if(!objId)
		return;
	obj = getObjRef(objId);
	oS = (obj.className.toString().match(/_off/)) ? "_off" : "_on";
	rS = (obj.className.toString().match(/_off/)) ? "_on" : "_off";
	classSwap(obj,oS,rS);
	return;
}
/* END ** Toggle Class "On" or "Off" */
/* START ** Toggle Obj Class "On" or "Off" */
function toggleObjClassOnOff(obj,setOnOff)
{
	obj = (obj) ? obj : null;
	if(!obj)
		return;
	setOnOff = (setOnOff && (setOnOff <= -1)) ? "_off" : "_on";
	setOnOffSwap = (setOnOff == "_off") ? "_on" : "_off";
	oS = (obj.className.toString().match(/_off/)) ? "_off" : "_on";
	rS = (obj.className.toString().match(/_off/)) ? "_on" : "_off";
	classSwap(obj,oS,rS);
	return;
}
/* END ** Toggle Obj Class "On" or "Off" */
/* START ** Image Swap */
function imgSwap(obj,oSuff,rSuff)
{
	obj = (obj) ? obj : null;
	if(!obj)
		return;
	oSuff = (oSuff) ? oSuff : '_off';
	rSuff = (rSuff) ? rSuff : '_on';
	if(typeof obj.src != "undefined")
	{
		if(obj.src.toString().match(oSuff))
		{
			obj.src = obj.src.toString().replace(oSuff,rSuff);
		}
	}
	return;
}
/* END ** Image Swap */
/* START ** Toggle Details Content (with indicator arrow image) */
function toggleDetails(srcObj,objId)
{
	srcObj = (srcObj) ? srcObj : null;
	objId = (objId) ? objId : null;
	if(!objId)
		return;
	if(srcObj)
	{
		oS = (srcObj.className.toString().match(/_off/)) ? "_off" : "_on";
		rS = (srcObj.className.toString().match(/_off/)) ? "_on" : "_off";
		classSwap(srcObj,oS,rS);
	}
	toggleClassOnOff(objId);
	return;
}
/* END ** Toggle Details Content (with indicator arrow image) */

/* START Pop-up Window script */
function viewWindow(url,name,feat)
{
	name = (name && name != "") ? name : "mywin";
	if(url)
	{
		if(eval("window." + name + "&&" + " " + "!" + name + ".closed") && feat != "")
		{
			feat = feat.replace(/[\,]{0,1}top=[0-9\%]+/,"");
			feat = feat.replace(/[\,]{0,1}left=[0-9\%]+/,"");
		}
		
		if(eval("window." + name + "&&" + " " + "!" + name + ".closed"))
		{
			eval(name + ".top.location = \"" + url + "\"");
			eval(name + ".focus();");
		}
		else
		{
			eval(name + " = window.open(\"" + url + "\",\"" + name + "\",\"" + feat + "\");");
		}
	}
}
/* END ** Pop-up Window Script */

/* START ** Check All Child Checkboxes By Id */
function checkAllChildBoxes(objId)
{
	objId = (objId) ? objId : null;
	if(!objId)
	{
		return false;
	}
	obj = getObjRef(objId);
	if(obj)
	{
		allChildInputs = obj.getElementsByTagName("input");
		for(aCI=0;aCI<allChildInputs.length;aCI++)
		{
			if((typeof allChildInputs[aCI].type != "undefined") && (allChildInputs[aCI].type.toLowerCase() == "checkbox"))
			{
				if(typeof allChildInputs[aCI].value != "undefined" && allChildInputs[aCI].value.toString().toLowerCase().match(/checkno/) <= 0)
				{
					allChildInputs[aCI].checked = true;
				}
			}
		}
	}
	return;
}
/* END ** Check All Child Checkboxes By Id */

/* START ** Check No(ne) Child Checkboxes By Id */
function checkNoChildBoxes(objId)
{
	objId = (objId) ? objId : null;
	if(!objId)
	{
		return false;
	}
	obj = getObjRef(objId);
	if(obj)
	{
		if(document.getElementsByTagName) { allChildInputs = obj.getElementsByTagName("input"); };
		for(aCI=0;aCI<allChildInputs.length;aCI++)
		{
			if((typeof allChildInputs[aCI].type != "undefined") && (allChildInputs[aCI].type.toLowerCase() == "checkbox"))
			{
				if(typeof allChildInputs[aCI].value != "undefined" && allChildInputs[aCI].value.toString().toLowerCase().match(/checkall/) <= 0)
				{
					allChildInputs[aCI].checked = false;
				}
			}
		}
	}
	return;
}
/* END ** Check No(ne) Child Checkboxes By Id */

/* START ** Check None/All By Prefix */
function checkByPrefix(form, prefix, state)
{
    /* 
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    IMPORTANT NOTE:  CONFIGURED TO SKIP/IGNORE ELEMENTS WITH: style="display: none;" IN THEIR < INPUT > TAG ATTRIBUTES
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    
        state: all|none|inverse|values|indices
    ________________________________________________________________________________________________________________________________________
        all = checks all checkboxes or radio buttons, ignores any input with name/id = [prefix]_all
        none = checks no checkboxes or radio buttons, ignores any input with name/id = [prefix]_all
        inverse = checks any checkboxes or radio buttons that weren't checked and unchecks any that were, ignores any inputs with name/id = [prefix]_all
        values = returns a two dimensional associative array object containing all input values and checked state, ignores any inputs with name/id = [prefix]_all
                    e.g. -- { tl_1:["Super Down":0], tl_2:["Funkentelechy":1], tl_3:["Nobody Knows":1], tl_4:["Cal-L.A.-fra-ga-lis-tic":1], tl_5:["When I Hear You Call":0] };
        indices = returns an array object containing all checked input indices, the first array item is the total number of matching inputs found, ignores un-checked items and any input with name/id = [prefix]_all
                    e.g. -- [5,2,3,4];
        clear = un-checks an input with name/id [prefix]_all if found
     -----------------------------------------------------------------------------------------------------------------------------------------
    
     usage: <form>
                <input type="checkbox" name="tl_all"  onchange="checkByPrefix(this.form, 'tl_', ((this.checked) ? 'all' : 'none'));" />
                <input type="checkbox" name="tl_1" />
                <input type="checkbox" name="tl_apples" />
                <input type="checkbox" name="tl_clifford_THE_BIGREDdog" />
            </form>
    */
    prefix = (prefix && prefix != "") ? prefix : null;
    state = (state && state.toString().toLowerCase().match(/all|none|inverse|values|indices/) != null) ? state.toString().toLowerCase() : "clear";
    if(!form || !prefix)
        return;
    retArr = (state == "values") ? {} : ((state == "indices") ? [] : "");
    if(state == "clear" && form.elements[prefix + "all"])
    {
        form.elements[prefix + "all"].checked = false;
    }
    else
    {
		eC = 0;
        allE = (document.getElementsByTagName) ? form.getElementsByTagName('input') : ((form.elements && form.elements.length > 0) ? form.elements : null);
        for(eI=0;eI<allE.length;eI++)
        {
            eN = (typeof allE[eI].name != "undefined" && allE[eI].name.toString() != "") ? allE[eI].name.toString() : ((typeof allE[eI].id != "undefined" && allE[eI].id.toString() != "") ? allE[eI].id : "");
            if(eN.substring(0,(prefix.length)) == prefix && eN.substring((eN.length - 3),(eN.length)) != "all")
            {
                if(state == "indices")
                {
                    if(allE[eI].checked)
                    {
                        eval("retArr[" + ((retArr.length != 0) ? retArr.length : 1) + "] = " + ((eC == 0) ? "0" : eC) + ";");
                    }
                    retArr[0] = ((!isNaN(parseInt(retArr[0]))) ? (parseInt(retArr[0]) + 1) : 1);
                }
                else if((typeof allE[eI].checked != "undefined") && ((typeof allE[eI].style != "undefined" && allE[eI].style.display.toString().toLowerCase() != "none") || (!(typeof allE[eI].style != "undefined"))))
                {
                    if(state == "values")
                    {
                        eval("retArr[\"" + prefix + "" + eI + "\"] = [\"" + (((allE[eI].value != "" && typeof allE[eI].value.toString() != "undefined" && allE[eI].value.toString() != "")) ? allE[eI].value.toString() : "") + "\",\"" + allE[eI].checked + "\"];");
                    }
                    else
                    {
                        allE[eI].checked = (state == "all" || (state == "inverse" && !allE[eI].checked)) ? true : false;
                    }
                }
                eC++;
            }
        }
        return retArr;
    }
}
/* END ** Check None/All By Prefix */

/* START ** Get value string from indices array */
function convertAssocArrayToString(assocArray,is_addKeys)
{
	retVStr = "";
	is_addKeys = (typeof is_addKeys != "undefined" && is_addKeys != "" && is_addKeys > 0) ? true : false;
	for(itm in assocArray)
	{
		retVStr += ((assocArray[itm][1] == "true") ? ((is_addKeys) ? "(" + itm + "):" : "") + assocArray[itm][0] + "," : "");
	}
	retVStr = (retVStr != "") ? retVStr.substring(0,(retVStr.length - 1)) : -1;
	return retVStr;
}
/* END ** Get value string from indices array */

/* START ** Back and Forward Navigation Scripts */
// General "History" (Previous & Next) Navigation Function -- go([+/- integer])
// HTML Snippet Demo (HTML Demo requires this file; go.js):
/*
    <div>
        <a href="javascript: go(-1);">Previous/Back</a>
        &nbsp;|&nbsp;
        <a href="javascript: go(1);">Next/Forward</a>
        &nbsp;|&nbsp;
        <a href="javascript: go(-4);">Previous/Back 4 pages (if possible)</a>
        &nbsp;|&nbsp;
        <a href="javascript: go(3);">Next/Forward 3 pages (if possible)</a>
        &nbsp;|&nbsp;
        <a href="javascript: go('reload');">Reload</a>
        &nbsp;|&nbsp;
        <a href="javascript: go('refresh');">Refresh</a>
        &nbsp;|&nbsp;
        <a href="javascript: go(0);">Reload without Query string</a>
        &nbsp;|&nbsp;
        <a href="javascript: go('replace','http://www.amazon.com');">Replace current page with supplied url ('http://www.amazon.com' in this case)</a>
    </div>
*/
function go(depth,uri)
{
    depth = ( typeof depth != "undefined" && !isNaN(parseInt(depth)) ) ? parseInt(depth) : ((typeof depth == "string") ? depth : -1);
    if(typeof depth == "string")
    {
        if(depth == "refresh")
        {
            window.top.location.reload(true);
        }
        else if(depth == "reload")
        {
            window.top.location.reload(false);
        }
        else if(depth == "replace")
        {
			uri = (typeof uri != "undefined" && uri != "") ? uri : document.location.href;
            window.top.location.replace(uri);
        }
        else
        {
            document.location.href = depth;
        }
    }
    if(depth > 0)
    {
        eval("history." + ((!document.layers) ? "go" : "forward") + "(" + depth + ")");
    }
    else if(depth < 0)
    {
        eval("history." + ((!document.layers) ? "go" : "back") + "(" + depth + ")");
    }
    else if(depth == 0)
    {
        window.location.replace( ((document.location.search != "") ? (document.location.href + "").replace(document.location.search,"") : (document.location.href + "")) );
    }
}
/* END ** Back and Forward Navigation Scripts */

/* START ** Safe Onload Script */
overflowCount = 0;
onLoadEvents = [];
function processOnload(onLArray)
{
    onLArray = (onLArray && typeof onLArray.length != "undefined" && typeof onLArray != "string") ? onLArray : ((typeof onLoadEvents != "undefined" && typeof onLoadEvents.length != "undefined" && typeof onLoadEvents != "string") ? onLoadEvents : ["1+1"]);
    for(onLI=0;onLI<onLArray.length;onLI++)
    {
        if(onLArray[onLI] != "")
        {
            /*
            if(confirm("Execute: \n" + onLArray[onLI] + " ?\n" + onLI + "/" + onLArray.length))
            {
            */
                eval(onLArray[onLI]);
            /*
            }
            */
        }
    }
}
function safeOnload(onL)
{
    onL = (onL) ? onL : false;
    pageOtherOnLoad = (window.onload != null && overflowCount < 101010 && ((typeof onLoadEvents != "undefined") && (onLoadEvents.length < 1))) ? window.onload : null;
    window.onload = null;
    otherOnloadStr = (pageOtherOnLoad && typeof pageOtherOnLoad == "function") ? "pageOtherOnLoad();" : "";
    if(otherOnloadStr != "")
    {
        onLoadEvents[onLoadEvents.length] = otherOnloadStr;
    }
    //eval("newOnLoad = function() { " + onL + "" + ((onL.toString().charAt(onL.toString().length - 1) == ";") ? "" : ";") + " " + otherOnloadStr + " };");
    //confirm(window.onload + "\n\n" + newOnLoad);
    onLoadEvents[onLoadEvents.length] = onL + "" + ((onL.toString().charAt(onL.toString().length - 1) == ";") ? "" : ";");
    overflowCount ++;
    if(overflowCount >= 101010) return false;
    if(window.onload == null)
    {
        window.onload = processOnload
    }
    return;
}

/* END ** Safe Onload Script */

/* START ** Close IFRAME Pane Script */
/* NOTE: id = the ID of the element containing the IFRAME, not the ID of the IFRAME */
function closePaneById(id)
{
	paneParent = getObjRef(id);
	if(!paneParent)
		return;
	allIFrames = paneParent.getElementsByTagName('iframe');
	if(allIFrames != "" && typeof allIFrames.length != "undefined")
	for(iFi=0;iFi<allIFrames.length;iFi++)
	{
		if(document.removeNode)
		{
			document.removeNode(allIFrames.item(iFi), true);
		}
	}
}
/* END ** Close IFRAME Pane Script */
function getMilSecs(secondsOffset,minutesOffset,hoursOffset,daysOffset)
{
    var expTime = new Date();
    expTime.setTime(expTime.getTime());
    var daysOffset = (daysOffset) ? daysOffset : 0;
    var hoursOffset = (hoursOffset) ? hoursOffset : 0;
    var minutesOffset = (minutesOffset) ? minutesOffset : 0;
    var secondsOffset = (secondsOffset) ? secondsOffset : 0;
    var totalOffset = 0;
    if(daysOffset != 0)
    {
        totalOffset += (daysOffset * 24 * 60 * 60 * 1000);
    }
    if(hoursOffset != 0)
    {
        totalOffset += (hoursOffset * 60 * 60 * 1000);
    }
    if(minutesOffset != 0)
    {
        totalOffset += (minutesOffset * 60 * 1000);
    }
    if(secondsOffset != 0)
    {
        totalOffset += (secondsOffset * 1000);
    }
    expDate = new Date(expTime.getTime() + totalOffset)
    return expDate;
}
function setCookie(name, value, path, expires, domain, secure)
{
    var today = new Date();
    today.setTime( today.getTime() );
    var expires = (expires) ? expires : new Date();
    document.cookie = name + "=" + escape(value) + ((expires) ? ";expires=" + expires.toGMTString() : "") + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ((secure) ? ";secure" : "");
}
function getCookie(name)
{
    var start = document.cookie.indexOf(name + "=");
    var len = start + name.length + 1;
    if((!start) && (name != document.cookie.substring(0, name.length)))
    {
        return null;
    }
    if(start == -1) return null;
    var end = document.cookie.indexOf(";", len);
    if(end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len, end));
    return null;
}
function deleteCookie(name, path, domain)
{
    if(getCookie(name)) document.cookie = name + "=" + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
function fixDate(date)
{
    var base = new Date(0);
    var skew = base.getTime();
    if (skew > 0) date.setTime(date.getTime() - skew);
}

function testCookies()
{
    g_isCookies = getCookie('g_isCookies');
    if(g_isCookies != 1)
    {
       g_isCookies = false;
       alert("This site requires that cookies be enabled in your browser.\nPlease enable cookies and return to the site.");
    }
}
function addToFavorites(favNm,favId,insertIndex)
{
    insertIndex = (typeof insertIndex != "undefined" && !isNaN(parseInt(insertIndex))) ? parseInt(insertIndex) : null;
    favCookie = getCookie('cufavorites');
    cuFavsCur = (favCookie != null) ? unescape(favCookie).toString().split(",") : null;
	cuFavsNew = (cuFavsCur != null) ? cuFavsCur.copy() : [];
	if(!favNm || !favId)
		return;
    if((cuFavsNew.length >= 10) && !(cuFavsNew.getIndexByValue(unescape(favNm) + String.fromCharCode(58) + String.fromCharCode(58) + unescape(favId)) > -1))
    {
        alert("My Favorites is limited to 10 games,\nplease delete an item and try again.");
        window.favMsgTxt = "Only 10 items are allowed in &#34;My Favorites&#34;, please delete an existing item and try again.";
    }
    else
    {
        if(cuFavsNew.getIndexByValue(unescape(favNm) + String.fromCharCode(58) + String.fromCharCode(58) + unescape(favId)) > -1)
        {
            window.favMsgTxt = "<a href=\"" + "/main/titleDetails.jsp?MasterId=" + favId + "\" title=\"Play Now\">" + unescape(favNm) + "</a> " + " is already in your favorites.";
            alert(unescape(favNm) + "\n" + "is already in My Favorites.");
        }
        else
        {
            cuFavsNew[((cuFavsNew[0] == null) ? 0 : cuFavsNew.length)] = unescape(favNm) + String.fromCharCode(58) + String.fromCharCode(58) + unescape(favId);
            if(cuFavsNew.length > 0)
            {
                setCookie('cufavorites',escape(cuFavsNew),'/',getMilSecs(1,1,1,730));
            }
            window.favMsgTxt = "<a href=\"" + "/main/titleDetails.jsp?MasterId=" + favId + "\" title=\"Play Now\">" + unescape(favNm) + "</a> " + "added.";
            alert(unescape(favNm) + "\n" + "has been added to My Favorites.");
        }
    }
    renderFavorites();
}
function moveFavorite(moveDepth)
{
    //alert(moveDepth);
}
function deleteFavorites(deleteIndices)
{
    favCookie = getCookie('cufavorites');
	deleteIndices = ((deleteIndices == 0) ? '0' : deleteIndices);
    cuFavsTemp = unescape(favCookie).toString().split(",");
    deleteIndices = (typeof deleteIndices.length != "undefined" && typeof deleteIndices != "string") ? deleteIndices : [((deleteIndices == 0) ? '0' : deleteIndices)];
    for(dI=0;dI<deleteIndices.length;dI++)
    {
        favNm = cuFavsTemp[deleteIndices[dI]].toString().substring(0,(cuFavsTemp[deleteIndices[dI]].toString().indexOf("::")));
        window.favMsgTxt = favNm + " " + "<span class=\"font_red\">removed</span>.";
        cuFavsTemp = cuFavsTemp.clip(deleteIndices[dI]);
    }
    if(cuFavsTemp.length > 0)
    {
        setCookie('cufavorites',escape(cuFavsTemp),'/',getMilSecs(1,1,1,730));
    }
    else
    {
        cuFavs = [];
        deleteCookie('cufavorites','/');
    }
    renderFavorites();
}
function toggleFavorites()
{
    favsOpen = getObjRef("favorites_fob").className == "opened_white";
    setCookie('cufavsOpen',((favsOpen) ? 1 : 0),'/',getMilSecs(1,1,1,730));
    favsStateMsg = (favsOpen) ? "Click to Expand" : "Click to Collapse";
    getStyRef("my_favorites_001").display = (favsOpen) ? "none" : "block";
    setContent(getObjRef('favMsg'),escape(((favsOpen) ? "<a href=\"javascript: void(0);\" onclick=\"toggleFavorites();\">Click to view &#34;My Favorites&#34;</a><br /><br /><a href=\"javascript: void(0);\" onclick=\"if(confirm('Clear ALL items from &#34;My Favorites&#34;?')) { deleteCookie('cufavorites','/'); deleteCookie('cufavorites'); deleteCookie('cufavorites','/',g_ContextPath); renderFavorites(); };\">Click to Clear All Favorites</a>" : window.favMsgTxt)),true);
    getStyRef("rc_my_favorites_001").overflow = (favsOpen) ? "hidden" : "auto";
    getObjRef("favorites_fob").className = (favsOpen) ? "closed_white" : "opened_white";
    getObjRef("favorites_minmax").src = (favsOpen) ? getObjRef("favorites_minmax").src.toString().replace(/_min/,"_max") : getObjRef("favorites_minmax").src.toString().replace(/_max/,"_min");
    getObjRef("favorites_fob").title = favsStateMsg;
    getObjRef("favorites_minmax").title = favsStateMsg;
    getObjRef("favorites_minmax").alt = favsStateMsg;
}
function toggleNewGames()
{
    nwGmsOpen = getObjRef("new_games_fob").className == "opened_black";
    setCookie('nwgmsOpen',((nwGmsOpen) ? 1 : -1),'/',getMilSecs(1,1,1,730));
    nwGmsStateMsg = (nwGmsOpen) ? "Click to Expand" : "Click to Collapse";
    getStyRef("new_games_slides_001").display = (nwGmsOpen) ? "none" : "block";
    getStyRef("rc_new_games_001_nav").display = (nwGmsOpen) ? "none" : "block";
    setContent(getObjRef('nwGmMsg'),escape(((nwGmsOpen) ? "<br class=\"font_4px\" /><a href=\"javascript: void(0);\" onclick=\"toggleNewGames();\">Click to view &#34;New Games&#34;</a>" : "<div><a href=\"javascript: void(0);\" onclick=\"showSlide('next',getObjRef('new_games_slides_001'));\" title=\"previous\" class=\"left font_9px\">prev</a><a href=\"javascript: void(0);\" onclick=\"showSlide('previous',getObjRef('new_games_slides_001'));\" title=\"next\" class=\"right font_9px\">next</a></div><br class=\"clear\" style=\"font-size: 1px; height: 1px;\" />")),true);
    //getStyRef("rc_new_games_001").overflow = (nwGmsOpen) ? "hidden" : "auto";
    getStyRef("rc_new_games_001").height = (nwGmsOpen) ? "0px" : "170px";
    getObjRef("new_games_fob").className = (nwGmsOpen) ? "closed_black" : "opened_black";
    getObjRef("new_games_minmax").src = (nwGmsOpen) ? getObjRef("new_games_minmax").src.toString().replace(/_min/,"_max") : getObjRef("new_games_minmax").src.toString().replace(/_max/,"_min");
    getObjRef("new_games_fob").title = nwGmsStateMsg;
    getObjRef("new_games_minmax").title = nwGmsStateMsg;
    getObjRef("new_games_minmax").alt = nwGmsStateMsg;
}


/* START ** getQueryVar Script */
function getQueryVar(varname)
{
    docQ = (document.location.search && document.location.search.toString().length > 0) ? document.location.search.toString().substring(1,(document.location.search.toString().length)) : null;
    if(docQ && docQ.indexOf(varname) > -1) {
        docQ = docQ.substring(docQ.indexOf(varname), docQ.length);
        rE = "" + varname + "=([^\&=$]+)";
        tagMatch = new RegExp(rE,"g");
        mS = docQ.replace(tagMatch,"$1");
        if(mS != "") {
            varS = mS.substring(0,((mS.indexOf("&") > -1) ? (mS.indexOf("&")) : mS.length));
            return varS;
        }
    }
    return "";
}
/*if(typeof is_siteDown != "undefined" && is_siteDown)
{
    if(!getQueryVar('dev') || getQueryVar('dev') == "")
    {
        top.location = "/site_maintenance.html";
    }
}*/
/* END ** getQueryVar Script */


//return true if obj is valid html object
function isValidObject( obj )
{
	if ( ( obj != null ) && ( typeof obj != "undefined" ) )
	{
		return true;
	}
	else
	{
		return false;
	}
}
