Array.prototype.indexOf = function( v, b, s ) {
 for( var i = +b || 0, l = this.length; i < l; i++ ) {
  if( this[i]===v || s && this[i]==v ) { return i; }
 }
 return -1;
};



SnjPlayer = function() 
{	

};

var snjplayer = SnjPlayer.prototype;

snjplayer.setConfig = function(config)
    {
		this.width = config.width;
		this.height = config.height;
		this.clsId = config.clsId;
		this.channel = config.channel;
		this.url = config.url;
		this.popup = config.popup;
		this.playMusic = true;
		this.volumeLevel = 66;
		this.volumeLevels = new Array(0,33,66,100);
		this.channels = new Array("rock","jazz","black","radiomybaggy","classica");
		this.plySilver;
	}
	
snjplayer.CheckBrowser = function() 
		{
			if(navigator.userAgent.indexOf("MSIE")>=0) 
			 	return 'IE';
			else
				return 'FX';
		}
		
snjplayer.IsChrome = function() 
		{
			if(navigator.userAgent.indexOf("Chrome")>=0) 
			 	return true;
			else
				return  false;
		}
		
snjplayer.IsSafari = function() 
		{
			if(navigator.userAgent.indexOf("Safari")>=0) 
			 	return true;
			else
				return  false;
		}
	
snjplayer.InitPlayer = function(playerType) {
			if(!playerType) playerType  = "WMP";
			if(this.channel == "") this.channel = this.channels[0];
			
			if(this.SistemaOperativo() != "W") $("#Volume").attr("src", "images/NoVolume.png");
			if(this.IsChrome()) $("#Volume").attr("src", "images/NoVolume.png");
			

			this.playerTypeNow = playerType;
			this.divPlayer = $("#playerWM"); 
			this.divPlayer.empty();
			this.ChangeChannelImgs();
			
			if(this.playerTypeNow=="WMP")
			{
				if(this.plySilver) this.plySilver.sendEvent('STOP');	
				this.divPlayer.html(this.BuildPlayer(this.channel,'true'));
			}
		 	else
			{
				this.BuildSilverLightPlayer(this.channel);
			}
			
			readxml(this.channel,this.popup);
			this.ChangeTypeImg();
		}

snjplayer.BuildPlayer = function(channel,autoStart)
		{
			this.SNJchannelSelected = channel;
		 	var str  ="";
		 	var urlChannel = this.url + channel;
			this.channel = channel;
			
			
			
		 	if(this.CheckBrowser() == 'IE')
			{
			 	str = '<OBJECT id="playerObj" name="playerObj" '; 
							
				if(this.CheckBrowser() == 'IE')
					str = str + ' classid="clsid:' + this.clsId + '"';       
				else 
					str = str + ' type="application/x-ms-wmp"';        
				
				str = str + ' width="' + this.width + '" height="' + this.height + '">';
				if(this.CheckBrowser == 'IE') str = str + '<PARAM NAME="FileName" value="' + urlChannel + '">';
				str = str + ' <PARAM name="autoStart" value="' + autoStart + '"/>';
				str = str + ' <PARAM name="url" value="' + urlChannel + '"/>';
				str = str + ' <PARAM name="volume" value="' + this.volumeLevel +'"/>';
				str = str + ' <PARAM name="ShowControls" value="0"/>';
				str = str + ' <PARAM name="ShowStatusBar" value="1"/>';
				str = str + ' <PARAM name="ShowDisplay" value="0"/>';
				str = str + ' <PARAM NAME="CaptioningID" VALUE="captions"/>';
				str = str + ' </OBJECT>';
			} 
			else
			{	  		
				if(!this.IsSafari())
				{
				str = str + '<embed id="playerObj" name="playerObj" classid="clsid:' + this.clsId + '" src="'+ urlChannel +'" height="' + this.height + '" width="' + this.width + '"  autostart="1" align="top" ';
				str = str + '     type="application/x-ms-wmp" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/"';
				str = str + '     filename="'+ urlChannel +'" showcontrols="1" showdisplay="1" showstatusbar="1"';
				str = str + '     animationatstart="0" volume="' + this.volumeLevel +'%" allowscan="1" clicktoplay="0" enablecontextmenu="1"></embed>';
				}
				else
				{
					str = str + '<object type="video/x-ms-wmv" data="' + urlChannel + '" width="' + this.width + '"';
					str = str + 'height="' + this.height + '" >';
					str = str + '<param name="src" value="' + urlChannel + '" />';
					str = str + '<param name="autostart" value="true" />';
					str = str + '<param name="controller" value="true" />';
					str = str + '<param name="qtsrcdontusebrowser" value="true" />';
					str = str + '<param name="enablejavascript" value="true" />';
					str = str + '</object>';

				}
				
			}
			
			return str;
		}
		
snjplayer.BuildSilverLightPlayer = function(channel)
		{
			if (!Silverlight.isInstalled("2.0"))
			{
				alert("Non hai Silverlight installato");
				return;
			}
			
			var urlChannel = this.url + channel;
			
			var cnt = document.getElementById("playerWM");
			var src = 'wmvplayer.xaml';
			var cfg = {height:'20',autostart:'true',volume:'50',width:'40',duration:'30',file:urlChannel,usefullscreen:'false'};
			this.plySilver = new jeroenwijering.Player(cnt,src,cfg);
			
			
		}
		
 snjplayer.StopPlayer = function()
 {
			if (!this.playMusic)
			{
				this.ChangePlayImg();
				this.InitPlayer(this.playerTypeNow);
				return;
			}
			
			
       		if(this.playerTypeNow!="WMP")
       		{
       			this.plySilver.sendEvent('STOP');	
				this.ChangePlayImg();
				this.playMusic = false;
       			return;
       		}
       		
       
       		if(this.SistemaOperativo() == "W")
				{
					if(this.CheckBrowser() == 'FX')
						{
							if(this.IsChrome) 
								this.divPlayer.empty();
							else
								document.getElementById("playerObj").controls.stop();
						}
					else
						document.getElementById("playerObj").controls.stop();
						
					this.ChangePlayImg();

			    }
	        else
	        	{
					$("#playerWM").html("");
					this.ChangePlayImg();
					return;
				}
 }
 
snjplayer.ChangeChannel = function(channel,autoStart)
{
	
	this.channel = channel;
	changeTiscaliMenu(this.channel);
	//this.divPlayer.html(this.BuildPlayer(channel,'true'));
	this.InitPlayer(this.playerTypeNow);
	
	
}

snjplayer.changeMoveChannel = function(move)
{

	var pos = this.channels.indexOf(this.channel);		
	
	pos = pos + move;
	
	if(pos==this.channels.length) pos = 0;
	if(pos<0) pos = this.channels.length - 1;
	this.channel = this.channels[pos];
	
	if(!this.popup) changeTiscaliMenu(this.channel);
	
    this.InitPlayer(this.playerTypeNow);
	
	
}

snjplayer.Popup = function()
{
	this.StopPlayer();
	this.ChangePlayImg();
	
	$("#ApriPopUp").attr("src", "images/ApriPopUp_over.png");
	
	var windowStyle = "top=10, left=10, width=585, height=270, location=no, fullscreen=no, status=no, menubar=no, toolbar=no, titlebar=no, scrollbar=no";
	window.open("player_popup.php?channel=" + this.channel, "snjPopUp", windowStyle);
}

snjplayer.Help = function()
{
	window.open("http://radio.tiscali.it/help.php", "snjHelp");
}

snjplayer.SistemaOperativo = function() 
		{
			if (navigator.userAgent.indexOf("Win") != -1) {
			var mostra = "W";
			}
			else if (navigator.userAgent.indexOf("Mac") != -1) {
			var mostra = "M";
			}
			else {
			var mostra = "Non specificato";
			}
			return mostra;
	   }
	
		
		
snjplayer.ChangePlayImg  = function()
{
	if (this.playMusic)
		{
			$("#imgPlay").attr("src", "images/Play.png");
			this.playMusic = false;
		}
	else
		{
			$("#imgPlay").attr("src", "images/Stop.png");
			this.playMusic = true;
		}
}

snjplayer.ChangeTypeImg  = function()
{
	if(this.playerTypeNow=="WMP")
		{
			$("#WindowsMedia").attr("src", "images/WindowsMedia.png");
			$("#SilverLight").attr("src", "images/SilverLight_off.png");
		}
	else
		{
			$("#WindowsMedia").attr("src", "images/WindowsMedia_off.png");
			$("#SilverLight").attr("src", "images/SilverLight.png");
		}
}		

snjplayer.ChangeHelp  = function(over)
{
	if(!this.popup)
		$("#Help").attr("src", "images/Help" + over +".png");
	else
		$("#FAQ_pop").attr("src", "images/FAQ_pop" + over +".png");
}	

snjplayer.ChangeChannelImgs = function()
{
	if(!this.popup) $("#imgCanale").attr("src", "images/imgCanale_" + this.channel +".png");
	$("#NomeCanale").attr("src", "images/NomeCanale_" + this.channel +".png");
	
	for (i=0; i<this.channels.length; i++) { 	
		$("#Canale" + this.channels[i]).attr("src", "images/Canale" + this.channels[i] +".png");
	}
	
	$("#Canale" + this.channel).attr("src", "images/Canale" + this.channel +"_over.png");
	
}

snjplayer.ChangeVolume = function() 
	  { 
			var pos = this.volumeLevels.indexOf(this.volumeLevel);		
			 

			pos = pos + 1;
			if(pos==this.volumeLevels.length) pos = 0;
			this.volumeLevel = this.volumeLevels[pos];
			
			var pref = "";
			
			if(this.popup) pref = "_pop";

			$("#Volume").attr("src", "images/Volume" + pref+  pos +".png");

			if(this.playerTypeNow!="WMP")
			{
				this.plySilver.sendEvent("VOLUME",this.volumeLevel);
				return;
			}
		
		 if(this.SistemaOperativo() == "W")
			{
				
				var objPlayer = document.getElementById("playerObj");
				objPlayer.settings.volume = this.volumeLevel;
				
			}
		else
			{

			 }
	  }  

		     
function readxml(channel,popup)
{
	var d = new Date();
	
	if(channel=="") return;
	if(channel=="radiomybaggy") channel = "viaggi";

	var urlxml = "http://radio.tiscali.it/nowplaying/playing_" + channel + ".xml?d=" + d.getMinutes() + d.getSeconds();
	
	
		var xml = new JKL.ParseXML(urlxml);
		var data = xml.parse();
		var app = "#text";
		
		if(!data) return;
		
		var d = data.playlist.trackList.track;
		
		song.title = d.title.toUpperCase();
		
		
		song.artist = "";
		if(d.creator) song.artist = d.creator;
		song.location = d.location;
		song.image = d.image;
		song.duration="";
		if(d.duration) song.duration=d.duration;
		song.buycd=d.buycd;
		
		song.album="";
		song.year="";
		song.comingup="";
		song.songtype="";
		song.label="";
		song.composer="";
		
		if(d.album) song.album=d.album;
		if(d.year) song.year=d.year;
		if(d.comingup) song.comingup=d.comingup;
		if(d.songtype) song.songtype=d.songtype;
		if(d.label) song.label=d.label;
		if(d.composer) song.composer=d.composer;
		if(d.website) song.website=d.website;
		
		
			
		//var objMeta = d.meta[2];
		
		/**if(typeof(objMeta)=="undefined") return;
		
		if (objMeta[app]) song.duration = objMeta[app];
			
		objMeta = d.meta[3];
		if (objMeta[app]) song.buycd = objMeta[app];
			
		objMeta = d.meta[6];
		if (objMeta[app]) song.album = objMeta[app];
		
		objMeta = d.meta[7];
		if (objMeta[app]) song.year = objMeta[app];
		
		objMeta = d.meta[8];
		if (objMeta[app]) song.comingup = objMeta[app];
		
		objMeta = d.meta[9];
		if (objMeta[app]) song.songtype = objMeta[app].toUpperCase();
			
		objMeta = d.meta[10];
		if (objMeta[app]) song.label = objMeta[app];
			
		objMeta = d.meta[11];
		if (objMeta[app]) song.composer = objMeta[app];
			
		objMeta = d.meta[12];
		if (objMeta[app]) song.website = objMeta[app];*/
		
		var objInfo = window.document["nowPlaying"];
		
		objInfo.SetVariable("f_brano", song.title);
		objInfo.SetVariable("f_artista", song.artist);
		objInfo.SetVariable("f_album", song.album);
		objInfo.SetVariable("f_anno", song.year);
		objInfo.SetVariable("f_durata", song.duration);
		
		var search = song.artist + " " + song.album;
		
		search = search.replace("?","");
		search = search.replace("&","");
		var amazonUrl = "http://radio.tiscali.it/amazon.php?searchtype=KeywordSearch&locale=de&search=" + search + "&channel=" + channel;
		
		helper.getVote();
		
		$.ajax({
			url: amazonUrl,
			success: function(data) {
				if(data.indexOf("radiosnj")<0)
				{
					data = data.replace("cover/","http://www.radiosnj.com/cover/");
				}
				
				if(data.indexOf("channel")>0)
				{
					data = data.replace("cover/channel/","images/cover/");
					data = data.replace("http://www.radiosnj.com/","");
					data = data.replace("_1.jpg",".png");
				}
				
				data = data.replace('<img','<img class="cover"');
				
				
				if(!popup)
				{
					data =  data + '<img id="CoverCD" src="images/CoverCD.png" class="watermark" width="300" height="283" border="0" alt="CoverCD" />';
					data = data.replace('width="300"','width="275"');
					data = data.replace('height="250"','height="275"');
					$("#CoverCD_").html(data);
				}
				else
				{
					data =  data + '<img id="CoverCD_pop" src="images/CoverCD_pop.png" class="watermark" width="160" height="151" alt="" />';
					data = data.replace('width="300"','width="146"');
					data = data.replace('height="250"','height="146"');
					$("#CoverCD-pop_").html(data);
				}
				
				
			}
		});
	
}
   
    
     
	 
          
	 
