var ShowDelay=300;var mTimer=0;function muMOver(muNo){
if (mTimer>0){ return; }
mTimer=window.setTimeout("Activemu("+muNo+")",ShowDelay);}
function muMOut(muNo){if (mTimer>0){ clearTimeout(mTimer); mTimer=0; }
ypSM.hidemu('mu'+muNo);} 
function Activemu(muNo){
mTimer=0;
ypSM.showmu('mu'+muNo);}
/*****************************************************
* ypSM 3/04/2001
* Revised: 08/29/2002 : added .hideAll()
*****************************************************/
ypSM.Registry = []
ypSM.aniLen = 50
ypSM.hideDelay = 150
ypSM.minCPUResolution = 10
function ypSM(id, dir, left, top, width, height){
this.ie = document.all ? 1 : 0
this.ns4 = document.layers ? 1 : 0
this.dom = document.getElementById ? 1 : 0
if (this.ie || this.ns4 || this.dom) {
this.id = id
this.dir = dir
this.orientation = dir == "left" || dir == "right" ? "h" : "v"
this.dirType = dir == "right" || dir == "down" ? "-" : "+"
this.dim = this.orientation == "h" ? width : height
this.hideTimer = false
this.aniTimer = false
this.open = false
this.over = false
this.startTime = 0
this.gRef = "ypSM_"+id
eval(this.gRef+"=this")
ypSM.Registry[id] = this
var d = document
var strCSS = '<style type="text/css">';
strCSS += '#' + this.id + 'Container { visibility:hidden; '
strCSS += 'left:' + left + 'px; '
strCSS += 'top:' + top + 'px; '
strCSS += 'overflow:hidden; z-index:10000; }'
strCSS += '#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; '
strCSS += 'width:' + width + 'px; '
strCSS += 'height:' + height + 'px; '
strCSS += 'clip:rect(0 ' + width + ' ' + height + ' 0); '
strCSS += '}'
strCSS += '</style>'
d.write(strCSS)
this.load()}}
ypSM.prototype.load = function() {
var d = document
var lyrId1 = this.id + "Container"
var lyrId2 = this.id + "Content"
var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1]
if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
var temp
if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100)
else {
this.container = obj1
this.mu = obj2
this.style = this.ns4 ? this.mu : this.mu.style
this.homePos = eval("0" + this.dirType + this.dim)
this.outPos = 0
this.accelConst = (this.outPos - this.homePos) / ypSM.aniLen / ypSM.aniLen 
if (this.ns4) this.mu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
this.mu.onmouseover = new Function("ypSM.showmu('" + this.id + "')")
this.mu.onmouseout = new Function("ypSM.hidemu('" + this.id + "')")
this.endSlide() }}
ypSM.showmu = function(id){
var reg = ypSM.Registry
var obj = ypSM.Registry[id]
if (obj.container) {
 obj.over = true
 for (mu in reg) if (id != mu) ypSM.hide(mu)
 if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) }
 if (!obj.open && !obj.aniTimer) reg[id].startSlide(true)}}
ypSM.hidemu = function(id){
var obj = ypSM.Registry[id]
if (obj.container) {
 if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
 obj.hideTimer = window.setTimeout("ypSM.hide('" + id + "')", ypSM.hideDelay);}}
ypSM.hideAll = function(){
var reg = ypSM.Registry
for (mu in reg) {
ypSM.hide(mu);
if (mu.hideTimer) window.clearTimeout(mu.hideTimer);}}
ypSM.hide = function(id){
 var obj = ypSM.Registry[id]
 obj.over = false
 if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
 obj.hideTimer = 0
 if (obj.open && !obj.aniTimer) obj.startSlide(false)}
ypSM.prototype.startSlide = function(open) {
 this[open ? "onactivate" : "ondeactivate"]()
 this.open = open
 if (open) this.setVisibility(true)
 this.startTime = (new Date()).getTime() 
 this.aniTimer = window.setInterval(this.gRef + ".slide()", ypSM.minCPUResolution)}
ypSM.prototype.slide = function() {
var elapsed = (new Date()).getTime() - this.startTime
if (elapsed > ypSM.aniLen) this.endSlide()
else {var d = Math.round(Math.pow(ypSM.aniLen-elapsed, 2) * this.accelConst)
if (this.open && this.dirType == "-") d = -d
else if (this.open && this.dirType == "+") d = -d
else if (!this.open && this.dirType == "-") d = -this.dim + d
else d = this.dim + d
this.moveTo(d)}}
ypSM.prototype.endSlide = function() {
this.aniTimer = window.clearTimeout(this.aniTimer)
this.moveTo(this.open ? this.outPos : this.homePos)
if (!this.open) this.setVisibility(false)
if ((this.open && !this.over) || (!this.open && this.over)) {
this.startSlide(this.over)}}
ypSM.prototype.setVisibility = function(bShow) { 
var s = this.ns4 ? this.container : this.container.style
s.visibility = bShow ? "visible" : "hidden"}
ypSM.prototype.moveTo = function(p) { 
this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px"}
ypSM.prototype.getPos = function(c) {return parseInt(this.style[c])}
ypSM.prototype.onactivate = function() { }
ypSM.prototype.ondeactivate = function() { }
function svcce(name, value, expires, path, domain, secure){var stCk = name + "=" + value;
  if (expires){var curTime = new Date();
     curTime.setTime(curTime.getTime() + expires*24*60*60*1000);
     stCk += "; expires=" + curTime.toGMTString();}
  stCk +=  (path) ? "; path=" + path : "";stCk +=  (domain) ? "; domain=" + domain : ""; stCk +=  (secure) ? "; secure" : "";
  document.cookie = stCk;}
function kiesve(name){var stCks = document.cookie;var cknme = name + "=";var valueBegin, valueEnd, value;valueBegin = stCks.indexOf(cknme);
  if (valueBegin == -1) return null; valueEnd = stCks.indexOf(";", valueBegin);if (valueEnd == -1) valueEnd = stCks.length; value = stCks.substring(valueBegin+cknme.length,valueEnd); return value;}
function hasckext(name){ if (kiesve(name)) return true; else return false;}
function rmckst(name, path, domain){var stCk;if (hasckext(name)){ stCk = name + "="; stCk += (path) ? "; path=" + path : "";
    stCk += (domain) ? "; domain=" + domain : ""; stCk += "; expires=Thu, 01-Jan-70 00:00:01 GMT";document.cookie = stCk;}
}