// crossfade.js - fades a pair of divs containing image and text
var state = new Array(); // 0..3
var next = new Array();  // 0..# of items
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, speed) {
  //document.getElementById(id+3).innerText=""+opacStart;
  changeOpac(opacStart,id);
  if(opacStart > opacEnd) {        // fading out
    opacStart--;
    setTimeout("transition('" + id + "'," + opacStart + "," + opacEnd + "," + speed + ")",speed);
  } else if(opacStart < opacEnd) { // fading in
    opacStart++;
    setTimeout("transition('" + id + "'," + opacStart + "," + opacEnd + "," + speed + ")",speed);
  } else nextp(id,speed);
}

function nextp(id, speed) { // tim is sec for whole cycle
  var which=next[id];
  if (!state[id]) state[id]=0;
  switch (state[id]) {
    case 0:
      document.getElementById(id+'1').innerHTML=txt[id][which];
      transition(id,0,50,speed);
      break;
    case 1:
      var obj=document.getElementById(id+'h');
      if (obj) obj.href=hrf[id][which];
      transition(id,50,100,speed);
      break;
    case 2:
      document.getElementById(id+'2').innerHTML=txt[id][which];
      transition(id,100,50,speed);
      break;
    case 3:
      transition(id,50,0,speed);
      next[id]++;
      if (next[id] >= txt[id].length) next[id]=0;
  }
  state[id]++; if (state[id] > 3) {
    state[id]=0;
  }
}

