// JavaScript Document
var oLogin = new function(){

		var erEmail = RegExp('^[a-z0-9_\.\-]+@[a-z0-9_\-]+(\.[a-z0-9_\-]{2,5})*\.[a-z]{2,4}$');
		var erNumero = RegExp('^[0-9]+$');
		var erFecha = RegExp('^(0[1-9]|[1-2][0-9]|3[0-1])/(0[1-9]|1[0-2])/[1-2][0-9]{3}$');
		var erSiNo = RegExp('^[01]$');
		var errorClass = 'inputError';
		var cargandoForm = false;


		//A
		this.analizarTecla = function(e,superior){
			if(e.keyCode == 13){
				if(!superior){
					if($('contFormularioLogin').style.display != 'none')FireEvent($('enviarLogin'),'click');
					else FireEvent($('enviarRecuperar'),'click');
				}
				else{
					this.enviarLogin();	
				}
				
			}
		}
		
		
		//C
		this.cambiarFormulario = function(e,tipo){
			var error = false;
			if(tipo == 'recuperar'){
				$('contFormularioLogin').style.display = 'none';
				$('contFormularioRecuperar').style.display = '';
			}
			else{
				$('contFormularioLogin').style.display = '';
				$('contFormularioRecuperar').style.display = 'none';
			}
			
			if(e)StopEvent(e);
		}

		//E
		this.enviarRecuperar = function(e){
			var error = false;
			if(wait){ return false; }
			
			if(!iniciado)inicializarLogin();

			email.onblur();
			if(email.parentNode.className == errorClass){ error = true; }
			
			if(!error){
				$('errorRecuperar').style.display = 'none';				
				wait = true;
				reqType = 'recuperar';
				
				var t = 'email' + SEP_IGUAL + email.value + SEP_AND;
				
				Blocker.show();
				Loader.show();
				
				req.pedir(DIR_ROOT + 'requests/login.php?accion=recuperar', t);
				
			}
			else{
				$('errorRecuperar').innerHTML = MSJ_EMAIL_INCORRECTO;
				$('errorRecuperar').style.display = 'block';
			}

			
			if(e)StopEvent(e);
		}
		this.enviarLogin = function(evt){
			var error = '', t = '';
			
			if(!iniciado)inicializarLogin();
			
			if(evt){ StopEvent(evt); }
			if(wait){ return false; }
			
			

			usuario.onblur();
			if(usuario.className == errorClass){ error = 'Debe ingresar el usuario' + '<br/>'; }
			
			contrasena.onblur();
			if(contrasena.className == errorClass){ error += 'Debe ingresar la contraseņa'; }
			
			if(error){
				errorL.innerHTML = error;
				errorL.style.display = 'block';
				return false;
			}
			

			
			wait = true;
			reqType = 'login';
			
			t += 'usuario' + SEP_IGUAL + usuario.value + SEP_AND;
			t += 'contrasena' + SEP_IGUAL + contrasena.value + SEP_AND;			
			
			mostrarLoader(true);
			req.pedir(DIR_ROOT + 'requests/login.php?accion=logueo', t);
		}		

		//I
		var inicializarLogin = function(){
			
			
			usuario = $('usuarioLogin');
			if(!usuario.onblur){
				usuario.onblur = function(){
					var v = trim(this.value);
					if(v == ''){ this.className = errorClass; }
					else{ this.className = ''; }
				}.closure(usuario);
			}
			
			contrasena = $('contrasenaLogin');
			if(!contrasena.onblur){
				contrasena.onblur = function(){
					var v = trim(this.value);
					if(v == ''){ this.className = errorClass; }
					else{ this.className = ''; }
				}.closure(contrasena);
			}
			
			/*email = $('emailRecuperar');
			if(!email.onblur){
				email.onblur = function(){
					var v = trim(this.value);
					if(!erEmail.test(v)){ this.parentNode.className = errorClass; }
					else{ this.parentNode.className = ''; }
				}.closure(email);
			}*/
			
			
			
			errorL = $('errorLogin');
			cargandoL = $('cargandoLogin');
			

			
			iniciado = true;
		}.closure(this);		
		
		//L
		this.logout = function(){
			reqType = 'logout';
			var v = 'tipo' + SEP_IGUAL + reqType + SEP_AND;
			Loader.show();
			Blocker.show();
			req.pedir(DIR_ROOT + 'requests/login.php?accion=' + reqType, v);
				
		}
		
		var listener = function(){
			var d = req.respuestaXML;
			wait = false;
			mostrarLoader();			
			if(!d){ alert(req.respuestaHTML); }
			else if(reqType == 'login'){
				if(d.getAttribute('tipo') != 'exito'){
					errorL.innerHTML = d.firstChild.data;
					errorL.style.display = 'block';
					Loader.hide();					
					Blocker.hide();
				}
				else{
					$('contTopLogin').innerHTML = d.firstChild.data;
					Loader.hide();
					location.reload();
				}
			}
			else if(reqType == 'recuperar'){
				if(d.getAttribute('tipo') != 'exito'){
					$('errorRecuperar').innerHTML = d.firstChild.data;
					$('errorRecuperar').style.display = 'block';
					Loader.hide();					
					Blocker.hide();
				}
				else{
					Exito.onAccept = function(){
						Blocker.hide();
					};
					Exito.show(d.firstChild.data);

					Loader.hide();
				}
			}
			else if(reqType == 'logout'){
				location.reload();
			}
			
		}.closure(this);
		
		//M
		var mostrarLoader = function(mostrar){
			if($('contDatosLogin')){
				if(mostrar){
					$('contDatosLogin').style.display = 'none';
					$('loaderLogin').style.display = 'block';
				}
				else{
					$('contDatosLogin').style.display = 'block';
					$('loaderLogin').style.display = 'none';
				}
			}
		}


		
		// Envio de Consulta del Clasificado
		var usuario, contrasena, errorL, cargandoL, exitoL,email;
		
		var consultaTabIndex = 0;
		var iniciado = false;
		var clasInfo;
		var wait = false, reqType;
		var req = new Request(listener);
		var errorL = null;
	

	}

