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];}
}


/**
 * Displays an confirmation box (use before delete actions).
 * This function is called while clicking links, for example:
 *
 * @param   object   the link
 * @param   object   the warning message
 *
 * @return  boolean  whether to run the query or not
 */
function confirmLink(theLink, theMessage)
{

    var is_confirmed = confirm(theMessage);
    if (is_confirmed)
    {
        theLink.href += '&is_js_confirmed=1';
    }
    return is_confirmed;
} // end function



/**
 * Flips the display status of an element by either removing it if it is displayed, or displaying it if it was removed.
 * This function is called while clicking on links or checking boxes:
 *
 * @param   object   the id of the element
 *
 */
function change_visibility(nr)
{
        if (document.layers)
        {
                current = (document.layers[nr].display == 'none') ? 'block' : 'none';
                document.layers[nr].display = current;
        }
        else if (document.all)
        {
            if (document.all[nr])
        {
                        current = (document.all[nr].style.display == 'none') ? 'block' : 'none';
                        document.all[nr].style.display = current;
        }
        }
        else if (document.getElementById)
        {
                visibility_status = (document.getElementById(nr).style.display == 'none') ? 'block' : 'none';
                document.getElementById(nr).style.display = visibility_status;
        }
} // end function






/**
 * Counts the characters in the field CountField and makes sure its doesn't exceed the maximum Limit.
 * This function is called while entering text into a textarea field:
 *
 * @param   object   the id of the element
 *
 */
function charsLimit(charsToCount, CountField, Limit)
{
        if (charsToCount.value.length > Limit)
    {
                charsToCount.value = charsToCount.value.substring(0, Limit);
    }
    else
    {
                CountField.value = Limit - charsToCount.value.length;
    }
}




//JK Popup Window Script (version 3.0)- By JavaScript Kit (http://www.javascriptkit.com)
function openpopup(popurl){
var winpops=window.open(popurl,"","width=639,height=500,scrollbars,resizable")
}

//JK Popup Window Script (version 3.0)- By JavaScript Kit (http://www.javascriptkit.com)
function openpopup_frontend(popurl){
var winpops=window.open(popurl,"","width=639,height=650,scrollbars,resizable")
}

/*
 * FlashObject embed
 * by Geoff Stearns (geoff@deconcept.com, http://www.deconcept.com/)
 *
 * v1.1.1 - 05-17-2005
 *
 * writes the embed code for a flash movie, includes plugin detection
 *
 * Usage:
 *
 *    myFlash = new FlashObject("path/to/swf.swf", "swfid", "width", "height", flashversion, "backgroundcolor");
 *    myFlash.write("objId");
 *
 * for best practices, see:
 *  http://blog.deconcept.com/2005/03/31/proper-flash-embedding-flashobject-best-practices/
 *
 */

var FlashObject = function(swf, id, w, h, ver, c) {
    this.swf = swf;
    this.id = id;
    this.width = w;
    this.height = h;
    this.version = ver;
    this.align = "middle";

    this.params = new Object();
    this.variables = new Object();

    this.redirect = "";
    this.sq = document.location.search.split("?")[1] || "";
    this.bypassTxt = "<p>Already have Macromedia Flash Player? <a href='?detectflash=false&"+ this.sq +"'>Click here if you have Flash Player "+ this.version +" installed</a>.</p>";

    if (c) this.color = this.addParam('bgcolor', c);
    this.addParam('quality', 'high'); // default to high
    this.doDetect = getQueryParamValue('detectflash');
}

var FOP = FlashObject.prototype;

FOP.addParam = function(name, value) { this.params[name] = value; }

FOP.getParams = function() { return this.params; }

FOP.getParam = function(name) { return this.params[name]; }

FOP.addVariable = function(name, value) { this.variables[name] = value; }

FOP.getVariable = function(name) { return this.variables[name]; }

FOP.getVariables = function() { return this.variables; }

FOP.getParamTags = function() {
    var paramTags = "";
    for (var param in this.getParams()) {
        paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';
    }
    return (paramTags == "") ? false:paramTags;
}

FOP.getHTML = function() {
    var flashHTML = "";
    if (navigator.plugins && navigator.mimeTypes.length) { // netscape plugin architecture
        flashHTML += '<embed type="application/x-shockwave-flash" src="' + this.swf + '" width="' + this.width + '" height="' + this.height + '" id="' + this.id + '" align="' + this.align + '"';
        for (var param in this.getParams()) {
            flashHTML += ' ' + param + '="' + this.getParam(param) + '"';
        }
        if (this.getVariablePairs()) {
            flashHTML += ' flashVars="' + this.getVariablePairs() + '"';
        }
        flashHTML += '></embed>';
    } else { // PC IE
        flashHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.width + '" height="' + this.height + '" name="' + this.id + '" align="' + this.align + '">';
        flashHTML += '<param name="movie" value="' + this.swf + '" />';
        if (this.getParamTags()) {
            flashHTML += this.getParamTags();
        }
        if (this.getVariablePairs() != null) {
            flashHTML += '<param name="flashVars" value="' + this.getVariablePairs() + '" />';
        }
        flashHTML += '</object>';
    }
    return flashHTML;
}

FOP.getVariablePairs = function() {
    var variablePairs = new Array();
    for (var name in this.getVariables()) {
        variablePairs.push(name + "=" + escape(this.getVariable(name)));
    }
    return (variablePairs.length > 0) ? variablePairs.join("&"):false;
}

FOP.write = function(elementId) {
    if(detectFlash(this.version) || this.doDetect=='false') {
        if (elementId) {
            document.getElementById(elementId).innerHTML = this.getHTML();
        } else {
            document.write(this.getHTML());
        }
    } else {
        if (this.redirect != "") {
            document.location.replace(this.redirect);
        } else if (this.altTxt) {
            if (elementId) {
                document.getElementById(elementId).innerHTML = this.altTxt +""+ this.bypassTxt;
            } else {
                document.write(this.altTxt +""+ this.bypassTxt);
            }
        }
    }
}

/* ---- detection functions ---- */
function getFlashVersion() {
    var flashversion = 0;
    if (navigator.plugins && navigator.mimeTypes.length) {
        var x = navigator.plugins["Shockwave Flash"];
        if(x && x.description) {
            var y = x.description;
               flashversion = y.charAt(y.indexOf('.')-1);
        }
    } else {
        result = false;
        for(var i = 15; i >= 3 && result != true; i--){
               execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
               flashversion = i;
           }
    }
    return flashversion;
}

function detectFlash(ver) {    return (getFlashVersion() >= ver) ? true:false; }

// get value of query string param
function getQueryParamValue(param) {
    var q = document.location.search || document.location.href.split("#")[1];
    if (q) {
        var detectIndex = q.indexOf(param +"=");
        var endIndex = (q.indexOf("&", detectIndex) > -1) ? q.indexOf("&", detectIndex) : q.length;
        if (q.length > 1 && detectIndex > -1) {
            return q.substring(q.indexOf("=", detectIndex)+1, endIndex);
        } else {
            return "";
        }
    }
}

/* add Array.push if needed */
if(Array.prototype.push == null){
    Array.prototype.push = function(item) { this[this.length] = item; return this.length; }
}

// Script Source: CodeLifter.com
// Copyright 2003
// Do not remove this notice.

// SETUPS:
// ===============================

// Set the horizontal and vertical position for the popup

PositionX = 100;
PositionY = 100;

// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)

defaultWidth  = 500;
defaultHeight = 500;

// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows

var AutoClose = true;

// Do not edit below this line...
// ================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();
}}












// Script Source: CodeLifter.com
// Copyright 2003
// Do not remove this notice.

// SETUPS:
// ===============================

// Set the horizontal and vertical position for the popup

PositionX = 100;
PositionY = 100;

// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)

defaultWidth  = 500;
defaultHeight = 500;

// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows

var AutoClose = true;

// Do not edit below this line...
// ================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');
writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
close();
}}


/*
 Pleas leave this notice.
 DHTML tip message version 1.2 copyright Essam Gamal 2003 (http://migoicons.tripod.com, migoicons@hotmail.com)
 All modifications are done in the style.js you should not modify this file.  Created on : 06/03/2003
 Script featured on and can be found at Dynamic Drive (http://www.dynamicdrive.com)
*/

var ua = navigator.userAgent
var ps = navigator.productSub
var dom = (document.getElementById)? 1:0
var ie4 = (document.all&&!dom)? 1:0
var ie5 = (document.all&&dom)? 1:0
var nn4 =(navigator.appName.toLowerCase() == "netscape" && parseInt(navigator.appVersion) == 4)
var nn6 = (dom&&!ie5)? 1:0
var sNav = (nn4||nn6||ie4||ie5)? 1:0
var cssFilters = ((ua.indexOf("MSIE 5.5")>=0||ua.indexOf("MSIE 6")>=0)&&ua.indexOf("Opera")<0)? 1:0
var Style=[],Text=[],Count=0,sbw=0,move=0,hs="",mx,my,scl,sct,ww,wh,obj,sl,st,ih,iw,vl,hl,sv,evlh,evlw,tbody
var HideTip = "eval(obj+sv+hl+';'+obj+sl+'=0;'+obj+st+'=-800')"
var doc_root = ((ie5&&ua.indexOf("Opera")<0||ie4)&&document.compatMode=="CSS1Compat")? "document.documentElement":"document.body"
var PX = (nn6)? "px" :""

if(sNav) {
        window.onresize = ReloadTip
        document.onmousemove = MoveTip
        if(nn4) document.captureEvents(Event.MOUSEMOVE)
}
if(nn4||nn6) {
        mx = "e.pageX"
        my = "e.pageY"
        scl = "window.pageXOffset"
        sct = "window.pageYOffset"
        if(nn4) {
                obj = "document.TipLayer."
                sl = "left"
                st = "top"
                ih = "clip.height"
                iw = "clip.width"
                vl = "'show'"
                hl = "'hide'"
                sv = "visibility="
        }
        else obj = "document.getElementById('TipLayer')."
}
if(ie4||ie5) {
        obj = "TipLayer."
        mx = "event.x"
        my = "event.y"
        scl = "eval(doc_root).scrollLeft"
        sct = "eval(doc_root).scrollTop"
        if(ie5) {
                mx = mx+"+"+scl
                my = my+"+"+sct
        }
}
if(ie4||dom){
        sl = "style.left"
        st = "style.top"
        ih = "offsetHeight"
        iw = "offsetWidth"
        vl = "'visible'"
        hl = "'hidden'"
        sv = "style.visibility="
}
if(ie4||ie5||ps>=20020823) {
        ww = "eval(doc_root).clientWidth"
        wh = "eval(doc_root).clientHeight"
}
else {
        ww = "window.innerWidth"
        wh = "window.innerHeight"
        evlh = eval(wh)
        evlw = eval(ww)
        sbw=15
}

function applyCssFilter(){
        if(cssFilters&&FiltersEnabled) {
                var dx = " progid:DXImageTransform.Microsoft."
                TipLayer.style.filter = "revealTrans()"+dx+"Fade(Overlap=1.00 enabled=0)"+dx+"Inset(enabled=0)"+dx+"Iris(irisstyle=PLUS,motion=in enabled=0)"+dx+"Iris(irisstyle=PLUS,motion=out enabled=0)"+dx+"Iris(irisstyle=DIAMOND,motion=in enabled=0)"+dx+"Iris(irisstyle=DIAMOND,motion=out enabled=0)"+dx+"Iris(irisstyle=CROSS,motion=in enabled=0)"+dx+"Iris(irisstyle=CROSS,motion=out enabled=0)"+dx+"Iris(irisstyle=STAR,motion=in enabled=0)"+dx+"Iris(irisstyle=STAR,motion=out enabled=0)"+dx+"RadialWipe(wipestyle=CLOCK enabled=0)"+dx+"RadialWipe(wipestyle=WEDGE enabled=0)"+dx+"RadialWipe(wipestyle=RADIAL enabled=0)"+dx+"Pixelate(MaxSquare=35,enabled=0)"+dx+"Slide(slidestyle=HIDE,Bands=25 enabled=0)"+dx+"Slide(slidestyle=PUSH,Bands=25 enabled=0)"+dx+"Slide(slidestyle=SWAP,Bands=25 enabled=0)"+dx+"Spiral(GridSizeX=16,GridSizeY=16 enabled=0)"+dx+"Stretch(stretchstyle=HIDE enabled=0)"+dx+"Stretch(stretchstyle=PUSH enabled=0)"+dx+"Stretch(stretchstyle=SPIN enabled=0)"+dx+"Wheel(spokes=16 enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=forward enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=reverse enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=forward enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=reverse enabled=0)"+dx+"Zigzag(GridSizeX=8,GridSizeY=8 enabled=0)"+dx+"Alpha(enabled=0)"+dx+"Dropshadow(OffX=3,OffY=3,Positive=true,enabled=0)"+dx+"Shadow(strength=3,direction=135,enabled=0)"
        }
}

function stm(t,s) {
  if(sNav) {
          if(t.length<2||s.length<25) {
                var ErrorNotice = "DHTML TIP MESSAGE VERSION 1.2 ERROR NOTICE.\n"
                if(t.length<2&&s.length<25) alert(ErrorNotice+"It looks like you removed an entry or more from the Style Array and Text Array of this tip.\nTheir should be 25 entries in every Style Array even though empty and 2 in every Text Array. You defined only "+s.length+" entries in the Style Array and "+t.length+" entry in the Text Array. This tip won't be viewed to avoid errors")
                else if(t.length<2) alert(ErrorNotice+"It looks like you removed an entry or more from the Text Array of this tip.\nTheir should be 2 entries in every Text Array. You defined only "+t.length+" entry. This tip won't be viewed to avoid errors.")
                else if(s.length<25) alert(ErrorNotice+"It looks like you removed an entry or more from the Style Array of this tip.\nTheir should be 25 entries in every Style Array even though empty. You defined only "+s.length+" entries. This tip won't be viewed to avoid errors.")
         }
          else {
                var ab = "" ;var ap = ""
                var titCol = (s[0])? "COLOR='"+s[0]+"'" : ""
                var txtCol = (s[1])? "COLOR='"+s[1]+"'" : ""
                var titBgCol = (s[2])? "BGCOLOR='"+s[2]+"'" : ""
                var txtBgCol = (s[3])? "BGCOLOR='"+s[3]+"'" : ""
                var titBgImg = (s[4])? "BACKGROUND='"+s[4]+"'" : ""
                var txtBgImg = (s[5])? "BACKGROUND='"+s[5]+"'" : ""
                var titTxtAli = (s[6] && s[6].toLowerCase()!="left")? "ALIGN='"+s[6]+"'" : ""
                var txtTxtAli = (s[7] && s[7].toLowerCase()!="left")? "ALIGN='"+s[7]+"'" : ""
                var add_height = (s[15])? "HEIGHT='"+s[15]+"'" : ""
                if(!s[8])  s[8] = "Verdana,Arial,Helvetica"
                if(!s[9])  s[9] = "Verdana,Arial,Helvetica"
                if(!s[12]) s[12] = 1
                if(!s[13]) s[13] = 1
                if(!s[14]) s[14] = 200
                if(!s[16]) s[16] = 0
                if(!s[17]) s[17] = 0
                if(!s[18]) s[18] = 10
                if(!s[19]) s[19] = 10
                hs = s[11].toLowerCase()
                if(ps==20001108){
                if(s[2]) ab="STYLE='border:"+s[16]+"px solid"+" "+s[2]+"'"
                ap="STYLE='padding:"+s[17]+"px "+s[17]+"px "+s[17]+"px "+s[17]+"px'"}
                var closeLink=(hs=="sticky")? "<TD ALIGN='right'><FONT SIZE='"+s[12]+"' FACE='"+s[8]+"'><A HREF='javascript:void(0)' ONCLICK='stickyhide()' STYLE='text-decoration:none;color:"+s[0]+"'><B>Close</B></A></FONT></TD>":""
                var title=(t[0]||hs=="sticky")? "<TABLE WIDTH='100%' BORDER='0' CELLPADDING='0' CELLSPACING='0'><TR><TD "+titTxtAli+"><FONT SIZE='"+s[12]+"' FACE='"+s[8]+"' "+titCol+"><B>"+t[0]+"</B></FONT></TD>"+closeLink+"</TR></TABLE>" : ""
                var txt="<TABLE "+titBgImg+" "+ab+" WIDTH='"+s[14]+"' BORDER='0' CELLPADDING='"+s[16]+"' CELLSPACING='0' "+titBgCol+" ><TR><TD>"+title+"<TABLE WIDTH='100%' "+add_height+" BORDER='0' CELLPADDING='"+s[17]+"' CELLSPACING='0' "+txtBgCol+" "+txtBgImg+"><TR><TD "+txtTxtAli+" "+ap+" VALIGN='top'><FONT SIZE='"+s[13]+"' FACE='"+s[9]+"' "+txtCol +">"+t[1]+"</FONT></TD></TR></TABLE></TD></TR></TABLE>"
                if(nn4) {
                        with(eval(obj+"document")) {
                                open()
                                write(txt)
                                close()
                        }
                }
                else eval(obj+"innerHTML=txt")
                tbody = {
                        Pos:s[10].toLowerCase(),
                        Xpos:s[18],
                        Ypos:s[19],
                        Transition:s[20],
                        Duration:s[21],
                        Alpha:s[22],
                        ShadowType:s[23].toLowerCase(),
                        ShadowColor:s[24],
                        Width:parseInt(eval(obj+iw)+3+sbw)
                }
                if(ie4) {
                        TipLayer.style.width = s[14]
                         tbody.Width = s[14]
                }
                Count=0
                move=1
          }
  }
}

function MoveTip(e) {
        if(move) {
                var X,Y,MouseX = eval(mx),MouseY = eval(my); tbody.Height = parseInt(eval(obj+ih)+3)
                tbody.wiw = parseInt(eval(ww+"+"+scl)); tbody.wih = parseInt(eval(wh+"+"+sct))
                switch(tbody.Pos) {
                        case "left" : X=MouseX-tbody.Width-tbody.Xpos; Y=MouseY+tbody.Ypos; break
                        case "center": X=MouseX-(tbody.Width/2); Y=MouseY+tbody.Ypos; break
                        case "float": X=tbody.Xpos+eval(scl); Y=tbody.Ypos+eval(sct); break
                        case "fixed": X=tbody.Xpos; Y=tbody.Ypos; break
                        default: X=MouseX+tbody.Xpos; Y=MouseY+tbody.Ypos
                }

                if(tbody.wiw<tbody.Width+X) X = tbody.wiw-tbody.Width
                if(tbody.wih<tbody.Height+Y+sbw) {
                        if(tbody.Pos=="float"||tbody.Pos=="fixed") Y = tbody.wih-tbody.Height-sbw
                        else Y = MouseY-tbody.Height
                }
                if(X<0) X=0
                eval(obj+sl+"=X+PX;"+obj+st+"=Y+PX")
                ViewTip()
        }
}

function ViewTip() {
          Count++
        if(Count == 1) {
                if(cssFilters&&FiltersEnabled) {
                        for(Index=28; Index<31; Index++) { TipLayer.filters[Index].enabled = 0 }
                        for(s=0; s<28; s++) { if(TipLayer.filters[s].status == 2) TipLayer.filters[s].stop() }
                        if(tbody.Transition == 51) tbody.Transition = parseInt(Math.random()*50)
                        var applyTrans = (tbody.Transition>-1&&tbody.Transition<24&&tbody.Duration>0)? 1:0
                        var advFilters = (tbody.Transition>23&&tbody.Transition<51&&tbody.Duration>0)? 1:0
                        var which = (applyTrans)?0:(advFilters)? tbody.Transition-23:0
                        if(tbody.Alpha>0&&tbody.Alpha<100) {
                                  TipLayer.filters[28].enabled = 1
                                  TipLayer.filters[28].opacity = tbody.Alpha
                        }
                        if(tbody.ShadowColor&&tbody.ShadowType == "simple") {
                                  TipLayer.filters[29].enabled = 1
                                  TipLayer.filters[29].color = tbody.ShadowColor
                        }
                        else if(tbody.ShadowColor&&tbody.ShadowType == "complex") {
                                  TipLayer.filters[30].enabled = 1
                                  TipLayer.filters[30].color = tbody.ShadowColor
                        }
                        if(applyTrans||advFilters) {
                                eval(obj+sv+hl)
                                  if(applyTrans) TipLayer.filters[0].transition = tbody.Transition
                                  TipLayer.filters[which].duration = tbody.Duration
                                  TipLayer.filters[which].apply()
                        }
                }
                 eval(obj+sv+vl)
                if(cssFilters&&FiltersEnabled&&(applyTrans||advFilters)) TipLayer.filters[which].play()
                if(hs == "sticky") move=0
          }
}

function stickyhide() {
        eval(HideTip)
}

function ReloadTip() {
         if(nn4&&(evlw!=eval(ww)||evlh!=eval(wh))) location.reload()
         else if(hs == "sticky") eval(HideTip)
}

function htm() {
        if(sNav) {
                if(hs!="keep") {
                        move=0;
                        if(hs!="sticky") eval(HideTip)
                }
        }
}