/**
	Dependencias:
		- mootools-1.2.1-core.js
		- mootools-1.2-more.js
		- formcheck.js
*/

var RecuerdoClave = {
	formActivo: null,
	formName: null,
	acciones: {},
	actions: {},
	messages: {},
	cache: {},
	init: function() {
		Portal.init();
		this.formActivo = document.forms[this.formName];
        $('btnEnvio').addEvent('click',function(event) {
			new Event(event).stop();
			RecuerdoClave.recordarPassword();
		});

        $('empresasi').addEvent('click',function(event) {
			//new Event(event).stop();
			RecuerdoClave.activarTipoPersona();
		});
		$('empresano').addEvent('click',function(event) {
			//new Event(event).stop();
			RecuerdoClave.activarTipoPersona();
		});
        this.crearFormCheck();
        this.activarTipoPersona();
	},

    /**
	* Asigna los literales internacionalizados para cada error, crea las funciones especificas de validación
	* e inicializa el objeto formCheck.
	*/
	crearFormCheck: function() {
        /*Inicio de funciones de validación para FormCheck*/
		RecuerdoClave.validarDocumento = function (el) {
			if(!$chk(el) ) return true;
			el.value = el.value.trim();
			if(el.value.length > 0) return true;
			else {
				var id = el.get('id');
				var isEmpresa = $('empresasi').get('checked');
				if(
					(id == 'CIF' && isEmpresa) ||
					(id == 'NIF' && !isEmpresa)
				) {
					el.errors.push(this.formCheck.options.alerts.required);
					el.forceErrorNotif = true;
					return false;
				} else {
					return true;
				}
			}
		}
		/*Fin de funciones de validación para FormCheck*/

		//Creo y asigno el validador del formulario.
		this.formCheck = new FormCheck(RecuerdoClave.formName,{
			display : {
				showErrors: 0,
				addClassErrorToField: 1
			}
		});
	},

	recordarPassword: function (event) {
		var isEmpresa = $('empresasi').get('checked');
		if(isEmpresa) {
			$('NIF').set('value', $('CIF').get('value').trim());
		} else {
			$('CIF').set('value', $('NIF').get('value').trim());
		}

		if(RecuerdoClave.formCheck.validateFormNow(event)) {
			this.formActivo.action = this.actions.DEF;
			this.formActivo.accion.value = this.acciones.RECORDAR;
			this.formActivo.submit();
		}
	},

	activarTipoPersona: function () {
		var isEmpresa = $('empresasi').get('checked');

		if(isEmpresa) {
			$('personaFisica').addClass('hide');
			$('personaJuridica').removeClass('hide');
			if($('NIF').get('value').trim() != '') {
				$('CIF').set('value', $('NIF').get('value').trim());
			}
		} else {
			$('personaFisica').removeClass('hide');
			$('personaJuridica').addClass('hide');
			if($('CIF').get('value').trim() != '') {
				$('NIF').set('value', $('CIF').get('value').trim());
			}
		}
	}

}

window.addEvent('domready', function(){
	RecuerdoClave.init();
});