function MM_findObj(n, d) { 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

lyr_array = new Array;
lyr_array[0] = "travel";
lyr_array[1] = "services";
lyr_array[2] = "recreation";
lyr_array[3] = "health";
lyr_array[4] = "government";
lyr_array[5] = "education";
lyr_array[6] = "computers";
lyr_array[7] = "entertainment";
lyr_array[8] = "business";
lyr_array[9] = "culture";
lyr_array[10] = "news";
lyr_array[11] = "reference";

function RC_HideLayers() { 
  for (i=0; i<lyr_array.length; i++) if ((obj=MM_findObj(lyr_array[i]))!=null) {
    if (obj.style) { obj=obj.style; }
    obj.visibility='hidden'; 
    }
}

function MM_showHideLayers() { 
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_timelinePlay(tmLnName, myID) { 
  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) { 
  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_timelineStop(tmLnName) { 
  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 MM_initTimelines() {
    var ns = navigator.appName == "Netscape";
    document.MM_Time = new Array(1);
    document.MM_Time[0] = new Array(14);
    document.MM_Time["m1"] = document.MM_Time[0];
    document.MM_Time[0].MM_Name = "m1";
    document.MM_Time[0].fps = 1;
    document.MM_Time[0][0] = new String("sprite");
    document.MM_Time[0][0].slot = 1;
    if (ns)
        document.MM_Time[0][0].obj = document["business"];
    else
        document.MM_Time[0][0].obj = document.all ? document.all["business"] : null;
    document.MM_Time[0][0].keyFrames = new Array(1, 10);
    document.MM_Time[0][0].values = new Array(0);
    document.MM_Time[0][1] = new String("behavior");
    document.MM_Time[0][1].frame = 10;
    document.MM_Time[0][1].value = "MM_showHideLayers('business','','hide','computers','','hide','culture','','hide','education','','hide','entertainment','','hide','government','','hide','health','','hide','news','','hide','recreation','','hide','reference','','hide','services','','hide','travel','','hide');MM_timelineGoto('m1','1')";
    document.MM_Time[0][2] = new String("behavior");
    document.MM_Time[0][2].frame = 1;
    document.MM_Time[0][2].value = "MM_timelineStop('m1')";
    document.MM_Time[0][3] = new String("sprite");
    document.MM_Time[0][3].slot = 2;
    if (ns)
        document.MM_Time[0][3].obj = document["computers"];
    else
        document.MM_Time[0][3].obj = document.all ? document.all["computers"] : null;
    document.MM_Time[0][3].keyFrames = new Array(1, 10);
    document.MM_Time[0][3].values = new Array(0);
    document.MM_Time[0][4] = new String("sprite");
    document.MM_Time[0][4].slot = 3;
    if (ns)
        document.MM_Time[0][4].obj = document["culture"];
    else
        document.MM_Time[0][4].obj = document.all ? document.all["culture"] : null;
    document.MM_Time[0][4].keyFrames = new Array(1, 10);
    document.MM_Time[0][4].values = new Array(0);
    document.MM_Time[0][5] = new String("sprite");
    document.MM_Time[0][5].slot = 4;
    if (ns)
        document.MM_Time[0][5].obj = document["education"];
    else
        document.MM_Time[0][5].obj = document.all ? document.all["education"] : null;
    document.MM_Time[0][5].keyFrames = new Array(1, 10);
    document.MM_Time[0][5].values = new Array(0);
    document.MM_Time[0][6] = new String("sprite");
    document.MM_Time[0][6].slot = 5;
    if (ns)
        document.MM_Time[0][6].obj = document["entertainment"];
    else
        document.MM_Time[0][6].obj = document.all ? document.all["entertainment"] : null;
    document.MM_Time[0][6].keyFrames = new Array(1, 10);
    document.MM_Time[0][6].values = new Array(0);
    document.MM_Time[0][7] = new String("sprite");
    document.MM_Time[0][7].slot = 6;
    if (ns)
        document.MM_Time[0][7].obj = document["government"];
    else
        document.MM_Time[0][7].obj = document.all ? document.all["government"] : null;
    document.MM_Time[0][7].keyFrames = new Array(1, 10);
    document.MM_Time[0][7].values = new Array(0);
    document.MM_Time[0][8] = new String("sprite");
    document.MM_Time[0][8].slot = 7;
    if (ns)
        document.MM_Time[0][8].obj = document["health"];
    else
        document.MM_Time[0][8].obj = document.all ? document.all["health"] : null;
    document.MM_Time[0][8].keyFrames = new Array(1, 10);
    document.MM_Time[0][8].values = new Array(0);
    document.MM_Time[0][9] = new String("sprite");
    document.MM_Time[0][9].slot = 8;
    if (ns)
        document.MM_Time[0][9].obj = document["news"];
    else
        document.MM_Time[0][9].obj = document.all ? document.all["news"] : null;
    document.MM_Time[0][9].keyFrames = new Array(1, 10);
    document.MM_Time[0][9].values = new Array(0);
    document.MM_Time[0][10] = new String("sprite");
    document.MM_Time[0][10].slot = 9;
    if (ns)
        document.MM_Time[0][10].obj = document["recreation"];
    else
        document.MM_Time[0][10].obj = document.all ? document.all["recreation"] : null;
    document.MM_Time[0][10].keyFrames = new Array(1, 10);
    document.MM_Time[0][10].values = new Array(0);
    document.MM_Time[0][11] = new String("sprite");
    document.MM_Time[0][11].slot = 10;
    if (ns)
        document.MM_Time[0][11].obj = document["reference"];
    else
        document.MM_Time[0][11].obj = document.all ? document.all["reference"] : null;
    document.MM_Time[0][11].keyFrames = new Array(1, 10);
    document.MM_Time[0][11].values = new Array(0);
    document.MM_Time[0][12] = new String("sprite");
    document.MM_Time[0][12].slot = 11;
    if (ns)
        document.MM_Time[0][12].obj = document["services"];
    else
        document.MM_Time[0][12].obj = document.all ? document.all["services"] : null;
    document.MM_Time[0][12].keyFrames = new Array(1, 10);
    document.MM_Time[0][12].values = new Array(0);
    document.MM_Time[0][13] = new String("sprite");
    document.MM_Time[0][13].slot = 12;
    if (ns)
        document.MM_Time[0][13].obj = document["travel"];
    else
        document.MM_Time[0][13].obj = document.all ? document.all["travel"] : null;
    document.MM_Time[0][13].keyFrames = new Array(1, 10);
    document.MM_Time[0][13].values = new Array(0);
    document.MM_Time[0].lastFrame = 10;
    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;
    }
}
