// JavaScripts per a Gornal.org

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

var ctrl;
var id;
var correuUsuari;
var apartat;
var titol;
var comentaris;
var preguntaAbansSortir;

function inicialitza(){
	//alert(document.getElementById("text_contingut").value);
	$("oculta").fade('hide');	
	$("missatge").fade('hide');
	$("missatge").style.display = "block";
	$("missatge").innerHTML = "";
	//if (document.getElementById('codi_contingut')) id_contingut
	//contingut();
	retamany();
	document.getElementById('botonsPrincipals').style.display = "block";
	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('edita');
	contingut(false);
	
	/*
	$('usuari').addEvents({
		'mouseover': function(){ $('panellUsuari').style.display = "block"; },
		'mouseout': function(){ $('panellUsuari').style.display = "none"; }
	});
	*/
	
	//Menú lateral
	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
	if (document.getElementById('comentaris_valoracions')){
		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'); });
	}
}

function boto_dret(){
	return false;
}

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("central").style.width = tamX - 50 + "px";
	document.getElementById("central").style.height = tamY - 93 + "px";	
	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 =  tamX + "px";
	document.getElementById("oculta").style.height = tamY + "px";
	
	//Tauler de seguretat
	document.getElementById("missatge").style.left = tamX/2 - 300 + "px";
	document.getElementById("missatge").style.top = tamY/2 - 100 + "px";

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

function activa_edicio(){
	document.getElementById("barraCarregant").style.display = "none";
	document.getElementById("barraEdicio").style.display = "block";
	document.getElementById("botonsPrincipals").style.display = "none"; //Tal i com està plantejat amb el Carregant..., això no cal, ja està duplicat
	Start();
	contingut(true);
	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'])) desactiva_edicio();
}

function desactiva_edicio(){
	document.getElementById("barraCarregant").style.display = "none";
	document.getElementById("barraEdicio").style.display = "none";
	document.getElementById("botonsPrincipals").style.display = "block";
	contingut(false);
	if (document.attachEvent){
		document.getElementById('editor').contentWindow.document.body.contentEditable = false;		
	} else {
		document.getElementById('editor').contentWindow.document.designMode = "off";
	}
	preguntaAbansSortir = false;
	if (id == "nova") window.history.back();
	
}

function activa_gestio(){
	//
}

function mostraMissatge(m){
	$('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;
	$('missatge').innerHTML = missatges['carrega'];
	var ajax = new Request({
		url: 'control.php?correue_usuari=' + correu + '&motdepas_usuari=' + mot + '&control=' + ctrl + '&id=' + id,
		evalResponse: 'true',
		onComplete: function(){ sessio(ctrl); }
    }).send();
}

function sessio(c){
	ctrl = c;
	altresparametres = "";
	switch (ctrl){
		case "edita":
			$('botonsPrincipals').style.display = "none";
			$('barraCarregant').style.display = "block";
			break;
		
		case "desaPagina":
			treuSignes();
			altresparametres = '&titol=' + titol + '&apartat=' + apartat + '&dades=' + DOMtoString(document.getElementById("editor").contentWindow.document);
			break;

		case "desaGestio":
			break;
			
		case "nouComentari":
			$('comentari_nou_boto_mostrar').style.display = "none";
			$('comentari_nou_boto_carregant').style.display = "block";
			break;

		case "desaComentari":
			//Està considerat però no necessita res especial aquí.
			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/" + foto + "' id='fotoUsuari' />" + nom + " <input id='sortida' name='sortida' type='button' onclick='sortida()' value='Tanca sessió' />";
		//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{	
		$('usuari').innerHTML = vincle;
	}
}

function sortida(){
	$('sortida').disabled = true;
	if (confirm(lang['Vols sortir'])){
		ctrl = "sortida";
		sessio(ctrl);
		desactiva_edicio();
	}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"){
		titol = prompt("Títol de la pàgina: ");
		if (titol == ""){
			alert("Has de posar un títol a la pàgina per a poder-la desar!");
			sn = false;
		}else{
			sn = true;
		}
	}else{
		sn = true;		
	}
	if (sn){
		ctrl = "desaPagina";
		mostraMissatge('carrega');
		setTimeout("sessio('" + ctrl + "');", 2000);
		setTimeout('amagaMissatge();', 4500);
		setTimeout('desactiva_edicio();', 5000);
	}
}

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

function treuSignes(){
	//Cal treure les " i < > etc...	
}


//Funcions comentaris

function mostra_comentari_nou(){
	$('comentari_nou_boto_carregant').style.display = "none";
	$('comentari_nou').style.display = "block";
	efecte_scroll();
	$('comentari_nou_text').focus();
}

function desactiva_comentaris(){
	$('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";
	//$('nou_comentari').fade('out');
	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();
	}
}

function edita_comentari(c){
	document.getElementById('');
}

/*
function activa_editor_comentaris(){
	$('comentari_nou').style.display = "block";
	$('comentari_nou').fade('in');
	$('comentari_nou_boto').style.display = "none";
	$('editor').focus();
}
*/