jQuery.preloadImages = function() {
	var a = (typeof arguments[0] == 'object')? arguments[0] : arguments;
	for(var i = a.length -1; i > 0; i--) {
		jQuery("<img>").attr("src", a[i]);
	}
}

var story_ready = true;
var story_paused = false;
var slides = [];
var slide = 0;

var slideAnimation = function () {
	$("#slide-component .story-content .story-header .story-date").text(slides[slide].date);
	$("#slide-component .story-content .story-header .story-title").text(slides[slide].title);
	$("#slide-component .story-content .story-subtitle").text(slides[slide].subtitle);
	$("#slide-component .story-content .story-teaser").text(slides[slide].teaser);
	$("#slide-component .story-content p.story-more a.story-morelink").attr("href", slides[slide].link);
	$("#slide-component .story-content .story-navagation .story-page").text( (slide+1) + " of " + slides.length );

	$("#slide-component .story-image .story-imagecontainer").prepend('<img src="' + slides[slide].image + '" class="story-nextimage" />');
	$("#slide-component .story-image .story-imagecontainer .story-currentimage").animate( { marginLeft:"-471px" }, 1000, "", function () {
		$("#slide-component .story-image .story-imagecontainer .story-currentimage").remove();
		$("#slide-component .story-image .story-imagecontainer .story-nextimage").attr("class", "story-currentimage");
		$("#slide-component .story-image .story-imagecontainer .story-currentimage").click( function () {
			window.location = slides[slide].link;
		});
		story_ready = true;
	});
};

var slidePrevious = function () {
	if (story_ready === true) {
		if (slide == 0) {
			slide = slides.length - 1;
		} else {
			slide--;
		}

		story_ready = false;

		slideAnimation();
	}
};

var slidePause = function () {
	if (story_paused === true) {
		story_paused = false;
	} else {
		story_paused = true;
	}
};

var slideNext = function () {
	if (story_ready === true) {
		if (slide == (slides.length-1)) {
			slide = 0;
		} else {
			slide++;
		}

		story_ready = false;
		
		slideAnimation();
	}
};

$(document).ready(function(){
	
	$.get("slides.xml", "", function (xml) {
		var images = [];
		
		$(xml).find('slide').each(function(){
			var slide = {};
			slide.image = $(this).find('image').text();
			slide.date = $(this).find('date').text();
			slide.title = $(this).find('title').text();
			slide.subtitle = $(this).find('subtitle').text();
			slide.teaser = $(this).find('teaser').text();
			slide.link = $(this).find('link').text();
			slides.push(slide);
			images.push(slide.image);
		});
		 
		$.preloadImages(images);
		
		$("#slide-component .story-content .story-header .story-date").text(slides[slide].date);
		$("#slide-component .story-content .story-header .story-title").text(slides[slide].title);
		$("#slide-component .story-content .story-subtitle").text(slides[slide].subtitle);
		$("#slide-component .story-content .story-teaser").text(slides[slide].teaser);
		$("#slide-component .story-content p.story-more a.story-morelink").attr("href", slides[slide].link);
		$("#slide-component .story-content .story-navagation .story-page").text( (slide+1) + " of " + slides.length );
		$("#slide-component .story-image .story-imagecontainer").prepend('<img src="' + slides[slide].image + '" class="story-currentimage" />');
		$("#slide-component .story-image .story-imagecontainer .story-currentimage").click( function () {
			window.location = slides[slide].link;
		});
		
		$("#slide-component").removeClass("loading");
		
		var slideInterval = window.setInterval( function () {
			if (story_paused !== true) slideNext();
		},5000);
	}, "xml");

	$("#slide-component .story-content .story-navagation .story-controls li.story-prev").bind(
		"click",
		slidePrevious
	);
	$("#slide-component .story-content .story-navagation .story-controls li.story-pause").bind(
		"click",
		slidePause
	);
	$("#slide-component .story-content .story-navagation .story-controls li.story-next").bind(
		"click",
		slideNext
	);

});