// Global variables
var ajax_slideshow_current = 0;
var ajax_slideshow_slide_time = 6500; // Duration of each slide
var ajax_slideshow_fade_time = 20; // Duration of the fade transitions between slides
var current_link;

// This function fades a layer in.
function fadeIn(x,final_opacity){
  document.getElementById(x).style.filter = 'alpha(opacity=0)';
  document.getElementById(x).style.visibility = 'visible';
  for(i=0;i<=final_opacity;i++){
    var fade_cmd = "document.getElementById('" + x + "').style.filter = 'alpha(opacity=" + i + ")';";
    fade_cmd += "document.getElementById('" + x + "').style.MozOpacity = '" + (i / 100) + "';";
    setTimeout(fade_cmd,(ajax_slideshow_fade_time * i));
  }
}

// This function fades a layer out.
function fadeOut(x,starting_opacity){
  for(i=starting_opacity;i>=0;i--){
    var fade_cmd = "document.getElementById('" + x + "').style.filter = 'alpha(opacity=" + i + ")';";
    fade_cmd += "document.getElementById('" + x + "').style.MozOpacity = '" + (i / 100) + "';";
    setTimeout(fade_cmd,(ajax_slideshow_fade_time - (i * 10)));
  }
  setTimeout("document.getElementById('" + x + "').style.visibility = 'hidden';",(ajax_slideshow_fade_time * 100));
}

// This function moves forward by one in the slideshow.
function ajaxSlideShowForward(jump){
  if(ajax_slideshow_current < (ajax_slideshow_data.length - 1)){
    ajax_slideshow_current++;
  } else {
    ajax_slideshow_current = 0;
  }
  ajaxSlideShowSetSlide(ajax_slideshow_current,jump);
}

// This function moves backward by one in the slideshow.
function ajaxSlideShowBack(jump){
  if(ajax_slideshow_current > 0){
    ajax_slideshow_current--;
  } else {
    ajax_slideshow_current = (ajax_slideshow_data.length - 1);
  }
  ajaxSlideShowSetSlide(ajax_slideshow_current,jump);
}

// This function sets the current slide in the slideshow.
function ajaxSlideShowSetSlide(slide,jump){
  var title = '';
  title = ajax_slideshow_data[ajax_slideshow_current]['title'];
  current_link = ajax_slideshow_data[ajax_slideshow_current]['guid'];
  title = "<a href=\"" + ajax_slideshow_data[slide]['guid'] + "\">" + title + "</a>";
  document.getElementById('ajax_slideshow_title').innerHTML = title; 
  document.getElementById('ajax_slideshow_inner_layer_0').style.backgroundImage = document.getElementById('ajax_slideshow_inner_layer_1').style.backgroundImage;
  document.getElementById('ajax_slideshow_inner_layer_1').style.display = 'none';
  if(jump == 0){
    fadeIn('ajax_slideshow_inner_layer_1',100); 
  }
  document.getElementById('ajax_slideshow_inner_layer_1').style.backgroundImage = "url('" + ajax_slideshow_data[ajax_slideshow_current]['img_link'] + "')";
  setTimeout('document.getElementById(\'ajax_slideshow_inner_layer_1\').style.display = \'block\'',40);
}

// This function keeps the slideshow moving.
function ajaxSlideShowPlay(){
  ajaxSlideShowForward(0); // With fades, no jump
  setTimeout('ajaxSlideShowPlay()',ajax_slideshow_slide_time);
}

// Functions for arrow mouseovers.  :hover works fine in Firefox, but not in IE.
function rollOver(obj,state){
  if(state == 1){
    //obj.style.filter = 'alpha(opacity=100)';
    //obj.style.MozOpacity = '1';
    //obj.style.visiblity = 'show';
  } else {
    //obj.style.filter = 'alpha(opacity=0)';
    //obj.style.MozOpacity = '0';
    //obj.style.visibility = 'hidden';
  }
}

// Writes the placeholder HTML for the AJAX slideshow.
function ajaxSlideShow(){
  // Write the HTML
  var out = '';
  out += "<div id=\"ajax_slideshow_inner_layer_0\" onClick=\"top.location.href=current_link;\">\n";
  out += "  <div id=\"ajax_slideshow_inner_layer_1\" onClick=\"top.location.href=current_link;\">\n";
  out += "  </div>\n";
  out += "</div>\n";
  out += "<div id=\"ajax_slideshow_title_background\" onClick=\"top.location.href=current_link;\">\n";
  out += "  <div id=\"ajax_slideshow_title\">Title</div>\n";
  out += "</div>\n";
  out += "<div id=\"ajax_slideshow_left_arrow\" onClick=\"ajaxSlideShowBack(1);\" ></div>\n";
  out += "<div id=\"ajax_slideshow_right_arrow\" onClick=\"ajaxSlideShowForward(1);\" ></div>\n";
  out += "<div id=\"ajax_slideshow_header\"></div>\n";
  document.getElementById('ajax_slideshow').innerHTML = out;
  // Start the slideshow
  ajaxSlideShowPlay();
}
