<!--
  // 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")
    ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
    if(!ie4)
    {
      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
      {
        elprops=el
        scrollOffsetTop=window.pageYOffset
        docHeight=window.innerHeight
        docWidth=window.innerWidth
        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
            elprops.clip="rect(0 0 0 0)"
          }
          else if (!ie4)
          {
            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)
          {
            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)
    {
      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)
    {
      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
      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)
      {
        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
        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)
      {
        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  = 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
        }
  }
//-->

