﻿function MM_effectAppearFade(targetElement, duration, from, to, toggle) {
    Spry.Effect.DoFade(targetElement, { duration: duration, from: from, to: to, toggle: toggle });
}

function MM_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
    //Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Macromedia, Inc. All rights reserved.
    var i, j, tmLn, props, keyFrm, sprite, numKeyFr, firstKeyFr, lastKeyFr, propNum, theObj;
    if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
    tmLn = document.MM_Time[tmLnName];
    if (numGotos != null)
        if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
        else if (tmLn.gotoCount++ >= numGotos) { tmLn.gotoCount = 0; return }
    jmpFwd = (fNew > tmLn.curFrame);
    for (i = 0; i < tmLn.length; i++) {
        sprite = (jmpFwd) ? tmLn[i] : tmLn[(tmLn.length - 1) - i]; //count bkwds if jumping back
        if (sprite.charAt(0) == "s") {
            numKeyFr = sprite.keyFrames.length;
            firstKeyFr = sprite.keyFrames[0];
            lastKeyFr = sprite.keyFrames[numKeyFr - 1];
            if ((jmpFwd && fNew < firstKeyFr) || (!jmpFwd && lastKeyFr < fNew)) continue; //skip if untouchd
            for (keyFrm = 1; keyFrm < numKeyFr && fNew >= sprite.keyFrames[keyFrm]; keyFrm++);
            for (j = 0; j < sprite.values.length; j++) {
                props = sprite.values[j];
                if (numKeyFr == props.length) propNum = keyFrm - 1 //keyframes only
                else propNum = Math.min(Math.max(0, fNew - firstKeyFr), props.length - 1); //or keep in legal range
                if (sprite.obj != null) {
                    if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
                    else sprite.obj[props.prop2][props.prop] = props[propNum];
                }
            }
        } else if (sprite.charAt(0) == 'b' && fNew == sprite.frame) eval(sprite.value);
    }
    tmLn.curFrame = fNew;
    if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}

function MM_timelinePlay(tmLnName, myID) { //v1.2
    //Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Macromedia, Inc. All rights reserved.
    var i, j, tmLn, props, keyFrm, sprite, numKeyFr, firstKeyFr, propNum, theObj, firstTime = false;
    if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
    tmLn = document.MM_Time[tmLnName];
    if (myID == null) { myID = ++tmLn.ID; firstTime = true; } //if new call, incr ID
    if (myID == tmLn.ID) { //if Im newest
        setTimeout('MM_timelinePlay("' + tmLnName + '",' + myID + ')', tmLn.delay);
        fNew = ++tmLn.curFrame;
        for (i = 0; i < tmLn.length; i++) {
            sprite = tmLn[i];
            if (sprite.charAt(0) == 's') {
                if (sprite.obj) {
                    numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
                    if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr - 1]) {//in range
                        keyFrm = 1;
                        for (j = 0; j < sprite.values.length; j++) {
                            props = sprite.values[j];
                            if (numKeyFr != props.length) {
                                if (props.prop2 == null) sprite.obj[props.prop] = props[fNew - firstKeyFr];
                                else sprite.obj[props.prop2][props.prop] = props[fNew - firstKeyFr];
                            } else {
                                while (keyFrm < numKeyFr && fNew >= sprite.keyFrames[keyFrm]) keyFrm++;
                                if (firstTime || fNew == sprite.keyFrames[keyFrm - 1]) {
                                    if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm - 1];
                                    else sprite.obj[props.prop2][props.prop] = props[keyFrm - 1];
                                }
                            }
                        }
                    }
                }
            } else if (sprite.charAt(0) == 'b' && fNew == sprite.frame) eval(sprite.value);
            if (fNew > tmLn.lastFrame) tmLn.ID = 0;
        }
    }
}

function MM_initTimelines() { //v4.0
    //MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
    var ns = navigator.appName == "Netscape";
    var ns4 = (ns && parseInt(navigator.appVersion) == 4);
    var ns5 = (ns && parseInt(navigator.appVersion) > 4);
    var macIE5 = (navigator.platform ? (navigator.platform == "MacPPC") : false) && (navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4);

    document.MM_Time = new Array(2);

    document.MM_Time[0] = new Array(5);
    document.MM_Time["Timeline1"] = document.MM_Time[0];
    document.MM_Time[0].MM_Name = "Timeline1";
    document.MM_Time[0].fps = 15;

    document.MM_Time[0][0] = new String("behavior");
    document.MM_Time[0][0].frame = 1;
    document.MM_Time[0][0].value = "MM_effectAppearFade('apDiv7', 1000, 0, 100, false)";
    document.MM_Time[0][1] = new String("behavior");
    document.MM_Time[0][1].frame = 60;
    document.MM_Time[0][1].value = "MM_effectAppearFade('apDiv7', 1000, 100, 0, false)";

    document.MM_Time[0][2] = new String("behavior");
    document.MM_Time[0][2].frame = 61;
    document.MM_Time[0][2].value = "MM_effectAppearFade('apDiv8', 1000, 0, 100, false)";
    document.MM_Time[0][3] = new String("behavior");
    document.MM_Time[0][3].frame = 119;
    document.MM_Time[0][3].value = "MM_effectAppearFade('apDiv8', 1000, 100, 0, false)";

    document.MM_Time[0][4] = new String("behavior");
    document.MM_Time[0][4].frame = 120;
    document.MM_Time[0][4].value = "MM_timelineGoto('Timeline1','1')";
    document.MM_Time[0].lastFrame = 120;

    document.MM_Time[1] = new Array(9);
    document.MM_Time["Timeline2"] = document.MM_Time[1];
    document.MM_Time[1].MM_Name = "Timeline2";
    document.MM_Time[1].fps = 15;

    document.MM_Time[1][0] = new String("behavior");
    document.MM_Time[1][0].frame = 305;
    document.MM_Time[1][0].value = "MM_timelineGoto('Timeline2','1')";

    document.MM_Time[1][1] = new String("behavior");
    document.MM_Time[1][1].frame = 1;
    document.MM_Time[1][1].value = "MM_effectAppearFade('apDiv6', 1000, 0, 100, false)";
    document.MM_Time[1][2] = new String("behavior");
    document.MM_Time[1][2].frame = 60;
    document.MM_Time[1][2].value = "MM_effectAppearFade('apDiv6', 1000, 100, 0, false)";

    document.MM_Time[1][3] = new String("behavior");
    document.MM_Time[1][3].frame = 62;
    document.MM_Time[1][3].value = "MM_effectAppearFade('apDiv7', 1000, 0, 100, false)";
    document.MM_Time[1][4] = new String("behavior");
    document.MM_Time[1][4].frame = 120;
    document.MM_Time[1][4].value = "MM_effectAppearFade('apDiv7', 1000, 100, 0, false)";

    document.MM_Time[1][5] = new String("behavior");
    document.MM_Time[1][5].frame = 122;
    document.MM_Time[1][5].value = "MM_effectAppearFade('apDiv8', 1000, 0, 100, false)";
    document.MM_Time[1][6] = new String("behavior");
    document.MM_Time[1][6].frame = 184;
    document.MM_Time[1][6].value = "MM_effectAppearFade('apDiv8', 1000, 100, 0, false)";

    document.MM_Time[1][7] = new String("behavior");
    document.MM_Time[1][7].frame = 186;
    document.MM_Time[1][7].value = "MM_effectAppearFade('apDiv9', 1000, 0, 100, false)";
    document.MM_Time[1][8] = new String("behavior");
    document.MM_Time[1][8].frame = 244;
    document.MM_Time[1][8].value = "MM_effectAppearFade('apDiv9', 1000, 100, 0, false)";

    document.MM_Time[1][9] = new String("behavior");
    document.MM_Time[1][9].frame = 246;
    document.MM_Time[1][9].value = "MM_effectAppearFade('apDiv10', 1000, 0, 100, false)";
    document.MM_Time[1][10] = new String("behavior");
    document.MM_Time[1][10].frame = 304;
    document.MM_Time[1][10].value = "MM_effectAppearFade('apDiv10', 1000, 100, 0, false)";

    document.MM_Time[1].lastFrame = 305;

    for (i = 0; i < document.MM_Time.length; i++) {
        document.MM_Time[i].ID = null;
        document.MM_Time[i].curFrame = 0;
        document.MM_Time[i].delay = 1000 / document.MM_Time[i].fps;
    }
}

