function fade(obj,n,dir,dest) {
  if(document.images[obj].filters.alpha) {
    document.images[obj].filters.alpha.opacity = n;
    var diff = (dir * (dest - n));
    if(diff > 0) {
      setTimeout('fade("'+obj+'",'+(n+(dir*5))+','+dir+','+dest+')',100);
    }
  }
}

function fadein(obj,n) {
  fade(obj,n,1,100);
}

function fadeout(obj,n) {
  fade(obj,n,-1,0);
}

function tickeradditem(text,url,image) {
  this.textlist[this.length] = text;
  this.urllist[this.length] = url;
  this.imagelist[this.length] = image;
  this.length++;
}

function tickerdisplay(ostr) {
  var obj = eval(ostr);
  var imagename = ostr+"storyimage";
  var imageobj = document.images[imagename];
  var fadetime = 2000;
  var delay = 100;
  if(obj.length <= 0) {
    return;
  }
  var text = obj.textlist[obj.currentitem];
  var url = obj.urllist[obj.currentitem];
  var image = obj.imagelist[obj.currentitem];
  var npos;
  if(obj.currentpos <= text.length) {
    if(obj.currentpos == 0) {
      if(imageobj) {   
        if(image) {
          imageobj.src = "http://www.tiscali.co.uk"+image;
        } else {
          imageobj.src = "http://www.tiscali.co.uk/images/t.gif";
        }
        fadein(imagename,0);
      }
    }
    if(text.charAt(obj.currentpos) == '<') {
      npos = text.indexOf(">",obj.currentpos);
      if(npos >= 0) {
        obj.currentpos = npos;
      }
    } else if(text.charAt(obj.currentpos) == '&') {
      npos = text.indexOf(";",obj.currentpos);
      if(npos >= 0) {
        obj.currentpos = npos;
      }
    }
    var res = '<A href="'+url+'">'+text.substring(0,obj.currentpos)+'</A>';
    var div = document.all[obj.divname];
    div.innerHTML = res;
    obj.currentpos++;
  } else {
    obj.currentpos = 0;
    obj.currentitem = (obj.currentitem + 1) % obj.length;
    delay = fadetime + 1000;
    if(imageobj) {
      setTimeout('fadeout("'+imagename+'",100)',1000);
    }
  }
  setTimeout('tickerdisplay(\"'+ostr+'\")',delay);
}

function ticker(divname) {
  this.textlist = new Array();
  this.urllist = new Array();
  this.imagelist = new Array();
  this.length = 0;
  this.currentitem = 0;
  this.currentpos = 0;
  this.divname = divname;
  this.additem = tickeradditem;
}