function MM_timelinePlay(tmLnName, myID) { //v1.2
  //Copyright 1997 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_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
  //Copyright 1997 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_initTimelines() {
    //MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
    var ns = navigator.appName == "Netscape";
    document.MM_Time = new Array(1);
    document.MM_Time[0] = new Array(3);
    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("sprite");
    document.MM_Time[0][0].slot = 1;
    if (ns)
        document.MM_Time[0][0].obj = document["FlyingBee"];
    else
        document.MM_Time[0][0].obj = document.all ? document.all["FlyingBee"] : null;
    document.MM_Time[0][0].keyFrames = new Array(1, 10, 14, 18, 30, 55, 78, 83, 94, 112, 124, 131, 143, 159, 166, 181, 185, 192, 208, 226, 233, 251, 257, 280);
    document.MM_Time[0][0].values = new Array(2);
    document.MM_Time[0][0].values[0] = new Array(662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662,662);
    document.MM_Time[0][0].values[0].prop = "left";
    document.MM_Time[0][0].values[1] = new Array(143,150,158,165,172,179,186,191,196,201,202,200,197,195,193,191,194,200,205,211,218,225,232,240,249,259,269,279,290,300,294,288,282,276,270,263,257,250,244,237,230,223,216,209,203,196,190,183,177,171,165,159,154,148,143,145,150,155,159,164,168,172,176,179,183,186,190,193,196,199,202,205,207,210,213,215,218,220,217,212,209,204,200,203,207,210,214,218,222,226,230,235,241,245,240,235,230,224,219,213,207,201,194,188,181,175,169,164,158,153,148,143,147,152,157,162,166,170,174,178,181,184,187,190,189,187,185,183,181,179,180,185,190,195,201,208,215,222,228,234,240,245,250,252,250,249,247,246,245,244,243,242,241,240,239,238,237,236,235,238,240,243,245,248,252,250,244,238,232,225,217,209,201,192,183,175,168,161,155,149,143,142,146,150,155,152,149,146,143,140,135,143,151,159,168,177,187,198,209,221,234,245,256,266,275,284,292,300,304,307,306,304,302,300,299,297,296,295,293,292,291,290,289,287,286,285,287,290,292,294,296,299,295,291,287,282,278,273,268,262,256,250,244,238,232,226,220,215,210,205,200,207,214,220,226,234,240,237,233,230,226,222,218,215,210,206,202,198,193,189,184,180,175,170,166,161,157,152,148,143);
    document.MM_Time[0][0].values[1].prop = "top";
    if (!ns) {
        document.MM_Time[0][0].values[0].prop2 = "style";
        document.MM_Time[0][0].values[1].prop2 = "style";
    }
    document.MM_Time[0][1] = new String("behavior");
    document.MM_Time[0][1].frame = 281;
    document.MM_Time[0][1].value = "MM_timelineGoto('Timeline1','1')";
    document.MM_Time[0][2] = new String("sprite");
    document.MM_Time[0][2].slot = 2;
    if (ns)
        document.MM_Time[0][2].obj = document["insect"];
    else
        document.MM_Time[0][2].obj = document.all ? document.all["insect"] : null;
    document.MM_Time[0][2].keyFrames = new Array(1, 18, 32, 45, 59, 72, 81);
    document.MM_Time[0][2].values = new Array(2);
    document.MM_Time[0][2].values[0] = new Array(0,6,12,17,23,28,34,40,46,52,58,64,71,79,86,95,104,113,126,140,154,167,181,195,209,223,236,250,263,275,288,300,312,323,334,344,354,364,373,381,390,399,408,416,425,433,440,447,455,461,468,475,481,488,494,501,508,515,522,530,538,546,554,562,570,578,586,595,604,614,623,633,648,662,676,690,704,718,732,746,760);
    document.MM_Time[0][2].values[0].prop = "left";
    document.MM_Time[0][2].values[1] = new Array(-50,-43,-35,-27,-19,-11,-4,4,12,19,26,34,40,47,53,59,64,68,71,72,71,69,67,64,61,57,54,51,49,47,45,45,46,48,50,54,57,61,64,68,72,75,78,80,81,81,81,81,80,79,77,75,74,72,70,69,68,67,66,66,67,68,70,71,73,75,76,77,77,76,74,70,61,50,38,24,10,-5,-20,-35,-50);
    document.MM_Time[0][2].values[1].prop = "top";
    if (!ns) {
        document.MM_Time[0][2].values[0].prop2 = "style";
        document.MM_Time[0][2].values[1].prop2 = "style";
    }
    document.MM_Time[0].lastFrame = 281;
    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;
    }
}
