// JavaScripts per a Gornal.org

window.onload = inicialitza;
window.onresize = retamany;
window.oncontextmenu = boto_dret;
window.onbeforeunload = abans_de_sortir;

var ctrl;
var id;
var correuUsuari;
var apartat;
var titol;
var id_comentari;
var codi_contingut;
var preguntaAbansSortir;

var myNicEditor;

function inicialitza(){
	//alert(document.getElementById("text_contingut").value);
	$("oculta").fade('hide');	
	$("missatge").fade('hide');
	$("missatge").style.display = "block";
	$("missatge").innerHTML = "";
	
	/*
	//Amaga la capcelera si marxa el ratoli. Xulo però una mica conyazo!!
	if ($("cap")){
		$("cap").addEvent("mouseover", function(){
			this.fade(1);										
		});
		$("cap").addEvent("mouseout", function(){
			this.fade(0.25);
		});
	}
	window.addEvent("scroll", function(){
		$('cap').fade(0.25);
	});	 
	*/										 
	
	//if (document.getElementById('codi_contingut')) id_contingut
	//contingut();
	retamany();
	document.getElementById('botonsPrincipals').style.display = "inline";
	//document.getElementById('editor').style.display = "block";
	//document.getElementById('editor').contentWindow.document.body.className = "body";
	//No cal perquè les pàgines seran autentics documents html. La base per a pàgina normal serà amb un head igual.
	if (id == "nova") sessio('paginaEdita');
	//contingut(false);
	
	/*
	$('usuari').addEvents({
		'mouseover': function(){ $('panellUsuari').style.display = "block"; },
		'mouseout': function(){ $('panellUsuari').style.display = "none"; }
	});
	*/
	
	//Menú lateral
	if ($('menu')){
		var menu_horitzontal = new Fx.Slide('menu', {mode: 'horizontal'});
		menu_horitzontal.hide();
		$('menu_pestanya').addEvent('click', function(e){
			e.stop();
			menu_horitzontal.toggle();
		});
		$('menu').style.visibility = "visible";
		$('menu_pestanya').style.display = "block";
	}
	
	//Comentaris NO BORRAR, GUARDAR EN BIBLIOTECA!!!!!
	if (document.getElementById('comentaris_valoracions')){
		//FA FALTA DECLARAR LA VARIABLE A L'INICI DE L'SCRIPT
		//comentaris = false;
		//$('comentaris_llistat').load('comentaris.php?id=' + id);
		/*
		var pantalla = $(document.body).getSize();
		$('bloc_comentaris_valoracions').style.left = pantalla.x / 2 - 340 + "px";
		$('comentaris_valoracions').style.height = pantalla.y - 150 + "px";
		var morph = new Fx.Morph('bloc_comentaris_valoracions');
		$('bloc_comentaris_valoracions').set('morph', { duration: 'long' } );
		if (document.getElementById('comentaris_boto_mostrar')){
			$('comentaris_boto_mostrar').addEvent('click', function(e) {
				e.stop();
				if (comentaris) {
					morph.start({ height: '0px' });
					comentaris = false;
				} else {
					morph.start({ height: pantalla.y - 115 + "px" });
					desactiva_comentaris();
					comentaris = true;
				}
			});
		}
		$('comentari_nou_boto_mostrar').addEvent('click', function() { sessio('nouComentari'); });
		*/
	}

	//myNicEditor = new nicEditor();
	codi_contingut = document.getElementById("contingut").innerHTML;
}

function boto_dret(){
	return false;
}

function abans_de_sortir(){
	if (preguntaAbansSortir){
		return "Segur que vols sortir?";
	}
}

function retamany(){
	/*
	finestraX = (navigator.appName == "Microsoft Internet Explorer")? document.documentElement.clientWidth : window.innerWidth;
	finestraY = (navigator.appName == "Microsoft Internet Explorer")? document.documentElement.clientHeight : window.innerHeight;
	contingutX = document.body.offsetWidth;
	contingutY = document.body.offsetHeight;
	tamX = (finestraX >= contingutX)? finestraX : contingutX;
	tamY = (finestraY >= contingutY)? finestraY : contingutY;
	*/

	//Editor
	//document.getElementById("editor").style.width = tamX - 50 + "px";
	//document.getElementById("editor").style.height = tamY - 129 + "px";
	
	//Capa que enfosqueix la pantalla
	document.getElementById("oculta").style.width = document.documentElement.scrollWidth + "px";
	document.getElementById("oculta").style.height = document.documentElement.scrollHeight + "px";
	//document.getElementById("oculta").style.width =  tamX + "px";
	//document.getElementById("oculta").style.height = tamY + "px";
	
	//Tauler de seguretat
	document.getElementById("missatge").style.left = document.documentElement.clientWidth/2 - 300 + "px";
	document.getElementById("missatge").style.top = document.documentElement.clientHeight/2 - 100 + "px";

	//Comentaris
	//document.getElementById("comentaris_valoracions").style.height = ;
}

/*
//Funciona!!!!
var edicio;
function edita(){
	var editor = document.getElementById("contingut");
	if (edicio){
		editor.contentEditable = false;
		edicio = false;
	}else{
		editor.contentEditable = true;
		edicio = true;
		editor.focus();
	}
}
*/

function activa_edicio(){
	//document.getElementById('barraBotons').innerHTML = "<div id=\"panell_nicEdit\" align=\"center\"></div>" + document.getElementById('barraBotons').innerHTML;
    myNicEditor = new nicEditor({buttonList:['fontFormat','bold','italic','underline','left','center','right','justify','ul','ol','indent','outdent','image','link','unlink','xhtml']});
    myNicEditor.setPanel('barraBotons');
    myNicEditor.addInstance('contingut');
	//Edition(true);
	document.getElementById("barraCarregant").style.display = "none";
	document.getElementById("barraBotons").style.display = "inline";
	document.getElementById("barraEdicio").style.display = "inline"; //posar després perquè ara dóna error: hi falta a pàgina
	//document.getElementById("botonsPrincipals").style.display = "none"; //Tal i com està plantejat amb el Carregant..., això no cal, ja està duplicat
	if (document.getElementById("botonsLlibre")) document.getElementById("botonsLlibre").style.display = "none";
	//document.getElementById("botonsPrincipals").width = "0%";
	//edition(true); Mirar per si és del WYSIWYG propi
	//contingut(true);
	document.getElementById("contingut").focus();
	preguntaAbansSortir = true;
}

/*
function contingut(sn){
	//cont = (document.getElementById('codi_contingut') && sn)? "codi" : "text";
	//doc = document.getElementById('editor').contentWindow.document; 
	//while (doc.hasChildNodes()) {
  		//doc.removeChild(doc.firstChild);
  	//}
	//doc.open();
	//doc.write(document.getElementById(cont + '_contingut').value);
	//doc.close();
	//doc.body.innerHTML = document.getElementById(cont + '_contingut').value;
	//doc.appendChild(stringToDOM(document.getElementById(cont + '_contingut').value));
}
*/

function confirma_desactiva(){
	if (confirm(lang['Confirma no desar'])){
		document.getElementById("contingut").innerHTML = codi_contingut;
		desactiva_edicio();
	}
}

function desactiva_edicio(){	
	document.getElementById("barraCarregant").style.display = "none";
	document.getElementById("barraEdicio").style.display = "none";
	document.getElementById("barraBotons").style.display = "none";
	myNicEditor.removePanel('panell_nicEdit');
   myNicEditor.removeInstance('contingut');
	if (document.getElementById("botonsLlibre")) document.getElementById("botonsLlibre").style.display = "inline";
	document.getElementById("botonsPrincipals").style.display = "inline";
	//Edition(false);
	/*
	contingut(false);
	if (document.attachEvent){
		//document.getElementById('editor').contentWindow.document.body.contentEditable = false;		
	} else {
		//document.getElementById('editor').contentWindow.document.designMode = "off";
	}
	*/
	document.getElementById("contingut").contentEditable = false;
	preguntaAbansSortir = false;
	if (id == "nova") window.history.back();
}

function activa_gestio(){
	document.getElementById("barraCarregant").style.display = "none";
	document.getElementById("barraGestio").style.display = "inline";
	document.getElementById("contingut").style.display = "none";
	document.getElementById("gestio").style.display = "block";
	document.getElementById("comentaris").style.display = "none";
	document.getElementById("gestio_titol").focus();
	if (id == "nova"){
		document.getElementById("barraEdicio").style.display = "none";
		document.getElementById("barraBotons").style.display = "none";
	}
	preguntaAbansSortir = true;
}

function desactiva_gestio(){
	document.getElementById("barraGestio").style.display = "none";
	document.getElementById("contingut").style.display = "block";
	document.getElementById("gestio").style.display = "none";
	document.getElementById("comentaris").style.display = "block";
	preguntaAbansSortir = false;
	if (id == "nova"){
		document.getElementById("botonsPrincipals").style.display = "none";
		activa_edicio();
	}else{
		document.getElementById("botonsPrincipals").style.display = "inline";
	}
}

function mostraMissatge(m){
	retamany();
	$('oculta').style.display = "block";
	$('oculta').fade(0.75);
	setTimeout("$('missatge').fade('show');", 750);
	setTimeout("$('missatge').innerHTML = \"" + missatges[m] + "\";", 1500);
}

function amagaMissatge(){
	$('oculta').fade('out');
	$('missatge').fade('hide');
	$('missatge').innerHTML = "";
	setTimeout("$('oculta').style.display = 'none';", 500);
}

function comprovaEntrada(){
	correu = $('correue').value;
	mot = $('motdepas').value;
	if (correu == "" && mot == ""){
		return false;
	}else{
		$('missatge').innerHTML = missatges['carrega'];
		var ajax = new Request({
			url: 'control.php?correue_usuari=' + correu + '&motdepas_usuari=' + mot + '&control=' + ctrl + '&id=' + id,
			evalResponse: 'true'
    	}).send();
	}
}
// onComplete: function(){ sessio(ctrl); }


function sessio(c){
	ctrl = c;
	altresparametres = "";
	switch (ctrl){
		case "paginaEdita": 
		case "paginaGestiona":
			$('botonsPrincipals').style.display = "none";
			$('barraCarregant').style.display = "inline";
			break;
		
		case "revisioDesa":
			//treuSignes();
			//altresparametres = '&titol=' + titol + '&apartat=' + apartat + '&dades=' + DOMtoString(document.getElementById("editor").contentWindow.document);
			altresparametres = "&contingut=" + document.getElementById("contingut").innerHTML;
			break;

		case "gestioDesa":
			titol = document.getElementById("gestio_titol").value;
			apartat = document.getElementById("gestio_apartat").value;
			permetNova = (document.getElementById("gestio_subapartats").checked == true)? 1 : 0;
			permetComentaris = (document.getElementById("gestio_comentaris").checked == true)? 1 : 0;
			esEsborrany = (document.getElementById("gestio_esborrany").checked == true)? 1 : 0;
			altresparametres = "&titol=" + titol + "&apartat=" + apartat + "&nova=" + permetNova + "&comentaris=" + permetComentaris + "&esborrany=" + esEsborrany;
			break;
			
		case "comentariDesa":
			$('comentari_nou').style.display = "none";
			$('comentari_nou_carregant').style.display = "inline";
			altresparametres = "&text=" + document.getElementById("comentari_nou_text").value + "&vots=" + document.getElementById("vots").value;
			break;

		case "comentariActualitza":
			//
			break;

		case "comentariEsborra":
			altresparametres = "&id_comentari=" + id_comentari;
			break;
			
		case "comentariNou":
			$('comentari_nou_boto_mostrar').style.display = "none";
			$('comentari_nou_carregant').style.display = "inline";
			break;

		case "comentariEdita":
			//altresparametres = "&comentari_id=" + comentaris;
			break;
	}
	var ajax = new Request({
		url: 'sessio.php',
		method: 'post',
		evalResponse: 'true'
    });
	ajax.send("control=" + ctrl + "&id=" + id + altresparametres);
}

function usuari(mode,foto,usuari,nom){
	if (usuari == 0){
		vincle = "";
	}else{
		//vincle = "<img align='left' src='arxius/imatges/" + foto + "' id='fotoUsuari' /><a href='?id=usuari&idusuari=" + usuari + "'>" + nom + "</a><button  id='sortida' onclick='sessio(\"surt\")'>" + lang['Tanca sessio'] + "</button>";
		vincle = "<img align='left' src='arxius/imatges/usuaris/" + foto + "' id='foto_usuari' /><span>" + nom + " </span><input id='sortida' name='sortida' type='button' onclick='sortida()' value='Tanca' />";
		//vincle = "<img align='left' src='arxius/imatges/" + foto + "' id='fotoUsuari' />" + nom + " <button id='sortida' onclick='sortida()'><img src='arxius/imatges/tancaSessio.png' /></button>";
	}
	if (mode == "index"){
		document.write(vincle);	
	}else{	
		$('zona_usuari').innerHTML = vincle;
	}
}

function sortida(){
	$('sortida').disabled = true;
	if (confirm(lang['Vols sortir'])){
		ctrl = "sortida";
		sessio(ctrl);
		desactiva_edicio();
		if ($('comentari_nou_carregant')) activacio_comentari_nou(false);
	}else{
		$('sortida').disabled = false;
	}
}

//Funcions desa
	//P�gina
	//Gesti�
		//�s possible fer-ho autom�tic per a tot, menys per a t�tol que es fa m�s feixuc pel navegador (AJAX a cada canvi!!!)
		//T�tol: 
		//Tipus:
		//Apartat:
		//Drets d'autor:		
		//Editors:
		//Revisions: Autom�tic ??? A part, també la càrrega

function desa_pagina(){
	if (id == "nova"){
		activa_gestio();
	}else{
		preguntaAbansSortir = false;
		if (ctrl != "gestioDesa") mostraMissatge('carrega');
		ctrl = "revisioDesa";
		setTimeout("sessio('revisioDesa');", 2000);
		setTimeout('amagaMissatge();', 4500);
		//setTimeout('desactiva_edicio();', 5000);
		setTimeout("window.location.href = '?id=' + id;", 5000);
	}
}

function desa_gestio(){
	if (document.getElementById("gestio_titol").value == ""){
		alert("Has de posar un títol a la pàgina per a poder-la desar!");
		document.getElementById("gestio_titol").focus();
	}else{
		ctrl = "gestioDesa";
		mostraMissatge('carrega');
		if (id == "nova"){
			setTimeout("sessio('gestioDesa');", 2000);
			setTimeout("desa_pagina();", 4000);
		}else{
			preguntaAbansSortir = false;
			setTimeout("sessio('gestioDesa');", 2000);
			setTimeout('amagaMissatge();', 4500);
			setTimeout("window.location.href = '?id=' + id;", 5000);
			//setTimeout('desactiva_gestio();', 5000);
		}		
	}
}

function efecte_scroll(){
	var myFx = new Fx.Scroll(document.body, {
   	duration: 2000,
   	wait: true
	}).toBottom();
	//e.stop();
}


//Funcions comentaris
function comentari(accio,cid){
	id_comentari = cid;	
	switch (accio){
		case "desa":
			if (cid == null){
				if (document.getElementById("comentari_nou_text").value != "" || document.getElementById("vots").value > 0){
					if (document.getElementById("comentari_nou_text").value == ""){
						num_estrelles = (document.getElementById("vots").value > 1)? "estrelles." : "estrella.";
						document.getElementById("comentari_nou_text").value = "Voto aquest article amb " + document.getElementById("vots").value + " " + num_estrelles;
					}
					sessio("comentariDesa");
				}
			}else{
				alert("no");
				//if (document.getElementById("comentari_text" + id).value != "") sessio("actualitzaComentari");
			}
			break;

		case "edita":
			var text = document.getElementById("comentari_text" + cid);			
			activa_botons_comentari(true,cid);
			text.focus();
			break;

		case "esborra":
			if (confirm("Segur que vols esborrar aquest comentari?")){
				activa_botons_comentari(false,cid);
				sessio("comentariEsborra");
			}
			break;

		case "cancel":
			alert("si");
			activa_botons_comentari(false,cid);
			break;
	}
}

function activa_botons_comentari(sn,cid){
	//No està acabat. Revisar
	if (sn){
		document.getElementById("comentari_botons_esborra_edita_" + cid).style.display = "inline";
		document.getElementById("comentari_botons_carregant_" + cid).style.display = "none";
	}else{
		document.getElementById("comentari_botons_esborra_edita_" + cid).style.display = "none";
		//document.getElementById("comentari_botons_desa_cancel_" + cid).style.display = "none";
		document.getElementById("comentari_botons_carregant_" + cid).style.display = "inline";
	}
}

function esborraComentari(cid){
	setTimeout("$('comentari" + cid + "').fade('out');",1500);
	setTimeout("efecteEsborra(" + cid + ");",2500);
	setTimeout("document.getElementById('comentaris_llistat').removeChild(document.getElementById('comentari" + cid + "'));",4000);
	setTimeout("actualitza_num_comentaris();",4100);
	//document.getElementById('comentaris_llistat').removeChild(document.getElementById('comentari' + cid));
}

function efecteEsborra(cid){
	var esborra = new Fx.Morph('comentari' + cid, {duration:'long'});
	esborra.start({ height:'0px' });
}

/*
function activa_botons_comentari(sn,id){
	botons1 = (sn)? "inline" : "none";
	botons2 = (sn)? "none" : "inline";
	document.getElementById("edita" + id).disabled = botons1;
	document.getElementById("esborra" + id).disabled = botons1;	
	document.getElementById("desa" + id).disabled = botons2;
	document.getElementById("cancel" + id).disabled = botons2;
	document.getElementById("comentari_text" + id).readOnly = !sn;
}
*/

function construeix_comentari(nou_id){
	var com_num = $('comentaris_llistat').getElementsByTagName("li").length + 1;
	var ajax = new Request({
		url: 'comentaris.php?comentari_id=' + nou_id + '&num=' + com_num,
		onSuccess: function(html){
				$('comentaris_llistat').innerHTML += html;
				setTimeout("activacio_comentari_nou(false);efecte_scroll();",2000);
				actualitza_num_comentaris();
		},
		onFailure: function(){ alert("Hi ha hagut un problema de connexió. Intenta actualitzar la pàgina en uns segons."); }		
	}).send();
}

function actualitza_num_comentaris(){
	if ($('comentaris_llistat')){
		var numcom = $$('#comentaris_llistat span.num_comentari');
		$('num_comentaris').innerHTML = numcom.length;
		for (c=0; c<numcom.length; c++){
			numcom[c].innerHTML = c + 1;
		}
	}
}

function constructor_comentaris(com_id,com_autor,com_data,com_vots,com_text){
	com_num = document.getElementById("comentaris_llistat").getElementsByTagName("li").length + 1;	
	com_foto = "arxius/imatges/usuaris/nofoto.jpg"; //canviar després
	com = '<li class="comentari" id="comentari' + com_id + '"><table cellpadding="0" cellspacing="0" class="comentari_taula_tb"><tr><td  colspan="2"><table cellpadding="0" cellspacing="0" class="comentari_taula"><tr><td class="comentari_num" align="left">Comentari ' + com_num + '</td><td class="comentari_botons" align="right"><span id="comentari_botons_esborra_edita_' + com_id + '"><input type="button" value="Esborra" id="esborra' + com_id + '" onclick="comentari(\'esborra\',' + com_id + ')" /><input type="button" value="Edita" id="edita' + com_id + '" onclick="comentari(\'edita\',' + com_id + ')" style="display:none" /></span><span id="comentari_botons_desa_cancel_' + com_id + '"><input type="button" value="Desa" id="desa' + com_id + '" onclick="comentari(\'desa\',' + com_id + ')" style="display:none" /><input type="button" value="Cancel" id="cancel' + com_id + '" onclick="comentari(\'cancel\',' + com_id + ')" style="display:none" /></span><span id="comentari_botons_carregant_' + com_id + '" class="carregant">Carregant...</span></td></tr></table></td></tr><tr><td class="comentari_titol" valign="middle" align="left"><img class="comentari_foto" src="' + com_foto + '" align="left" /><span class="comentari_autor">' + com_autor + '</span><span class="comentari_data">' + com_data +  '</span></td>';
	if (com_vots > 0){
		var plural = (com_vots > 1)? "es" : "a";
		var vots = '<span title="' + com_autor + ' ha votat aquest article amb ' + com_vots + ' estrell' + plural + '">';
		for (v=1; v<6; v++){
			estrella = (v > com_vots)? "apagada" : "encesa";
			vots += '<img src="arxius/imatges/estrella_' + estrella + '.gif" />';	
		}
		vots += '</span>';
	}else{
		var vots = 'No ha votat';
	}
	com += '<td align="right" class="comentari_vots">' + vots + '</td></tr>';
	if (com_text != ""){
		com += '<tr valign="top"><td colspan="3" valign="top" class="comentari_text_td"><textarea id="comentari_text' + com_id + '" class="comentari_text" readonly="true">' + com_text + '</textarea></td></tr></table></td><td valign="top" class="comentari_botons"></td></tr>';
	}
	com += '</table></li>';
	$('comentaris_llistat').innerHTML += com;
}

function activacio_comentari_nou(sn){
	$('comentari_nou_carregant').style.display = "none";
	if (sn){
		//Activa el comentari nou
		$('comentari_nou_text').value = "";
		$('comentari_nou').style.display = "block";
		//$('comentari_nou').fade('in');
		$('comentari_nou_text').focus();
		retamany();
	}else{
		//Desactiva el comentari nou
		$('comentari_nou').style.display = "none";
		var iniSelect = $('vots').getElementsByTagName('option');
		$('vots').value = iniSelect[0].value;
		$('comentari_nou_boto_mostrar').fade('hide');
		$('comentari_nou_boto_mostrar').style.display = 'block';
		setTimeout("$('comentari_nou_boto_mostrar').fade('in');", 4000);
		//comentaris = 0;
	}
	//efecte_scroll(); No ho puc posar perquè sortida també crida a aquesta funció
}

function desactiva_comentari_nou(){
	//$('comentari_nou_boto_mostrar').style.display = "block";
	//$('comentari_nou_boto_carregant').style.display = "none";
	//$('comentari_nou').style.display = "none";
}

/*
function desa_comentari(){
	$('comentari_nou').style.display = "none";
	$('comentari_nou_oculta').style.display = "block";
	//carregant... block
	//$('nou_comentari').fade('out');
	sessio();
	var ajax = new Request.HTML({
		url: 'comentaris.php?accio=desa&id=' + id + '&text=' + $('comentari_nou_text').value,
		onSuccess: function(html){
			$('comentaris_llistat').adopt(html);
			$('comentari_nou_text').value = "";
			efecte_scroll();
			$('comentari_nou_boto_mostrar').style.display = "block";
		},
		onFailure: function(){
			$('comentaris_llistat').adopt("<div>Error</div>");
		}
	}).send();
	$('comentari_nou_oculta').style.display = "none";
}
*/

/*
function suprimeix_comentari(c){
	if (confirm("Confirmes que vols suprimir aquest comentari?")){
	$('comentari_boto_edita' + c).disabled = true;
	$('comentari_boto_suprimeix' + c).disabled = true;
	var ajax = new Request.HTML({	
		url: 'comentaris.php?accio=suprimeix&comentari=' + c,
		onSuccess: function(html){
			//$('comentari' + c).fade('out');
			//setTimeout("$('comentari" + c + "').tween('height', '0px');", 2000);
			//setTimeout("$('comentari" + c + "').style.display = 'none';", 2000);
			$('comentari' + c).fade('out');
			$('comentari' + c).style.marginBottom = "0px"; //Fa que el problema se soluciona amb ff???
			setTimeout("$('comentari" + c + "').tween('height', '0px');", 500);
			//No s'ha solucionat el problema amb ie de què quedi al final un espai superior
			
			//llistat = document.getElementById('comentaris');
			//setTimeout("document.getElementById('comentaris').removeChild('comentari" + c + "');", 1000);
			//setTimeout("$('comentari" + c + "').tween('padding', '0px');", 1000);
			//setTimeout("$('comentari" + c + "').style.marginBottom = '0px';", 1000);
		},
		onFailure: function(){
			$('comentaris').adopt("<div>Error</div>");
		}
	}).send();
	}
}

*/

