// crossfade.js - fades a pair of divs containing image and text
var state = new Array();
var next = new Array();
var txt = new Array();
var hrf = new Array();
var settings = new Array();
settings['cycle']=true;

function changeOpac(opacity, id) {
  var object = document.getElementById(id+1).style; 
  var object2 = document.getElementById(id+2).style; 
  //object.MozOpacity = (opacity / 100);
  //object.KhtmlOpacity = (opacity / 100);
  object.filter = "alpha(opacity=" + opacity + ")"; //IE
  object.opacity = (opacity / 100);
  var opacity2=100-opacity;
  //object2.MozOpacity = (opacity2 / 100);
  //object2.KhtmlOpacity = (opacity2 / 100);
  object2.filter = "alpha(opacity=" + opacity2 + ")"; //IE
  object2.opacity = (opacity2 / 100);
}

function transition(id, opacStart, opacEnd, millisec) {
  //speed for each frame
  var speed = Math.round(millisec / 100);
  var timer = 0; ///// do we need this?
  //determine the direction for the blending, requires start != end
  if(opacStart > opacEnd) {
    for(i = opacStart; i >= opacEnd; i--) {
      setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
      timer++;
    }
  } else if(opacStart < opacEnd) {
    for (i = opacStart; i <= opacEnd; i++) {
      setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
      timer++;
    }
  }
}

// flip the href 1/2 way ... there's only 1 now
function nextp(id, tim) {
  var which=next[id];
  var obj=document.getElementById(id+'h');
  if (state[id]) {
    document.getElementById(id+'1').innerHTML=txt[id][which];
    transition(id,0,50,tim);
    if (obj) obj.href=hrf[id][which];
    transition(id,50,100,tim);
  } else {
    document.getElementById(id+'2').innerHTML=txt[id][which];
    transition(id,100,50,tim);
    if (obj) obj.href=hrf[id][which];
    transition(id,50,0,tim);
  }
  state[id]=!state[id];
  next[id]++;
  if (next[id] >= txt[id].length) {
    if (settings['cycle']) next[id]=0;
    else next[id]=-1;
  }
  if (next[id] >= 0) setTimeout("nextp('"+id+"',"+tim+");",4*tim);
}

