var passaggio_num=0;

if (typeof IT=="undefined"||!IT) {var IT={};}
IT = {
	RCS : {
		UTILS : {
				/**
				 * Pesca un parametro dalla query string dell'URL
				 * @param whichOne il parametro
				 * @return il valore associato al parametro
				 * @author Nosferatu, 1998
				 */
				getParameter: function (whichOne) {
					var pairs = location.search.substring(1).split('&');
					var r = "";
					var tp = new Array();
					for (var i = 0; i < pairs.length; i ++) {
						tp = pairs[i].split('=');
						if (whichOne == tp[0])
							r = unescape(tp[1].replace(/\+/g, " "));
					}
					return r;
				},
				/**
				 * Crea un nuovo oggetto activeX o applet o Flash.
				 * @param divContainer: elemento contenitore.
				 * @param id : L'id del nuovo oggetto.
				 * @param classId : il ClassId del nuovo oggetto. 
				 * @param src : il path del nuovo oggetto.
				 * @param w : la larghezza del nuovo oggetto.
				 * @param h : l'altezza del nuovo oggetto. 
				 * @param autostart: indica se far partire subito il contenuto. 
				 * @param flashVersion: Versione del plugin flash, necessaria. */
				getFlashObject : function (id, src, w, h, flashVersion, flashVars ){
					//alert(id+"\n"+ src+"\n"+ w+"\n"+ h+"\n"+ flashVersion+"\n"+flashVars);
					var flash =
						'<object classid="clsid:d27cdb6e-ae6d-11cf-96B8-444553540000"' + ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+
							flashVersion+'" '+ 
							' width="'+w+'" '+ 
							' height="'+h+'">'+
							'<param name="allowScriptAccess" value="sameDomain" />'+
							'<param name="allowFullScreen" value="true" />'+
							'<param name="movie" value="'+src+'" />'+
							'<param name="quality" value="high" />'+
							'<param name="wmode" value="transparent" />'+
							'<param name="bgcolor" value="#ffffff" />'+
							'<param name="salign" value="t" />'+
							'<param name="FlashVars" value="'+flashVars+'" />'+
							'<embed src="'+src+'" '+
								'quality="high" '+
								'wmode="transparent" '+
								'bgcolor="#ffffff" '+
								'width="'+w+'" '+
								'height="'+h+'" '+
								'name="'+id+'" '+
								'align="middle" '+
								'salign="t" '+
								'allowScriptAccess="sameDomain" '+
								'allowFullScreen="true" '+
								'FlashVars="'+ flashVars +'"/>'+
						'</object>'	;
				if($.browser.msie && ($.browser.version).indexOf("6")==0 && passaggio_num==0) {
					flash =
						'<object classid="clsid:d27cdb6e-ae6d-11cf-96B8-444553540000"' + ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+
							flashVersion+'" '+ 
							' width="'+w+'" '+ 
							' height="'+h+'">'+
							'<param name="allowScriptAccess" value="sameDomain" />'+
							'<param name="allowFullScreen" value="true" />'+
							'<param name="movie" value="'+src+'" />'+
							'<param name="quality" value="high" />'+
							'<param name="bgcolor" value="#ffffff" />'+
							'<param name="salign" value="t" />'+
							'<param name="FlashVars" value="'+flashVars+'" />'+
						'</object>'	;
				}
					passaggio_num++;
					return flash;
				},
				/** 
				 * Crea un nuovo oggetto activeX o applet o Flash.
				 * @param divContainer: elemento contenitore.
				 * @param id : L'id del nuovo oggetto.
				 * @param classId : il ClassId del nuovo oggetto. 
				 * @param src : il path del nuovo oggetto.
				 * @param w : la larghezza del nuovo oggetto.
				 * @param h : l'altezza del nuovo oggetto. 
				 * @param autostart: indica se far partire subito il contenuto. 
				 * @param flashVersion: Versione del plugin flash, necessaria. */
				flash: function (id, src, w, h, flashVersion, flashVars ){
					document.write(
						IT.RCS.UTILS.getFlashObject(id,src,w,h,flashVersion,flashVars)
					);
				}
		},
		MEDIACENTER : {
			UTILS : {
				/**
				 * Estrae L'alias da un url Video nel MediaCenter. */
				getAlias : function (url){
					if (typeof url == 'string'){
						var begin = url.lastIndexOf('/')+1;
						var end = url.lastIndexOf('.');
						if (begin <= end) {
							return url.substring(begin, end);
						}
					}
					return '';
				},
				getChannel : function (url){
					try{
						var aUrl = url.split('/');
						return aUrl[4];
					} catch (e) {return '';}
				},
				initVideoPreview: function  (context, width_new, height_new) {
					context = context || document;
					// Rendo tutti i link di classe multimedia, erogabili dal mediacenter.
					$(".prev-video", context).each(function(){
						// Apro in preview il contenuto.
						var sperem = $(".prev-video").html();
						var imgDef = $(sperem).attr('src');
						var vidLink = this;
						var imgVar = IT.RCS.MEDIACENTER.UTILS.getAlias($(vidLink).attr('rel'));
						var alias = IT.RCS.MEDIACENTER.UTILS.getAlias($(vidLink).attr('href'));
						var channel = IT.RCS.MEDIACENTER.UTILS.getChannel($(vidLink).attr('href'));
						//console.log("Ricavo l'alias dal link:"+alias);
						var playlistUrl = "/ssi/dyn/boxes/multimedia/contents/"+channel+"/"+alias+".playlist.shtml"; 
						
						//$(this).parent("li").find("div").html(playlistUrl);
						var PLAYER_URL = "/ssi/dyn/flash/flvplayer_tv.swf?video="+vidLink+"&coverSource="+imgDef+"&startvolume=100&autoplay=false";
						var PLAYER_PARAMS = "template="+channel+"&configPath=/static/swf/config.xml&live=false&debug=true&playlistPath=:PLAYLIST";
//						var PLAYER_PARAMS = "configPath=/static/swf/config.xml&live=false&debug=true&playlistPath=:PLAYLIST";
						var width = width_new;
						var height = height_new;

						// Stampo un po' di log
						//console.log("width:"+width);
						//console.log("height:"+height);
						
						$.ajax({
							type: "GET",
							url: playlistUrl,
							//data: sUrl,
							error: function (err) {
								//alert("errore");
								//console.log("playlist not found, call from backend.");
								playlistUrl = escape("/multimedia/playlist.action?alias="+alias+"&channel="+channel);
								$(vidLink).html(
									IT.RCS.UTILS.getFlashObject(
										"mc-player-flv",PLAYER_URL,width,height,"9",PLAYER_PARAMS.replace(":PLAYLIST", playlistUrl)
									));
								//console.log("ok 1.");
							},
							success: function (msg) {
								//alert("successo");
								//return;
								//console.log("playlist found.");
								$(vidLink).html(
									IT.RCS.UTILS.getFlashObject(
										"mc-player-flv",PLAYER_URL,width,height,"9",PLAYER_PARAMS.replace(":PLAYLIST", playlistUrl)
								));
								//console.log("ok 2.");
							}
						});
						$(this).click(function(){return false;});
						// Each End!
					});
				},
				initRotation : function(elemnt_clicked) {
					rotationStart = $(elemnt_clicked).parent("li").attr("id");
					$(".big_rotation li").hide();
					// 1. Leggo la lista di elementi.
					var img_element = "";
					var videoList = $(".big_rotation li");
					var ROTATION_COOKIE = 'lastVideo';
					var COOKIE_OPTIONS  = { expires: 1, secure: false };
					rotationStart = rotationStart || ($.cookie(ROTATION_COOKIE) ? parseInt($.cookie(ROTATION_COOKIE)) + 1 : 0);
					// Se supero, ricomincio.
					if (rotationStart>=videoList.length) rotationStart = 0;

					// 2. Salvo su cookie il nuovo video corrente.
					$.cookie(ROTATION_COOKIE, rotationStart, COOKIE_OPTIONS);

					// 3. Ordino gli elementi secondo il valore presente nel cookie
					var conta=1;
					for (var i = 0; i < videoList.length; i++) {
						
						// 3bis. Setto la classe tappo a tutti gli elemnti
						$(videoList[i]).removeClass("big").addClass("tappo");
						$("a",videoList[i]).removeClass("prev-video");
						img_element = "<img src=\""+$("a",videoList[i]).attr("rel")+"\" alt=\""+$("a",videoList[i]).attr("title")+"\"/>";
						$("a",videoList[i]).html(img_element);

						// 4. Setto la classe opportuna
						if (i==rotationStart){
							$(videoList[i]).removeClass().addClass("big");
							$("a",videoList[i]).addClass("prev-video");
								// 5. UnBindo gli eventi legati al click
								$("a", videoList[i])
									.unbind("click");
						} else {
							$(videoList[i]).removeClass().addClass("tappo").addClass("li_"+conta);
							$("a",videoList[i]).removeClass("prev-video");
							conta++;

							// 5. UnBindo gli eventi legati al click
							$("a",videoList[i])
								.unbind("click")
							// 6. Bindo al click degli altri questo metodo.
								.click(function(){
									IT.RCS.MEDIACENTER.UTILS.initRotation(this);
									return false;
								});	
						}

					}
					$(".big_rotation li").fadeIn('slow');
					$(".big_rotation li div").show();
					
					// 7. Apro il primo elemento come video preview.
					//alert($(videoList[rotationStart]).attr("id"));
						
					IT.RCS.MEDIACENTER.UTILS.initVideoPreview(videoList[rotationStart], 336, 255);
				}				
			}
		},
		LEIWEB : {
			MEDIACENTER : {
				init: function (){
					$(document).ready(function(){
					
						// Inizializzo i video preview in pagina.
						IT.RCS.MEDIACENTER.UTILS.initVideoPreview("", 326, 278);
						IT.RCS.MEDIACENTER.UTILS.initRotation();

					}); // Fine Document Ready
				}()
			}

		}

	}
}
