	// Configurable
	
	var fadeDecrement = 10;
	var fadeInterval = 100;
	
	// Non-configurable
	
	var image_showing;
	var image_hidden;
	var current_opacity = 100;
	var fading = false;
	var currentImage = 0
/*
	var images = new Array('cyprus','south_africa_2', 'france','sicily', 'bulgaria', 'usa', 'south_africa');
	var rideURLs = new Array('cyprus/cyprus+farm+stay/','south+africa/songimvelo/', 'france/livradois+forez/','sicily/mount+etna/', 'bulgaria/rhodope/', 'usa/wyoming+ranch/', 'south+africa/wild+coast/');
	var rideNames = new Array('Farm Stay','Songimvelo', 'Livradois Forez','Mount Etna', 'Rhodope', 'Wyoming Ranch', 'Wild Coast');
	var countries = new Array('Cyprus','South Africa', 'France','Sicily', 'Bulgaria', 'USA', 'South Africa');
*/
		
		var images = new Array();
		var rideURLs = new Array();
		var rideNames = new Array();
		var countries = new Array();
		
	var preloadimage = new Image();
	
	function run_fade()
	{
		current_opacity = current_opacity - fadeDecrement;
		current_opacity_modifier = current_opacity / 100;
		
		if (document.all)
		{
			image_showing.style.filter = 'alpha(opacity=' + current_opacity + ')';
			image_hidden.style.filter = 'alpha(opacity=' + (100 - current_opacity) + ')';
		}else{
			image_showing.style.opacity = Math.max(0.01, current_opacity_modifier);
			image_hidden.style.opacity = Math.min(0.99, (1 - current_opacity_modifier));
		}
		
		if (current_opacity > 0)
		{
			image_showing.timer = setTimeout('run_fade()', fadeInterval);
		}else{			
			div_temp = image_showing;
			image_showing = image_hidden;
			image_hidden = div_temp;
			fading = false;
			nextImage = currentImage + 1;
			if (nextImage == images.length)
			{
				nextImage = 0;
			}
			fadeFunction = "fade_to_image('" + images[nextImage] + "')";
			setTimeout(fadeFunction, 7000);
			preloadimage.src = "/images/fader/" + images[nextImage];
		}
	}
	
	function fade_to_image(image_name)
	{
		clearTimeout(image_showing.timer);
		currentImage = positionOf(image_name, images);
		
		if (fading)
		{
			div_temp = image_showing;
			image_showing = image_hidden;
			image_hidden = div_temp;
		}else{
			current_opacity = 100;
		}
		
		fading = true;
		
		imageHTML = "<a href='" + rideURLs[currentImage] + "'><img src='/images/fader/" + image_name + "' alt='" + rideNames[currentImage] + " riding holiday' class='bordered' width='320' height='240' /></a>";
		textHTML = "<br /><a href='" + rideURLs[currentImage] + "'>" + rideNames[currentImage] + "</a>, " + countries[currentImage];
		
		
		image_hidden.innerHTML = imageHTML + textHTML;
		
		zindezTemp = image_showing.style.zIndex;
		image_showing.style.zIndex = image_hidden.style.zIndex;
		image_hidden.style.zIndex = zindezTemp;
		
		run_fade();
	}
	
	function positionOf(needle, haystack)
	{
		for (i=0;i<haystack.length;i++)
		{
			if (haystack[i] == needle)
				return i;
		}
		
		return -1;
	}
	
	function initialise_gallery()
	{
		//alert("innit!!");
		image_showing = document.getElementById('image_1');
		image_hidden = document.getElementById('image_2');
		image_hidden.style.zIndex = 1
		image_showing.style.zIndex = 2;
		fadeFunction = "fade_to_image('" + images[1] + "')";
		setTimeout(fadeFunction, 2000);
		
		preloadimage.src = "/images/fader/" + images[1];
	}
	
	function fetchRideData() {
	
		var ajax_connection = createRequest();
		
		ajax_connection.open('get', "/fader_xml.php");
		
		ajax_connection.onreadystatechange = function(){
			
			if (ajax_connection.readyState == 4) {
				var xmlDoc = ajax_connection.responseXML;
				
				
				
				var rides = xmlDoc.documentElement.getElementsByTagName("ride");
				
				for (var i = 0; i < rides.length; i++) {
					//var rideMarker = createMarker(rides[i]);
					//map.addOverlay(rideMarker);
					
					thisride = rides[i];
					//alert(thisride[0]);
					
					images.push(thisride.getAttribute('imageName'));
					rideNames.push(thisride.getAttribute('rideName'));
					//alert("image:" + thisride.getAttribute('imageName'));
					rideURLs.push(thisride.getAttribute('url'));
					countries.push(thisride.getAttribute('countryName'));
				}
					initialise_gallery();
				
			}
		}	
		
		ajax_connection.send(null);
	}
	
	function createRequest() {
		
		// create an Ajax Request
		
		var ajaxRequest;
		
		try
		{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}		
			catch (e1)
			{
				try
				{
					ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}
					catch (e2)
					{
						ajaxRequest = new XMLHttpRequest();
					}
			}
		
		return ajaxRequest;
	}
	
	
	function addLoadEvent(func) {
	  var oldonload = window.onload;
	  if (typeof window.onload != 'function') {
		window.onload = func;
	  } else {
		window.onload = function() {
		  oldonload();
		  func();
		}
	  }
	}
	
	function addUnLoadEvent(func) {
		var oldonunload = window.onunload;
		if (typeof window.onunload != 'function') {
		  window.onunload = func;
		} else {
		  window.onunload = function() {
			oldonunload();
			func();
		  }
		}
	}
	
	//addLoadEvent(initialise_gallery);
	addLoadEvent(fetchRideData);