function initRegister() {
	muestraCaptcha();
	$('dempresa').focus();
	$('register_form').onsubmit = validateForm;
	$('email').onblur = compruebaMail;
	$('imagecaptcha').addEvent('click', muestraCaptcha);
}

function compruebaMail() {
		var resultado = true;
		var mensajeError = '<ul>'+errorMessage3+'</ul>';
		var mensajeErrorAjax = '<ul>'+errorMessage4+'</ul>';

		/* Si ya ha habido un mensaje de error lo quitamos */
		if ($('js_errors')) {
			  $('js_errors').destroy();
		  }
		  
		/* Si el email esta en blanco dejamos de hacer la comprobacion ya que se detectara en la validacion */
		if ($('email').get('value').length == 0) {
			return resultado;
		}
		
		/* Comprobamos el formato de la cuenta de email */
		if (!checkEmail($('email').get('value'))) {
			markError($('email'));
			resultado = false;
		}
		
		/* Mostramos errores si los hay y en contrario enviamos los datos para checkear el email por Ajax */
		if (!resultado) {
			displayErrorMessageHTML(mensajeError, $('register_form'));
		} else {
			var comprobacion = new Request({method:'get', url:'/catalogo/verifyMail.php',
											onRequest: function() { $('loader2').addClass('cargando');},
											onComplete: function(responseText, responseXML){
												if (responseText == 1) {
													markError($('email'));
													displayErrorMessageHTML(mensajeErrorAjax, $('register_form'));
													resultado = false;
												}
												$('loader2').removeClass('cargando');
											}
											}).send('logonId='+$('email').get('value'));
		}
		
		return resultado;
}

function validateForm() {
	var res = true;
	var resultemail = true;
	var resultcp = true;
	var resultphone = true;
	var resultcaptcha = true;
	var resultprivacy = true;
	var resultrequired = true;
	var log = $('.registro');
	var required = new Array();
	
	/* llenamos el array con los valores del formulario */
	required.push('dempresa','dcontacto','email','ddireccion','dlocalidad','dcp','dprovincia','dtelefono','securecode');
	
	/* Si ya ha habido un mensaje de error lo quitamos */
	if ($('js_errors')) {
	  $('js_errors').destroy();
	  }
	  
	/* Comprobacion de email */
	if (!checkEmail($('email').get('value'))) {
		markError($('email'));
		res = false;
		resultemail = false;
	}
	
	/* Comprobacion del codigo postal */
	if (!checkCP($('dcp').get('value'))) {
		markError($('dcp'));
		res = false;
		resultcp = false;
	}
	
	/* Comprobacion del telefono */
	if (!checkPhone($('dtelefono').get('value'))) {
		markError($('dtelefono'));
		res = false;
		resultphone = false;
	}
	
	/* Comprobacion del codigo de seguridad y el capcha */
	if (!checkCaptcha($('securecode').get('value'),$('codigosecreto').get('value'))) {
		markError($('securecode'));
		res = false;
		resultcaptcha = false;
	}
	
	/* Comprobacion de la politica de privacidad */
	if (!checkPolicyDos()) {
		markError($('privacy'));
		res = false;
		resultprivacy = false;
	}
	
	/* Comprobacion que ningun campo requerido queda en blanco */
	for (var i=0;i<required.length;++i) {
		if ($(required[i]).get('value').length == 0) {
			markError($(required[i]));
			res = false;
			resultrequired = false;
		}
	}
	
	/* Mostramos errores si los hay y en contrario enviamos los datos del formulario */
	if (!res) {
		var swich = 0;
		var textoerror = '<ul>'+errorMessage1;
		if (!resultprivacy) textoerror = textoerror+errorMessage2;
		if (!resultemail) textoerror = textoerror+errorMessage3;
		textoerror = textoerror+'</ul>';
		displayErrorMessageHTML(textoerror, this);
	} else {
		var miFormulario = new Request.HTML({url:'/catalogo/addNewRequest.php',
											//update: $('bloquecontacto'),
											evalScripts: true,
											onRequest: function() { $('loader').addClass('cargando');},
											onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript){
												responseElements.each(function(element){
																			   if(element.get('id') == 'errorRequest'){
																				   swich = 1;
																			   };
																			   });
												if (swich == 1) {
													displayErrorMessageHTML('Se ha producido un error en su solicitud, contacte con nosotros llamando al <b>965 431 821</b> y le atenderemos telefonicamente. <br /><br />Gracias.', $('register_form'));
												} else {
													$('contentRegistro').set('html',responseHTML);
													/* Añadimos evento al botón devuelto */
													initBotones();
												}
											}
											}).post($('register_form'));

		res = false;
		}
	return res;
}

function muestraCaptcha(){
	$('imagecaptcha').empty();
	
	/* Esto es para la version 2 de Mootools */
	var objetoAjax = new Request.HTML({url: '/capcha/captcha.php',
							  update: $('imagecaptcha'),
							  onSuccess: function() {
								  document.getElementById('gifCaptcha').src=document.getElementById('gifCaptcha').src+'?'+(new Date()).getMilliseconds();
								  //$('securecode').value = $('codigosecreto').value;
							  }
							  });
	objetoAjax.get();
}

function checkPolicyDos() {
	return $('privacy').get('checked');
}

window.addEvent('domready', initRegister);