// TimeLine mobility handler - Javascript file
//
function W_Play(tmLnName, actNo, myID) { //v1.2
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,act,firstTime=false;
  act = parseInt(actNo);
  if (document.W_Time == null) W_initTimelines(); //if *very* 1st time
  tmLn = document.W_Time[ tmLnName];
  if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
  if (myID == tmLn.ID) { //if Im newest
    setTimeout('W_Play("'+tmLnName+'","'+actNo+'",'+myID+')',tmLn.delay);
    fNew = ++tmLn.curFrame;
    for (i=0; i<tmLn.length; i++) {
	  if (i != act) {
      var 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 W_LinkTo(urllink, actNo)
{
	 W_Play('Timeline2',actNo);
	 setTimeout('window.location.replace("'+urllink+'")',1000)
}

//Build apptopriate timeline array for running later
function W_buildTimeline(title,ary,ele,xstrt,ystrt,xend,yend){
    tmp=document.W_Time;
    tmp[ary][ele] = new String("sprite");
    tmp[ary][ele].slot = ele+1;
    if (ns4)
        tmp[ary][ele].obj = document[title];
    else if (ns5)
        tmp[ary][ele].obj = document.getElementById(title);
    else
        tmp[ary][ele].obj = document.all ? document.all[title] : null;
    tmp[ary][ele].keyFrames = new Array(1, 15);
    tmp[ary][ele].values = new Array(3);
    tmp[ary][ele].values[0] = new Array(15);
    tmp[ary][ele].values[0].prop = "left";
    tmp[ary][ele].values[1] = new Array(15);
    tmp[ary][ele].values[1].prop = "top";
    if (!ns4) {
        tmp[ary][ele].values[0].prop2 = "style";
        tmp[ary][ele].values[1].prop2 = "style";
    }
    tmp[ary][ele].values[2] = new Array("visible","visible");
    tmp[ary][ele].values[2].prop = "visibility";
    if (!ns4)
        tmp[ary][ele].values[2].prop2 = "style";
	var str="";
	for (j=0; j<2; j++) {
//		var strtv=tmp[ary][ele].values[j][0];
//		var endv=tmp[ary][ele].values[j][1];
		var strtv=arguments[3+j];
		var endv=arguments[5+j];
		for (i=0; i<tmp[ary][ele].values[j].length; i++) {
			str = strtv + Math.ceil(((endv-strtv)/14)*i);
			if (ns5)
				tmp[ary][ele].values[j][i] = str + "px";
			else
				tmp[ary][ele].values[j][i] = str;
    } } 

   }


