// JavaScript Document
var Contacto = function(){
	this.req = new Request(this);
	var nombre = $("nombre");
	var apellido = $("apellido");
	var direccion = $("direccion");
	var pais = $("pais");
	var ciudad = $("ciudad");
	var numeroCliente = $('numeroCliente');
	var tipoDni = $('tipoDni');
	var tipoCuil = $('tipoCuil');
	var tipoCuit = $('tipoCuit');
	var provincia = $("provincia");
	var telefono = $("telefono");
	var email = $("email");
	var consulta = $("consulta");
	var error = $("divError");
	var enviando = $("enviandoConsulta");
	var exito = $("exitoConsulta");
	var fallo = $("falloConsulta");
	var enviar = $("enviarContacto");
	var claseMayorista = $('claseMayorista');
	var claseMinorista = $('claseMinorista');
	var sobreMensaje = false;
	var totalErrores = 0;
	var lMinima = 3;
	var mercado = 'Interno';
	var razonSocial = $('razonSocial');		
	
	this.setMercado = function(valor){
		mercado = valor;
	}


	var crearError = function(campo,mensaje,expresion,longitud){
		campo.expresion = expresion;

		if(longitud){
			campo.onblur = function(){
				campo.value = trim(campo.value);				
				if(!campo.expresion.test(trim(campo.value).toLowerCase()) || campo.value.length < lMinima)mostrarError(campo);
				else ocultarError(campo);
			}				
		}
		else{
			campo.onblur = function(){
				campo.value = trim(campo.value);				
				if(!campo.expresion.test(trim(campo.value).toLowerCase()))mostrarError(campo);
				else ocultarError(campo);
			}				
		}
	}
	this.analizarTecla = function(e){
		if(e.keyCode == 13 && !sobreMensaje)this.enviarContacto();
	}
	
	var crearErrores = function(){
		crearError(nombre,'',ER_STR,true);
		crearError(apellido,'',ER_STR,true);
		crearError(direccion,'',ER_STR,true);
		crearError(ciudad,'',ER_STR,true);
		crearError(provincia,'',ER_STR,true);
		crearError(pais,'',ER_STR,true);		
		crearError(email,'',ER_EMAIL);
		crearError(consulta,'',ER_STR,true);
	}
	var mostrarError = function(campo){
		totalErrores++;
		campo.className = "error";
	}
	var ocultarError = function(campo){
		campo.className = '';
	}
	this.enviarContacto = function(e){
		totalErrores = 0;
		nombre.onblur();
		apellido.onblur();
		direccion.onblur();
		ciudad.onblur();
		provincia.onblur();
		pais.onblur();		
		email.onblur();
		consulta.onblur();
		if(totalErrores == 0){
//			MostrarContenido(enviando);
			blockearCampos(true);
			mostrarBlockeador(true);
			Loader.show();			
			var tipoCliente = 'dni';
			if(tipoCuil.checked)tipoCliente = 'cuil';
			if(tipoCuit.checked)tipoCliente = 'cuit';
			
			var claseCliente = 'mayorista';
			if(claseMinorista.checked)claseCliente = 'minorista';
			
			
			var v = "nombre"+SEP_IGUAL+trim(nombre.value)+SEP_AND+"apellido"+SEP_IGUAL+trim(apellido.value)+SEP_AND+"direccion"+SEP_IGUAL+trim(direccion.value)+SEP_AND+"ciudad"+SEP_IGUAL+trim(ciudad.value)+SEP_AND+"provincia"+SEP_IGUAL+trim(provincia.value)+SEP_AND;
			v += "telefono"+SEP_IGUAL+trim(telefono.value)+SEP_AND+"email"+SEP_IGUAL+trim(email.value)+SEP_AND+"consulta"+SEP_IGUAL+trim(consulta.value)+SEP_AND+"numeroCliente"+SEP_IGUAL+trim(numeroCliente.value)+SEP_AND;
			v += 'tipoCliente' + SEP_IGUAL + tipoCliente + SEP_AND;
			v += 'claseCliente' + SEP_IGUAL + claseCliente + SEP_AND;
			v += 'pais' + SEP_IGUAL + pais.value + SEP_AND;
			v += 'razonSocial' + SEP_IGUAL + razonSocial.value + SEP_AND;
			v += 'mercado' + SEP_IGUAL + mercado + SEP_AND;			
			
			
			this.req.pedir(URL_ROOT+"requests/contacto.php",v);
		}
		else{
			error.style.display = "inline";
			
		}
		if(e)StopEvent(e);
	}.closure(this);
	var blockearCampos = function(blockeo){
		nombre.disabled = blockeo;
		apellido.disabled = blockeo;
		direccion.disabled = blockeo;
		ciudad.disabled = blockeo;
		provincia.disabled = blockeo;
		pais.disabled = blockeo;
		razonSocial.disabled = blockeo;		
		telefono.disabled = blockeo;
		email.disabled = blockeo;
		consulta.disabled = blockeo;
		numeroCliente.disabled = blockeo;
	}

	var limpiarCampos = function(){
		consulta.value = "";
		error.style.display = "none";

		ocultarError(nombre);
		ocultarError(apellido);
		ocultarError(direccion);
		ocultarError(pais);				
		ocultarError(ciudad);
		ocultarError(provincia);
		ocultarError(email);
		ocultarError(consulta);
	}
	this.onRequestLoad = function(){
		var nodo = this.req.respuestaXML;
		if(!nodo){
			alert(this.req.respuestaHTML);
			Loader.hide();
			Error.message = fallo.innerHTML;
			Error.onAcept = Error.onCancel = function(){
				Error.hide();
				blockearCampos(false);
				mostrarBlockeador();
			}
			Error.show();

			return false;
		}
		if(nodo.getAttribute("exito") != 1){
			Error.message = fallo.innerHTML;
			Error.onAcept = Error.onCancel = function(){
				Error.hide();
				blockearCampos(false);
				mostrarBlockeador();
			}
			Error.show();

		}
		else{
			Exito.message = exito.innerHTML;
			Exito.onAcept = Exito.onCancel = function(){
				Exito.hide();
				blockearCampos(false);	
				mostrarBlockeador();
				limpiarCampos();
			}
			Exito.show();

		}
		Loader.hide();
	}
	crearErrores();
	
	AddEvent(consulta,'focus',function(){
		sobreMensaje = true;								   
    });
	AddEvent(consulta,'blur',function(){
		sobreMensaje = false;								   
    });

}
