var allData = [];
var pictureIndex = 0;
var timer;
var timeOut = 3000;

$(document).ready(function(){
	if (!hasReqestedVersion) {
		initCarousel();	
	} else {
		// insert flash object
		$(".flash").html(writeFlash('/include/flash/carousel.swf', 'carousel', 582,210,["allowScriptAccess=sameDomain","quality=high","bgcolor=#FFFFFF","wmode=transparent"]));
	}
});
function initCarousel(){
	$("#noflash").css("display","block");
	$('.caroussel').fadeTo("fast",0); // inital go to 0
	$('.caroussel').fadeTo("slow",1); // and back to 1
		$.ajax({
			type: "GET",
			url: "/imagesxml.aspx",
			async:false,
			dataType: "xml",
			success: function(xml) {
				$("pic", xml).each(function(index) {
					var dataHolder = [];
					var imageURL = $("image", $(this)).text();
					var header = $("header", $(this)).text();
					$("#button" + (index+1) + " .text").text(header);
						var intro = $("intro", $(this)).text();
						var clickurl = $("url", $(this)).text();
						$("#url" + (index+1)).attr("href", clickurl);
						dataHolder.push(imageURL);
						dataHolder.push(header);
						dataHolder.push(intro);
						dataHolder.push(clickurl);
						allData.push(dataHolder);
						// add an event listener to the button so we can "reset" the timer
						$("#button" + (index+1)).mouseover(function() {
							doHover((index+1), true);
						});
						$("#button" + (index+1)).mouseout(function() {
							doHover((index+1), false);
						});
				});
			}
		});
		// use the data from the array to fill the initial fields (only one atm)
		$(".caroussel .tekst").text(allData[0][1]);
		$(".caroussel .tekst2").text(allData[0][1]);
		$("#button1").addClass("active");
		$(".caroussel").css("background-image","url("+allData[0][0]+")");
		// now add a timer to traverse through the items
		timer = setInterval("nextPicture()", timeOut);	
}
function nextPicture() {
	pictureIndex++;
	if (pictureIndex > 3) {
		pictureIndex = 0;
	}
	$('.caroussel').fadeTo("fast",0.2); // inital go to 0
	$('.caroussel').fadeTo("slow",1); // and back to 1
	// update the field
	$(".caroussel .tekst").text(allData[pictureIndex][1]);
	$(".caroussel .tekst2").text(allData[pictureIndex][1]);
	// reset all active buttons
	$(".button").removeClass("active");
	// update the active button
	$("#button"+(pictureIndex+1)).addClass("active");
	// set the new background
	$(".caroussel").css("background-image","url("+allData[pictureIndex][0]+")");
}
function doHover(num, hover) {
	if (hover) {
		clearInterval(timer);
		// update the field
		$(".caroussel .tekst").text(allData[num-1][1]);
		$(".caroussel .tekst2").text(allData[num-1][1]);
		// reset all active buttons
		$(".button").removeClass("active");
		// update the active button
		$("#button"+(num)).addClass("active");
		// set the new background
		$(".caroussel").css("background-image","url("+allData[num-1][0]+")");
	} else {
		pictureIndex = (num-1);
		timer = setInterval("nextPicture()", timeOut);
	}
}
function writeFlash(url, id, width, height, params) {
	var str = "";
	str += '<object id="'+id+'" width="'+width+'" height="'+height+'" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">';
   str += '<param name="movie" value="'+url+'">';
   str += showParams(params);
   str += '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" id="'+id+'" name="'+id+'" src="'+url+'" width="'+width+'" height="'+height+'" ' + showEmbedParams(params) + '></embed>';
   str += '</object>';
   return str;
}

function showParams(params) {
	var str = '';
   	for (var i = 0; i < params.length; i ++ ) {
    	var param = params[i];
      	var arr = param.split('=');
      	str += '<param name="'+arr[0]+'" value="'+arr[1]+'">';
   	}
	return str;
}
function showEmbedParams(params) {
   var ret = "";
   for (var i = 0; i < params.length; i ++ ) {
      var param = params[i];
      ret += param + " ";
   }
   return ret;
}