/* ============================================================================
A support function for easier work with IBM TV videos in overlays.

Requires:
	//www.ibm.com/common/js/ibmcommon.js
	
Part of:
	//www.ibm.com/itsolutions/uk/js/itmcommon.js

Sample usage:
	<a class="ibm-video-link" href="//www.ibm.com/software/info/television/?lang=en_gb&amp;cat=feat_vids&amp;item=xml/J189598L46608X71.xml" onclick="itmCommonIbmTv('J189598L46608X71:T355735S51511V26','false','en_gb','feat_vids','false','Close',this);return false;">linkText</a>
============================================================================ */

// checks if javascript files, which are required by IBM TV are present,
//	loads them if they are not
function itmCommonIbmTvInit()
{
	// checks if *any* SWF object is included in page
	if(!jQuery("script[type*=javascript][src*=swfobject.js]").length)
		jQuery.getScript("//www.ibm.com/ibmtv/swfobject.js");

	// checks if ibmtv.js is present
	if(!jQuery("script[type*=javascript][src*=ibmtv.js]").length)
		jQuery.getScript("//www.ibm.com/ibmtv/ibmtv.js");
}


//checks if the ibm tv video player swf is already loaded, if yes, hides the preloader
function itmCommonIbmTvCheckSwf()
 {  
    var movie = window.document.ibm_tv_320; //id of the ibm tv embed
	if (movie.PercentLoaded() == 100) { 
										jQuery('#preloader').hide();
										} 
										else {
											//after some time, check again - the Timeout is here for preventing overflow
											setTimeout("itmCommonIbmTvCheckSwf()",500);
										}
}


// creates a new DIV and adds all overlay-required childnodes into it
function itmCommonIbmTv(synkeys,autostart,lang,cat,menustart,overlayLabelClose,el)
{
	var overlayId = "ibmtv";
	var overlaySize = "390px";
	// var overlayLabelClose = "Close";
	
	var noFlashText = "You need to have Adobe Flash Player plug-in installed in order to view the content.";
	var getFlashText = "Get Adobe Flash Player";
	var getFlashUrl = "//www.adobe.com/uk/products/flashplayer/";
	
	var reqFlashVersion = 9;
	if(typeof(deconcept)!=="undefined") var flashVersion = deconcept.SWFObjectUtil.getPlayerVersion();
	
	itmCommonOverlayCreate(overlayId,overlaySize,overlayLabelClose);
			
	jQuery("div#"+overlayId+">div.ibm-body>div.ibm-main").queue(function()
	{	
		// prepare noflash content
		jQuery(this).append("<div id=\"ibmtv-flashcontent\"></div>");

		jQuery("div#ibmtv-flashcontent",this)
			.append("<div id=\"noflash\"></div>");
		
		jQuery("div#ibmtv-flashcontent>div#noflash",this)
			.append("<p>"+noFlashText+"</p>")
			.append("<p class=\"ibm-ind-link\"><a href=\""+getFlashUrl+"\" class=\"ibm-external-link\" rel=\"external\">"+getFlashText+"</a></p>");
		
		jQuery("div#ibmtv-flashcontent>div#noflash>p>a[rel=external]",this)
			.bind("click",{anchorObj:this},function(e)
			{
				e.preventDefault();
				itmCommonRelExternal(this);
			});
		
		//creates preloader until video embed is loaded
		jQuery('div#'+overlayId+'>div.ibm-body>div.ibm-main').append('<div id="preloader" style="background-color:white; width:360px; height: 300px; margin-top: -300px;  position: absolute;"><img style="padding-top: 130px; padding-left:170px" src="/software/uk/itsolutions/img/preloader.gif" alt="" width="31" height="31" /></div>');
		
		// initialize the player
		if((flashVersion)&&(flashVersion['major']>=reqFlashVersion))
		{
			openIBMTV(synkeys,autostart,lang,cat,menustart);			
			// correct alignment
			jQuery("div#ibmtv-flashcontent")
				.css("text-align","center")
				.css("padding-bottom","4px");
		}
		jQuery(this).dequeue();
	});	
	// display the overlay
	ibmCommon.Overlays.show(overlayId,el);
	
	
	itmCommonIbmTvCheckSwf();
}
// runs the init function on DOM Document ready
jQuery(document).ready(function()
{
	itmCommonIbmTvInit();
});