	(function($){
	
	//instellingen
    var tijdTussenFades = 4000;
    var slideshow = $('#slideshow');
	
	//declaraties en defaults
	var timerId;
    var speelLijst;
    var huidig = 0;	
    
    var omschrijving = $('<div id="slideshow_omschrijving"></div>').appendTo(slideshow.parent());									
	var titel = $('<h2></h2>').appendTo(omschrijving);
	var subtitel = $('<h3></h3>').appendTo(omschrijving);	
    var omschrijvingLink = omschrijving.wrap('<a></a>').parent();
    
		$(function()
		{
			$.ajax({
						type: "GET",
						url: homeurl+"/wp-content/themes/basis/slideshowXML.php",
						dataType: "xml",
						success: function (xml){
							bouwSlideshow(xml)
							},
						    complete: function( xhr, status )
							{
							  if( status == 'parsererror' )
							  {
								console.log( "Parsefout. Wordt gefixt.\n\n" ) ;

								xmlDoc = null;

								if( window.DOMParser )
								{
								  parser=new DOMParser();
								  xmlDoc=parser.parseFromString( xhr.responseText,"text/xml" ) ;
								}
								else // Internet Explorer
								{
								  xmlDoc=new ActiveXObject( "Microsoft.XMLDOM" ) ;
								  xmlDoc.async = "false" ;
								  xmlDoc.loadXML( xhr.responseText ) ;
								}

								bouwSlideshow( xmlDoc ) ;
							  }
							},
						error: function(xmlObject){
							ajaxUit=true;
						}
					});
		}
		
	);	
	
	function bouwSlideshow(xml){
							
							speelLijst = new Array();
							
							$(xml).find('item').each(function(){
								var temp = new Object();
								temp.linkje = $(this).find('link').text();
								temp.plaatje = $(this).find('afbeelding').text();
								temp.titel = $(this).find('titel').text();
								temp.subtitel = $(this).find('subtitel').text();
								speelLijst.push(temp);
							});

							if(speelLijst[0]){
							slideshow.html('');
							titel.text(speelLijst[0].titel);
							subtitel.text(speelLijst[0].subtitel);
							
							var plaatje = document.createElement('img');

									plaatje.setAttribute("src",speelLijst[0].plaatje);
									plaatje.setAttribute("class","actief slideshow_IMG");
									$(plaatje).ready(function(){
										slideshow.append(plaatje);
									});
									omschrijvingLink.attr("href",speelLijst[0].linkje);
							
									
							}//einde eerste item
							
							if(!mobieleBrowser){	
							if(speelLijst[1]){
							var vorigeAppend = plaatje;
								for(var i=1;i<speelLijst.length;i++){
									var plaatje = document.createElement('img');
									plaatje.setAttribute("class",'slideshow_IMG');
									//laad elke afbeelding pas in de dom als het vorige volledig geladen is
									$(vorigeAppend).ready(function(){
										plaatje.setAttribute("src",speelLijst[i].plaatje);
										slideshow.append(plaatje);
								});
								vorigeAppend = plaatje;
							}
							if(slideshow.children('img').length>1) timerId = setTimeout(slideshowVolgende, tijdTussenFades);
							}
									
								
							}

	
}
	
	function slideshowVolgende(){
		    
		    var $active = slideshow.find('IMG.actief');

		    if ( $active.length == 0 ) var $active = slideshow.find('IMG:last');
			var $next =  $active.next().length ? $active.next() : slideshow.find('IMG:first');
			
			$active.addClass('laatst-actief');
			
			if(Modernizr.csstransitions){
				$active.addClass('laatst-actief');
				$next.css({opacity: 0.0});
				
				var tempTimer = setTimeout(function(){
					$next.addClass('actief');
					omschrijving.css({opacity: 0.0});	
					$active.css({opacity: 0.0});
					
					$next.css({opacity: 1.0});	
							var tempTimer2 = setTimeout(function(){
								//vertraging van een seconde voordat je de z-index wijzigt, anders zie je de transitie niet
								omschrijvingLink.attr("href",speelLijst[huidig].linkje);
								titel.text(speelLijst[huidig].titel)
								subtitel.text(speelLijst[huidig].subtitel);
								omschrijving.css({opacity: 1.0});
								$active.removeClass('actief laatst-actief');
							}, 1000);
				}, 1000);
				
			}else{
				omschrijving.animate({opacity: 0.0}, 800,function(){
							titel.text(speelLijst[huidig].titel);
							subtitel.text(speelLijst[huidig].subtitel);
							
					});

				$next.css({opacity: 0.0})
					.addClass('actief')
					.animate({opacity: 1.0}, 1000, function() {
					$active.removeClass('actief laatst-actief');
				});	
				
				omschrijving.animate({opacity: 1.0}, 500,function(){
							//fix voor IE antialiasing cleartype
					        $(this).css('filter','');
					});
					
				}
				//tijdTussenFades+2000 ivm transitie van 2 sec
				timerId = setTimeout(slideshowVolgende, (tijdTussenFades+2000));		
				if(huidig<(speelLijst.length-1)){
						huidig += 1;	
				}else{
					huidig=0;
				}
				
		}	

})(jQuery)

