/*****

Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com

Please leave this notice intact. 

Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html


*****/


// window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);


var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;
var Text = new Array();
var obj = false;



function getData() {
//  var goUrl = "data.xml";
  if (window.XMLHttpRequest) { // Non-IE browsers
    obj = new XMLHttpRequest();
//  obj.onreadystatechange = xmlReady;

    obj.onreadystatechange = function(evt){
      if (obj.readyState == 4) {
        if(obj.status == 200)  {
          xmlReady();
        } else {
          document.write('Error processing request');
        }
      }
    };

    try {
      obj.open("GET", goUrl, true);
    } catch (e) {
      alert(e);
    }
    obj.send(null);
  } else if (window.ActiveXObject) { // IE
    obj = new ActiveXObject("Microsoft.XMLHTTP");
    if (obj) {
//    obj.onreadystatechange = xmlReady;

      obj.onreadystatechange = function(evt){
        if (obj.readyState == 4) {
          if(obj.status == 200)  {
            xmlReady();
          } else {
            document.write('Error processing request');
          }
        }
      };

      obj.open("GET", goUrl, true);
      obj.send();
    }
  }
}



function xmlReady() {
  if (obj.readyState == 4) {
    if (obj.status == 200) {
      var xmldoc = obj.responseXML;
      var photos = xmldoc.documentElement.getElementsByTagName("photo");
      var image ="";
      var nummer;
      for (var i = 0; i < 4; i++) {
        nummer = Math.round(photos.length * Math.random())-1;
        image = image + photos[nummer].getAttribute("image");
        Text[i] = photos[nummer].getAttribute("title");
        // alert("photos.length=" + photos.length + " i=" + i + " nummer=" + nummer + " image=" + image + " Text[i]=" + Text[i]);
      }
      document.getElementById("hotelimage").innerHTML = image;
    } else {
      alert('There was a problem with the request.');
    }
  }
  so_init();
}




function so_init() {

  if(!d.getElementById || !d.createElement)return;
  imgs = d.getElementById("hotelimage").getElementsByTagName("a");

  for(i=1;i<imgs.length;i++) {

    imgs[i].xOpacity = 0;

  }

  imgs[0].style.display = "block";

  imgs[0].xOpacity = .99;

  set_text(0)
;
  setTimeout(so_xfade,6000);
}




function set_text(id)
{
  obj=document.getElementById('hoteltitle');

  if(Text[id]) {

    //obj.style.display = "block";

    obj.innerHTML= Text[id];

    $('#hotelname').slideDown('slow');

  } else {

    //obj.style.display = "none";

  }

}



function so_xfade() {

  cOpacity = imgs[current].xOpacity;

  nIndex = imgs[current+1]?current+1:0;

  nOpacity = imgs[nIndex].xOpacity;

  cOpacity-=.06;
  nOpacity+=.06;

  imgs[nIndex].style.display = "block";

  imgs[current].xOpacity = cOpacity;

  imgs[nIndex].xOpacity = nOpacity;

  setOpacity(imgs[current]);
  setOpacity(imgs[nIndex]);

  if(cOpacity<=0) {

    set_text(nIndex);

    imgs[current].style.display = "none";

    current = nIndex;

    setTimeout(so_xfade,7000);

  } else {

    setTimeout(so_xfade,80);

    $('#hotelname').slideUp('slow');

  }


  function setOpacity(obj) {

    if(obj.xOpacity>.99) {

      obj.xOpacity = .99;

      return;

    }

    obj.style.opacity = obj.xOpacity;

    obj.style.MozOpacity = obj.xOpacity;

    obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";

  }


}







