jQuery.fn.blindToggle = function(speed, easing, callback) {
   var h = this.height() + parseInt(this.css('paddingTop')) + parseInt(this.css('paddingBottom'));
   var h30 = 30 + h;
   return this.animate({marginTop: parseInt(this.css('marginTop')) >30 ? 30 : h30}, speed, easing, callback);  
};

function beforeTransition() {
	$('div.slideshow.slide-javascript span.headline').animate({opacity: "hide", marginTop: "+=10px"}, "fast");
}

function afterTransition(slideHeaderTop) {
	$('div.slideshow.slide-javascript span.headline').animate({opacity: "show", marginTop: 0, top: slideHeaderTop + "px"}, "normal");
}

function animateSlides() {
	var lastSlide = $('div.slideshow img').length - 1;
	var slideHeaderTop = 0;
	if($("div.slideshow.slide-javascript a span.headline").length) {
		slideHeaderTop = $("div.slideshow.slide-javascript a span.headline").css("top");
		slideHeaderTop = ~~slideHeaderTop.replace("px", "");
	}
	setTimeout(function() {
		$("div.slideshow").cycle({
			fx: "fade",
			timeout: 8500, 
			speed: 500,
			delay: -7500,
			before: beforeTransition(),
			after: afterTransition(slideHeaderTop),
			next: "#slide-next",
			prev: "#slide-prev",
			pause: 1,
			pager:  'div#slide-pager ul',
			startingSlide:lastSlide,
			requeueOnImageNotLoaded: true,
			pagerAnchorBuilder: paginate
		});	
		 $('div.slideshow a').css({
	        opacity: 0,
			"visibility":"visible"
	    });
		$('div#slide-pager ul li span').css({opacity:0});
		$('div.slideshow.slide-javascript a span.headline').css({opacity:0});
		$('div#slide-pager ul li a').hoverIntent(function(){
			$(this).siblings("span.tooltip").animate({opacity: 1, top: "-=6px"}, "normal");
			$(this).siblings("span.tooltip-p").animate({opacity: 1, top: "-=6px"}, "normal");
		}, 											  
		function(){
			$(this).siblings("span.tooltip").animate({opacity: 0, top: "+=6px"}, "fast");
			$(this).siblings("span.tooltip-p").animate({opacity: 0, top: "+=6px"}, "fast");
		});
	}, 0);
	setTimeout(function() {
		$("div.slideshow").css("background-image", "none");					
	}, 9000);

function paginate(ind, el)
	{
	var title = $(el).find("img").attr("title");
	if (ind == 0) {
		return '<li class="first"><span class="tooltip">'+title+'</span><span class="tooltip-p"></span><a href="#">'+ ind + '</a></li>';	
	} else {
		return '<li><span class="tooltip">'+title+'</span><span class="tooltip-p"></span><a href="#">'+ ind + '</a></li>';	
	}
}
	$(".play-pause-btn").click(function(e) {
		e.preventDefault();
		var slideBtnId = $(this).attr("id");
		if(slideBtnId == "slide-pause") {
			$(".slideshow").cycle("pause");
			$(this).removeAttr("id");
			$(this).attr("id", "slide-play");
		}
		if(slideBtnId == "slide-play") {
			$(".slideshow").cycle("resume", true);
			$(this).removeAttr("id");
			$(this).attr("id", "slide-pause");
		}
	});	
	var config = {    
     over: showControls, // function = onMouseOver callback (REQUIRED)    
     timeout: 500, // number = milliseconds delay before onMouseOut    
     out: hideControls // function = onMouseOut callback (REQUIRED)    
	};
	$("#slide-hover-area").hoverIntent(config);
}

function hideControls() {
		$(".slideshow img").fadeTo("fast", "1.0");		
		$("#slide-nav, #slide-pager").blindToggle('slow');
		var controlHeight = $('#slide-nav').height();
		$('div.slideshow.slide-javascript a span.headline').animate({top: "+=" + controlHeight}, "slow");
		//$('div.slideshow.slide-javascript').removeClass('controls-present');
}

function showControls() {
	$(".slideshow img").fadeTo("fast", "0.9");
	$("#slide-nav, #slide-pager").blindToggle('fast');
	var controlHeight = $('#slide-nav').height();
	$('div.slideshow.slide-javascript a span.headline').animate({top: "-=" + controlHeight}, "fast", function() {   
  		//$('div.slideshow.slide-javascript').addClass('controls-present');
	});
}

function getSlideShow(stationSlide) {
		var slide = [];
		var rotator;
		switch(stationSlide) {
			case "wmmr":
				rotator = "872";
				break;
			case "pns":
				rotator = "1090";
				break;
			case "wmgk":
				rotator = "1084";
				break;
			case "wpen":
				rotator = "1105";
				break;
			case "wben":
				rotator = "1068";
				break;
			default:
				break;	
		}
		
		var data = $.ajax({
			type:'GET',
			url:'http://' + window.location.hostname + '/_SHARED/ApplicationData/Public/FlashWriter.aspx?RotatorGroupID=' + rotator,
		 	dataType: "XML", /* this parameter MUST BE UPPER CASE for it to work in IE */
			success: function(data){	
			   //$("<div>" + data + "</div>").find("jpg").each(function(sIndex){
				$(data).find("jpg").each(function(sIndex){
					slide.push({
						"title" : $(this).attr("title"),
						"headline" : $(this).attr("head"),
						"description" : $(this).attr("desc"),
						"img" : $(this).attr("image"),
						"url" : $(this).attr("link"),
						"target" : $(this).attr("targetLink")
					});
				});
				
				var slidePager = "";
				for(i=0; i < slide.length; i++) {
					var currentSlide;					
					currentSlide = '<img src="' + slide[i].img + '" title="'+slide[i].title+'" />';
						if(slide[i].headline.length > 0 && slide[i].description.length === 0) {
							currentSlide += '<span class="headline"><h1>'+slide[i].headline+'</h1></span>';		
						}
						if(slide[i].headline.length > 0 && slide[i].description.length > 0 ) {
							currentSlide += '<span class="headline"><h1>'+slide[i].headline+'</h1><p>'+slide[i].description+'</p></span>';
						}
					currentSlide = '<a href="' + slide[i].url + '">'+ currentSlide + '</a>';
					var num = i+1;
					$("div.slideshow").append(currentSlide);
				}
				$("div.slideshow").wrap("<div id='slide-hover-area'></div>").addClass("slide-javascript");
				$("div#slide-hover-area").append('<div id="slide-controls"></div>');
					$("div#slide-controls").append('<div id="slide-nav"><ul><li class="slide-prev"><a href="#" id="slide-prev"><div></div><div></div></a></li><li class="slide-pause-play"><a href="#" id="slide-pause" class="play-pause-btn"><div></div><span></span></a></li><li class="slide-next"><a href="#" id="slide-next"><div></div><div></div></a></li></ul></div>');
				$("div#slide-controls").append('<div id="slide-pager"><ul></ul></div>');
				$("div.slideshow a:first-child").addClass("first");
				$('div.slideshow a').css({opacity: "hide"});			
				animateSlides();
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				alert("Error" + XMLHttpRequest + " // " + textStatus + " // " + errorThrown);
			}
		});
	}

$(document).ready(function() {
			$("div.slideshow").html("");			   
			var stationSlide = $("div.slideshow").attr("id");			
			getSlideShow(stationSlide);		
});
