/* ************************************** */
var _data = null;
var _dataArray = null;
var namePlaylist = null;
var nextVideo = '';
var urlVisti = "http://www.video.mediaset.it/playlist/piu_visti/piuvisti-ieri.sxml";  //"http://www.video.mediaset.it/playlist/piu_visti/piuvisti-ieri.sjson?callback=?";
var _href = unescape(document.location.href);
var jsonRel = '';
var jsonPlaylist = null;
var jsonBrand = ''; 
/* ************************************** */

function _dbg(key, args, msg) {
  try {
    if ( console && console.log ) {
      console.log(key + ': ("' + args.join('","') + '")' + ( msg ? " [" + msg + ']' : ' []' ) );
    }
  } catch (exception) {
    //install firebug
  }
}

function getDocumentProperty(_doc, _pro, _def) {
  var _val = _def;
  try {
    _val = _doc[_pro];
    if (_val == undefined) _val = _def;
  } catch (exception) {
    //error
  }
  return _val;
}

function getUrlCorrelati(idPadded, section){
	while (idPadded.length < 12) idPadded = "0" + idPadded;
	section = "&section="+section;
	return "http://91.211.156.138/Mediaset/related?guid=00000000040000200001"+ idPadded + section+ "&order=iev&maxitems=i:0;e:0;v:12&callback=?";			
}

//begin popupAdv() --> CHIAMATA DAL PLAYER
function popupAdv(url){
_dbg("popupAdv", [url], "init"); 
    var left = (screen.width/2)-400;
	var top = (screen.height/2)-300;
	window.open(url,'','width=800, height=600, resizable=yes, top='+top+', left='+left);
}
//end popupAdv()

//begin OpenPopOut() --> CHIAMATA DAL PLAYER
function OpenPopOut(time){
_dbg("OpenPopOut", [time], "init"); 
     var ver = getInternetExplorerVersion();	 
	 if( ver > -1 && ver <= 6){
	   alert('Funzionalita\' non supportata da questa versione del Browser. Aggiornare Browser.');
	 } 
	 else {
		var urlpopout = ''; 
		if(_href.indexOf("?")>0){
			urlpopout = _href.substring(0,_href.indexOf("?"));
		}
		else if (_href.indexOf("#")>0){
			urlpopout = _href.substring(0,_href.indexOf("#"));	
		}
		else{
			urlpopout = _href;
		}		
		//urlpopout = urlpopout.replace("/video.shtml", "/popout.shtml");	
		urlpopout = urlpopout.replace("/video/", "/video/popout/");		
		if(_dataArray[0].indexOf("playlist")!=-1){	
			_dataArray[13] = time;			
		} else if(_dataArray[0].indexOf("autoswitch")!=-1){	
			_dataArray[8] = time;			
		}
		var ck = $j().crypt({method:"b64enc",source:_dataArray.join(',')});
		var param = (_href.indexOf('?')>0) ? _href.substring(_href.indexOf('?')) : '?$ck='+ck;
		window.open(urlpopout+param,'videoPopOut','location=0, width=693, height=393, toolbar=0, scrollbars=0, status=no, menubar=no, left=0, top=0, resizable=no');
	}
}
//end OpenPopOut()

//begin SetAutoSwitch() --> CHIAMATA DAL PLAYER
function SetAutoSwitch(sw) {
_dbg("SetAutoSwitch", [sw], "init"); 
	if($j.cookie("PlayerAutoSwitch")!= null){
				$j.cookie("PlayerAutoSwitch",null);
	}
	if (sw==true){
		$j.cookie("PlayerAutoSwitch", "true", { path: '/'});
	}
	else{
		$j.cookie("PlayerAutoSwitch", "false", { path: '/'});
	}

	//if($j('#IPlayer').length >0 && _href.indexOf("/popout")>0){
	if($j('#IPlayer').length >0 && _href.indexOf("/popout/")>0){
		  var pl = window.opener.document.getElementById('IPlayer').Content;
			if(pl != null){		   
				if($j.cookie("PlayerAutoSwitch")!=null && $j.cookie("PlayerAutoSwitch")== 'true'){ 
					pl.AutoSwitchButton.JSSetAutoSwitch(true);
				}
				else{
				   pl.AutoSwitchButton.JSSetAutoSwitch(false);
				}
			}
	}
	//else if($j('#PolymediaShow').length >0 && _href.indexOf("/popout")>0){
	else if($j('#PolymediaShow').length >0 && _href.indexOf("/popout/")>0){
			var show = window.opener.document.getElementById("PolymediaShow");		
			if(show != null){		   
				if($j.cookie("PlayerAutoSwitch")!=null && $j.cookie("PlayerAutoSwitch")== 'true'){ 
					show.SetAutoSwitch(true);
				}
				else{
				   show.SetAutoSwitch(false);
				}
			}
	}
}
//end SetAutoSwitch()

//begin SetMute() --> CHIAMATA DAL PLAYER
function SetMute(mute) {
_dbg("SetMute", [mute], "init"); 
	if($j.cookie("PlayerMute")!= null){
				$j.cookie("PlayerMute",null);
	}
	if (mute==true){
		$j.cookie("PlayerMute", "true", { path: '/'});
	}
	else{
		$j.cookie("PlayerMute", "false", { path: '/'});
	}

	//if($j('#IPlayer').length >0 && _href.indexOf("/popout")>0){
	if($j('#IPlayer').length >0 && _href.indexOf("/popout/")>0){
		  var pl = window.opener.document.getElementById('IPlayer').Content;
			if(pl != null){		   
			   if($j.cookie("PlayerMute")!=null && $j.cookie("PlayerMute")== 'false'){
				  pl.VideoManager.JSSetMute(false);
				 } 
				 else{
				   pl.VideoManager.JSSetMute(true);
				 }
			}
	}
	//else if($j('#PolymediaShow').length >0 && _href.indexOf("/popout")>0){
	else if($j('#PolymediaShow').length >0 && _href.indexOf("/popout/")>0){
			var show = window.opener.document.getElementById("PolymediaShow");		
			if(show != null){		   
			  if($j.cookie("PlayerMute")!=null && $j.cookie("PlayerMute")== 'false'){
				  show.SetMute(false);
				} else {
				   show.SetMute(true);
				}
			}
	}			
}
//end SetMute()

//begin AutoSwitch() --> CHIAMATA DAL PLAYER
function AutoSwitch(){
_dbg("AutoSwitch", [], "init"); 
if($j.cookie("PlayerAutoSwitch")=="true"){
   try {
	 	/*-----------------------------------------------------------------------------------------------------------------------------------------*/
	     	if(_dataArray[0].indexOf("autoswitch")!=-1){				     	
		  	  if(Number(_dataArray[2]) == 0 && jsonRel!=''){  //currPosVisti == 0 sto ancora visualizzando i related
						_dataArray[3] = Number(jsonRel.relatedGroups[0].relatedRecords.length);		 			  	
						checkPlaylistData();
			   }
			   else if(Number(_dataArray[2]) < Number(_dataArray[4])){    //currPosVisti < lengthVisti
				checkPlaylistData();	      		 	
			   }	
	     	}
	     	/*-----------------------------------------------------------------------------------------------------------------------------------------*/
	     	else{
	     	//altre playlist     		
				if(jsonPlaylist != null){						
					if(_dataArray[1] == 'related'){
						_dataArray[4] = Number(jsonPlaylist.relatedGroups[0].relatedRecords.length);
					} else {		
					  _dataArray[4] = $j('record', jsonPlaylist).size();						  
					}					
					checkPlaylistData();
				}				
	     	}
 	} catch(er){
      _dbg("AutoSwitch()", [], "Error: " + er.message);
    }
 }  
}
//end AutoSwitch()

//begin loadRelated()
function loadRelated(){
_dbg("loadRelated", [], "init"); 
	if($j.cookie("PlayerAutoSwitch")=="true"){	
		var urlCorrelati = '';
     	if(namePlaylist.indexOf("autoswitch")!=-1){     		
	  		if(_dataArray[2] == 0){  // currPosVisti == 0 sto ancora visualizzando related
				if(_dataArray[5] != idVideoCorrelati){  //videoId != idVideoCorrelati --> devo ricalcolare i correlati
					urlCorrelati = getUrlCorrelati(_dataArray[5],_dataArray[6]);
				} else if(_dataArray[5] == idVideoCorrelati && jsonVideoCorrelati == null){
					urlCorrelati =  getUrlCorrelati(_dataArray[5], _dataArray[6]); // i correlati sono nulli 
				} else {
					jsonRel = jsonVideoCorrelati; // ho già i correlati che mi servono
				} 
			}
		} else if (_dataArray[0] == 'playlist' || _dataArray[0] == 'myplaylist'){
			if(_dataArray[8] != idVideoCorrelati){  //videoId != idVideoCorrelati --> devo ricalcolare i correlati
				urlCorrelati =  getUrlCorrelati(_dataArray[8], _dataArray[9]);
			} else if(_dataArray[8] == idVideoCorrelati && jsonVideoCorrelati == null){
				urlCorrelati =  getUrlCorrelati(_dataArray[8], _dataArray[9]); // i correlati sono nulli 
			} else {
				jsonRel = jsonVideoCorrelati; // ho già i correlati che mi servono
			}
		} 
		if(urlCorrelati != ''){
			try {
					$j.ajax({ 
						url: urlCorrelati, 
						dataType: "json", 
						async: false, 
						success: function(data) 
						{ 
							jsonRel = data; 
						}									
					}); 
			} catch(er){
				_dbg("AutoSwitch()", [], "Error: " + er.message);
			}	
		}
	}
} 
//end loadRelated()

//begin loadPlaylist()
function loadPlaylist(url){
_dbg("loadPlaylist", [url], "init");
	var urlCall = url+'.sxml?';
	try {		
		$j.ajax({
			type: "GET",
			url: urlCall,
			dataType: "xml",
			async: false,
			success: function(data) {
				jsonPlaylist = data;	         
			},
			error: function() {
			  _dbg("loadPlaylist", [url], "error loading xml file");          
			}
		  });
	} catch(er){
       _dbg("loadPlaylist()", [], "Error: " + er.message);	
 	}

}
//end loadPlaylist


//begin loadPlaylistBrand()
function loadPlaylistBrand(brandvideo){
_dbg("loadPlaylistBrand", [brandvideo], "init");
	var urlCall = '/playlist/brand/'+brandvideo+'.sxml';	
	try {		
		$j.ajax({
			type: "GET",
			url: urlCall,
			dataType: "xml",
			async: false,
			success: function(data) {
				jsonBrand = data;        
			},
			error: function() {
			  _dbg("loadPlaylist", [url], "error loading xml file");          
			}
		  });
	} catch(er){
       _dbg("loadPlaylistBrand()", [], "Error: " + er.message);	
 	}

}
//end loadPlaylistBrand()


//begin loadPlaylistRelated()
function loadPlaylistRelated(idvideo, brandvideo){	
_dbg("loadPlaylistRelated", [idvideo, brandvideo], "init");
	var jsonUrlCall = getUrlCorrelati(idvideo, brandvideo);	
	try {
		$j.getJSON(jsonUrlCall, function(data) {
            jsonRel = data;				
		});
	} catch(er){
       _dbg("loadPlaylistRelated()", [], "Error: " + er.message);	
 	}

}
//end loadPlaylistRelated()

//begin checkPlaylistData() --> controlla quale playlist e quale video mostrare
function checkPlaylistData(){	
_dbg("checkPlaylistData", [], "init"); 
	if (_dataArray[0] == 'autoswitch'){
		// se non ho ancora mostrato tutti i correlati
		/*-----------------------------------------*/
		if(Number(_dataArray[1]) < Number(_dataArray[3])){ //currPosRelated < lengthRelated
			// ridefinisco le proprietà correnti
			_dataArray[1] = Number(_dataArray[1])+1;
			// ricavo il correlato con ID= firstVideo, BRAND = firstVideoBrand, POSIZIONE = currPosRelated
			getVideoCorrelato(_dataArray[1]);
		}
		/*-----------------------------------------*/
	    // se non ho ancora mostrato tutti i più visti
		else if(Number(_dataArray[2]) < Number(_dataArray[4])){ //currPosVisti < lengthVisti
			// ridefinisco le proprietà correnti
			_dataArray[2] = Number(_dataArray[2])+1;
			// ricavo il + visto
			getVideoVisti(_dataArray[2]);
		}	
	}
	/*-----------------------------------------*/		
	// se non ho ancora mostrato tutti i video della playlist --> (videoviewPlaylist +1) < lengthPlaylist 
	else if ((_dataArray[0] == 'playlist' || _dataArray[0] == 'myplaylist') && ((Number(_dataArray[7])+1) < (Number(_dataArray[4])))){	
		// ridefinisco le proprietà correnti 
		_dataArray[7] = Number(_dataArray[7])+1;
		// calcolo id del video sucessivo delle playlist 
		_dataArray[6] = (Number(_dataArray[6])+ 1)  >  Number(_dataArray[4]) ?  1 : (Number(_dataArray[6]) + 1);			
		// ricavo il video sucessivo nella playlist				
		getVideoPlaylist(_dataArray[6]);		
	}
	/*-----------------------------------------*/	
}
//end checkPlaylistData()

//begin getUrlNextVideo() --> chiama il video successivo delle playlist
function getUrlNextVideo(record){
_dbg("getUrlNextVideo", [record], "init"); 	
	var _video_guid =null;
	var _video_section = null;
	var _video_program = null;
	var _video_url = null;
	if(_dataArray[1] == 'related' || (_dataArray[0] == 'autoswitch' && Number(_dataArray[1]) < Number(_dataArray[3]))){	   
		$j.each(record, function(j) {			
			if(this.name == "Document name"){   _video_url = this.value; }
		});
	}else{
		$j(record).each(function(h) {
			_video_guid = $j("GUID", this).text();
			_video_section = $j("SECTION", this).text();
			_video_program = $j("PROGRAM", this).text();
			_video_url = $j("URL", this).text();
		});
	}
	nextVideo = _video_url;
	//nextVideo = _href.substring(0,_href.indexOf("?"));
	//document.location = nextVideo;
	
	if(_href.indexOf("popout")>=0){
		nextVideo = nextVideo.replace("/video/", "/video/popout/");	
	}
	_dbg("getUrlNextVideo", [namePlaylist, nextVideo], "nextVideo"); 
	
 	if(namePlaylist.indexOf("autoswitch")!=-1){
 		var p = 'autoplay';
 		var i = 1;
 		var n = (Number(_dataArray[1])+ Number(_dataArray[2]));  //currPosRelated + currPosVisti
		var ck = $j().crypt({method:"b64enc",source:_dataArray.join(',')});
 		//alert(nextVideo+'?$p='+p+'$i='+i+'$n='+n+'$ck='+ck);
		document.location = nextVideo+'?$p='+p+'$i='+i+'$n='+n+'$ck='+ck;
 	} else {
		//altre playlist 			
		_dataArray[8] = _video_guid; //firstVideo in questo caso video di riferimento
		_dataArray[9] = _video_section; //firstVideoBrand in questo caso video di riferimento
		_dataArray[10] = _video_program;		
	    // aggiorno le proprietà correnti	    
		var p = namePlaylist;		
 		var i = _dataArray[5];		
 		var n = _dataArray[7];
		var ck = $j().crypt({method:"b64enc",source:_dataArray.join(',')});		
 		//alert(nextVideo+'?$p='+p+'$i='+i+'$n='+n+'$ck='+ck);
		document.location = nextVideo+'?$p='+p+'$i='+i+'$n='+n+'$ck='+ck;
	}
	
/*	
		$p=<nome_ playlist>
 	 	$i=<indice_playlist>
 	 	$n=<numero_video_visualizzati _playlist> 	
		cpr 0
		cpv	0
		lr	12
		lv	200			
*/
 	
 	
}
//end getUrlNextVideo()

//begin getVideoVisti()
function getVideoVisti(position){
_dbg("getVideoVisti", [position], "init"); 
	  	try {		  
			$j.ajax({
				type: "GET",
				url: urlVisti,
				dataType: "xml", 
				async: false,
				success: function(data) {
					jsonVideoPiuVisti = data;
					var record = $j('record', jsonVideoPiuVisti)[position-1];				
					if (record) {
						getUrlNextVideo(record);
					}
				},
				error: function() {
				  _dbg("initMyPlaylist", [path,id,title], "error loading json file");          
				}
			  });
	 		} catch(er){
	 			//alert('EV: '+er.message);
       _dbg("getVideoVisti()", [], "Error: " + er.message);
     }
}
//end getVideoVisti()         

//begin getVideoCorrelato()
function getVideoCorrelato(position){
_dbg("getVideoCorrelato", [position], "init"); 
		try {
		 		 var record = jsonRel.relatedGroups[0].relatedRecords[position-1].documentProperties;
				 var _video_url = '';
				 $j.each(record, function(j) {
					if(this.name == "Document name"){ _video_url = this.value; }
				}); 
_dbg("getVideoCorrelato", [_video_url], ""); 					
				   if(_video_url == 'http://www.video.mediaset.it.html'){
						// mostro video sucessivo 
						checkPlaylistData();
						return;
				   }	
			    if (record) {
			    	getUrlNextVideo(record);
			  	}
 		 } catch(er){
 		 		//alert('ER: '+er.message);
       _dbg("getVideoCorrelato()", [], "Error: " + er.message);
     }
} 
//end getVideoCorrelato()  

//begin getVideoPlaylist()
function getVideoPlaylist(position){
_dbg("getVideoPlaylist", [position], "init"); 
		try {		
		 		var record = null;
				var _video_state = '';
				if(_dataArray[1] == 'related'){
					record = jsonPlaylist.relatedGroups[0].relatedRecords[position-1].documentProperties
				} else{				
					record = $j('record', jsonPlaylist)[position-1];				
					$j(record).each(function(h) {
						  _video_state =  $j("STATE", this).text()
					});
_dbg("getVideoPlaylist", [_video_state], ""); 					
				   if(_video_state == 'unpublish'){
						// mostro video sucessivo 
						checkPlaylistData();
						return;
				   }			   				   
				}
			    if (record) {
			    	getUrlNextVideo(record);
			  	}
 		 } catch(er){
 		 		//alert('ER: '+er.message);
       _dbg("getVideoPlaylist()", [], "Error: " + er.message);
     }
} 
//end getVideoPlaylist()   

//begin createAutoswitchData() --> crea la struttura dati con le info della playlist
function createAutoswitchData(playlist,idvideo,brandvideo,tipo) {		
_dbg("createAutoswitchData", [playlist,idvideo,brandvideo,tipo], "init"); 
		var cpd = playlist+',0,0,0,200,'+idvideo+','+brandvideo+','+tipo+',';				 	 	
					/* struttuta _dataArray
					   [0] = autoswitch
					   [1] = currPosRelated
					   [2] = currPosVisti
					   [3] = lengthRelated
					   [4] = lengthVisti
					   [5] = firstVideoId
					   [6] = firstVideoBrand		
					   [7] = type	(se '' --> clip)
					   [8] = timeVideo (se '' --> 00:00:00.000)					   
                        es: autoswitch,1,0,12,200,191641,cotto_e_mangiato					
				*/	
_dbg("createAutoswitchData", [cpd], "return"); 				
		return cpd;
}
//end createAutoswitchData()

//begin createPlaylistData() --> crea la struttura dati con le info della playlist
function createPlaylistData(playlist,playlistType,playlistId,playlistName,idvideo,brandvideo,descbrandvideo,tipo,currpos,related) {		
_dbg("createPlaylistData", [playlist,playlistType,playlistId,playlistName,idvideo,brandvideo,descbrandvideo,tipo,currpos,related], "init"); 
		 var _cp = 1;
		 var _ip = 1;
		if(currpos != undefined){
		  _ip = currpos;
		  if(currpos.indexOf("p")==0){
			 _cp = (currpos.substring(1));
		  }
		}
		var cpd = playlist+','+playlistType+','+playlistId+','+playlistName+',0,'+_ip+','+_cp+',0,'+idvideo+','+brandvideo+','+descbrandvideo+',,'+tipo+',';		
		if(related != undefined && related){
			//aggiungo info sul brand del video di cui va calcolate related.
			cpd = cpd + ','+brandvideo;
		}	 	 	
					/* struttuta _dataArray
					   [0] = playlist
					   [1] = tipo playlist (bacino, brand ...)
					   [2] = identificativo playlist
					   [3] = nome playlist editoriale
					   [4] = lengthPlaylist 
					   [5] = initPosPlaylist
					   [6] = currPosPlaylist
					   [7] = videoviewPlaylist
					   [8] = videoId
					   [9] = videoBrand
					   [10] = videoBrandDescription
					   [11] = videoBrand (solo in caso di related)
					   [12] = type (se '' --> clip)
					   [13] = timeVideo (se '' --> 00:00:00.000)
                        es: playlist,bacino,22,0,1,2,0,191641,cotto_e_mangiato,Cotto e mangiato 					
				*/	
_dbg("createPlaylistData", [cpd], "return"); 					
		return cpd;
}
//end createPlaylistData()

//begin createCookie() --> crea il cookie autoswitch e il cookie mute
function createCookie(forceAutoSwitch) {
_dbg("createCookie", [forceAutoSwitch], "init"); 
	if($j.cookie("PlayerAutoSwitch") == null || forceAutoSwitch){
		$j.cookie("PlayerAutoSwitch", "true", {expires: null, path: '/'});
	} 
	if($j.cookie("PlayerMute") == null){
 		$j.cookie("PlayerMute", "false", {expires: null, path: '/'}); 			
 	}	
}
//end createCookie()
 
//begin initFirstItem() -> crea i cookie PlayerAutoSwitch e PlayerMute e il token per l'autoswitch
function initFirstItem(){
_dbg("initFirstItem", [], "init"); 
		createCookie();
		var firstVideo = jsonVideoMetadata["id"];
		var firstVideoBrand = jsonVideoMetadata["brand"];
		var tipo = jsonVideoMetadata["type"];		
		_data = createAutoswitchData('autoswitch',firstVideo,firstVideoBrand,tipo);
		_dataArray = _data.split(",");	
		namePlaylist = 'autoswitch';
}
//end initFirstItem()

//begin initPlaylist() -> crea i cookie PlayerAutoSwitch e PlayerMute, il token della playlist e cotruisce href inoltre se la customerbox è chiusa setta il cookie per aprirla 
function initPlaylist(playlist,playlistType,playlistId,playlistName,idvideo,brandvideo,descbrandvideo,urlvideo,tipo,currpos){  //playlist|bacino|22 playlist-bacino-22	
_dbg("initPlaylist", [playlist,playlistType,playlistId,playlistName,idvideo,brandvideo,descbrandvideo,urlvideo,tipo,currpos], "init");
		createCookie(true);
		if($j.cookie("BOTTOMBARSTATUS") != null && $j.cookie("BOTTOMBARSTATUS") == "CLOSE"){
			$j.cookie('BOTTOMBARSTATUS', 'OPEN', {expires: null, path: '/'});
		}
		var cpd = createPlaylistData(playlist,playlistType,playlistId,playlistName,idvideo,brandvideo,descbrandvideo,tipo,'p'+currpos);
	  //alert('edit--> '+cpd)	
		var ck = $j().crypt({method:"b64enc",source:cpd});	
		document.location.href=urlvideo+'?$p='+playlist+'-'+playlistType+'-'+playlistId+'$i=p'+currpos+'$n=0$ck='+ck;																		
}
//end initPlaylist()

//begin initPlaylistBrand() -> crea il token della playlist dei brand e cotruisce href 
function initPlaylistBrand(brandvideo,descbrandvideo){  //playlist|brand|cotto_e_mangiato playlist-brand-cotto_e_mangiato	   
	//es: initPlaylistBrand('191857','cotto_e_mangiato');
_dbg("initPlaylistBrand", [brandvideo,descbrandvideo], "init");    		
		var urlvideo = 	'/';	
		var idvideo	= '';
		var tipo	= '';				
		$j($j('record', jsonBrand)[0]).each(function(h) {
				  idvideo =  $j("GUID", this).text();
				  tipo =  $j("TIPO", this).text();
				  urlvideo =  $j("URL", this).text();				  
			});
	  var cpd = createPlaylistData( 'playlist','brand',brandvideo,'',idvideo,brandvideo,descbrandvideo,tipo,"1");	
    //alert('brand--> '+cpd)		
	  var ck = $j().crypt({method:"b64enc",source:cpd});	
	  document.location.href=urlvideo+'?$p=playlist-brand-'+brandvideo+'$i='+1+'$n=0$ck='+ck;			
}
//end initPlaylistBrand()

//begin initMyPlaylist() -> crea il token della playlist dei brand e cotruisce href 
function initMyPlaylist(path,id, title){  //myplaylist|path|myplaylistid myplaylist-userid-myplaylistid	   
	//es: initPlaylistBrand('userid','myplaylistid', 'la mia prima playlist');
_dbg("initMyPlaylist", [path,id,title], "init");    		
		var urlvideo = 	'/';	
		var idvideo	= '';
		var tipo	= '';	
		var brandvideo = '';
		var descbrandvideo = '';
		
		// recupero info sul primo video della mia playlist 
		$j.ajax({
        type: "GET",
        url: "/myplaylist/" + path + "/" + id + '.sxml?page=1',  //'.sjson?page=1&callback=?',
        dataType: "xml", //"json",
        async: false,
        success: function(result) {
          $j($j('record', result)[0]).each(function(h) {
				  idvideo =  $j("GUID", this).text();
				  tipo =  $j("TIPO", this).text();
				  urlvideo =  $j("URL", this).text();
				  brandvideo =  $j("SECTION", this).text();
			      descbrandvideo = $j("PROGRAM", this).text();
			});
        },
        error: function() {
          _dbg("initMyPlaylist", [path,id,title], "error loading json file");          
        }
       });
				
	  var cpd = createPlaylistData( 'myplaylist',path,id,title,idvideo,brandvideo,descbrandvideo,tipo,"1");	
    //alert('brand--> '+cpd)		
	  var ck = $j().crypt({method:"b64enc",source:cpd});	
	  document.location.href=urlvideo+'?$p=myplaylist-'+path+'-'+id+'$i='+1+'$n=0$ck='+ck;			
}
//end initMyPlaylist()

//begin initPlaylistRelated() -> crea il token della playlist dei related e cotruisce href 
function initPlaylistRelated(initialvideo){  //playlist|related|191641 playlist-related-191641    
_dbg("initPlaylistRelated", [initialvideo], "init"); 		
		var urlvideo = 	'/';	
		var idvideo	= '';
		var brandvideo	= '';	
	    var descbrandvideo	= '';	
		var tipo	= '';				
		_jsonRel = jsonRel.relatedGroups[0].relatedRecords[0];
		$j.each(_jsonRel.documentProperties,function(j,itemDP) {	
			if ($j(this)[0].name == 'Document name'){
				urlvideo = $j(this)[0].value;
			}
			else if ($j(this)[0].name == 'GUID'){
				idvideo = $j(this)[0].value;
			}
			else if ($j(this)[0].name == 'SECTION'){
				brandvideo = $j(this)[0].value;
			}
			else if ($j(this)[0].name == 'PROGRAM'){
				descbrandvideo = $j(this)[0].value;
			}
			else if ($j(this)[0].name == 'TIPO'){
				tipo = $j(this)[0].value;
			}
		});	
		
		idvideo  =  idvideo.substring(20);		
		while (idvideo[0] == '0') idvideo  =  idvideo.substring(1);	    
		var cpd = createPlaylistData( 'playlist','related',initialvideo,'',idvideo,brandvideo,descbrandvideo,tipo,"1",true);
		//alert('related--> '+cpd)			
		var ck = $j().crypt({method:"b64enc",source:cpd});				
		document.location.href=urlvideo+'?$p=playlist-related-'+initialvideo+'$i='+1+'$n=0$ck='+ck;		
}
//end initPlaylistRelated()

//begin getInternetExplorerVersion
function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
//end getInternetExplorerVersion

//begin drawFasciaPlaylist()
function drawFasciaPlaylist(jsonUrl, currPosPlaylist, playlistData, playlistName, retry){
_dbg("drawFasciaPlaylist", [jsonUrl, currPosPlaylist, playlistData, playlistName, retry], "init"); 
	var jsonUrlCall = jsonUrl;
	try {	

	$j.ajax({
      type: "GET",
      url: jsonUrlCall,
      dataType: "xml", 
      async: false,
      success: function(data) {			  
				jsonPlaylist = data;												
		
				if($j('#customerBox').length > 0){
					var playlistHtml = '';						   		
					var divLista = '';
					
					if($j('#fascia-playlist').length == 0){
						divLista = $j('<ul id="fascia-playlist" class="jcarousel-skin-playlist"/>').appendTo($j('<div id="boxPlaylist"></div>').appendTo($j('#customerBox')));
					}else {
						$j('#boxPlaylist').empty();
						divLista = $j('<ul id="fascia-playlist" class="jcarousel-skin-playlist"/>').appendTo($j('#boxPlaylist'));						
					}
					var _records = $j("record", data); 				
					if(playlistData[0] == 'related'){
						_records = data.relatedGroups[0].relatedRecords;
					}
					
					_dbg("drawFasciaPlaylist", [playlistName, jsonUrlCall], "load records: " + _records.length);
					
					if(_records.length == 0 && retry != 1 ){
						drawFasciaPlaylist(jsonUrl, '', playlistData, playlistName, 1);
					}
					
					if(currPosPlaylist == ''){
						currPosPlaylist = _records.length;
					}
					
					$j(_records).each(function(i) {
					  var playlistlength = _records.length
					  var idvideo = $j("GUID", this).text();
					  var brandvideo = $j("SECTION", this).text();
					  var descrbrandvideo = $j("PROGRAM", this).text();
					  var tipo = $j("TIPO", this).text();
					  var img = $j("THUMBNAIL", this).text();
					  var link = $j("URL", this).text();
					  var titolo = $j("TITOLO", this).text().replace(/\\/g, "");					 
					  var state = $j("STATE", this).text();
					  var _classPlaylist = 'playList';
										
                     // _dbg("drawFasciaPlaylist", [idvideo, link, state, img], "data; currPosPlaylist = "+currPosPlaylist);
                            if(state != 'unpublish'){							 
								if((currPosPlaylist != '' && (i+1)==currPosPlaylist) || (currPosPlaylist == '' && (i+1)==1)){
									_classPlaylist = 'playList active';							
								}	
								if (img == "") {
									 img = "/res/img/138_nothumb.jpg";
								} else if (img.indexOf("/images/138") != 0){
									img = "/images/138" + img;
								}
								var _tmpdata = playlistData[0]+','+playlistData[1]+','+playlistData[2]+','+playlistData[3]+','+playlistlength+','+(i+1)+','+(i+1)+',0,'+idvideo+','+brandvideo+','+descrbrandvideo+','+tipo+',';												
								var ck = $j().crypt({method:"b64enc",source:_tmpdata});
								link = link +'?$p='+playlistName+'$i='+ (i+1) +'$n=0$ck='+ck;								
								playlistHtml += '<li><div class="'+_classPlaylist+'"><a href="'+link+'"><img width="140" height="78" src="'+img+'"></img></a><h4><a href="'+link+'">'+titolo+'</a></h4></div></li>';	
							}								
						});
							
                        if(playlistHtml != ''){							
							$j(playlistHtml).appendTo(divLista);							
							
							$j('#fascia-playlist').jcarousel({
									start: currPosPlaylist
							});	
							   

							if($j.cookie("BOTTOMBARSTATUS") != null && $j.cookie("BOTTOMBARSTATUS") == "CLOSE"){
								$j('#boxPlaylist').css('width', '140px');
								$j('#boxPlaylist').hide();						
							}
						}
					}
				  },
				  error: function() {				 
					_dbg("drawFasciaPlaylist", [jsonUrlCall], "error loading xml file");	
					if(retry != 1 ){
						drawFasciaPlaylist(jsonUrl, currPosPlaylist, playlistData, playlistName, 1);
					}
				  }
	 			});										
				
	} catch(er){
       _dbg("drawFasciaPlaylist()", [], "Error: " + er.message);	
 	}		
	
}
//end drawFasciaPlaylist()


//begin drawFasciaPlaylistJson()
function drawFasciaPlaylistJson(jsonUrl, currPosPlaylist, playlistData, playlistName){
_dbg("drawFasciaPlaylistJson", [jsonUrl, currPosPlaylist, playlistData, playlistName], "init"); 
	var jsonUrlCall = jsonUrl;
	try {	

	$j.getJSON(jsonUrlCall, function(data) {
				jsonPlaylist = data;												
				
				if($j('#customerBox').length > 0){
					var playlistHtml = '';						   		
					var divLista = '';
					
					if($j('#fascia-playlist').length == 0){
						divLista = $j('<ul id="fascia-playlist" class="jcarousel-skin-playlist"/>').appendTo($j('<div id="boxPlaylist"></div>').appendTo($j('#customerBox')));
					}else {
						$j('#boxPlaylist').empty();
						divLista = $j('<ul id="fascia-playlist" class="jcarousel-skin-playlist"/>').appendTo($j('#boxPlaylist'));						
					}
					var _records =data.records;					
					if(playlistData[0] == 'related'){
						_records = data.relatedGroups[0].relatedRecords;
					}
					
					$j.each(_records,function(i,itemVideo) {	
						var playlistlength = _records.length
						var link = '';
						var img = '';
						var titolo = '';
						var idvideo = '';
						var brandvideo = '';
						var descrbrandvideo = '';
						var _classPlaylist = 'playList';
						var tipo = '';
						var state = '';
						$j.each(itemVideo.documentProperties,function(j,itemDP) {	
								if($j(this)[0].name == 'TITOLO'){
									titolo = $j(this)[0].value;
								}
								else if ($j(this)[0].name == 'THUMBNAIL'){
									img = $j(this)[0].value;									
								}
								else if ($j(this)[0].name == 'Document name'){							
									link = $j(this)[0].value;
								}
								else if ($j(this)[0].name == 'GUID'){
									idvideo = $j(this)[0].value;
								}
								else if ($j(this)[0].name == 'SECTION'){
									brandvideo = $j(this)[0].value;
								}
								else if ($j(this)[0].name == 'PROGRAM'){
									descrbrandvideo = $j(this)[0].value;
								}
								else if ($j(this)[0].name == 'TIPO'){
									tipo = $j(this)[0].value;
								}
								else if ($j(this)[0].name == 'STATE'){
									state = $j(this)[0].value;
								}
							});		
                             
                            if(state != 'unpublish'){							 
								if((currPosPlaylist != '' && (i+1)==currPosPlaylist) || (currPosPlaylist == '' && (i+1)==1)){
									_classPlaylist = 'playList active';							
								}	
								if (img == "") {
									 img = "/res/img/138_nothumb.jpg";
								} else if (img.indexOf("/images/138") != 0){
									img = "/images/138" + img;
								}
								var _tmpdata = playlistData[0]+','+playlistData[1]+','+playlistData[2]+','+playlistData[3]+','+playlistlength+','+(i+1)+','+(i+1)+',0,'+idvideo+','+brandvideo+','+descrbrandvideo+','+tipo+',';												
								var ck = $j().crypt({method:"b64enc",source:_tmpdata});
								link = link +'?$p='+playlistName+'$i='+ (i+1) +'$n=0$ck='+ck;								
								playlistHtml += '<li><div class="'+_classPlaylist+'"><a href="'+link+'"><img width="140" height="78" src="'+img+'"></img></a><h4><a href="'+link+'">'+titolo+'</a></h4></div></li>';	
							}								
						});
											
						$j(playlistHtml).appendTo(divLista);							
						
						$j('#fascia-playlist').jcarousel({
								start: currPosPlaylist,
								itemFallbackDimension: 140
						});	
						   

						if($j.cookie("BOTTOMBARSTATUS") != null && $j.cookie("BOTTOMBARSTATUS") == "CLOSE"){
							$j('#boxPlaylist').css('width', '140px');
							$j('#boxPlaylist').hide();						
						}
					}				  
	 			});										
				
	} catch(er){
       _dbg("drawFasciaPlaylistJson()", [], "Error: " + er.message);	
 	}		
	
}
//end drawFasciaPlaylistJson()


//begin drawMenuPlaylist()
function drawMenuPlaylist(jsonPlaylistEdit, namePlaylistEdit, brandvideo, descrbrandvideo, idvideo){
_dbg("drawMenuPlaylist", [jsonPlaylistEdit, namePlaylistEdit, brandvideo, descrbrandvideo, idvideo], "init"); 
	try {	
	     
		  if( jsonRel == ''){		  
			loadPlaylistRelated(idvideo, brandvideo);
		  }
		  loadPlaylistBrand(brandvideo);
		  loadPlaylist(jsonPlaylistEdit);
		  
		  var _playlisttype = '';
		  
		  if((new RegExp("\\$p=([A-Za-z0-9!\_\-]+)($|&|\\$)").exec(_href)[1]).indexOf('playlist-related') >= 0){
				_playlisttype = 'related';
		  }
		  else if((new RegExp("\\$p=([A-Za-z0-9!\_\-]+)($|&|\\$)").exec(_href)[1]).indexOf('playlist-brand') >= 0){
				_playlisttype = 'brand';
		  } else if((new RegExp("\\$p=([A-Za-z0-9!\_\-]+)($|&|\\$)").exec(_href)[1]).indexOf('playlist-') == 0){
				_playlisttype = 'editoriale';
		  } else if((new RegExp("\\$p=([A-Za-z0-9!\_\-]+)($|&|\\$)").exec(_href)[1]).indexOf('myplaylist-') == 0){
				_playlisttype = 'personale';
		  }
		  		  
		  var ipe = '';
          if(_playlisttype == 'editoriale'){
				ipe = '<li class="active">'+namePlaylistEdit+'</li>';
		  }		  
	      var ipr = '';
		  if( jsonRel != ''){
		  	ipr = '<li>';
		  	 if(_playlisttype == 'related'){
		  	 	ipr = '<li class="active">';
		  	}
				ipr += '<a onclick="initPlaylistRelated(\''+idvideo+'\');">Correlati</a>';
				ipr += '</li>'
		  }	 
		  var ipb = '';
		  if( jsonBrand != ''){
			  ipb = '<li>';
			  if(_playlisttype == 'brand'){
				ipb = '<li class="active">';
			  }
				ipb += '<a onclick="initPlaylistBrand(\''+brandvideo+'\',\''+descrbrandvideo+'\');">' + descrbrandvideo +'</a>';
				ipb += '</li>';
		  }
		  var playlistHtml = ipe+ipb+ipr;		 
		  var divLista = $j('<ul id="playlistTitle"/>').appendTo($j('#playListMenu'));
		  $j(playlistHtml).appendTo(divLista);	
		  
		  //se utente loggato mostro "le mie playlist"
		  drawMenuMyPlaylist(_playlisttype);
		  
		  return false;
	} catch(er){
       _dbg("drawMenuPlaylist()", [], "Error: " + er.message);	
 	}
}
//end drawMenuPlaylist()


//begin drawPlaylist()
function drawPlaylist(){
_dbg("drawPlaylist", [], "init");     
	if(_href.indexOf('/video/')>0){
		createCookie();
	 	if(_href.indexOf("$ck")>0){
			_crypt_key = (new RegExp("\\$ck=([A-Za-z0-9!\_\-]+)($|&|\\$)").exec(_href)[1]);			
	 		_data = $j().crypt({method:"b64dec",source:_crypt_key});
	 		if(_data !=null){					 			
	 			_dataArray = _data.split(",");	                
	 			if(_dataArray[0] == 'playlist' || _dataArray[0] == 'myplaylist'){	 
	 			//	alert(_dataArray[1]+'->'+_dataArray[3])	
	 				/* 
	 				   [0] = playlist
					   [1] = tipo playlist (bacino, brand ...)
					   [2] = identificativo playlist (nel caso di related id del video di partenza)
					   [3] = nome playlist editoriale
					   [4] = lengthPlaylist 
					   [5] = initPosPlaylist (nel caso la playlist sia stata lanciata dalla pagina ha come prefisso p)
					   [6] = currPosPlaylist
					   [7] = videoviewPlaylist
					   [8] = videoId
					   [9] = videoBrand 
					   [10] = videoBrandDescription
					   [11] = videoBrand (solo in caso di related)
					   [12] = type (se '' --> clip)
					   [13] = timeVideo (se '' --> 00:00:00.000)
                        es: playlist,bacino,22,0,1,2,0,191641,cotto_e_mangiato,Cotto e mangiato 					
					*/				
					var currPosPlaylist = Number(_dataArray[6]);	
					var brandvideo	= _dataArray[9];
					var descrbrandvideo	= _dataArray[10];
					var idvideo	= _dataArray[8];
					var jsonUrl =  '';		
					namePlaylist = _dataArray[0] + "-" + _dataArray[1] + "-" + _dataArray[2];
	 				namePlaylistEdit = _dataArray[3];
	 				//alert('drawPlaylist-->'+_dataArray[3])
	 				jsonPlaylistEdit = "/" + _dataArray[0] + "/" + _dataArray[1] + "/" + _dataArray[2];
	 				//drawFasciaPlaylist(jsonPlaylistEdit, namePlaylistEdit,jsonUrl, currPosPlaylist);
                    if(_dataArray[1] == 'related'){
						jsonUrl =  getUrlCorrelati(_dataArray[2], _dataArray[9]);
						drawFasciaPlaylistJson(jsonUrl, currPosPlaylist, _dataArray, namePlaylist);
					} else if(_dataArray[1] == 'brand'){
						jsonUrl =  "/" + _dataArray[0] + "/" + _dataArray[1] + "/" + _dataArray[2] +'.sjson?callback=?';
						drawFasciaPlaylistJson(jsonUrl, currPosPlaylist, _dataArray, namePlaylist);
					}else if(_dataArray[0] == 'playlist'){
						var _t = new Date().getTime();
						jsonUrl =  jsonPlaylistEdit +'.sxml?'+_t;  
						drawFasciaPlaylist(jsonUrl, currPosPlaylist, _dataArray, namePlaylist);
					} else {
						var _t = new Date().getTime();
						jsonUrl =  jsonPlaylistEdit +'.sxml?'+_t;  //+'.sjson?callback=?';
						drawFasciaPlaylist(jsonUrl, currPosPlaylist, _dataArray, namePlaylist);
					}							 					 				
					if($j('#customerBox').length > 0){					
						var _menu = $j('#playListMenu > h3 > a');
						$j(_menu).addClass('close');													
						  $j(_menu).click(function() {												
							if ( $j(_menu).attr('class') == 'close' ) {						 
							 $j(_menu).attr('class','open');
							  $j(_menu).html('&#160;');
							 drawMenuPlaylist(jsonPlaylistEdit, namePlaylistEdit, brandvideo, descrbrandvideo, idvideo);						 
							} else if ( $j(_menu).attr('class') == 'open' ) {						  
							  $j(_menu).attr('class', 'close');
							  $j(_menu).html('Playlist');
							  $j('#playListMenu > ul').hide();						 
							}
							return false;
						 });
					}
	 			}
	 			else if (_dataArray[0] == 'autoswitch'){
					/* struttuta _dataArray
					   [0] = autoswitch
					   [1] = currPosRelated
					   [2] = currPosVisti
					   [3] = lengthRelated
					   [4] = lengthVisti
					   [5] = firstVideoId
					   [6] = firstVideoBrand		
					   [7] = type	(se '' --> clip)
					   [8] = timeVideo (se '' --> 00:00:00.000)			
                       es: autoswitch,1,0,12,200,191641,cotto_e_mangiato					
					*/	
					namePlaylist = 'autoswitch';
				}
	 		}
	 		else{	//caso in cui ho il parametro $ck nell'url ma non ho i dati del video	
	 		  document.location.href = _href.substring(0,_href.indexOf('?'));
	 		}
		}		
		else{
			initFirstItem();
		}		
		loadRelated();		
	}
 }
//end drawPlaylist()






//playlist|bacino|22 playlist-bacino-22-1234567

//playlist|bacino_editoriale|6 playlist-bacino_editoriale-22-1234567

//playlist-brand-amici-1234567
// /playlist/bacino_editoriale/11.sjson
// /playlist/bacino/11.sjson
// /playlist/piuvisti/2.sjson
// /playlist/brand/amici.sjson
