/* MMtimelineOldMark.js

Includes the standard code to set up the timelines...

to be used with pre-derivation demos.
Need to add this js and drop the old MM files except initializer


***clr() and loader stuff not needed here?
*/

var ns = (navigator.appName == 'Netscape')
var ns4 = (navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 4 ) ? true : false

var red = "pix/red.jpg";var not = "pix/transp.gif";var blue = "pix/blue.gif"; var green = "pix/green.jpg"
mark = new Image()
mark.src = red
charles = new Image()
charles.src = blue
sara = new Image()
sara.src = green
if ( (location.toString().indexOf('#action')>-1 || location.toString().indexOf('#start')>-1) && navigator.appVersion.indexOf('MSIE 4.')>-1 ) {
	setTimeout("MM_timelinePlay('Timeline1')",50)
	}


var ref
function loader() {
ref = (ns4 && document.Layer1) ? 'document.Layer1.document' : 'document'
ref=eval(ref)
}

function clr() {
for (i=1; i<11; i++) {
	if (typeof ref.f['j'+i] == 'object') ref.f['j'+i].value = (typeof origJ[i]== 'string') ? origJ[i] : ''
	if (typeof ref.f['s'+i] == 'object') ref.f['s'+i].value = (typeof origS[i]== 'string') ? origS[i] : ''
	if (typeof ref.f['b'+i] == 'object') ref.f['b'+i].value = (typeof origB[i]== 'string') ? origB[i] : ''
	if (typeof ref.f['u'+i] == 'object') ref.f['u'+i].value = (typeof origU[i]== 'string') ? origU[i] : ''
	}
off()
}


function MM_timelineStop(tmLnName) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  if (tmLnName == null)  //stop all
    for (var i=0; i<document.MM_Time.length; i++) document.MM_Time[i].ID = null;
  else document.MM_Time[tmLnName].ID = null; //stop one
}

function setSpeed() {
if (document.cookie.length > 0) { // if there are any cookies 
	var search = "SpeedSTART"     
	offset = document.cookie.indexOf(search)      
 	if (offset != -1) { // if speed exists          
		offset += search.length          // set index of beginning of value        
 		end = document.cookie.indexOf("SpeedEND", offset)          // set index of end of speed value  
		if (end == -1) end = document.cookie.length        
 		var fps = parseInt(unescape(document.cookie.substring(offset, end)))
		document.MM_Time[0].delay /= (fps/2)
  		}    
	}
}

function MM_timelinePlay(tmLnName, myID) { //modified for setSpeed
  //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
		setSpeed() // my addition
		}
  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_callJS(jsStr) { //v2.0
  return eval(jsStr)
}

