// JavaScript Document

var isIE = false;
var req;
var images = new Array();
var imageData = new Array();
var currentIndex = 0;
var nextIndex = 1;
var timeOutDelay = 4000;
var currentOpacity = new Array();
var FADE_STEP = 2;
var FADE_INTERVAL = 10;
var browsertype;
var COUNTER;

//GENERIC ADDLOAD EVENT FUNCTION
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
//////////////////////////////////


addLoadEvent(grabBadgeImages);

function grabBadgeImages() {
	if (!document.getElementsByTagName || !document.getElementById || !document.getElementById('badge')) {
		return false;
	}
	//var badge = document.getElementById('badge');
	//badge.style.display = 'none';
	var badgeimages = document.getElementsByTagName('IMG');
	for(i=0; i<badgeimages.length; i++) {
		var badgeimage = badgeimages[i];
		var imgwidth = badgeimage.getAttribute('width');
		var imgheight = badgeimage.getAttribute('height');
		var imgalt = badgeimage.getAttribute('alt');
		var imgtitle = badgeimage.getAttribute('title');
		var imgsrc = badgeimage.getAttribute('src');
		var image = new Array(imgsrc,imgwidth,imgheight,imgalt,imgtitle);
		images[images.length] = image;
	}
	//alert(images);	
	startSlideshow();
}

//Initialise slideshow if the objects exist for it to work
function startSlideshow() {
	if (!document.getElementsByTagName || !document.getElementById || !document.getElementById('slideshow')) {
		return false;
	}
	
	currentOpacity[0]=99;
	for(i=1; i<images.length; i++) {
		currentOpacity[i]=0;
	}

	var slideshow = document.getElementById('slideshow');

	var agt = navigator.userAgent.toLowerCase();
	var is_opera = (agt.indexOf("opera") != -1);
	//Browser check
	if(document.all && !is_opera) {
		browsertype = 'ie';
		//alert('ie');
	} else if (document.all && is_opera) {
		browsertype = 'opera';
		//alert('opera');
	} else {
		browsertype = 'moz';
		//alert('moz');
	}
	
	for(i=0; i<images.length; i++) {
		
		var newimage = document.createElement('IMG');
		newimage.setAttribute('id','image' + i);
		newimage.setAttribute('src',images[i][0]);
		newimage.setAttribute('alt',images[i][4]);
		newimage.className = "imgfade";
		
		slideshow.appendChild(newimage);
		
		if (browsertype != 'opera') {
			setOpacity(newimage, 0);
		} else {
			newimage.style.visibility = 'hidden'
		}
	}

	//activate first image and hide original
	if (browsertype != 'opera') {
		setOpacity(document.getElementById('image'+currentIndex), 100);
	} else {
		document.getElementById('image'+currentIndex).style.visibility = 'visible'
	}
	swaptext(currentIndex);
	COUNTER = setTimeout("swapImage()",timeOutDelay);
}

function swapImage() {
	swaptext(nextIndex);
	if (browsertype != 'opera') {
		doFade =  setInterval("crossFade()",FADE_INTERVAL);
	} else {
		document.getElementById('image'+currentIndex).style.visibility = 'hidden';
		document.getElementById('image'+nextIndex).style.visibility = 'visible';
		currentIndex = nextIndex;
		nextIndex++;
		if(nextIndex == images.length) { 
			nextIndex=0;
		}
	}
	COUNTER = setTimeout("swapImage()",timeOutDelay);
}

function swaptext(imageImdex) {
	
	var target = document.getElementById('slideshow');

	if(document.getElementById('imagetitle')) {
		var infoDIV = document.getElementById('imagetitle');

		var l = infoDIV.childNodes.length;
		for (var i=0; i < l; i++){
			var ch = infoDIV.firstChild;
			infoDIV.removeChild(ch);
		}
	} else {
		var infoDIV = document.createElement('DIV');
		infoDIV.setAttribute('id','imagetitle')
		target.appendChild(infoDIV);
	}

/*	var imghead = document.createElement('h4');
	var imgheadtext = document.createTextNode(images[imageImdex][4]);
	imghead.appendChild(imgheadtext);
	infoDIV.appendChild(imghead);*/
}

function crossFade() {
	currentOpacity[currentIndex]-=FADE_STEP;
	currentOpacity[nextIndex] += FADE_STEP;

	setOpacity(document.getElementById('image'+currentIndex), currentOpacity[currentIndex]);
	setOpacity(document.getElementById('image'+nextIndex), currentOpacity[nextIndex]);

	if(currentOpacity[nextIndex]/100>=.98) {
		currentIndex = nextIndex;
		nextIndex++;
		window.clearInterval(doFade);
		if(nextIndex == images.length) { 
			nextIndex=0;
		}
	}
}

function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  obj.style.filter = "alpha(opacity:"+opacity+")";
  obj.style.KHTMLOpacity = opacity/100;
  obj.style.MozOpacity = opacity/100;
  obj.style.opacity = opacity/100;
}
