function getPDF(elt) {
  window.open(elt.href,'new','width=800,height=800,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0');
  return false;
}

function getBgColor(root) {
  var bgColor = '';
  if (typeof root.style != '') {
    if (typeof root.style.backgroundColor != 'undefined' && root.style.backgroundColor != '') {
            bgColor = root.style.backgroundColor;
    }
  } else if (typeof root.bgColor != 'undefined' && root.bgColor != '') {
    bgColor = root.bgColor;
  } else {
    bgColor = getBgColor(root.parentNode);
  }
  return bgColor;
}


TransMenu.reference={topLeft:1,topRight:2,bottomLeft:3,bottomRight:4}
TransMenu.direction={down:1,right:2}
TransMenu.registry=[]
TransMenu._maxZ=100
TransMenu.isSupported=function() {
  var ua=navigator.userAgent.toLowerCase()
  var pf=navigator.platform.toLowerCase()
  var an=navigator.appName
  var r=false
  if(ua.indexOf("gecko")>-1&&navigator.productSub>=20020605)r=true
  else if(an=="Microsoft Internet Explorer"){
    if(document.getElementById){
      if(pf.indexOf("mac")==0){
        r=/msie(\d(.\d*)?)/.test(ua)&&Number(RegExp.$1)>=5.1}
      else r=true}
    }
  if (an == "Opera")
    r=true;
  return r
}

TransMenu.initialize=function(){
  for(var i=0,menu=null;menu=this.registry[i];i++){
    menu.initialize()}}
TransMenu.renderAll=function(){
  var aMenuHtml=[]
  for(var i=0,menu=null;menu=this.registry[i];i++){
    aMenuHtml[i]=menu.toString()}
  document.write(aMenuHtml.join(""))}
function TransMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,parentMenuSet){
  this.addItem=addItem
  this.addMenu=addMenu
  this.toString=toString
  this.initialize=initialize
  this.isOpen=false
  this.show=show
  this.hide=hide
  this.items=[]
  this.onactivate=new Function()
  this.ondeactivate=new Function()
  this.onmouseover=new Function()
  this.onqueue=new Function()
  this.ondequeue=new Function()
  this.index=TransMenu.registry.length
  TransMenu.registry[this.index]=this
  var id="TransMenu"+this.index
  var contentHeight=null
  var contentWidth=null
  var childMenuSet=null
  var animating=false
  var childMenus=[]
  var slideAccel=-1
  var elmCache=null
  var ready=false
  var _this=this
  var a=null
  var pos=iDirection==TransMenu.direction.down ? "top" : "left"
  var dim=null
  function addItem(sText,sUrl,browserNav){
    var item=new TransMenuItem(sText,sUrl,this,browserNav)
    item._index=this.items.length
    this.items[item._index]=item}
  function addMenu(oMenuItem){
    if(!oMenuItem.parentMenu==this)throw new Error("Cannot add a menu here")
    if(childMenuSet==null)childMenuSet=new TransMenuSet(TransMenu.direction.right,-5,2,TransMenu.reference.topRight)
    var m=childMenuSet.addMenu(oMenuItem)
    childMenus[oMenuItem._index]=m
    m.onmouseover=child_mouseover
    m.ondeactivate=child_deactivate
    m.onqueue=child_queue
    m.ondequeue=child_dequeue
    return m}
  function initialize(){
    initCache()
    initEvents()
    initSize()
    ready=true}
  function show(){
    if(ready){
      _this.isOpen=true
      animating=true
      setContainerPos()
      elmCache["clip"].style.visibility="visible"
      elmCache["clip"].style.zIndex=TransMenu._maxZ++
      slideStart()
      _this.onactivate()}}
  function hide(){
    if(ready){
      _this.isOpen=false
      animating=true
      for(var i=0,item=null;item=elmCache.item[i];i++)
      dehighlight(item)
      if(childMenuSet)childMenuSet.hide()
      slideStart()
      _this.ondeactivate()}}
  function setContainerPos(){
    var sub=oActuator.constructor==TransMenuItem
    var act=sub ? oActuator.parentMenu.elmCache["item"][oActuator._index] : oActuator
    var el=act
    var x=0
    var y=0
    var minX=0
    var maxX=(window.innerWidth ? window.innerWidth : document.body.clientWidth)-parseInt(elmCache["clip"].style.width)
    var minY=0
    var maxY=(window.innerHeight ? window.innerHeight : document.body.clientHeight)-parseInt(elmCache["clip"].style.height)
    while(sub ? el.parentNode.className.indexOf("transMenu")==-1 : el.offsetParent){
      x+=el.offsetLeft
      y+=el.offsetTop
      if(el.scrollLeft)x-=el.scrollLeft
      if(el.scrollTop)y-=el.scrollTop
      el=el.offsetParent}
    if(oActuator.constructor==TransMenuItem){
      x+=parseInt(el.parentNode.style.left)
      y+=parseInt(el.parentNode.style.top)}
    switch(iReferencePoint){
    case TransMenu.reference.topLeft:
      break
    case TransMenu.reference.topRight:
      x+=act.offsetWidth
      break
    case TransMenu.reference.bottomLeft:
      y+=act.offsetHeight
      break
    case TransMenu.reference.bottomRight:
      x+=act.offsetWidth
      y+=act.offsetHeight
      break
    }
    x+=iLeft
    y+=iTop
    x=Math.max(Math.min(x,maxX),minX)
    y=Math.max(Math.min(y,maxY),minY)
    elmCache["clip"].style.left=x+"px"
    elmCache["clip"].style.top=y+"px"}
  function slideStart(){
    var x0=parseInt(elmCache["content"].style[pos])
    var x1=_this.isOpen ? 0 :-dim
    if(a !=null)a.stop()
    a=new Accelimation(x0,x1,TransMenu.slideTime,slideAccel)
    a.onframe=slideFrame
    a.onend=slideEnd
    a.start()}
  function slideFrame(x){
    elmCache["content"].style[pos]=x+"px"}
  function slideEnd(){
    if(!_this.isOpen)elmCache["clip"].style.visibility="hidden"
    animating=false}
  function initSize(){
    var ow=elmCache["items"].offsetWidth
    var oh=elmCache["items"].offsetHeight
    var ua=navigator.userAgent.toLowerCase()
    elmCache["clip"].style.width=ow+TransMenu.shadowSize+50+"px"
    elmCache["clip"].style.height=oh+TransMenu.shadowSize+50+"px"
    elmCache["content"].style.width=ow+TransMenu.shadowSize+"px"
    elmCache["content"].style.height=oh+TransMenu.shadowSize+"px"
    contentHeight=oh+TransMenu.shadowSize
    contentWidth=ow+TransMenu.shadowSize
    dim=iDirection==TransMenu.direction.down ? contentHeight : contentWidth
    elmCache["content"].style[pos]=-dim-TransMenu.shadowSize+"px"
    elmCache["clip"].style.visibility="hidden"
    /*if(ua.indexOf("mac")==-1 || ua.indexOf("gecko")>-1){
elmCache["background"].style.width=ow+"px"
elmCache["background"].style.height=oh+"px"
elmCache["background"].style.backgroundColor="transparent"//TransMenu.backgroundColor
elmCache["shadowRight"].style.left=ow+"px"
elmCache["shadowRight"].style.height=oh-(TransMenu.shadowOffset-TransMenu.shadowSize)+"px"
elmCache["shadowRight"].style.backgroundColor=TransMenu.shadowColor
elmCache["shadowBottom"].style.top=oh+"px"
elmCache["shadowBottom"].style.width=ow-TransMenu.shadowOffset+"px"
elmCache["shadowBottom"].style.backgroundColor=TransMenu.shadowColor}
else{
elmCache["background"].firstChild.src=TransMenu.backgroundPng
elmCache["background"].firstChild.width=ow
elmCache["background"].firstChild.height=oh
elmCache["shadowRight"].firstChild.src=TransMenu.shadowPng
elmCache["shadowRight"].style.left=ow+"px"
elmCache["shadowRight"].firstChild.width=TransMenu.shadowSize
elmCache["shadowRight"].firstChild.height=oh-(TransMenu.shadowOffset-TransMenu.shadowSize)
elmCache["shadowBottom"].firstChild.src=TransMenu.shadowPng
elmCache["shadowBottom"].style.top=oh+"px"
elmCache["shadowBottom"].firstChild.height=TransMenu.shadowSize
elmCache["shadowBottom"].firstChild.width=ow-TransMenu.shadowOffset}*/}
  function initCache(){
    var menu=document.getElementById(id)
    var all=menu.all ? menu.all : menu.getElementsByTagName("*")
    elmCache={}
    elmCache["clip"]=menu
    elmCache["item"]=[]
    for(var i=0,elm=null;elm=all[i];i++){
      switch(elm.className){
      case "items":
      case "content":
      case "background":
      case "shadowRight":
      case "shadowBottom":
        elmCache[elm.className]=elm
        break
      case "item":
        elm._index=elmCache["item"].length
        elmCache["item"][elm._index]=elm
        break}}
    _this.elmCache=elmCache}
  function initEvents(){
    for(var i=0,item=null;item=elmCache.item[i];i++){
      item.onmouseover=item_mouseover
      item.onmouseout=item_mouseout}
    if(typeof oActuator.tagName !="undefined"){
      oActuator.onmouseover=actuator_mouseover
      oActuator.onmouseout=actuator_mouseout}
    elmCache["content"].onmouseover=content_mouseover
    elmCache["content"].onmouseout=content_mouseout}
  function highlight(oRow){
    if(childMenus[oRow._index])
    oRow.lastChild.firstChild.src=TransMenu.dingbatOn}
  function dehighlight(oRow){
    if(childMenus[oRow._index])
    oRow.lastChild.firstChild.src=TransMenu.dingbatOff}
  function item_mouseover(){
    if(!animating){
      highlight(this)
      if(childMenus[this._index])
      childMenuSet.showMenu(childMenus[this._index])
      else if(childMenuSet)childMenuSet.hide()}}
  function item_mouseout(){
    if(!animating){
      if(childMenus[this._index])
      childMenuSet.hideMenu(childMenus[this._index])
      else
      dehighlight(this)}}
  function actuator_mouseover(){
    parentMenuSet.showMenu(_this)}
  function actuator_mouseout(){
    parentMenuSet.hideMenu(_this)}
  function content_mouseover(){
    if(!animating){
      parentMenuSet.showMenu(_this)
      _this.onmouseover()}}
  function content_mouseout(){
    if(!animating){
      parentMenuSet.hideMenu(_this)}}
  function child_mouseover(){
    if(!animating){
      parentMenuSet.showMenu(_this)}}
  function child_deactivate(){
    for(var i=0;i<childMenus.length;i++){
      if(childMenus[i]==this){
        dehighlight(elmCache["item"][i])
        break}}}
  function child_queue(){
    parentMenuSet.hideMenu(_this)}
  function child_dequeue(){
    parentMenuSet.showMenu(_this)}
  function toString(){
    var aHtml=[]
    var sClassName="transMenu"+(oActuator.constructor !=TransMenuItem ? " top" : "")

    for(var i=0,item=null;item=this.items[i];i++){
      aHtml[i]=item.toString(childMenus[i])}
    return '<div id="'+id+'" class="'+sClassName+'">'+
    '<div class="content"><table class="items" cellpadding="0" cellspacing="0" border="0"><tr class="item"><td nowrap="nowrap" valign="top" align="left"><ul class="ul_submenu">'+
    aHtml.join('')+'</ul></td></tr></table>'+
    '<div class="background"><img src="'+TransMenu.spacerGif+'" width="1" height="1"></div>'+
    '</div></div>'}}
TransMenuSet.registry=[]
function TransMenuSet(iDirection,iLeft,iTop,iReferencePoint){
  this.addMenu=addMenu
  this.showMenu=showMenu
  this.hideMenu=hideMenu
  this.show=show
  this.hide=hide
  this.hideCurrent=hideCurrent
  var menus=[]
  var _this=this
  var current=null
  var showTimer = null;
  this.index=TransMenuSet.registry.length
  TransMenuSet.registry[this.index]=this
  function addMenu(oActuator){
    var m=new TransMenu(oActuator,iDirection,iLeft,iTop,iReferencePoint,this)
    menus[menus.length]=m
    return m}
  function showMenu(oMenu){
    if(oMenu !=current){
      if(current !=null)hide(current)
      current=oMenu
      realshow(oMenu)}
    else{
      cancelHide(oMenu)}
  }
  function scheduleShow(oMenu){
    showTimer=window.setTimeout("TransMenuSet.registry["+_this.index+"].show(TransMenu.registry["+oMenu.index+"])",TransMenu.showDelay)
  }
  function realshow(oMenu) {
    cancelShow();
    scheduleShow(oMenu)
  }
  function show(oMenu){
    showTimer=null
    oMenu.show()
  }
  function cancelShow() {
    if(showTimer) {
      window.clearTimeout(showTimer)
      showTimer = null;
      current=null;
    }
  }

  function hideMenu(oMenu){
    cancelShow()
    if(current==oMenu&&oMenu.isOpen){
      if(!oMenu.hideTimer)scheduleHide(oMenu)}}
  function scheduleHide(oMenu){
    oMenu.onqueue()
    oMenu.hideTimer=window.setTimeout("TransMenuSet.registry["+_this.index+"].hide(TransMenu.registry["+oMenu.index+"])",TransMenu.hideDelay)}
  function cancelHide(oMenu){
    if(oMenu.hideTimer){
      oMenu.ondequeue()
      window.clearTimeout(oMenu.hideTimer)
      oMenu.hideTimer=null}}
  function hide(oMenu){
    if(!oMenu&&current)oMenu=current
    if(oMenu&&current==oMenu&&oMenu.isOpen){
      hideCurrent()}}
  function hideCurrent(){
    if(null !=current){
      cancelHide(current)
      current.hideTimer=null
      current.hide()
      current=null}}
}
function TransMenuItem(sText,sUrl,oParent,browserNav){
  this.toString=toString
  this.text=sText
  this.url=sUrl
  this.parentMenu=oParent
  function toString(bDingbat){
    var sDingbat=bDingbat ? TransMenu.dingbatOff : TransMenu.spacerGif
    var iEdgePadding=TransMenu.itemPadding+TransMenu.menuPadding
    var sPaddingLeft="padding-top:"+TransMenu.itemPadding+"px; padding-bottom:"+TransMenu.itemPadding+"px; padding-right:"+iEdgePadding+"px;"

    var sPaddingRight="padding-top:"+TransMenu.itemPadding+"px; padding-bottom:"+TransMenu.itemPadding+"px; padding-right:"+iEdgePadding+"px;"
    if(sUrl=='#'){
      var urlTag='<div class="'+sub_placeholder_style+menu_class_suffix+'">'+sText+'</div>'
    }else{
      if(browserNav==1){
        browserNav=' target="_blank"'
      }else if(browserNav==2){
        browserNav=' onclick="javascript: window.open(\''+sUrl+'\', \'\', \'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550\'); return false"'
      }else{
        browserNav=''}

      var urlTag='<a href="'+sUrl+'"'+browserNav+' class="sublevel'+menu_class_suffix+'" style="width:100%;"><span>'+sText+'</span></a>'}
    return '<li>'+urlTag+'</li>'}}
function Accelimation(from,to,time,zip){
  if(typeof zip=="undefined")zip=0
  if(typeof unit=="undefined")unit="px"
  this.x0=from
  this.x1=to
  this.dt=time
  this.zip=-zip
  this.unit=unit
  this.timer=null
  this.onend=new Function()
  this.onframe=new Function()}
Accelimation.prototype.start=function(){
  this.t0=new Date().getTime()
  this.t1=this.t0+this.dt
  var dx=this.x1-this.x0
  this.c1=this.x0+((1+this.zip)*dx/3)
  this.c2=this.x0+((2+this.zip)*dx/3)
  Accelimation._add(this)}
Accelimation.prototype.stop=function(){
  Accelimation._remove(this)}
Accelimation.prototype._paint=function(time){
  if(time<this.t1){
    var elapsed=time-this.t0
    this.onframe(Accelimation._getBezier(elapsed/this.dt,this.x0,this.x1,this.c1,this.c2))}
  else this._end()}
Accelimation.prototype._end=function(){
  Accelimation._remove(this)
  this.onframe(this.x1)
  this.onend()}
Accelimation._add=function(o){
  var index=this.instances.length
  this.instances[index]=o
  if(this.instances.length==1){
    this.timerID=window.setInterval("Accelimation._paintAll()",this.targetRes)}}
Accelimation._remove=function(o){
  for(var i=0;i<this.instances.length;i++){
    if(o==this.instances[i]){
      this.instances=this.instances.slice(0,i).concat(this.instances.slice(i+1))
      break}}
  if(this.instances.length==0){
    window.clearInterval(this.timerID)
    this.timerID=null}}
Accelimation._paintAll=function(){
  var now=new Date().getTime()
  for(var i=0;i<this.instances.length;i++){
    this.instances[i]._paint(now)}}
Accelimation._B1=function(t){return t*t*t}
Accelimation._B2=function(t){return 3*t*t*(1-t)}
Accelimation._B3=function(t){return 3*t*(1-t)*(1-t)}
Accelimation._B4=function(t){return(1-t)*(1-t)*(1-t)}
Accelimation._getBezier=function(percent,startPos,endPos,control1,control2){
  return endPos*this._B1(percent)+control2*this._B2(percent)+control1*this._B3(percent)+startPos*this._B4(percent)}
Accelimation.instances=[]
Accelimation.targetRes=10
Accelimation.timerID=null
if(window.attachEvent){
  var cearElementProps=[
  'data',
  'onmouseover',
  'onmouseout',
  'onmousedown',
  'onmouseup',
  'ondblclick',
  'onclick',
  'onselectstart',
  'oncontextmenu'
  ]
  window.attachEvent("onunload",function(){
    var el
    for(var d=document.all.length;d--;){
      el=document.all[d]
      for(var c=cearElementProps.length;c--;){
        el[cearElementProps[c]]=null}}
  })}
