$(document).ready(function(){
	
	//Add an exist function
	jQuery.fn.exists = function(){
		return ($(this).length>0);
	}
	// fadeout flash messages on click
	//$('.cancel').click(function(){  $(this).parent().fadeOut(); return false;  });
	$('.message').animate({opacity: 0.9}, 700).fadeIn();
	// fade out good flash messages after 3 seconds
	$('.message').animate({opacity: 0.9}, 5000).fadeOut();
	$('.message').click(function (){
		$('.message').stop();
		$('.message').animate({opacity: 0.9}, 200).fadeOut();
	});
	// bug ie
	var divalert = $('.ie6 #alert .message');
	var divalert2 = $('.ie6 #alert');
	if (divalert2.length !=0 && divalert.length == 0){
		$("#alert").css('display','none');
	}
	// ToggleSlide
	$('#lang_link').click(function(){
		var thisdisp = $('#lang_ui').css('display');
		if(thisdisp == 'none'){
			var logindisp = $('#login_ui').css('display');
			if(logindisp == 'block'){ $('#login_ui').slideUp('normal', function(){}); }
			$('#top_menu_lang').css('-moz-border-radius-bottomleft', '0px');
			$('#top_menu_lang').css('-moz-border-radius-bottomright', '0px');
			//$('#top_menu_lang').css('background', '#EFEFEF');
			//$('#top_menu a').css('color', '#FFF');
			$('#lang_ui a').css('color', '#000');
			$('#top_menu').css('-moz-border-radius-bottomleft', '5px');
			$('#top_menu').css('-moz-border-radius-bottomright', '5px');
			//$('#top_menu').css('background', 'transparent url(/img/interface/alpha/30.png) repeat scroll 0 0');
			$('#lang_ui').slideDown('normal', function(){});
		} else {
			$('#lang_ui').slideUp('normal', function(){
				//$('#top_menu a').css('color', '#FFF');
				//$('#top_menu_lang a').css('color', '#FFF');
				$('#top_menu_lang').css('-moz-border-radius-bottomleft', '5px');
				$('#top_menu_lang').css('-moz-border-radius-bottomright', '5px');
				//$('#top_menu_lang').css('background', 'transparent url(/img/interface/alpha/30.png) repeat scroll 0 0');
				$('#top_menu').css('-moz-border-radius-bottomleft', '5px');
				$('#top_menu').css('-moz-border-radius-bottomright', '5px');
				//$('#top_menu').css('background', 'transparent url(/img/interface/alpha/30.png) repeat scroll 0 0');
			});
		}	
	});
	
	// Effet de slide Down/Up Stats
	$('#user_side_more_stats a').toggle(function(){
		$('#user_side_more_stats').css('-moz-border-radius-bottomleft', '0px');
		$('#user_side_more_stats').css('-moz-border-radius-bottomright', '0px');
		$('#user_side_more_stats img').attr('src', '/img/ctrl_opened.png');
		$('#user_side_stats').slideDown('slow', function(){});
	},function(){
		$('#user_side_stats').slideUp('slow', function(){
			$('#user_side_more_stats').css('-moz-border-radius-bottomleft', '5px');
			$('#user_side_more_stats').css('-moz-border-radius-bottomright', '5px');
			$('#user_side_more_stats img').attr('src', '/img/ctrl_closed.png');
		});
	});
	
	/* Paramètres utilisateur */
	$("#usersettings").tabs();
	
	$('#comment_textarea').bind('keydown', function(event){
		var event = event ? event : window.event;
		if(event.keyCode == 13 && event.ctrlKey){
			alert("//TODO Soumission Ajax");
		}
	});
	
	//Vidage du champ de recherche on focus et on blur
	//$('#input_search').focus(function(){if($.trim($(this).val('');});
	//$('#input_search').blur(function(){if($.trim($(this).val()) == ''){$(this).val('');}});
	$('#submit_search').click(function(){
		var S = $('#input_search').val();//.trim()split(' ');		
		window.location = '/search/'+S;
		return false;
	});
		
	
	
	serializelabels();
	
	//TODO Gestionnaire d'erreur basé sur le Flash Message de CakePHP
	// Plugin jQuery
	$.flasherror = function(data){
		alert(data.msg);
	};
	
	
	// BOX SIGNUP
	$(".signup_link").click(function(){
		if (!$('#goinfre').size()){
			$("body").append("<div id='goinfre'></div>");
			$("#goinfre").css("dispay",'none');
			$("#goinfre").prepend('<iframe src="/users/signup2" frameborder="0"  scrolling="no" style="border:none;overflow:hidden;" width="700" height="520" ></iframe>');
		}
		
		$("#goinfre").dialog({ width: 702,height:560,resizable: false,draggable: false,modal: true });
		// TODO dialog modal : css de l'overlay (height a corriger)
		$("#goinfre").dialog("open");
		return false;
	});
	$("#dialog").dialog();

	
	addLabelHover();
		
	//addSignUpClick();
	//addLoginClick();
	addFavoClick();
	//addiLikeClick();
	showLikersClick();
	//addUnlikeClick();
	
	initLabelSort();
	initSubscribeSort();
	
	showLikersBox();// PopUp iFrame 'autres personnes' Love/Hate
	
	initShowMoreComment();
	//$(".comment").bind('mouseenter',function(e){$("#"+this.id+" .cmt_actions").css('display','block');});
	//$(".comment").bind('mouseleave',function(){$("#"+this.id+" .cmt_actions").css('display','none');});
	
	$('.clean_text').each(function(e){
			$(this).html(wbr($(this).html(), 6));
	});
	$('.clean_text2').each(function(e){
	//	$(this).html(wbr2($(this).html(), 6));
	});
	
	delete_com();
	delete_pluscom();
	delete_tag();
	tooltip();
	
	$('a.media').media({ 
	    width:     	350, 
	    height:     16, 
	    autoplay:  	false,
	    caption:   	true 
	});

	$('a.media_video').media({ 
	    width:     	350, 
	    height:    	250, 
	    autoplay:  	false,
	    caption:   	true,
	    controller:	true
	});
});


jQuery.fn.extend({
   findPos : function() {
       obj = jQuery(this).get(0);
       var curleft = obj.offsetLeft || 0;
       var curtop = obj.offsetTop || 0;
       while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft;
                curtop += obj.offsetTop;
       }
       return {x:curleft,y:curtop};
   }
});


this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 0;
		yOffset = 5;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$("a.tooltip_link").hover(function(e){											  
		this.t = wbr(this.title);
		this.title = "";									  
		$("body").append("<p id='tooltip_link'><span >"+ this.t +"</span></p>");
		pos = $(this).findPos();
		var h = $("#tooltip_link").height();
		var w = $("#tooltip_link").width();
		$("#tooltip_link").css("top",(pos.y - h -yOffset) + "px").css("left",(pos.x - w/2 +$(this).width()/2) + "px");
		$("#tooltip_link").fadeIn("fast");		
    },
	function(){
    	$("#tooltip_link").remove();
    	this.title = this.t;		
		
    });	
	$("a.tooltip_link").mousemove(function(e){
		//$("#tooltip").css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX + yOffset) + "px");
	});
	
};

function	delete_com() {
	$('a[id^=del_com_]').click(function(){
		var com_id = $(this).attr('id').split('_')[2];
		var parentdiv = $(this);//.parent().get(0);
		var bkp = $(parentdiv).html();//.trim();
		if (!confirm($('span#question_delete').html()))
			return;
		$.ajax({
			type: 'post',
			url: '/comments/remove.json',
			cache: false,
			dataType: 'json',
			data: {'data[com_id]':com_id},
			async: true,
			beforeSend: function(){
				$(parentdiv).html(spinner);
			},
			success: function(data){			
				if(data.rep=="1") {
					$('div#cmt_id_'+com_id).slideUp('normal', function(){});
					showFlashMessage(data.msg);
				} else {
					$(parentdiv).html(bkp);
					showFlashMessage(data.msg);
				}
			}			
		});
	});	
}

function	delete_pluscom() {
	$('a[id^=del_pluscom_]').click(function(){
		var pluscom_id = $(this).attr('id').split('_')[2];
		var parentdiv = $(this);//.parent().get(0);
		var bkp = $(parentdiv).html();//.trim();
		if (!confirm($('span#question_delete').html()))
			return;
		$.ajax({
			type: 'post',
			url: '/pluscommentaires/delete.json',
			cache: false,
			dataType: 'json',
			data: {'data[pluscom_id]':pluscom_id},
			async: true,
			beforeSend: function(){
				$(parentdiv).html(spinner);
			},
			success: function(data){			
				if(data.rep == "1") {
					$('div#pluscmt_id_'+pluscom_id).slideUp('normal', function(){});
					showFlashMessage(data.msg);
				} else {
					$(parentdiv).html(bkp);
					showFlashMessage(data.msg);
				}
			}			
		});
	});	
}

function	delete_tag() {
	$('a[id^=del_tag_]').click(function(){
		var tag_id = $(this).attr('id').split('_')[2];
		var parentdiv = $(this);
		var bkp = $(parentdiv).html();
		if (!confirm($('span#question_delete_tag').html()))
			return;
		$.ajax({
			type: 'post',
			url: '/tags/delete.json',
			cache: false,
			dataType: 'json',
			data: {'data[tag_id]':tag_id},
			async: true,
			beforeSend: function(){
				$(parentdiv).html(spinner);
			},
			success: function(data){				
				if(data.rep == "1") {					
					window.location = "/";
					showFlashMessage(data.msg);
					return;
				} else {
					$(parentdiv).html(bkp);					
					showFlashMessage(data.msg);
				}
			}			
		});
		
	});
}

function serializelabels(){
	$('li .handle2').css('cursor', 'move');
	//FIXME Il semble que l'update soit posté 2 fois
	//Vérifier le ciblage du sortable
	$("[id^='lbl_subs_']").sortable({
		handle : '.handle2',
		axis : 'y',
		forcePlaceholderSize: true,
		connectWith: "[id^='lbl_subs_']",
		dropOnEmpty: true,
		update: function(event, ui){
			var lblitem = $(ui.item).parents();//Element parent
			var lblid = $(lblitem).attr('id').split('_')[2];
			var tagsid = [];
			var tag = '';
			$(lblitem).children('li[id^=subs_]').each(function(i, val){
				tag = $(val).attr('id').split('_')[1];
				tagsid.push(tag);
			});
			tagsid = tagsid.reverse();
			tagsid = tagsid.join();
			$.ajax({
				type: 'post',
				url: '/subscribes/editposition',
				cache: false,
				data: {'data[label_id]':lblid, 'data[tags_id]':tagsid},
				async: true,
				success: function(data){}
			});
		}
	});
	//New Label
	$('#labelAdder').click(function(){
		$(this).hide();
		$('#labelNew').show();
		$('#labelNew input.textfield').val('').focus();
	});
	$('.labelAdder a').click(function(){
		$('#labelAdder ').hide();
		$('#labelNew').show();
		$('#labelNew input.textfield').val('').focus();
	});
	$('#labelNew input[type=button]').click(function(){
		$('#labelNew input.textfield').val('');
		$('#labelNew').hide();
		$('#labelAdder ').show();
	});
}

function wbr(str, num) { 
  return str.replace(RegExp("(\\w{" + num + "})(\\w)", "g"), function(all,text,char){
    return text + "<wbr>" + char;
  });
}

function wbr2(str, num) { 
	 var debut = false;
	  return str.replace(RegExp("(.{" + num + "})(.)", "g"), function(all,text,char){
		  
		  if (text.indexOf("<") != -1 )
			 debut = true; 
		  if (text.indexOf(">") != -1)
			  debut = false; 
		  if (debut)
			  return text +  char;
			  
		  return text + "<wbr>\n" + char;
	  });
	}


function addSignUpClick(){
	$('#signup_link').bind('click', function(){
		//$("body").append("<iframe id='tooltip_link'><span >"+ this.t +"</span></p>");
		$('#signup_ui').dialog({
			bgiframe: true,
			width: 450,
			resizable: false,
			draggable: false,
			autoOpen: false,
			modal: true
		});
		$('#signup_ui').dialog('open');
	});
}
 

var spinner = '<img src="/img/spinner.gif" style="vertical-align: text-bottom;" />';

function showFlashMessage(message){
	// TODO ajouter un type pour styliser et augmenter le sens (priorité) du message
	$('#alert').html('<div id="flashMessage" class="message">'+message+'</div>');
	$('#flashMessage').animate({opacity: 1}, 700).fadeIn();
	$('#flashMessage').animate({opacity: 1}, 3000).fadeOut();
}

function initLabelSort(){
	// Sortable #right #user_menu
	$('ul#user_labels').sortable({
		handle : '.handle',
		axis : 'y',
		placeholder: 'lbl-sort-placeholder round',
		forcePlaceholderSize: true,
		update : function(event, ui){//TODO Update Label Position en Ajax
			var ordre = $('#user_labels').sortable('toArray');	
			var mydata = new Array();
			$.each(ordre, function(i, val){
				val = val.split('_');
				mydata[i] = val[1];
			});
			mydata = mydata.reverse();
			ordre = mydata.join();
			$.ajax({
				type: 'post',
				url: '/labels/editposition',
				cache: false,
				data: {'data[lblid]':ordre},
				async: true,
				success: function(data){}
			});
		}
	});
}

function initSubscribeSort(){
	$('li .handle2').css('cursor', 'move');
	//FIXME Il semble que l'update soit posté 2 fois
	//Vérifier le ciblage du sortable
	$("[id^='lbl_subs_']").sortable({
		handle : '.handle2',
		axis : 'y',
		forcePlaceholderSize: true,
		connectWith: "[id^='lbl_subs_']",
		dropOnEmpty: true,
		update: function(event, ui){
			var lblitem = $(ui.item).parents();//Element parent
			var lblid = $(lblitem).attr('id').split('_')[2];
			var tagsid = [];
			var tag = '';
			$(lblitem).children('li[id^=subs_]').each(function(i, val){
				tag = $(val).attr('id').split('_')[1];
				tagsid.push(tag);
			});
			tagsid = tagsid.reverse();
			tagsid = tagsid.join();
			$.ajax({
				type: 'post',
				url: '/subscribes/editposition',
				cache: false,
				data: {'data[label_id]':lblid, 'data[tags_id]':tagsid},
				async: true,
				success: function(data){}
			});
		}
	});
}

function addLabelHover(){
	$('#user_labels div[class^=lbl_]').hover(
		function(){
			$(this).find('img.delete').show();
			$(this).find('img.delete').css('cursor', 'pointer');
			var data = $(this).attr('class');
			data = data.split(' ');
			data = data[0].split('_');
			addLabelDel($(this).find('img.delete'), data[1]);
		},
		function(){
			$(this).find('img.delete').hide();
			$(this).find('img.delete').unbind('click');
		}
	);
}

function addLabelDel(button, labelid){
	$(button).bind('click', function(){
		$.ajax({
			type: 'post',
			url: '/labels/delete.json',
			cache: false,
			dataType: 'json',
			data: {'data[label_id]':labelid},
			async: true,
			success: function(data, textStatus){
				if(data.del == '1'){
					$('li#lbl_'+labelid).slideUp('slow');
				} else {
					showFlashMessage(data.error.msg);
				}
			}										
		});
	});
}

// Fonction de création d'un label
function labelcreate(){
	var newlabel = $('#labelNew input.labelname').val();
	$.ajax({
		type: 'post',
		url: '/labels/create.json',
		cache: false,
		dataType: 'json',
		data: {'data[label]':newlabel},
		async: true,
		success: function(data, textStatus){
			if(data.ins == '1'){
				$('#user_labels').prepend(data.rep);
				$('#labelNew input.labelname').val('');// Vidage du chps de saisie
				$('#labelNew').hide();
				$('#labelAdder ').show();
				addLabelHover();
				//initLabelSort();
				initSubscribeSort();
			} else {
				showFlashMessage(data.rep);
				if(data.ins == '2'){ $('#labelNew input.labelname').focus(); }
			}
		}
	});
	return false;
}




//TODO Add Ajax function to the connexion button
/*function addSubmitLoginClick(myui){
	var divForm = myui.find('div.login_form'),
		htmlForm = myui.find('form'),
		loginload = myui.find('div.login_load'),
		loadmsg = loginload.find('span.loadmsg'),
		myspin = loginload.find('span.spinner'),
		myspinimg = loginload.find('span.spinner img');
	//alert(loginload.find('span.loadmsg').text());
	var options = {
		url: '/login.json',
		type: 'post',
		dataType: 'json',
		beforeSubmit: function(formData, jqForm){
			// show Login Loading
			divForm.fadeOut('slow').hide();
			loginload.fadeIn('slow');
			return true;
		},
		success: function(reponse){
			loginload.fadeOut('slow');
			var tmp = loadmsg.text();
			if(reponse.success){//Connexion OK
				loadmsg.text(reponse.msg);
				loginload.fadeIn('slow');
				setTimeout(function(){
					loadmsg.fadeOut('slow');
					loadmsg.text(tmp);
					myui.dialog('close');
					window.location = reponse.redir;
				}, 3000 );
			} else {
				myspinimg.attr('src', '/img/cross.png');
				loadmsg.text(reponse.msg);
				loginload.fadeIn('slow');
				setTimeout(function(){
					loginload.fadeOut('slow');
					myspinimg.attr('src', '/img/spinner.gif');
					loadmsg.text(tmp);
					divForm.fadeIn('slow');
				}, 3000 );
			}			
		}
	};
	htmlForm.ajaxForm(options);
}*/
//Add UI-Dialog to Nav-Connexion-Link
/*function addLoginClick(){
	$('#login_link').bind('click', function(){
		//$.fx.direction._default = 'down';
		$('#login_ui').dialog({
			bgiframe: true,
			width: 260,
			height: 'auto',
			minHeight: 52,
			resizable: false,
			draggable: false,
			autoOpen: false,
			modal: true,
			//show: 'slide',hide: 'slide'
			beforeclose : function(event, ui){
			}
		});
		$('#login_ui').dialog('open');
		
		addSubmitLoginClick($('#login_ui'));
	});
}*/


function iFollow(tag_id){
	var originElem = 'span#subscribe_link_'+tag_id;
	var inPop = false;
	if(window.parent && $('#poplike_'+tag_id+' .bt_follow').exists() && $('#poplike_'+tag_id+' .bt_follow').is(':visible')){
		inPop = true;
		originElem = '#poplike_'+tag_id+' .bt_follow';
	}
	var beforeSubLnk = $(originElem).html();
	$("#tooltip_link").remove();
	$.ajax({
		type: 'POST',
		url: '/subscribes/follow.json',
		cache: false,
		dataType: 'json',
		data: {'data[tag_id]':tag_id},
		beforeSend: function() {
			$(originElem).html(spinner);
		},
		success: function(data){
			if(data.rep == 1){
				$(originElem).html('<a href="#" onclick="unFollow('+data.tagId+'); return false;" class="bt_unfollow">'+data.link+'</a>');
				var link_lbl = '<li id="subs_'+data.tagId+'" class="item_padding selected"><div class="handle_alpha handle2" style="cursor: move;">';
				link_lbl += '<a href="/'+data.tagKeyNom+'" class="tooltip_link" title="'+data.tagnomtitle +'" ><img class="subsImg" alt="" src="'+data.tagImg+'"/>&nbsp;';//key_nom
				link_lbl += data.tagNom+'</a></div></li>';
				if(inPop){
					$('#nbFoIng', window.parent.document).html(data.nbFollowing);
					$('ul #lbl_subs_'+data.labelId+' li:last', window.parent.document).after(link_lbl);
				} else {
					$('#nbFoIng').html(data.nbFollowing);
					$('#left span#nbFoErs').html(data.nbFollowers);
					$('ul #lbl_subs_'+data.labelId+' li:last').after(link_lbl);
				}
			} else {
				//FIXME appel de la fonction de gestion d'erreurs JSON
				alert(data.msg);
				$(originElem).html(beforeSubLnk);
			}
		}
	});
}

function unFollow(tag_id){
	var originElem = 'span#subscribe_link_'+tag_id;
	var inPop = false;
	if(window.parent && $('#poplike_'+tag_id+' .bt_follow').exists() && $('#poplike_'+tag_id+' .bt_follow').is(':visible')){
		inPop = true;
		originElem = '#poplike_'+tag_id+' .bt_follow';
	}
	var beforeSubLnk = $(originElem).html();
	$("#tooltip_link").remove();
	$.ajax({
		type: 'POST',
		url: '/subscribes/delete.json',
		cache: false,
		dataType: 'json',
		data: {'data[tag_id]':tag_id},
		beforeSend: function() {
			$(originElem).html(spinner);
		},
		success: function(data){
			if(data.rep == 1){
				$(originElem).html('<a href="#" onclick="iFollow('+data.tagId+'); return false;" class="tooltip_link" title="'+data.tagnomtitle +'">'+data.link+'</a>');
				if(inPop){
					$('#user_labels li #subs_'+data.tagId, window.parent.document).remove();
					$('span#nbFoIng', window.parent.document).html(data.nbFollowing);
				} else {
					$('#user_labels li #subs_'+data.tagId).remove();
					$('span#nbFoIng').html(data.nbFollowing);
					$('#left span#nbFoErs').html(data.nbFollowers);
				}
			} else {
				//FIXME appel de la fonction de gestion d'erreurs JSON
				alert(data.msg);
				$(originElem).html(beforeSubLnk);
			}
		}
	});
}

function setFlashMessage(data) {
	$('.message').animate({opacity: 0.8}, 700).fadeIn();
	// fade out good flash messages after 3 seconds
	$('.message').animate({opacity: 0.8}, 3000).fadeOut();
}

function	addFavoClick() {
	$('img[id^=put_favo_]').click(function(){
		var id_favo = $(this).attr('id').split('_')[2];
		favoris(id_favo, 'put');
	});
	$('img[id^=unput_favo_]').click(function(){
		var id_favo = $(this).attr('id').split('_')[2];
		favoris(id_favo, 'unput');
	});
}

function	favoris(id, type_fav) {
	$.ajax({
		type: 'POST',
		url: '/comments/put_favorite.json',
		cache: false,
		async: true,
		dataType: 'json',
		data: {'data[id_com]':id, 'data[type_fav]':type_fav},
		beforeSend: function() {
			if(type_fav == 'put')
				$('#div_put_favo_'+id).css('display', 'none');
			else
				$('#div_unput_favo_' +id).css('display', 'none');
			$('#loading_favo_'+id).css('display', 'inline');			
		},
		success: function(data) {
			$('#loading_favo_'+id).css('display', 'none');
			if (type_fav == 'put') {
				$('#div_unput_favo_' +id).css('display', 'inline');
			}
			else {
				$('#div_put_favo_'+id).css('display', 'inline');
			}
			$("#nbFavo").html(data.nbr);
		}
	});
}



/*
 * Fonctions relatives à iLike/disLike/noLike
 * TODO A externaliser dans leur propre .js
 * TODO Il est possible de factoriser iLike/disLike/noLike
 */

// déploie le visu des likers
function showLikersClick() {
	$('a[id^=likers_]').click(function(){
		var com_id = $(this).attr('id').split('_')[1];
		if($('#info_plus_'+com_id).css('display') == 'none')
			$('#info_plus_'+com_id).css('display', 'block');
		if($('#likers_box_'+com_id).css('display') == 'none'){
			$('#likers_box_'+com_id).slideDown('normal', function(){ });
		} else {
			$('#likers_box_'+com_id).slideUp('normal', function(){
				if($('#send_plus_comment_id_'+com_id).css('display') == 'none')
					$('#info_plus_'+com_id).css('display', 'none');
			});
		}
		//return false;
	});
}


var lkLnk1 = '<a onclick="';
var lkLnk2 = ');return false;" href="#';
var lkLnk3 = '">';
var unlikeLink = 'disLike';
var likeLink = 'iLike';
var nolikeLink = 'noLike';

// J'aime
function iLike(com_id){
	var unlikeTxt = $.trim($('#disLike_'+com_id).text());
	var likeTxt =  $.trim($('#iLike_'+com_id).text());
	var nolikeTxt = $.trim($('#'+nolikeLink+'_'+com_id).text());
	var open_plus = function (){$('#info_plus_'+com_id).css('display', 'block');};
	$.ajax({
		type: 'POST',
		url: '/loves/like.json',
		dataType: 'json',
		cache: false,
		async: true,
		data: {'data[com_id]':com_id},
		beforeSend: function() { $('#iLike_'+com_id).html(spinner); },
		success: function(data){
			if(data.rep == 1){//data.nb_like | data.nb_unlike
				open_plus();
				$('#nblike_'+com_id).html(data.nb_like);
				$('#disLike_'+com_id).html(lkLnk1 + unlikeLink +'('+com_id+ lkLnk2 + unlikeLink + lkLnk3 + unlikeTxt+'</a>');
				$('#'+nolikeLink+'_'+com_id).html(lkLnk1 + nolikeLink +'('+com_id+ lkLnk2 + nolikeLink + lkLnk3 + nolikeTxt+'</a>');
				$('#like_sentence_'+com_id).html(data.sentence);
				var sentence_disp = $('#likers_box_'+com_id).css('display');
				if(sentence_disp == 'none')
					$('#likers_box_'+com_id).slideDown('normal', function(){ });
			} else {//data.msg
				alert(data.msg);
			}
		},
		complete: function(data){ 
			$('#iLike_'+com_id).html(likeTxt);
			$('#iLike_'+com_id).addClass("grey");
		}
	});
	
}
// Je n'aime pas
function disLike(com_id){
	var unlikeTxt =  $.trim($('#disLike_'+com_id).text());
	var likeTxt =  $.trim($('#iLike_'+com_id).text());
	var nolikeTxt = $.trim($('#'+nolikeLink+'_'+com_id).text());
	$.ajax({
		type: 'POST',
		url: '/loves/unlike.json',
		dataType: 'json',
		cache: false,
		async: true,
		data: {'data[com_id]':com_id},
		beforeSend: function() { $('#disLike_'+com_id).html(spinner); },
		success: function(data){
			if(data.rep == 1){//data.nb_like | data.nb_unlike
				$('#nblike_'+com_id).html(data.nb_like);
				$('#iLike_'+com_id).html(lkLnk1 + likeLink +'('+com_id+ lkLnk2 + likeLink + lkLnk3 + likeTxt+'</a>');
				$('#'+nolikeLink+'_'+com_id).html(lkLnk1 + nolikeLink +'('+com_id+ lkLnk2 + nolikeLink + lkLnk3 + nolikeTxt+'</a>');
				$('#like_sentence_'+com_id).html(data.sentence);
				showLikersBox();
			} else {//data.msg
				alert(data.msg);				
			}
		},
		complete: function(data){
			$('#disLike_'+com_id).html(unlikeTxt);
			$('#disLike_'+com_id).addClass("grey");
		}
	});
}
// Je n'aime plus (Pas d'avis)
function noLike(com_id){
	var unlikeTxt =  $('#disLike_'+com_id).text().trim();
	var likeTxt =  $('#iLike_'+com_id).text().trim();
	var nolikeTxt = $('#'+nolikeLink+'_'+com_id).text().trim();
	$.ajax({
		type: 'POST',
		url: '/loves/nolike.json',
		dataType: 'json',
		cache: false,
		async: true,
		data: {'data[com_id]':com_id},
		beforeSend: function() { $('#'+nolikeLink+'_'+com_id).html(spinner); },
		success: function(data){
			if(data.rep == 1){//data.nb_like | data.nb_unlike
				$('#'+nolikeLink+'_'+com_id).html(nolikeTxt);
				$('#nblike_'+com_id).html(data.nb_like);
				$('#'+likeLink+'_'+com_id).html(lkLnk1 + likeLink +'('+com_id+ lkLnk2 + likeLink + lkLnk3 + likeTxt +'</a>');
				$('#'+unlikeLink+'_'+com_id).html(lkLnk1 + unlikeLink +'('+com_id+ lkLnk2 + unlikeLink + lkLnk3 + unlikeTxt +'</a>');
				$('#like_sentence_'+com_id).html(data.sentence);
				showLikersBox();
			} else {//data.msg
				alert(data.msg);			
			}
		},
		complete: function(data){
			$('#'+nolikeLink+'_'+com_id).addClass("grey").html(nolikeTxt);
		}
	});
}

function showLikersBox(){
	// BOX LIKERS
	$("[id^='likers_pop_']").click(function(){
		var type = $(this).attr('id').split('_')[2];
		var com_id = $(this).attr('id').split('_')[3];
		if (!$('#goinfre').size()){
			$("body").append("<div id='goinfre'></div>");
			$("#goinfre").css("dispay",'none');
		}
		
		$("#goinfre").html('<iframe src="/loves/likers/'+com_id+'/'+type+'" frameborder="0"  scrolling="no" style="border:none;overflow:hidden;" width="350" height="400" ></iframe>');
		$("#goinfre").dialog({ width: 370,height:450,resizable: false,draggable: false,modal: true });
		// TODO dialog modal : css de l'overlay (height a corriger)
		$("#goinfre").dialog("open");
		return false;
		
	});
}

function	initShowMoreComment() {
	$("[id^='last_comment_tag_id_']").bind('click', function(){
		var tag_id = $(this).attr('id').split('_')[4];
		var com_id = $("[id^='last_"+tag_id+"_com_id_']").attr('id').split('_')[4];
	//	alert(tag_id +" - "+com_id);
		$.ajax({
			type: 'POST',
			url: '/comments/allcommentsbytagid',
			dataType: 'json',
			cache: false,
			async: true,
			data: {'data[tag_id]':tag_id, 'data[com_id]':com_id},
			beforeSend: function() { 
				$('#last_comment_tag_id_' + tag_id).hide();
				$('#spinner_comment_tag_id_' + tag_id).show();
			},
			success: function(data) {
				var ab = $('#ab_last_tag_id_' + tag_id).html();
				$('#last_tag_id_' + tag_id).html(data.outhtml+ab).slideDown("slow");
				
				$('#spinner_comment_tag_id_' + tag_id).hide();
				$('#hide_last_comment_tag_id_' + tag_id).show();
				$('#last_comment_tag_id_' + tag_id).hide();
				 
			}
		});
	});
}

function open_send (){
	$('#bt_bt_click_open').css('display','none');
	$('#bt_bt_click_close').css('display','block');
	$('#msgSenderBox').slideDown('slow', function() {});
}

function close_send (){
	$('#bt_bt_click_close').css('display','none');	
	$('#bt_bt_click_open').css('display','block');
	$('#msgSenderBox').slideUp('slow', function() {});
}

function show_all_abonnes(nb,sender){
	$("#spiner_load_plus_label").show();
	$(sender).css('display','none');
	$.ajax({
		type: 'get',
		url: '/labels/plus/'+nb +"?time="+Math.random(),
		dataType: 'html',
		cache: false,
		async: true,
		success: function(data){
			$("#load_labels").html(data);
			serializelabels();
		},
		complete: function(data){
			 
		}
	});
	return false;
}
$(document).ready(function(){
	if ($('.ie #input_search').length > 0)
		$('.ie #input_search').css("background",'#FFFFFF');
//	$(document).pngFix();
	$(".ie .menu_flux").corner("top 5px");
	$(".ie .menu_filtre").corner("top 5px");
	$(".ie #div_send_action").corner("5px");
	$(".ie .bloc_plus_all").corner("5px");
});


function	quote_comment(name, msg) {
	var message;
	message = "<quote>" + name + ":" + msg.replace('\"', "'") + "</quote>\n";
	message = "<quote>" + name + ":" + message.replace('=\"', "'") + "</quote>\n";
	alert(message);
	$('#comment_textarea').focus();
	$('#comment_textarea').val(message);
}
