﻿var _imgHost = "/img/";
function getComments(user,id_pl,canDelete)
{
	var Comments = Array();			
	$.post("/getComments.php" , {id_pl:id_pl,username:user}, 
			function(data) {
		   		var arr = data.split("&"); 
				//empiezo desde 1 porque el [0] da un user vacio por como se esta armando desde el php (ej: $users .= "&".$row["username"];)
				for(var i = 1; i < arr.length;i++) {
					var e = i-1;
					Comments[e] = new Object();
					var arrPlaylist = arr[i].split("~");			
					Comments[e].fromUsername = arrPlaylist[0];
					Comments[e].hora = arrPlaylist[1];
					Comments[e].fecha = arrPlaylist[2];
					Comments[e].cuerpo = arrPlaylist[3]; 
					//id_post
					Comments[e].id_post = arrPlaylist[4]; 
					//Estos ultimos tres parametros es informacion redundante, ya que en cada comment viene el id_pl el id_user e el reachLimit.
					//id_pl
					Comments[e].id_pl = arrPlaylist[5]; 
					//id_user
					Comments[e].id_user = arrPlaylist[6]; 
					
					Comments[e].reachLimit =  arrPlaylist[7];
					//Comments[e].url = arrPlaylist[4]+"/index.php?id_pl="+arrPlaylist[3]; 
				}
				onCommentsDone(Comments,canDelete);
			}
	);									
}

function onCommentsDone(Comments,canDelete) {	
	var cant = Comments.length;
	var holder = document.getElementById("HolderComments");
	var cont ="";
	cont += "<div id='CommentTitulo'>Mensajes del Libro de Visitas ("+cant+")</div>";
	
	for(var i = cant-1 ; i >= 0; i--) {
		cont += "<div id='CommentsHeader'><a href='/"+Comments[i].fromUsername+"' id='CommentsUsername'>"+Comments[i].fromUsername+"</a> dijo el "+Comments[i].fecha+"&nbsp;"+Comments[i].hora+"</div>";
		cont += "<div id='CommentsCuerpo'>"+Comments[i].cuerpo+"</div>";
		(canDelete)?cont += "<div class='deleteComment' onclick='deletComment("+Comments[i].id_post+","+Comments[i].id_pl+","+Comments[i].id_user+")'><a haref='javascript://'>Borrar</a></div>" : cont += "";
		cont += "<hr id='CommentsHr'/>";
	}
	holder.innerHTML = cont;
	try{	
		if(Comments[0].reachLimit == "true") {reachLimitComments(true)}else if (Comments[0].reachLimit == "false"){reachLimitComments(false)}
	}catch (e){};
}

function deletComment(id_post,id_pl,id_user) {
	$.post("/deleteComment.php", {id_user:id_user,id_pl:id_pl,id_post:id_post},
			function(result) {
				getComments(result,id_pl,true);
			}
	);
}

var limitCommentLength = 1000;
function formComments(fromUser,id_pl,_user, canDelete) {

	var holder = getEl("FormComments");
	var cont = "";
	cont += "Deja un mensaje en el libro de visitas:";
	cont += "<div id='contador'>&raquo;"+limitCommentLength+"</div><div id='restantes'>caracteres restantes</div>";
	cont += "<textarea id='postMessage' cols='59' rows='8' name='postMessage'/></textarea>";
	cont += "<div id='limitMessage' ></div>";
	cont += "<input type='submit' value='Deja tu Mensaje' id='sendMessage'/>";
	cont += "<img id='progresIndicator' src='"+_imgHost+"progressIndicator.gif' style='visibility:hidden;'/>";
	holder.innerHTML = cont;
	limitComment(limitCommentLength);
	var sendMessage = getEl("sendMessage");
	sendMessage.onclick = function() {
		var msg = getEl("postMessage");
		var img = getEl("progresIndicator");
		img.style.visibility = "";
				
		$.post("/sendComment.php", {postMessage:msg.value,fromUsername:fromUser,userToPost:_user,id_pl:id_pl},
			function(result) {
				arrParams = result.split("~");
				//arrParams[0] es el username que necesito para traer sus comentarios
				//arrParams[1] es el id de playlist de donde provienen los posts.
				//arrParams[2] un string: true o false que indica si alcanzo el limite de comments de esta playlist
				//arrParams[3] indica si paso el tiempo seguro para comentar o no (0=false;1=true): true o false que indica si alcanzo el limite de comments de esta playlist
				img.style.visibility = "hidden";
				msg.value = "";
				if(arrParams[3] == 1) {
					getComments(arrParams[0],arrParams[1],canDelete);
					secureTime(true);
				}else  secureTime(false);
			}
		);
	}
		
}

function getEl(x){return document.getElementById(x);}

function reachLimitComments(param) {
		getEl("FormComments").style.display = (param) ? "none": "";
		getEl("reachLimitComments").innerHTML = (param)? "Este libro de visita ha llegado al límite de 20 comentarios." : "";
}
function secureTime(param) {
		//getEl("FormComments").style.display = (param) ? "":"none";
		getEl("reachLimitComments").innerHTML = (param) ? "" :"<div id='secureTime'><div id='secureTimeClose'><\/div><div id='secureTimeMessege'>Lo sentimos. No puedes subir múltiples textos tan rápidamente. Espera un momento e intenta nuevamente.<\/div><\/div>";

}

function limitComment(l) {
	var form = document.getElementById("postMessage");
	var contador = document.getElementById("contador");
	form.onkeydown = function()	{
		
		var r = ((Number(limitCommentLength) - Number(this.value.length))>0)? (Number(limitCommentLength) - Number(this.value.length)) :0;
		contador.innerHTML = "&raquo;"+r;
		if(this.value.length>=l) {
			this.value = this.value.substr(0,l);
		}
	}
}