var Pause = 4000; /* in milliseconds (eg 1000 = 1 second) */
/* The Button images (below) require a complete URL !NOT! a relative URL */
var ButtonActiveImage = 'interface/gfx/button-active.gif';
var ButtonOffImage = 'interface/gfx/button-default.gif';
var ButtonOverImage = 'interface/gfx/button-over.gif';
/* Clear Variables */
var ImageArr = new Array(6);
var URLArray= new Array(6);
var ShortAltArray = new Array(6);
var LongAltArray = new Array(6);
var MouseOverImg = new Array(5);
var MouseOverURL = new Array(5);
var MouseOverAlt = new Array(5);
var ImageNumber = 0;
var i=0;
var tmp;
var timerID;
/* Image URL and Alt Arrays for sliding images are here */

ImageArr[0]      = new ImageItemArray('interface/images/SlideshowImages/aboutus.jpg');
URLArray[0]      = 'http://www.westernpower.com.au/aboutus/aboutus.html';
ShortAltArray[0] = 'About us';
LongAltArray[0]  = 'Western Power: Connecting people with energy';

ImageArr[1]      = new ImageItemArray('interface/images/SlideshowImages/fringeworld12.jpg');
URLArray[1]      = 'http://www.westernpower.com.au/aboutus/mediaCentre/news/2012_fringe_world_festival.html';
ShortAltArray[1] = 'Fringe World 2012';
LongAltArray[1]  = 'Fringe World 2012';

ImageArr[2]      = new ImageItemArray('interface/images/SlideshowImages/restoring_power_summer.jpg');
URLArray[2]      = 'http://www.westernpower.com.au/safety/Power_reliability_during_summer.html';
ShortAltArray[2] = 'Power reliability during summer';
LongAltArray[2]  = 'Power reliability during summer';

ImageArr[3]      = new ImageItemArray('interface/images/SlideshowImages/price_of_power.jpg');
URLArray[3]      = 'http://www.westernpower.com.au/documents/reportspublications/brochures/WE_n8786129_v2_Price_of_power_brochure_online.pdf';
ShortAltArray[3] = 'The Price of Power';
LongAltArray[3]  = 'The Price of Power brochure is now available';

ImageArr[4]      = new ImageItemArray('interface/images/SlideshowImages/aa3.jpg');
URLArray[4]      = 'http://www.westernpower.com.au/aboutus/accessArrangement/accessArrangement.html';
ShortAltArray[4] = 'Access Arrangement 3';
LongAltArray[4]  = 'Our Access Arrangement submission to the ERA.';

ImageArr[5]      = new ImageItemArray('interface/images/SlideshowImages/apr2011.jpg');
URLArray[5]      = 'http://www.westernpower.com.au/aboutus/mediaCentre/news/2011_apr.html';
ShortAltArray[5] = '2011 APR';
LongAltArray[5]  = '2011 Annual Planning Report is now available.';



/* These contain the mouseover images, urls and alt tags etc */

MouseOverImg[0] = 'interface/images/landingpages/residentialcustomersLanding.jpg';
MouseOverURL[0] = 'http://westernpower.com.au/residents/index.html';
MouseOverAlt[0] = 'Residential customers';
MouseOverImg[1] = 'interface/images/landingpages/businesscusomterLanding.jpg';
MouseOverURL[1] = 'http://westernpower.com.au/business/index.html';
MouseOverAlt[1] = 'Business customers';
MouseOverImg[2] = 'interface/images/landingpages/landdevelopers.jpg';
MouseOverURL[2] = 'http://westernpower.com.au/ldd/index.html';
MouseOverAlt[2] = 'Land developers and designers';
MouseOverImg[3] = 'interface/images/landingpages/electricalcontractors.jpg';
MouseOverURL[3] = 'http://westernpower.com.au/electricalcontractors/index.html';
MouseOverAlt[3] = 'Electrical contractors';
MouseOverImg[4] = 'interface/images/landingpages/lgaLanding.jpg';
MouseOverURL[4] = 'http://westernpower.com.au/lga/index.html';
MouseOverAlt[4] = 'Local governments';

/* The functions start here
----------------------------
DO NOT EDIT BELOW THIS LINE!
----------------------------
*/
var TotalImages = ImageArr.length;
var ixf = { 'clock' : null, 'count' : 1 }

function AllocateButtons() {
  /* This function sets the ALT array for the button images */
  for (i=0;i<6;i++) {
    document.getElementById("button" + i).title = ShortAltArray[i];
    document.getElementById("button" + i).alt = ShortAltArray[i];
    document.getElementById("button" + i).src = ButtonOffImage;
  }
}

function ImageItemArray(image_location) {
  /* This function sets up a new image array and sets the source location */
  this.image_item = new Image();
  this.image_item.src = image_location;
  //alert(image_location);
}

function get_ImageItemLocation(imageObj) {
  /* This function gets the source location from the image array */
  return(imageObj.image_item.src);
}

function getNextImage() {
  if (TotalImages != 0) {
    ImageNumber = (ImageNumber+1) % TotalImages;
  } else {
    ImageNumber = 0;
  }
  for (i=0;i<6;i++) {
    document.getElementById("button" + i).src = ButtonOffImage;
  }
  document.getElementById("button" + ImageNumber).src = ButtonActiveImage;
  document.getElementById('SlideURL').href = URLArray[ImageNumber];
  document.getElementById('BannerImage').alt = LongAltArray[ImageNumber];
  document.getElementById('BannerImage').title = LongAltArray[ImageNumber];
  var new_image = get_ImageItemLocation(ImageArr[ImageNumber]);
  return(new_image);
}

function getSpecific(loc) {
  tmp = parseInt(loc);
  ImageNumber = (tmp) % TotalImages;
  var new_image = get_ImageItemLocation(ImageArr[ImageNumber]);
  return(new_image);
}

function showImage(numb,place) {
  var new_image = getSpecific(numb);
  document['BannerImage'].src = new_image;
  /* reset all the white buttons */
  for (i=0;i<6;i++) {
    document.getElementById("button" + i).src = ButtonOffImage;
  }
  /* display orange button for hover */
  document.getElementById("button" + numb).src = ButtonActiveImage;
  /* set image properties */
  document.getElementById('SlideURL').href = URLArray[numb];
  document.getElementById('BannerImage').alt = LongAltArray[numb];
  document.getElementById('BannerImage').title = LongAltArray[numb];
}

function ShowHover(loc,func) {
  if (func=="on") {
    document.getElementById("button" + loc).src = ButtonOverImage;
  } else {
    var tmp = document.getElementById("button" + loc).src;
    if (tmp == ButtonActiveImage) {
      document.getElementById("button" + loc).src = ButtonActiveImage;
    } else {
      document.getElementById("button" + loc).src = ButtonOffImage;
    }
  }
}

function SwitchImage(place) {
  document.getElementById('ButtonContainer').style.visibility = 'visible';
  var new_image = getNextImage();
  if (document.getElementById('BannerImage').filters && document.getElementById('BannerImage').filters.length>0) {
    document.getElementById('BannerImage').filters[0].apply();
  }
  if (document.getElementById('BannerImage').filters && document.getElementById('BannerImage').filters.length>0) {
    document[place].src = new_image;
    document.getElementById('BannerImage').filters[0].play(1);
  } else {
     crossfade(document.getElementById('BannerImage'), new_image, '1');
  }
  PauseThenStart(1);
}

function ChangeImage(loc,func) {
  if (func == "on") {
    clearTimeout(timerID);
    document.getElementById('ButtonContainer').style.visibility = 'hidden';
    document.getElementById('SlideURL').href = MouseOverURL[loc];
    document.getElementById('BannerImage').src = MouseOverImg[loc];
    document.getElementById('BannerImage').alt = MouseOverAlt[loc];
    document.getElementById('BannerImage').title = MouseOverAlt[loc];
  } else {
    PauseThenStart(1);
  }
}

function ClearTimer() {
  clearTimeout(timerID);
}

function PauseThenStart(Time1) {
  var backon = "SwitchImage('BannerImage')";
  var Time2 = parseInt(Time1) * Pause;
  timerID = setTimeout(backon, Time2);
}

//crossfade setup function - brothercake!
function crossfade() {
  if(ixf.clock == null) {
    ixf.obj = arguments[0];
    ixf.src = arguments[1];
    if(typeof ixf.obj.style.opacity != 'undefined') {
      ixf.type = 'w3c';
    } else if(typeof ixf.obj.style.MozOpacity != 'undefined') {
      ixf.type = 'moz';
    } else if(typeof ixf.obj.style.KhtmlOpacity != 'undefined') {
      ixf.type = 'khtml';
    } else if(typeof ixf.obj.filters == 'object') {
      ixf.type = (ixf.obj.filters.length > 0 && typeof ixf.obj.filters.alpha == 'object' && typeof ixf.obj.filters.alpha.opacity == 'number') ? 'ie' : 'none';
    } else {
      ixf.type = 'none';
    }
    if(typeof arguments[3] != 'undefined' && arguments[3] != '') {
      ixf.obj.alt = arguments[3];
    }
    if(ixf.type != 'none') {
      ixf.newimg = document.getElementsByTagName('body')[0].appendChild((typeof document.createElementNS != 'undefined') ? document.createElementNS('http://www.w3.org/1999/xhtml', 'img') : document.createElement('img'));
      ixf.newimg.className = 'idupe';
      ixf.newimg.src = ixf.src
      ixf.newimg.style.left = ixf.getRealPosition(ixf.obj, 'x') + 'px';
      //alert(ixf.newimg.style.left);
      ixf.newimg.style.top = ixf.getRealPosition(ixf.obj, 'y') + 'px';
      //alert(ixf.newimg.style.top);
      ixf.length = parseInt(arguments[2], 10) * 1000;
      ixf.resolution = parseInt(arguments[2], 10) * 20;
      ixf.clock = setInterval('ixf.crossfade()', ixf.length/ixf.resolution);
    } else {
      ixf.obj.src = ixf.src;
    }
  }
};

//crossfade timer function
ixf.crossfade = function() {
  ixf.count -= (1 / ixf.resolution);
  if(ixf.count < (1 / ixf.resolution)) {
    clearInterval(ixf.clock);
    ixf.clock = null;
    ixf.count = 1;
    ixf.obj.src = ixf.src;
  }
  switch(ixf.type) {
    case 'ie' :
      ixf.obj.filters.alpha.opacity = ixf.count * 100;
      ixf.newimg.filters.alpha.opacity = (1 - ixf.count) * 100;
      break;
    case 'khtml' :
      ixf.obj.style.KhtmlOpacity = ixf.count;
      ixf.newimg.style.KhtmlOpacity = (1 - ixf.count);
      break;
    case 'moz' :
      ixf.obj.style.MozOpacity = (ixf.count == 1 ? 0.9999999 : ixf.count);
      ixf.newimg.style.MozOpacity = (1 - ixf.count);
      break;
    default :
      ixf.obj.style.opacity = (ixf.count == 1 ? 0.9999999 : ixf.count);
      ixf.newimg.style.opacity = (1 - ixf.count);
  }
  ixf.newimg.style.visibility = 'visible';
  ixf.newimg.style.left = ixf.getRealPosition(ixf.obj, 'x') + 'px';
  ixf.newimg.style.top = ixf.getRealPosition(ixf.obj, 'y') + 'px';
  if(ixf.count == 1) {
    ixf.newimg.parentNode.removeChild(ixf.newimg);
  }
};

ixf.getRealPosition = function() {
  this.pos = (arguments[1] == 'x') ? arguments[0].offsetLeft : arguments[0].offsetTop;
  this.tmp = arguments[0].offsetParent;
  while(this.tmp != null) {
    this.pos += (arguments[1] == 'x') ? this.tmp.offsetLeft : this.tmp.offsetTop;
    this.tmp = this.tmp.offsetParent;
  }
  return this.pos;
};

