function checkForm (form){
  // Comprovem si estan buits els camps de login i password.
  if (!checkEmptyFields(form.nombre.value)){
    if (checkEmptyFields(form.login.value)){
      if (!checkEmptyFields(form.password.value)){
        alert ("Debes escribir tu password."); return (false);
      }
    }
  }

  // No s'identifica de cap forma
  if ((!checkEmptyFields(form.login.value)) && (!checkEmptyFields(form.nombre.value))){
    alert("Debes entrar tu login y password o bien tu nombre."); return (false);
  }
  if (!checkEmptyFields (form.titulo.value)) {alert ("Debes escribir un título para el mensaje."); return (false);}
  if (!checkEmptyFields (form.mensaje.value)){alert ("Debes escribir un mensaje."); return (false);}
  if (!checkEmptyFields (form.captcha.value)){alert ("Debes reescribir el código de seguridad."); return (false);}


  // Miramos si el usuario existe en la base de datos.
  if (!checkEmptyFields(form.nombre.value)){
    if(!checkUser ()){return (false);}
  }else{
     $('check_user').style.display="none";

    // Miramos si el codigo captcha es correcto, si no lo és avisamos y recargamos otro código.
    checkCaptcha (document.nuevo_mensaje.captcha.value);
  }
}

function checkEmptyFields (sField){
  if (sField == "") return (false);
  else return (true);
}

function checkUser (){
  // Comprovem els valors
  var url = '/check_user.html';
  var pars = 'action=check&user='+document.nuevo_mensaje.login.value+'&passwd='+document.nuevo_mensaje.password.value;

  var myAjax = new Ajax.Request(
    url,
    {
      method: 'post',
      parameters: pars,
      onComplete: showResponseUser,
      evalScripts: true
    });
}

function showResponseUser (originalRequest){
  if (originalRequest.responseText == "ko") {
    // Mostrem una capa indicant l'error.
    $('check_user').style.display="";
    return (false);
  }else {
    if (originalRequest.responseText == 'no_login'){
  		// Hem de mostar el formulari q demana el login a l'usuari.
		open_window ("/templates/registro/form_nom_usuari.phtml","Nom usuari", 400, 300);
		return (false);
  	}
    $('check_user').style.display="none";

    // Miramos si el codigo captcha es correcto, si no lo és avisamos y recargamos otro código.
    checkCaptcha (document.nuevo_mensaje.captcha.value);
  }
}

function checkCaptcha (value){
  // Comprovem els valors
  var url = '/captcha.html';
  var pars = 'action=check&captcha='+value;

  var myAjax = new Ajax.Request(
    url,
    {
      method: 'get',
      parameters: pars,
      onComplete: showResponse,
      evalScripts: true
    });
}

function showResponse (originalRequest){

  var url = '/modules/comun/reload_captcha.php';
  var pars = '';

  if (originalRequest.responseText == 'ok') {document.nuevo_mensaje.submit ();}
  else{
    var myAjax = new Ajax.Updater(
      'captcha_code',
      url,
      {
        method: 'get',
        parameters: pars
      });
      return (false);
  }
}

function submitAjaxAction (pURL, pParams, pDiv){
	$(pDiv).innerHTML = '';
	params = Form.serialize(document.formulari);
	params = params + pParams;
	var myAjax = new Ajax.Updater (pDiv, pURL,	{ method: 'post', parameters: params});
	return true;
}

function submitPassword (pURL, pParams, pDiv){
	if ((document.formulari.password1.value == '') || (document.formulari.password2.value == '')){
		alert ("Debes entrar un password");
		return false;
	}
	if ((document.formulari.password1.value.length < 6) || (document.formulari.password2.value.length < 6)){
		alert ("El password debe contener mas de 5 caracteres");
		return false;
	}
	submitAjaxAction (pURL, pParams, pDiv);
}


function changeState(pURL, pParams, pId){
	var url = pURL;
	var pars = pParams;
	this.pId = pId;

	var myAjax = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete: showResponse
		});

}

function submit_ajax_form (form, pUrl, pDiv){
	params = Form.serialize(form);
	var myAjax = new Ajax.Updater (pDiv, pURL,	{ method: 'post', parameters: params});
}

function show_form_into_window (pUrl,pParams){
	var myAjax = new Ajax.Request(
				pUrl,
				{
					method: 'post',
					parameters: pParams,
					onComplete: open_window
				});
}

function open_window(Purl, Ptitle, Pwidth, Pheight){
	  var win = new Window({className: "alphacube", zIndex: 100, title: Ptitle, closable:true, draggable:true});
	  this.win = win;
	  win.setAjaxContent(Purl, {method: 'post'}, true, true);
	  win.setDestroyOnClose();
	  win.setSize(Pwidth,Pheight);
	  win.showCenter();
	  return win;
}


function submitThisForm (form){
	// mirem q tot sigui correcte.
    alert (form);
    params = Form.serialize(form);   
    alert (params);
    pParams = params;
	var myAjax = new Ajax.Request(
				'/registro/get_login.html',
				{
					method: 'post',
					parameters: pParams,
					onComplete: resultatCheckingLogin
				});

}

/**
 *
 * @access public
 * @return void
 **/
function resultatCheckingLogin(originalRequest){
    if (originalRequest.responseText == 'ok') {
    	// Ja l'hem insertat.
    	$('resultat_ajax').innerHTML = "Nombre de usuario insertado correctamente.";
    }else if (originalRequest.responseText == 'ya_existe') {
    	// El nom d'usuari ja existeix a la base de dades.
		$('resultat_ajax').innerHTML = "Este nombre de usuario ya existe, elige otro.";
    }else{
    	// Hi ha hagut un error durant la inserció del nom d'usuari.
    	$('resultat_ajax').innerHTML = "Ha habido un error durante la inserción del nombre del usuario.";
    }
}
