/*
 *	 _   _  ____      _     __
 *	| \ | ||  _ \    | |   / _| _ __
 *	|  \| || |_) |_  | |  | |_ | '__|
 *	| |\  ||  _ <| |_| |_ |  _|| |
 *	|_| \_||_| \_\\___/(_)|_|  |_|
 *
 *
 *  WEBRADIOS.FR
 *  ------------------------------------
 *
 *  @author: Simon LAMELLIERE / slamelliere@nrj.fr
 *  @copyright NRJ 
 *  @version: 1.0
 *
 */

var WRP = {
	
	results: new Array(),
	items: new Array(),
	excludes: "",
	total: 0,
	
	doSearch: function(query)
	{
		$('participer_ma_recherche').style.display = '';
		$('participer_error').innerHTML = "<img src='"+url_base+"/images/common/ajax_loader.gif'>";
		
		new Ajax.Request(url_base + "/participer/search", 
			{
				method: 'post',
				encoding: 'UTF-8',
				parameters:	{
								q: query,
								e: WRP.excludes
							},
							onComplete: WRP.doSearchCall
			}
		);
	},
	
	clearSelection: function()
	{
		WRP.excludes = '';
		WRP.total = 0;
		$('participer_ma_recherche').style.display = 'none';
		$('participer_ul_select').innerHTML = '';
		$('participer_results').innerHTML = '';
		$('search_artiste_titre_q').value = 'rechercher';
	},
	
	doSearchCall: function(a,b)
	{
		WRP.results = a.responseText.evalJSON();
		WRP.items = WRP.results.items;
		WRP.renderItems();
	},
	
	renderItems: function()
	{
		if(this.items.length > 0)
		{
			this.doResultNotEmpty();
		}
		else
		{
			this.doResultEmpty();
		}
	},
	
	doResultNotEmpty: function()
	{
		$('participer_error').style.display = 'none';
		$('participer_results').innerHTML = '';
		
		for(i=0; i < this.items.length; i++)
		{
			var current = this.items[i];
			var lis = document.createElement("div");
			lis.id = current.track_id;
			lis.className = "item webradio";
			
			lis.innerHTML = "<input id='P_A_"+current.track_id+"' value='"+escape(current.track_artist)+"' type='hidden'>"
							+ "<input id='P_T_"+current.track_id+"' value='"+escape(current.track_title)+"' type='hidden'>"
							+ "<input id='P_I_"+current.track_id+"' value='"+escape(current.track_id)+"' type='hidden'>"
							+ "<div class='thumb'><img  height='44' width='44' src='"+current.track_media+"'></div>"
							+ "<div class='desc'><h5><a id='lienArtiste' name='"+current.track_id+"' href='#' onclick='javascript:WRP.doSelect(event)'>" + current.track_artist + "</a></h5>"
							+ "<p><a rel='nofollow' href='#' id='lienTitre' name='"+current.track_id+"' onclick='javascript:WRP.doSelect(event)'>" + current.track_title + "</a></p></div>"
							+ "<button id='add_"+current.track_id+"' class='btn add' title='Ajouter' type='button'>Ajouter</button>"
							+ "<button onclick='javascript:WRP.doListen(\""+current.track_listen+"\")' class='btn qt' title='Ecouter' type='button'>Ecouter</button>" 
							+ "<button onclick=\"window.open('"+current.track_buy+"', '_blank');\" class='btn itunes' title='Itunes' type='button'>Itunes</button>";
			
			$('participer_results').appendChild(lis);
			$("add_"+current.track_id).onclick = WRP.doSelect;
		}
	},
	
	doResultEmpty: function()
	{
		$('participer_error').innerHTML = "Pas de résultat";
	},
	
	doSelect: function(e)
	{
		

		var id_block = e.target.parentNode.id;
		if(e.target.id == 'lienArtiste' || e.target.id == 'lienTitre'){
			var id_block = e.target.name;
		}
		var current_trackt = $('P_A_'+id_block).value;
		var current_artist = $('P_T_'+id_block).value;
		var element = e.target;
		
		if(id_block == "participer_ul_select")
		{
			WRP.doDelete(element);
		}
		else
		{
			// Ajouter l'exclusion dans la recherche
			if(WRP.excludes.match("," + id_block + ","))
			{
				// Au cas où.. (2eme protection)
				alert('Cet élément est déjà sélectionné');
				return false;
			}
			
			// Max 10 titres
			if(WRP.total >= 10)
			{
				alert('Max 10 titres !');
				return false;
			}
			
			WRP.excludes += "," + id_block + ",";
			WRP.total++;
			
			// Supprimer l'élément
			if(e.target.id == 'lienArtiste' || e.target.id == 'lienTitre'){
				element.parentNode.parentNode.parentNode.parentNode.removeChild(e.target.parentNode.parentNode.parentNode);
			}else{
				element.parentNode.parentNode.removeChild(e.target.parentNode);
			}
			
			
			// Ajouter un élément à droite
			var los = document.createElement("li");
			los.id = id_block;
			los.className = "odd";
			
			los.innerHTML =  unescape(current_artist) + ' - ' + unescape(current_trackt)
            				+ '<button onclick="WRP.doDelete(this)" type="button" title="Supprimer" class="btn delete">Supprimer</button>'
            				+ '<input type="hidden" id="#" name="#" value="#">';
			
			$('participer_ul_select').appendChild(los);            
		}
	},
	
	doDelete: function(e)
	{
		var element = e.parentNode;
		
		// Retirer l'exclusion
		WRP.excludes = WRP.excludes.replace("," + element.id + ",", "");
		
		// Retirer l'élément
		new Effect.Fade(element, 
			{
				duration:0.2, 
				fps:25, 
				afterFinish: function()
				{
					element.parentNode.removeChild(element);
					WRP.total--;
				}
			}
		);
	},
	
	doListen: function(glien)
	{
		$('itunes_player').style.display = '';
		Nrj_Library.Ajax( url_base + '/manostalgie/showplayer', 'itunes_player', {lien: glien} );
	},
	
	doSaveSelection: function()
	{
		$('participer_error').innerHTML = "<img src='"+url_base+"/images/common/ajax_loader.gif'>";
		
		new Ajax.Request(url_base + "/participer/save", 
			{
				method: 'post',
				encoding: 'UTF-8',
				parameters:	{
								email: $('participer_email').value,
								e: WRP.excludes,
								captcha: $('participer_cap').value,
								md5: $('cle_md5').value,
							},
				onComplete: WRP.doSaveSelectionCall
			}
		);
	},
	
	doSaveSelectionCall: function(e)
	{
		$('participer_error').style.display = 'none';
		//$('error').style.visibility = 'hidden';
		switch(e.responseText)
		{
			case '1':
				//alert("Veuillez entrer un email correct ...");
				$('error').innerHTML = 'Désolé votre adresse email est invalide.';
				return false;
			break;
			
			case '2':
				//alert("Votre sélection est vide ...");
				$('error').innerHTML = 'Votre séléction est vide.';
				return false;
			break;
			
			case '4':
				//alert("Le captcha est pas bon");
				$('error').innerHTML = 'Désolé le captcha est invalide.';
				
				return false;
			case '3':
				//alert("Votre sélection a bien été enregistrée !");
				$('form_connexion').style.visibility = 'hidden';
				$('Confirm').style.visibility = 'visible';
				//showPopin('popin-register participe');
				WRP.clearSelection();
				WRP.doRenewCaptcha();
				hidePopin('popin-registry');
				$("participer_search").value = 'rechercher';
				
			break;
		}
	},
	
	doRenewCaptcha: function()
	{
		$('participer_encart_cap').innerHTML = "<img src='"+url_base+"/images/common/ajax_loader.gif'>";
		Nrj_Library.Ajax( url_base + '/participer/captcha', 'participer_encart_cap', {});
	}
}

Nrj_Library.onDOMReady( function() {
	Event.observe($('participer_email'), 'keyup', function(e) { if(e.keyCode == 13) WRP.doSaveSelection(); } );
	Event.observe($('participer_save'), 'click', function() { WRP.doSaveSelection(); } );
	Event.observe($('search_artiste_titre_q'), 'keyup', function(e){ if(e.keyCode == 13) WRP.doSearch($('search_artiste_titre_q').value)});
	Event.observe($('participer_bt'), 'click', function(){WRP.doSearch($('search_artiste_titre_q').value)});
	Event.observe($('search_artiste_titre_q'), 'click', function(){if($('search_artiste_titre_q').value=='rechercher') $('search_artiste_titre_q').value =''});
	Event.observe($('search_artiste_titre_q'), 'focus', function(){if($('search_artiste_titre_q').value=='rechercher') $('search_artiste_titre_q').value =''});
});

