
xlib_wait = setInterval("check_xlib()",100);

function check_xlib(){
  if(window.xAddEventListener){
    clearInterval(xlib_wait);
    xlib_loaded();
    }
  }

function xlib_loaded(){
 /* var body = document.getElementsByTagName('BODY')[0];
  if(body && body.readyState == 'loaded')init_fader();
    else xAddEventListener(window,"load",init_fader);*/
  init_fader();
  }

function init_fader(){
  var faders = xGetElementsByClassName("fader_container");
  
  var em_len = faders.length;

  for(var x=0; x < em_len; x++){
    start_fader(faders[x]);
    }
  }

function start_fader(fader_div){
  var fader_name = fader_div.id;
  var fader_name = fader_name.substr(String("fader_").length);
  var fader_def = eval(fader_name);
  if(!fader_def)return;//no fader definition so not doing anything.

  var els = xGetElementsByClassName("fader_element",fader_div);
  var em_len = els.length;

  if(em_len > 1){
    run_fader(fader_div);
    }
  }

function run_fader(fader_div, next_element){
  var fader_name = fader_div.id;
  var fader_name = fader_name.substr(String("fader_").length);
  var fader_def = eval(fader_name);
  if(!next_element)next_element = 0;
  if(!fader_def[next_element])next_element = 0;
  if(!fader_def[next_element])return;

  slide_def = fader_def[next_element];
  var els = xGetElementsByClassName("fader_element",fader_div);
  var fader_element = els[next_element];

  fader_element.style.left = "0px";
  fader_element.style.display = "block";
  fader_element.style.zIndex = els.length;

  fader_element.onslideend = function reset_slide(){
    fader_element.style.left = "0px";
    fader_element.style.zIndex = 0;
    xOpacity(fader_element, 1);
    zed_shuffle(els, next_element);
    run_fader(fader_div, next_element+1);
    }

  setTimeout(function(){
    if(slide_def["fader_type"] == "slide")xSlideTo(fader_element,slide_def["width"], xTop(fader_element), 500);
      else xAniOpacity(fader_element, 0, 500, 0, fader_element.onslideend);
    }, slide_def["delay"]);
  }

function zed_shuffle(els, next_element){
  var z_len = els.length;

  for(var x=0; x < z_len; x++){
    if(next_element == x){
      els[x].style.zIndex = 0;
     // alert("here");
      }else {
	var new_zed = els[x].style.zIndex;
	new_zed = new Number(new_zed);
	new_zed++;
	els[x].style.zIndex = new_zed;
	}
    }  
  }
