/*
Supersized - Fullscreen Slideshow jQuery Plugin
By Sam Dunn (www.buildinternet.com // www.onemightyroar.com)
Version: supersized.2.0.js // Relase Date: 5/7/09
Website: www.buildinternet.com/project/supersized
Thanks to Aen for preloading, fade effect, & vertical centering
*/

(function($){
	



	//Resize image on ready or resize
	$.fn.supersized = function() {
		$.inAnimation = false;
		$.paused = false;
		var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

		
		
		$(window).bind("load", function(){
			
			$.ajax({
			type: "GET",
			url: options.xmlSource,
			dataType: "xml",
			cache: false,
			success: function(xml) {
					$('#supersize').addClass('displayNo');
					var counter =0;
					var html = '';
					var ts = $(xml).find('slide').length;

					$(xml).find('slide').each(function(){
						
						

						var imageURL = $(this).find('imageURL').text();
						var headline = $(this).find('headline').text();
						var bodytext = $(this).find('bodytext').text();
						var slideimage = $(this).find('slideimage').text();						
						var coords = $(this).find('area').attr('coords'); 
						var coordsURL = $(this).find('area').attr('href'); 
						var coordsTitle = $(this).find('area').attr('title'); 
						var title = $(this).attr('title');
						
						
						html += '<li>';
						html += '<img class="jqslide" src="' + imageURL + '" title="' + title + '" />'; 
						if(coords != undefined)	{
							var arr = coords.split(",");
							coordCSS = 'top:'+arr[3]+'px; left:'+arr[2]+'px; width:'+arr[0]+'px; height:'+arr[1]+'px;';
							html += '<a style="'+coordCSS+'" class="videolink" href="'+coordsURL+'" title="'+coordsTitle+'"><span class="displayNo">Videolink</span></a>';
						}
						html += '<p class="caption">' + headline + '</p>';
						if(bodytext == "")  {
							html += '<p class="text"><img src="' + slideimage + '" /></p>';
						} else {
							html += '<p class="text">' + bodytext + '</p>';
						}
						html += '</li>';
						
						counter++;

						if(counter == ts ) {
							$('#slidecon').append($(html));
							 init();
						}
								

					});	
				}	

			});
			
			
			
			function init() {
				$('#supersize').removeClass('displayNo');
				$('#supersize').fadeIn('fast', function () {
				
				if (!$.browser.msie)  {

					$('p.caption').addClass('shadow-mm');	
					$('p.text').addClass('shadow-mm');	
				} 
				
				
				

				if ($('#slidecon .activeslide').length == 0) $('#slidecon li:first').addClass('activeslide');
				
				var firstimg = $('#slidecon .activeslide p.text').find('img');
				
				if(firstimg.attr("src") != undefined) {
				
						
					$('#slidecon .activeslide p.text').find('img').load(function() {
					  var ih = $('#slidecon .activeslide p.text').find('img').height();	
					  var topPos = 455 -ih;
					  $('#slidecon .activeslide p.text').css('top',topPos +'px');
					});
					
				} else {
					var topPos = 455 -$('#slidecon .activeslide p.text').height();
					$('#slidecon .activeslide p.text').css('top',topPos +'px');
				}
				
				
			
				if (options.navigation == 0) $('#navigation').hide();
				//Slideshow
				if (options.slideshow == 1){
					if (options.slide_counter == 1){ //Initiate slide counter if active
						$('#slidecounter .slidenumber').html(1);
						$('#slidecounter .totalslides').html($("#slidecon > *").size());
					}
					slideshow_interval = setInterval("nextslide()", options.slide_interval);
					if (options.navigation == 1){ //Skip if no navigation
						$('#navigation a').click(function(){  
							$(this).blur();  
							return false;  
						}); 	
						//Slide Navigation
						$('#nextslide').click(function() {
							
							if($.inAnimation) return false;
							clearInterval(slideshow_interval);
							nextslide();
							if($.paused) return false; 
							slideshow_interval = setInterval(nextslide, options.slide_interval);
							return false;
						});
						$('#prevslide').click(function() {
							
							if($.inAnimation) return false;
							clearInterval(slideshow_interval);
							prevslide();
							if($.paused) return false; 
							slideshow_interval = setInterval(nextslide, options.slide_interval);
							return false;
						});
						$('#nextslide img').hover(function() {
							if($.paused == true) return false;
							$(this).attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/ffw.png");
						}, function(){
							if($.paused == true) return false;
							$(this).attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/ffw-hover.png");
						});
						$('#prevslide img').hover(function() {
							if($.paused == true) return false; 
							$(this).attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/back.png");
						}, function(){
							if($.paused == true) return false;
							$(this).attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/back-hover.png");
						});
						
						//Play/Pause Button
						$('#pauseplay').click(function() {
							if($.inAnimation) return false;
							var src = ($(this).find('img').attr("src") === "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/play.png") ? "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/pause.png" : "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/play.png";
							if (src == "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/pause.png"){
								$(this).find('img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/play.png");
								$.paused = false;
								slideshow_interval = setInterval(nextslide, options.slide_interval);  
							}else{
								$(this).find('img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/pause.png");
								clearInterval(slideshow_interval);
								$.paused = true;
							}
							$(this).find('img').attr("src", src);
							return false;
						});
						$('#pauseplay').mouseover(function() {
							var imagecheck = ($(this).find('img').attr("src") === "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/play-hover.png");
							if (imagecheck){
								$(this).find('img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/play.png"); 
							}else{
								$(this).find('img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/pause.png");
							}
						});
						
						$('#pauseplay').mouseout(function() {
							var imagecheck = ($(this).find('img').attr("src") === "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/play.png");
							if (imagecheck){
								$(this).find('img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/play-hover.png"); 
							}else{
								$(this).find('img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/pause.png");
							}
							return false;
						});
					}
				}

				});
			}
		});
				
	
		//Pause when hover on image
		$('#slidecon > *').hover(function() {
	   		if (options.slideshow == 1 && options.pause_hover == 1){
	   			if(!($.paused) && options.navigation == 1){
	   				$('#pauseplay > img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/pause.png"); 
	   				clearInterval(slideshow_interval);
	   			}
	   		}

	   	}, function() {
			if (options.slideshow == 1 && options.pause_hover == 1){
				if(!($.paused) && options.navigation == 1){
					$('#pauseplay > img').attr("src", "/system/modules/com.kpluss.websites.kpluss.design_2010/resources/img/pause.png");
					slideshow_interval = setInterval(nextslide, options.slide_interval);
				} 
			}
			
	   	});
		
	
		
		
		
		

	};
	


	$.fn.supersized.defaults = { 
			startwidth: 4,  
			startheight: 3,
			vertical_center: 1,
			slideshow: 1,
			navigation:1,
			xmlSource: '',
			pause_hover: 0,
			slide_counter: 1,
			slide_captions: 1,
			animation_speed: 600,
			slide_interval: 5000
	};
	
})(jQuery);

	//Slideshow Next Slide
	function nextslide() {	
		
		if($.inAnimation) return false;
		else $.inAnimation = true;
	    var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);	   
		var currentslide = $('#slidecon .activeslide');	
		var currenttext = $('#slidecon .activeslide p.text');
		var currentcaption= $('#slidecon .activeslide p.caption');
	    currentslide.removeClass('activeslide');

	
	    if ( currentslide.length == 0 ) currentslide = $('#slidecon li:last');
		if ( currentslide.length == 0 ) currenttext = $('#slidecon li:last p.text');
		
		
			
	    var nextslide	=  currentslide.next().length ? currentslide.next() : $('#slidecon li:first');
		var nexttext	=  currentslide.next().length ? currentslide.next().find('p.text') : $('#slidecon li:first p.text');
		var nextcaption	=  currentslide.next().length ? currentslide.next().find('p.caption') : $('#slidecon li:first p.caption');
	    var prevslide	=  nextslide.prev().length ? nextslide.prev() : $('#slidecon li:last');

	
		
		//Display slide counter
		if (options.slide_counter == 1){
			var slidecount = $('#slidecounter .slidenumber').html();
			currentslide.next().length ? slidecount++ : slidecount = 1;
		    $('#slidecounter .slidenumber').html(slidecount);
		}
		
		$('.prevslide').removeClass('prevslide');
		prevslide.addClass('prevslide');

		
		nexttext.css('top',480 +'px');
		
	    nextslide.hide().addClass('activeslide');


		nextslide.customFadeIn(options.animation_speed, function(){
			$.inAnimation = false;
		});
		
		var currentimageheight = (currenttext.find('img').height());		
		if(currentimageheight != null) {
			var topTextcurrentSlide = 280-currentimageheight;
		} else {
			var topTextcurrentSlide = 280-currenttext.height();
		}

		currenttext.animate({top : topTextcurrentSlide + 'px'} , options.animation_speed, null, function() {});
		
		var nextimageheight = (nexttext.find('img').height());
		if(nextimageheight != null) {
			var topTextnextSlide = 455-nextimageheight;
		} else {
			var topTextnextSlide = 455-nexttext.height();
		}
		
		nexttext.animate({ top : topTextnextSlide + 'px'} , options.animation_speed, null, function() {});
				

	    
	}
	
	//Slideshow Previous Slide
	function prevslide() {
		if($.inAnimation) return false;
		else $.inAnimation = true;
	    var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
	    var currentslide = $('#slidecon .activeslide');
		var currenttext = $('#slidecon .activeslide p.text');
		var currentcaption= $('#slidecon .activeslide p.caption');
	    currentslide.removeClass('activeslide');

	    if ( currentslide.length == 0 ) currentslide = $('#slidecon li:first');
		if ( currentslide.length == 0 ) currenttext = $('#slidecon li:first p.text');


		
	    var nextslide	=  currentslide.prev().length ? currentslide.prev() : $('#slidecon li:last');
		var nextcaption	=  currentslide.prev().length ? currentslide.prev().find('p.caption') : $('#slidecon li:last p.caption');
		var nexttext	=  currentslide.prev().length ? currentslide.prev().find('p.text') : $('#slidecon li:last p.text');
	    var prevslide	=  nextslide.next().length ? nextslide.next() : $('#slidecon li:first');
		
		//Display slide counter
		if (options.slide_counter == 1){
			var slidecount = $('#slidecounter .slidenumber').html();
			currentslide.prev().length ? slidecount-- : slidecount = $("#slidecon > *").size();
		    $('#slidecounter .slidenumber').html(slidecount);
		}
		
		$('.prevslide').removeClass('prevslide');
		prevslide.addClass('prevslide');
		
		var nextimageheight = (nexttext.find('img').height());
		
		if(nextimageheight != null) {
			var topTextnextSlide = 280-nextimageheight;
		} else {
			var topTextnextSlide = 280-nexttext.height();
		}
		
		nexttext.css('top',topTextnextSlide +'px');


	    nextslide.hide().addClass('activeslide');
		
		nextslide.customFadeIn(options.animation_speed, function(){
			$.inAnimation = false;
		});
		
		currenttext.animate({ top : 480 + 'px'} , options.animation_speed, null, function() {});
		
		if(nextimageheight != null) {
			var topTextnextSlide = 455-nextimageheight;
		} else {
			var topTextnextSlide = 455-nexttext.height();
		}

		nexttext.animate({ top : topTextnextSlide + 'px'} , options.animation_speed, null, function() {});
		
		
	    	

	}

(function($) {
	$.fn.customFadeIn = function(speed, callback) {
		$(this).fadeIn(speed, function() {

			if(callback != undefined)
				callback();
		});
	};
	
})(jQuery);




