var peComent = null;
var pagInicial = 1;
var paganterior = 1;
var TEXT_DEFAULT = "Deja aquí tu comentario...";

function iniciarComentarios() {
	peComent = new PeriodicalExecuter( actComentarios ,20 );
}

function actComentarios() {
	// se ejecuta periodicamente
	if ($('paginaactual')!=null){
		if ( parseInt($('paginaactual').value) == pagInicial ) {
			nuevaPagina(pagInicial);
		}
	}
	
}

function cargaUltima() {
	
	//alert("caga ultima con -1");
	nuevaPagina(-1);
	
}

function cargaPagina(pag) {

	if ( pag != parseInt($('paginaactual').value) ) {
		paganterior = parseInt( $('paginaactual').value );
		$('paginaactual').value = pag;
	}
	
	nuevaPagina(pag);
	
}

function nuevaPagina(pag) {

	var sicarga = true;
	// si pagina <> de 0 desactivar peComent
	// sino activar si no esta activo
	var url = '/deportes/lst_comentarios.php';
	var myAjax = new Ajax.Request(url, {
		method: "post",
		parameters: { 'idpartido': $F('idPartidoHid'), 'pagina': pag },
		onComplete: function(data) {
			
			lst = data.responseText;
			if ( lst != "" ) {
				
				$('listcomentarios').empty();
				$('listcomentarios').update(lst);
				//$('listcomentarios').fade({ duration: 1.0, from: 0, to: 1 });
				$('paginaactual').value = pag;

				var ult = $$('#listcomentarios span.numero')[0];
				var ultcom = ult.innerHTML;
				//alert($('totalpagina').value + " - " + $('porpagina').value );
				if ( (parseInt($('totalpagina').value) <= parseInt($('porpagina').value)) && (parseInt(ultcom)>parseInt($('porpagina').value)) ) {
					//alert('repaginar!!');
					paganterior = -1;
					nuevaPaginacion(pagInicial);
					paganterior = pagInicial;
					sicarga = false;
				}

				if ( sicarga && $('fgrecarga').value == 1 ) {
					var paginas = $$('#ulpaginas li');
					if ( paginas.size() == 5 ) {
						paganterior = -1;
						nuevaPaginacion(pagInicial);
						paganterior = pagInicial;
						sicarga = false;
					}

				}
			}
		}
	});	
	
	if ( sicarga ) {
		nuevaPaginacion(pag);
	}
}

function nuevaPaginacion(pag) {
	
	if ( pag != paganterior ) {
		//alert('nuevapaginacion '+pag);
		var myAjax = new Ajax.Request('/deportes/pag_comentarios.php', {
			method: "post",
			parameters: { 'idpartido': $F('idPartidoHid'), 'pagina': pag },
			onComplete: function(data) {
				obj = data.responseText.evalJSON();
				if ( data.responseText != '' ) {
					var paginas = $$('#ulpaginas li');
					for(var j = 0; j < paginas.size(); j++ )
						paginas[j].remove();
				}
				
				var oculta = 'block';
				if ( pag == pagInicial )
					oculta = 'none';
				if ( pag == -1 )
					pag = obj.pagina;
				
				var newli = new Element('li',{'id':'liPrimera', 'class':'labelPaginaPriUlt', 'style':'display:'+oculta});
				var newa = new Element('a');
				newa.update('« « Inicio');
				newa.observe('click', function() { cargaPagina(1); });
				newli.insert(newa);
				$('ulpaginas').insert( newli );
				
				var newli2 = new Element('li',{'id':'liAnterior', 'class':'labelPaginaAntSig', 'style':'display:'+oculta});
				var newa2 = new Element('a');
				newa2.update('« Anterior');
				newa2.observe('click', function() { cargaPagina(pag-1); });
				newli2.insert(newa2);
				$('ulpaginas').insert( newli2 );

				//alert(obj.inicio + " " + obj.fin );
				
				for( var i = obj.inicio; i <= obj.fin; i++ ) {
					if ( obj.pagina == i ) {
						var newlipag = new Element('li', {'class':'paginaActual'});
						newlipag.update(i);
					}
					else {
						var newlipag = new Element('li');
						var newlipaga = new Element('a');
						newlipaga.update(i);
						newlipaga.observe('click', cargaPagina.curry(i) );
						newlipag.insert(newlipaga);
					}
					
					$('ulpaginas').insert(newlipag);
					
				}
				
				oculta = 'none';
				
				//alert(obj.totalpaginas+ " - "+obj.inicio+" - "+obj.fin);
				$('totalpagina').value = obj.totalcomentarios; 
				if ( obj.totalpaginas == obj.fin ) {
					if ( obj.pagina < obj.fin )
						oculta = 'block';
				}
				else {
					if ( obj.fin < obj.totalpaginas ) {
						oculta = 'block';
					}
				}
		
				var newli3 = new Element('li',{'id':'liSiguiente', 'class':'labelPaginaAntSig', 'style':'display:'+oculta});
				var newa3 = new Element('a');
				newa3.update('Siguiente »');
				newa3.observe('click', function() { cargaPagina(pag + 1); });
				newli3.insert(newa3);
				$('ulpaginas').insert( newli3 );				
				
				var newli3 = new Element('li',{'id':'liUltima', 'class':'labelPaginaPriUlt', 'style':'display:'+oculta});
				var newa3 = new Element('a');
				newa3.update('Última » »');
				newa3.observe('click', function() { cargaUltima(); });
				newli3.insert(newa3);
				$('ulpaginas').insert( newli3 );								
			}
		});			
	}
}

function enviarComentario() {

	var comentario = $('newComent').value;

	if( comentario != '' && comentario != TEXT_DEFAULT ) {
	
		var url = '/deportes/hacer_comentario.php';
		var lista = $$('#listcomentarios li');
		var max = parseInt($('porpagina').value);
		var total = parseInt($('totalpagina').value);
		var nuevapaginacion = false;
	
		if ( (lista.size() == max) && (total <= max) ) {
			nuevapaginacion = true;
		}
			
		// si pagina es <> 0 -> llamada y cargar pagina 0
		if ( parseInt($('paginaactual').value) > pagInicial ) {
			
			var myAjax = new Ajax.Request(url, {
				method: "post",
				parameters: { 'idpartido': $F('idPartidoHid'), 'comentario': comentario },
				onComplete: function(data) {
					comentario = data.responseText;
					if ( comentario != "" ){
						paganterior = parseInt($('paginaactual').value);
						nuevaPagina(pagInicial);
					}
					incrementaTotal();
				}
			});	
			
		}
		else {
			
			// si pagina es 0
			var myAjax = new Ajax.Request(url, {
				method: "post",
				parameters: { 'idpartido': $F('idPartidoHid'), 'comentario': comentario },
				onComplete: function(data) {
					comentario = data.responseText;
					if ( comentario != "" ) {
						
						if ( lista.size() != 0 )
							$('seelprimero').hide();

						if ( max <= lista.size() )
							lista[max-1].remove();
	
						var ele = $('listcomentarios').insert({ top: comentario } );
						lista = $$('#listcomentarios li');
						lista[0].fade({ duration: 1.0, from: 0, to: 1 });
						if ( nuevapaginacion == true ) {
							nuevapaginacion = false;
							nuevaPaginacion(pagInicial);
						}

						incrementaTotal();
						
					}
				}
			});	
			
		}
		
		$('newComent').value = TEXT_DEFAULT;
		
	}

}

function ingresar() {
	
	var myAjax = new Ajax.Request('/deportes/ingresar.php', {
		method: "post",
		parameters: { 'user': $('userlogin').value, 'password': $('userpass').value },
		onComplete: function(data) {
			respuesta = data.responseText;
			if ( respuesta == "ok" ) {
				document.location.href = document.location.href;
			}
			else {
				$('errorLogin').update("Usuario o contraseña incorrectos");
				$('errorLogin').show();
			}
		}
	});		
}

function incrementaTotal() {
	$('totalpagina').value = parseInt( $('totalpagina').value ) + 1;
}

function cleanTxt() {
	if($('newComent').value == TEXT_DEFAULT ) $('newComent').value='';
}

function reponerTxt() {
	if( $('newComent').value == '' )
		$('newComent').value = TEXT_DEFAULT;
}

