/*!
 * 
 * Based loosely on slideViewer 1.2, modified by Aonghus Fraser to support:
 * - Fading in/out
 * - Timer (autoslide)
 * - Pause
 *
 * Examples and documentation at: 
 * http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html
 * 2007-2010 Gian Carlo Mingati
 * Version: 1.2.3 (9-JULY-2010)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Requires:
 * jQuery v1.4.1 or later, jquery.plugin.1.0.3 or later [jquery.easing.1.2 - not required]
 * 
 */

 
 // Slides should have src, link & alt


 var Slides = {"slides": [
	
	{"src": "/imports/financialresults.jpg", "link": "http://www.btplc.com/Sharesandperformance/Quarterlyresults/Quarterlyresults.htm", "alt": "Quarterly results"},		
	{"src": "/imports/BTPLC_mydonate_v2.jpg", "link": "http://www.btplc.com/mydonate/", "alt": "MyDonate"},	
	{"src": "/imports/forward.jpg", "link": "http://www.bt.com/forward", "alt": "BT Forward magazine"},
	{"src": "/imports/Annual_Report_2011.jpg", "link": "http://www.btplc.com/Sharesandperformance/Annualreportandreview/Annualreportandreview.htm", "alt": "BT Annual Report"},
	{"src": "/imports/Sustainability_Report_2011.jpg", "link": "http://www.btplc.com/Responsiblebusiness/Ourstory/sustainabilityreport/index.aspx", "alt": "BT Sustainability Report 2011"},	
	{"src": "/imports/NGB_706x414.jpg", "link": "http://www.btplc.com/ngb/", "alt": "Next Generation Broadband"},
	{"src": "/imports/insideout.jpg", "link": "http://www.btplc.com/Thegroup/BlogEngine/default.aspx", "alt": "Inside Out: BT Blogs"},
	{"src": "/imports/img_3.jpg", "link": "http://www.btplc.com/responsiblebusiness/index.htm", "alt": "BT Responsible Business"},
	{"src": "/imports/170.jpg", "link": "http://www.btplc.com/Thegroup/Ourcompany/TheBTstory/index.htm", "alt": "The BT Story"},
	{"src": "/imports/getittogether.jpg", "link": "http://www.bt.com/includingyou/getting-online.html", "alt": "Get IT Together"}
	
	 
	]
};

// Get slides supported by the platform
function GetSlides()
{
	var result = Slides;
	if(!jQuery.browser.flash)
	{
		for(var i = result.slides.length - 1; i >= 0 ; i--)
		{			
			if(result.slides[i].src.match(/\.swf/i))
			{
				result.slides.splice(i,1);
			}
		}
	}
	return result;
}

// Wrap SWF with an ob ject element
function buildSwfWrapper(strUrl, width, height)
{
                		
		strUrl = strUrl + "?rand=" + Math.floor(Math.random()*1000);
         var strResult = "<obj" + "ect width=\"" + width + "\" height=\"" + height + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" id=\"FlashID\">";
	strResult += "		    <param value=\"" + strUrl + "\" name=\"movie\">";
	strResult += "		    <param value=\"high\" name=\"quality\">";
	strResult += "		    <param value=\"transparent\" name=\"wmode\">";
	strResult += "		    <param value=\"6.0.65.0\" name=\"swfversion\">";
	strResult += "		    <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don't want users to see the prompt. -->";
	strResult += "		    <param value=\"Scripts/expressInstall.swf\" name=\"expressinstall\">";
	strResult += "		    <!--Next obj ect tag is for non-IE browsers. So hide it from IE using IECC. -->";
	strResult += "		    <!--[if !IE]>-->";
	strResult += "		    <obj" + "ect width=\"" + width + "\" height=\"" + height + "\" data=\"" + strUrl + "\" id=\"FlashEmbedded\" type=\"application/x-shockwave-flash\">";
	strResult += "		      <!--<![endif]-->";
	strResult += "		      <param value=\"high\" name=\"quality\">";
	strResult += "		      <param value=\"transparent\" name=\"wmode\">";
	strResult += "		      <param value=\"6.0.65.0\" name=\"swfversion\">";
	strResult += "		      <param value=\"Scripts/expressInstall.swf\" name=\"expressinstall\">";
	strResult += "		      <!--The browser displays the following alternative content for users with Flash Player 6.0 and older. -->";
	strResult += "		      <div>";
	strResult += "			This slide requires a newer version of Adobe Flash Player.";
	strResult += "			<p><a href=\"http://www.adobe.com/go/getflashplayer\" title=\"Get Adobe Flash player\"><img width=\"112\" height=\"33\" src=\"http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif\" id=\"img_PSR_1\" alt=\"Get Adobe Flash player\"></a></p>";
	strResult += "		      </div>";
	strResult += "		      <!--[if !IE]>-->";
	strResult += "		    </obj" + "ect>";
	strResult += "		    <!--<![endif]-->";
	strResult += "		  </obj" + "ect>";

	return strResult;
}
 

var j = 0;

jQuery.fn.slideView = function(settings) {
	settings = jQuery.extend({
		uiBefore: false,
		period: 200,
		asTimer: 5000,
		autoslide: true
	}, settings);	
	
	var PlatformSlides = GetSlides();
	
	return this.each(function(){
		var container = jQuery(this);
		var pos = 1;
		
		var pictWidth = container.width();
		var pictHeight = container.height();
		
		container.find("img.ldrgif").remove();
		container.removeClass("svw").addClass("stripViewer");		
		for(var i = 0; i <= PlatformSlides.slides.length - 1; i++)
		{
			var slide = PlatformSlides.slides[i];

			var strLi = "<li><a title=\"" + slide.alt + "\" href=\"" + slide.link + "\">";			
			if(slide.src.match(/\.png/i) || slide.src.match(/\.jpg/i) || slide.src.match(/\.gif/i))
			{
				strLi += "<img alt=\"" + slide.alt + "\"src=\"" + slide.src + "\"/></a>";
			}
			if(slide.src.match(/\.swf/i))
			{
				strLi += "</a>" + buildSwfWrapper(slide.src, pictWidth, pictHeight);
			}
			strLi += "</li>";
			slide.html = strLi;
		}
		
		if(strLi != "")
		{
			strLi = "<ul>" + PlatformSlides.slides[0].html + "</ul>";
		}
		container.html(strLi);
		
		var pictEls = PlatformSlides.slides.length; 
		var stripViewerWidth = pictWidth; //(pictWidth + 5)*pictEls;		
		container.find("ul").css("width" , stripViewerWidth);
		container.css("width" , pictWidth);
		container.css("height" , pictHeight);
	
		container.each(function(i) {
    (!settings.uiBefore) ? jQuery(this).after("<div class='stripTransmitter' id='stripTransmitter" + (j) + "'><ul><\/ul><\/div>") : jQuery(this).before("<div class='stripTransmitter' id='stripTransmitter" + (j) + "'><ul><\/ul><\/div>");			
		jQuery("div#stripTransmitter" + j + " ul").append("<li><a href='#'><img id=\"playpause\" src=\"/imports/pause.png\" alt=\"pause\" width=\"16\" height=\"16\"/><\/a><\/li>");	
		for(var i = 0; i <= PlatformSlides.slides.length - 1; i++)
		{
			jQuery("div#stripTransmitter" + j + " ul").append("<li><a title='" + PlatformSlides.slides[i].alt + "' href='#'>"+(i+1)+"<\/a><\/li>");		
		}
		jQuery("div#stripTransmitter" + j + " a").each(function(z) {
			jQuery(this).bind("click", function(){
				if(jQuery(this).find("img").attr("alt") == "pause")
				{	
					jQuery(this).html("<img id=\"playpause\" src=\"/imports/play.png\" alt=\"play\" width=\"16\" height=\"16\"/>");
					jQuery("div#stripTransmitter0").stopTime("asld");
					return;
				}
				if(jQuery(this).find("img").attr("alt") == "play")
				{
					jQuery(this).html("<img id=\"playpause\" src=\"/imports/pause.png\" alt=\"pause\" width=\"16\" height=\"16\"/>");
					jQuery("div#stripTransmitter" + j).everyTime(settings.asTimer, "asld", function() {		
						i = pos;
						jQuery(this).find("a").eq(i).trigger("click");
						(i < pictEls)?	i++ : i=1;	
						pos = i;
					});
					return;
				}
				jQuery(this).addClass("current").parent().parent().find("a").not(jQuery(this)).removeClass("current"); // wow!	
				container.find("ul").fadeTo(settings.period, 0, function(){
					container.find("ul").html(PlatformSlides.slides[z-1].html);
					container.find("ul").fadeTo(settings.period, 1);					
					(z < pictEls)?	i = z+1 : i=1;	
					pos = i;					
					jQuery("div#stripTransmitter0").stopTime("asld");
					jQuery("div#stripTransmitter0").everyTime(settings.asTimer, "asld", function() {		
						i = pos;
						jQuery(this).find("a").eq(i).trigger("click");
						(i < pictEls)?	i++ : i=1;	
						pos = i;
					});
				});
					
				return false;
			});
		});		

		if(settings.autoslide){					
					var i = 1;
					
					jQuery("div#stripTransmitter" + j).everyTime(settings.asTimer, "asld", function() {		
						i = pos;
						jQuery(this).find("a").eq(i).trigger("click");
						(i < pictEls)?	i++ : i=1;	
						pos = i;
					});	
										
					jQuery("div#stripTransmitter" + j + " a").bind("mouseup", function(){
						// Set position of the loop to that manually clicked
						pos = 1 * jQuery(this).html();						
						//jQuery(this).parent().stopTime("asld");
					});
		}
						
		jQuery("div#stripTransmitter" + j).css("width" , pictWidth);
		// highlight the box AFTER the play/pause
		jQuery("div#stripTransmitter" + j).find("a").eq(1).addClass("current");

		});
		//j++;
	});	
	
	
};
