<!--
 // See KB article about changing this dynamic HTML
 dynamicanimAttr = "dynamicanimation"
 animCancel = "skipanim"
 fpanimationPrefix = "fpAnim"
 animateElements = new Array()
 currentElement = 0
 speed = 1
 stepsZoom = 8
 stepsWord = 8
 stepsFly = 17
 stepsSpiral = 16
 stepsSpiralWord = 19
 stepsElastic = 32
 steps = stepsZoom
 step = 0
 cornerPhase=0
 outEffect=0
 function remSuffix(str)
 {
  ind=str.indexOf("FP")
  str = str.substring(0,ind)
  return str
 }
 function dynAnimOut(el)
 {
  outEffect=1
  dynAnimation(el)
  outEffect=0
 }
 function dynAnimation(obj)
 {  
  animateElements = new Array()
  var ms = navigator.appVersion.indexOf("MSIE")
  var macness = navigator.appVersion.indexOf("Macintosh")
  ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
  ns6 = false
  if(!ie4)
  {
   if((navigator.appName == "Netscape") &&
    (parseInt(navigator.appVersion.substring(0, 1)) >= 5))
   {
    ns6=true
    doc_els=document.getElementsByTagName('*')
   }
   else if((navigator.appName == "Netscape") &&
    (parseInt(navigator.appVersion.substring(0, 1)) == 4))
   {
    doc_els=document.layers
   }
   else
    return
  }
  else
   doc_els=document.all
        if(outEffect && !ie4)
            return
  if(ie4)
  {
      for (index=document.all.length-1; index >= document.body.sourceIndex; index--)
   {
    el = document.all[index]
    if(outEffect && el != obj)
     continue
    if(outEffect)
     animationId = el.id.substring(9,el.id.length)
    else
     animationId = el.id.substring(6,el.id.length)
    animation=remSuffix(animationId)
    if(null != animation)
    {
     altcnt=0
     if( animation == "dropWord"    ||
      animation == "flyTopRightWord"   ||
      animation == "flyBottomRightWord"  ||
      animation == "waveWords"   ||
      animation == "hopWords")
     {
      ih = el.innerHTML
      outString = ""
      i1 = 0
      iend = ih.length
      while(true)
      {
       i2 = startWord(ih, i1)
       if(i2 == -1)
       i2 = iend
       outWord(ih, i1, i2, false, "", outEffect ? obj.id : el.id)
       if(i2 == iend)
        break
       i1 = i2
       i2 = endWord(ih, i1)
       if(i2 == -1)
        i2 = iend
       if (animation == "waveWords")
        outWordAlt(ih, i1, i2, true, animation, altcnt)
       else
        outWord(ih, i1, i2, true, (outEffect ? "Out" : "") + animation,
         outEffect ?  obj.id : el.id)
       if(i2 == iend)
        break
       i1 = i2
       altcnt++
      }
      document.all[index].innerHTML = outString
      document.all[index].style.posLeft = 0
      document.all[index].setAttribute(animCancel, true)
      document.all[index].style.visibility="visible"
     }
    }
   }
  }
  i = 0
  for (index=0; index < doc_els.length; index++)
  {
   el = doc_els[index]
   if(0 != el.id.indexOf(fpanimationPrefix))
    continue
   if (ie4)
   {
    elprops=el.style
    scrollOffsetTop=document.body.scrollTop
    docHeight=document.body.offsetHeight
    docWidth=document.body.offsetWidth
    elW=100
    elH=el.offsetHeight
   }
   else
   {
    scrollOffsetTop=window.pageYOffset
    docHeight=window.innerHeight
    docWidth=window.innerWidth
    if (ns6)
    {
     elprops=el.style
     elW=100
     elH=el.offsetHeight
    }
    else{
     elprops=el
     elW=el.clip.width
     elH=el.clip.height
    }
   }
   if(outEffect)
    animationId = el.id.substring(9,el.id.length)
   else
    animationId = el.id.substring(6,el.id.length)
   animation=remSuffix(animationId)
   if(outEffect && (obj != el))
   {
    if(el.SRCID != obj.id)
     continue
   }
   if (null != animation )
   {
    if(ie4 && null!=el.getAttribute(animCancel, false))
     continue
    if(!ie4)
    {
     elprops.posLeft=elprops.left
     elprops.posTop=elprops.top
    }
    el.startL=offsetLeft(el)
    if(animation == "flyLeft")
    {
     elprops.posLeft = -offsetLeft(el)-elW
     elprops.posTop = 0
    }
    else if(animation == "flyRight" || animation=="elasticRight")
    {
     elprops.posLeft = -offsetLeft(el)+docWidth
     elprops.posTop = 0
    }
    else if(animation == "flyTop" || animation == "dropWord")
    {
     elprops.posLeft = 0
     elprops.posTop = scrollOffsetTop-offsetTop(el)-elH
    }
    else if(animation == "flyBottom" || animation == "elasticBottom")
    {
     elprops.posLeft = 0
     elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight 
    }
    else if(animation == "flyTopLeft")
    {
     elprops.posLeft = -offsetLeft(el)-elW
     elprops.posTop = scrollOffsetTop-offsetTop(el)-elH
    }
    else if(animation == "flyTopRight" || animation == "flyTopRightWord")
    {
     elprops.posLeft = -offsetLeft(el)+docWidth
     elprops.posTop = scrollOffsetTop-offsetTop(el)-elH
    }
    else if(animation == "flyCorner")
    {
     elprops.posLeft = docWidth*0.2-offsetLeft(el)
     
     elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight 
    }
    else if(animation == "flyBottomLeft")
    {
     elprops.posLeft = -offsetLeft(el)-elW
     elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
    }
    else if(animation == "flyBottomRight" || animation == "flyBottomRightWord")
    {
     elprops.posLeft = -offsetLeft(el)+docWidth
     elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
    }
    else if(animation == "spiral")
    {
     elprops.posLeft = -offsetLeft(el)+docWidth
     elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
    }
    else if((animation.indexOf("waveWords") != -1) || animation=="hopWords")
    {
     if(i)
     {
      prevEl=animateElements[i-1]
      elprops.r = offsetLeft(el)-prevEl.startL
     }
     else
      elprops.r = offsetLeft(el)
    }
    else if(animation == "wipeLR" || animation == "wipeMID")
    {
     if (ie4 && elprops.position=="absolute")
     {
      el.sizeW=el.offsetWidth
      if(macness < 0)
       elprops.clip="rect(0 0 0 0)"
     }
     else if (!ie4)
     {
      if (ns6)
      {
       elprops.clip="rect(0 0 0 0)"
      }
      else{
       el.sizeW=el.clip.width
       el.clip.width=0
      }
     }
    }
    else if(animation == "wipeTB")
    {
     if (ie4 && elprops.position=="absolute")
     {
      elprops.clip="rect(0 0 0 0)"
     }
     else if(!ie4)
     {
      if (ns6)
      {
       elprops.clip="rect(0 0 0 0)"
      }
      else{
       el.sizeH=el.clip.height
       el.clip.height=0
      }
     }
    }
    else if(animation == "zoomIn")
    {
     elprops.posLeft = 0
     elprops.posTop = 0
    }
    else if(animation == "zoomOut")
    {
     elprops.posLeft = 0
     elprops.posTop = 0
    }
    else
    {
     continue
    }
    if(!outEffect)
    {
     el.initLeft = elprops.posLeft
     el.initTop  = elprops.posTop
     el.endLeft  = 0
     el.endTop   = 0
     elprops.visibility = "hidden"
    }
    else
    {
     el.initLeft = 0
     el.initTop  = 0
     el.endLeft = elprops.posLeft
     el.endTop  = elprops.posTop
     elprops.posTop = 0
     elprops.posLeft = 0
    }
    if(!ie4)
    {
     elprops.left=elprops.initLeft
     elprops.top =elprops.initTop
    }
    animateElements[i++] = el
   }
  }
  if(animateElements.length > 0)
  {
   if(outEffect)
    window.setTimeout("animate(1);", speed, "Javascript")
   else
    window.setTimeout("animate(0);", speed, "Javascript")
  }
 }
 function offsetLeft(el)
 {
  if(ie4 || ns6)
  {
   x = el.offsetLeft
   for (e = el.offsetParent; e; e = e.offsetParent)
    x += e.offsetLeft
   return x
  }
  else
  {
   x = el.pageX
   return x
  }
 } 
 function offsetTop(el)
 {
  if(ie4 || ns6)
  {
   y = el.offsetTop
   for (e = el.offsetParent; e; e = e.offsetParent)
    y += e.offsetTop;
   return y
  }
  else
  {
   y = el.pageY
   return y 
  }
 }
 function startWord(ih, i)
 {
  for(tag = false; i < ih.length; i++)
  {
   c = ih.charAt(i)
   if(c == '<')
   {
    if(ih.substring(i+1, i+4) == "IMG")
    return i;
    tag = true
   }
   if(!tag)
    return i
   if(c == '>')
    tag = false
  }
  return -1
 }
 function endWord(ih, i)
 {
  nonSpace = false
  space = false
  img = false
  if(ih.charAt(i) == '<')
  {
   img = true
   i++;
  }
  while(i < ih.length)
  {
   c = ih.charAt(i)
   if(c != ' ')
    nonSpace = true
   if(img && c == '>')
    img = false;
   if(nonSpace && !img && c == ' ')
    space = true
   if(c == '<')
    return i
   if(space && c != ' ')
    return i
   i++
  }
  return -1
 }
 function outWord(ih, i1, i2, dyn, anim, srcID)
 {
  if(dyn)
   if(!outEffect)
    outString += "<SPAN ID=\"" +  fpanimationPrefix + anim + "FP\" style=\"position: relative; visibility: hidden;\">"
   else
    outString += "<SPAN SRCID=\"" + srcID + "\"ID=\"" +  fpanimationPrefix + anim + "FP\" style=\"position: relative;\">"
  outString += ih.substring(i1, i2)
  if(dyn)
   outString += "</SPAN>"
 }
 function outWordAlt(ih, i1, i2, dyn, anim, altcnt)
 {
  if(dyn)
  {
   if(altcnt%2)
    outString += "<SPAN ID=\"" +  fpanimationPrefix + anim + "LFP\" style=\"position: relative;  visibility: hidden;\">"
   else
    outString += "<SPAN ID=\"" +  fpanimationPrefix + anim + "RFP\" style=\"position: relative;  visibility: hidden;\">"
  }
   
  outString += ih.substring(i1, i2)
  if(dyn)
   outString += "</SPAN>"
 }
 function animate(animOut)
 {
  {
   el = animateElements[currentElement]
   if(animOut)
    animationId = el.id.substring(9,el.id.length);
   else
    animationId = el.id.substring(6,el.id.length);
   animation=remSuffix(animationId)
   if (ie4)
    elprops=el.style
   else{
    if (ns6)
     elprops=el.style
    else
     elprops=el
   }
   if(!step && !animOut)
    elprops.visibility="visible"
   step++
   if(animation == "spiral")
   {
    steps = stepsSpiral
    v = step/steps
    rf = 1.0 - v
    t = v * 2.0*Math.PI
    rx = Math.max(Math.abs(el.initLeft), 200)
    ry = Math.max(Math.abs(el.initTop),  200)
    elprops.posLeft = Math.ceil(-rf*Math.cos(t)*rx)
    elprops.posTop  = Math.ceil(-rf*Math.sin(t)*ry)
   }
   else if(animation == "waveWordsL" || animation=="hopWords" || animation == "waveWords")
   {
    steps = stepsSpiralWord
    v = step/steps
    rf = (1.0 - v)
    t = v * 1.0*Math.PI
    elprops.posLeft = Math.ceil(-rf*Math.cos(t)*elprops.r)
    elprops.posTop  = Math.ceil(-rf*Math.sin(t)*elprops.r)
   }
   else if(animation == "waveWordsR")
   {
    steps = stepsSpiralWord
    v = step/steps
    rf = (1.0 - v)
    t = v * 1.0*Math.PI
    elprops.posLeft = Math.ceil(-rf*Math.cos(t)*elprops.r)
    elprops.posTop  = Math.ceil( rf*Math.sin(t)*elprops.r)
   }
   else if(animation == "zoomIn")
   {
    steps = stepsZoom
    elprops.fontSize = Math.ceil(50+50*step/steps) + "%"
    elprops.posLeft = 0
   }
   else if(animation == "zoomOut")
   {
    steps = stepsZoom
    fontSz=Math.ceil(100+200*(steps-step)/steps) + "%"
    elprops.fontSize = fontSz
    elprops.posLeft = 0
   }
   else if(animation == "elasticRight")
   {
    steps = stepsElastic
    v = step/steps
    rf=Math.exp(-v*7)
    t = v * 1.5*Math.PI
    rx =Math.abs(el.initLeft)
    elprops.posLeft = rf*Math.cos(t)*rx
    elprops.posTop  = 0
   }
   else if(animation == "elasticBottom")
   {
    steps = stepsElastic
    v = step/steps
    rf=Math.exp(-v*7)
    t = v * 2.5*Math.PI
    ry =Math.abs(el.initTop)
    elprops.posLeft = 0
    elprops.posTop  = rf*Math.cos(t)*ry
   }
   else if(animation == "wipeLR")
   {
    steps = stepsElastic
    if(ie4 && elprops.position=="absolute")
     elprops.clip = "rect(0 "+ step/steps*100 +"% 100% 0)"
    else if (!ie4)
    {
     if (ns6)
     {
      postop = elprops.top
      posleft = elprops.left
      str="position:absolute;top:"+postop+";left:"+posleft+";clip:rect(0px " + step/steps*el.offsetWidth + "px "+el.offsetHeight+"px 0px)";
      el.setAttribute("style",str);
     }
     else
      elprops.clip.right=step/steps*el.sizeW
    }
   }
   else if(animation == "wipeTB")
   {
    steps = stepsElastic
    if(ie4 && elprops.position=="absolute")
     elprops.clip = "rect(0 100% "+step/steps*el.offsetHeight+"px 0)"
    else{
     if (ns6)
     {
      postop = elprops.top
      posleft = elprops.left
      str="position:absolute;top:"+postop+";left:"+posleft+";clip:rect(0px "+ el.offsetWidth + "px " +step/steps*el.offsetHeight+"px 0px)";
      el.setAttribute("style",str);
     }
     else{
      elprops.clip.bottom=step/steps*el.sizeH  
     }
    }
   }
   else if(animation == "wipeMID")
   {
    steps = stepsElastic
    if(ie4 && elprops.position=="absolute")
    {
     elprops.clip = "rect(0 "+el.sizeW/2*(1+step/steps)+"px 100% "+el.sizeW/2*(1-step/steps)+")"
    }
    else if(!ie4)
    {
     if (ns6)
     {
      postop = elprops.top
      posleft = elprops.left
      str="position:absolute;top:"+postop+";left:"+posleft+";clip:rect(0px "+ el.offsetWidth/2*(1+step/steps) + "px "+el.offsetHeight+"px "+el.offsetWidth/2*(1-step/steps)+"px)";
      el.setAttribute("style",str); 
     }
     else{
      elprops.clip.right=el.sizeW/2*(1+step/steps)
      elprops.clip.left=el.sizeW/2*(1-step/steps)
     }
    }
   }
   else if(animation == "flyCorner")
   {
    if(!cornerPhase)
    {
     steps = stepsElastic/2
     v = step/steps
     rf=Math.exp(-v*7)
     t = v * 2.5*Math.PI
     ry =Math.abs(el.initTop)
     elprops.posTop  = Math.ceil(rf*Math.cos(t)*ry)
    }
    else
    {
     steps = stepsFly
     dl = el.initLeft / steps
     elprops.posLeft = elprops.posLeft - dl
     elprops.posTop = 0
    }
   }
   else
   {
    steps = stepsFly
    if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
     steps = stepsWord
    dl = (el.endLeft - el.initLeft) / steps
    dt = (el.endTop  - el.initTop)  / steps
    elprops.posLeft = elprops.posLeft + dl
    elprops.posTop = elprops.posTop + dt
   }
   if (step >= steps) 
   {
    if(!(animation == "wipeLR" ||
     animation  == "wipeTB" ||
     animation  == "wipeMID" ||
     (animation == "flyCorner" && !cornerPhase)))
    {
     elprops.posLeft = el.endLeft
     elprops.posTop = el.endTop
    }
    if(animOut)
    {
     elprops.visibility="hidden"
    }
    step = 0
    if(animation=="flyCorner" && !cornerPhase)
     cornerPhase=1
    else
    {
     cornerPhase=0
     currentElement++
    }
   }
   if(!ie4)
   {
    elprops.left = elprops.posLeft
    elprops.top = elprops.posTop
   }
   if(currentElement < animateElements.length)
   {
    if(animOut)
     window.setTimeout("animate(1);", speed, "Javascript")
    else     
     window.setTimeout("animate(0);", speed, "Javascript")
   }
   else
    currentElement=0
  }
 }
 function rollIn(el)
 {
  var ms = navigator.appVersion.indexOf("MSIE")
  ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
  if(ie4)
  {
   el.initstyle=el.style.cssText;el.style.cssText=el.fprolloverstyle
  }
 }
 function rollOut(el)
 {
  var ms = navigator.appVersion.indexOf("MSIE")
  ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
  if(ie4)
  {
   el.style.cssText=el.initstyle
  }
 }
 function clickSwapStyle(el)
 {
  var ms = navigator.appVersion.indexOf("MSIE")
  ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
  if(ie4)
  {
   ts=el.style.cssText
   el.style.cssText=el.fprolloverstyle
   el.fprolloverstyle=ts
  }
 }
 function clickSwapImg(el)
 {
        if(document.all || document.layers)
        {
      ts=el.src
      el.src=el.lowsrc
      el.lowsrc=ts
        }
 }
//-->