function getkey(e)
{	
	if (window.event)
	   return window.event.keyCode;
	else if (e)
	   return e.which;
	else
	   return null;
}

function loginFocusPasswd(e)
{
	if (getkey(e) == 13)
	   {
	   	document.LOGIN.PASSWORD.focus();
	   	return true;
	   }
	else
		return false;
}

function loginSubmitForm(e)
{
	if (getkey(e) == 13)
	   {
	   	document.LOGIN.submit();
	   	return true;
	   }
	else
		return false;
}

function desactivar_tema_forum()
{
	document.FORUM_NOU_TEMA.TEMA.disabled = (document.FORUM_NOU_TEMA.PELI.value > 0);
}

function desactivar_tema_edicio_forum()
{
	document.FORUM_MODIFICAR.TEMA.disabled = (document.FORUM_MODIFICAR.PELI.value > 0);
}

function obrir_finestra(url)
{
	window.open(url);
}

function popup(mylink, windowname)
{
	if (! window.focus) return true;

	var href;

	if (typeof(mylink) == 'string')
   		href=mylink;
	else
   		href=mylink.href;
	window.open(href, windowname, 'width=400,height=200,scrollbars=yes');
	
	return false;
}

function getElementsByClass(node,searchClass,tag) 
{
	var classElements = new Array();
	var els = node.getElementsByTagName(tag); // use "*" for all elements
	var elsLen = els.length;
	var pattern = new RegExp("\\b"+searchClass+"\\b");
	for (i = 0, j = 0; i < elsLen; i++) {
	 if ( pattern.test(els[i].className) ) {
	 classElements[j] = els[i];
	 j++;
	 }
	}
	return classElements;
}

function init()
{
	var el = getElementsByClass(document,'noticia','*');

	for ( i=0; i<el.length; i++ ) 
	{
		ferEditableTitolNoticia('titol' + el[i].id);
	}
}

function ferEditableTitolNoticia(id)
{
	Event.observe(id, 'click', function(){editarTitolNoticia($(id))}, false);
	Event.observe(id, 'mouseover', function(){marcarEditable($(id))}, false);
	Event.observe(id, 'mouseout', function(){marcarEditable($(id), true)}, false);
}

function marcarEditable(obj, clear)
{
	if (!clear){
	  Element.addClassName(obj, 'editable');
	}
	else
	{
	  Element.removeClassName(obj, 'editable');
	}
}

function guardarAmbReturn(key, obj)
{
	if (getkey(key) == 13)
	   {
	   	guardarTitolNoticia(obj);
	   	return true;
	   }
	else
		return false;
}

function editarTitolNoticia(obj)
{
	Element.hide(obj);

	var c_input ='<div id="' + obj.id + '_editor"><input size="56" class="inline_edit" type="text" id="' + obj.id + '_edit" name="' + obj.id + '" value="' + obj.innerHTML + '" onKeyPress="javascript: if (getkey(event) == 13) guardarTitolNoticia(' + obj.id + ');">';
	
	var c_button = '&nbsp<img align="absmiddle" title="Guardar canvis" style="cursor: pointer" src="imatges/editar_ok.gif" id="' + obj.id + '_save">&nbsp;<img align="absmiddle" style="cursor: pointer" title="Cancel·lar" src="imatges/editar_back.gif"  id="' + obj.id + '_cancel"></div>';
	
	new Insertion.After(obj, c_input + c_button);
	
	document.getElementById(obj.id + '_edit').focus();

	Event.observe(obj.id+'_save', 'click', function(){guardarTitolNoticia(obj)}, false);
	Event.observe(obj.id+'_cancel', 'click', function(){eliminarEditor(obj)}, false);
}

function eliminarEditor(obj, keepEditable)
{
	Element.remove(obj.id+'_editor');
	Element.show(obj);
	if (!keepEditable) marcarEditable(obj, true);
}

function guardarTitolNoticia(obj)
{
     var new_content = escape($F(obj.id+'_edit'));

     obj.innerHTML = "Actualitzant...";
     eliminarEditor(obj, true);

     var correcte = function(t){edicioOk(t, obj);}
     var incorrecte = function(t){edicioError(t, obj);}

     var url = 'ajax/guardarTitolNoticia.php';
     var pars = 'id=' + obj.id + '&content=' + new_content;
     var myAjax = new Ajax.Request(url, {method:'post',
          postBody:pars, onSuccess:correcte, onFailure:incorrecte});
}

function edicioOk(t, obj){
     obj.innerHTML = t.responseText;
     marcarEditable(obj, true);
}

function edicioError(t, obj){
     obj.innerHTML = 'ERROR!!!';
     cleanUp(obj);
}