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