<!--  // 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
   }
}
//-->


