// JavaScript Document
var Consultar = function(){
	var dirImg = 'img'

	var idRegistro = 0;
	var contenedor = $("contenedorConsultar");
	var nombre = $("nombreConsultar");
	var apellido = $("apellidoConsultar");
	var telefono = $("telefonoConsultar");	
	var pais = $('paisConsultar');
	var provincia = $('provinciaConsultar');
	var direccion = $('direccionConsultar');
	var ciudad = $('ciudadConsultar');
	var email = $("emailConsultar");
	var mensaje = $("mensajeConsultar");
	var contPrincipal = $("principal");
	var cerrar = $("cerrarConsultar");
	var enviar = $("enviarConsultar");
	var enviarGris = $("enviarGrisConsultar");
	var enviando = $("enviandoConsultar");
	var exitoCon = $("exitoConsultar");
	var falloCon = $("falloConsultar");
	var errorConsultar = $("errorConsultar");
	var btnCon = $("cons");
	var loaderConsulta = $('loaderConsulta');
	var fichaConsulta = $('fichaConsulta');
	var contFichaConsulta = $('contFichaConsulta');
	var sobreMensaje = false;
	var arrFichas = new Array();
	
	var totalErrores = 0;

	
	
	var crearError = function(campo,mensaje,expresion){
		campo.expresion = expresion;
		campo.onblur = function(){
			campo.value = trim(campo.value);
			if(!campo.expresion.test(campo.value.toLowerCase()))mostrarError(campo);
			else ocultarError(campo);
		}
	}
	var crearErrores = function(){
		crearError(nombre,'',ER_STR);
		crearError(apellido,'',ER_STR);
		crearError(pais,'',ER_STR);
		crearError(provincia,'',ER_STR);
		crearError(ciudad,'',ER_STR);		
		crearError(mensaje,'',ER_STR);		
		crearError(email,'',ER_EMAIL);
	}
	var mostrarError = function(campo){
		totalErrores++;
		campo.className = "errorInput";
		
	}
	var ocultarError = function(campo){
		campo.className = '';
	}
	
	this.mostrarCuadro = function(idReg,tipoConsulta,e){
		idRegistro = idReg;
		if(tipoConsulta == 'conFicha'){
			if(!arrFichas[idReg]){
				fichaConsulta.style.display = 'none';
				loaderConsulta.style.display = 'block';
				reqFicha.pedir(URL_ROOT+'requests/cargar.php','file'+SEP_IGUAL+'fichaConsulta.php'+SEP_AND+'idProducto'+SEP_IGUAL+idReg+SEP_AND);
			}
			else{
				loaderConsulta.style.display = 'none';
				fichaConsulta.innerHTML = arrFichas[idReg];
				fichaConsulta.style.display = 'block';
			}
			contFichaConsulta.style.display = 'block';			
		}
		contenedor.style.visibility = "visible";
		contenedor.style.zIndex = "2100";
		mostrarBlockeador(true);
		limpiarCampos();
		MostrarContenido(contenedor);
		if(e)StopEvent(e);
	}
	this.analizarTecla = function(e){
		if(e.keyCode == 13 && !sobreMensaje)this.enviarConsultar();
	}
	
	this.enviarConsultar = function(e){
		
		totalErrores = 0;
		FireEvent(nombre,'blur');
		FireEvent(apellido,'blur');
		FireEvent(pais,'blur');
		FireEvent(provincia,'blur');
		FireEvent(ciudad,'blur');
		FireEvent(email,'blur');
		FireEvent(mensaje,'blur');
		nombre.onblur();
		apellido.onblur();
		email.onblur();
		mensaje.onblur();
		if(totalErrores == 0){
			
			var ArrTemp = new Array();
			ArrTemp['nombre'] = nombre.value;
			ArrTemp['apellido'] = apellido.value;
			ArrTemp['pais'] = pais.value;
			ArrTemp['provincia'] = provincia.value;
			ArrTemp['ciudad'] = ciudad.value;
			ArrTemp['direccion'] = direccion.value;			
			ArrTemp['email'] = email.value;
			ArrTemp['telefono'] = telefono.value;
			oCookie.set('datosFormulario',serialize(ArrTemp));
			
			errorConsultar.style.display = "none";
			//MostrarContenido(enviando);
			blockearCampos(true);
			//mostrarBlockeador(true);
			Loader.show();
			OcultarContenido(contenedor);
			
			var v = "nombre|=|"+nombre.value+"|&|email|=|"+email.value+"|&|apellido|=|"+apellido.value+"|&|telefono|=|"+telefono.value+"|&|consulta|=|"+mensaje.value+"|&|"+"|&|idRegistro|=|"+idRegistro+"|&|";
			v += 'pais' + SEP_IGUAL + pais.value + SEP_AND + 'provincia' + SEP_IGUAL + provincia.value + SEP_AND + 'ciudad' + SEP_IGUAL + ciudad.value + SEP_AND + 'direccion' + SEP_IGUAL + direccion.value + SEP_AND;
			req.pedir(URL_ROOT+"requests/consultarProducto.php",v);
		}
		else errorConsultar.style.display = "block";
		if(e)StopEvent(e);
	}.closure(this);
	var blockearCampos = function(blockeo){
		nombre.disabled = blockeo;
		email.disabled = blockeo;
		apellido.disabled = blockeo;
		direccion.disabled = blockeo;		
		telefono.disabled = blockeo;
		mensaje.disabled = blockeo;
		pais.disabled = blockeo;
		provincia.disabled = blockeo;
		ciudad.disabled = blockeo;		
		
	}
	AddEvent(cerrar,'click',function(){
		mostrarBlockeador();
		OcultarContenido(contenedor);
		OcultarContenido(exitoCon);
		OcultarContenido(falloCon);
	 });

	
	AddEvent(mensaje,'focus',function(){
		sobreMensaje = true;								   
    });
	AddEvent(mensaje,'blur',function(){
		sobreMensaje = false;								   
    });
	
	var limpiarCampos = function(){
		mensaje.value = "";
		ocultarError(nombre);
		ocultarError(email);
		ocultarError(apellido);
		ocultarError(pais);
		ocultarError(provincia);		
		ocultarError(ciudad);		
		ocultarError(mensaje);		
		errorConsultar.style.display = 'none';
	}
	
	var onRequestLoad = function(){
		var nodo = req.respuestaXML;
		Loader.hide();
		if(!nodo){
			Error.message = falloCon.innerHTML;
			Error.onAcept = Error.onCancel = function(){
				Error.hide();
				blockearCampos(false);				
				MostrarContenido(contenedor);
			}
			Error.show();
		
			return false;
		}
		if(nodo.getAttribute("exito") != 1){
			Error.message = falloCon.innerHTML;
			Error.onAcept = Error.onCancel = function(){
				Error.hide();
				blockearCampos(false);				
				MostrarContenido(contenedor);
			}
			Error.show();
			
		}
		else{
			Exito.message = exitoCon.innerHTML;
			Exito.onAcept = Exito.onCancel = function(){
				Exito.hide();
				limpiarCampos();
				blockearCampos(false);	
				mostrarBlockeador();
			}
			Exito.show();

		}

	}
	var onRequestFicha = function(){
		var nodo = reqFicha.respuestaXML;
		if(!nodo){

			return false;
		}
		if(reqFicha.respuestaXML.firstChild.data != ''){
			fichaConsulta.innerHTML = reqFicha.respuestaXML.firstChild.data;
			arrFichas[idRegistro] = reqFicha.respuestaXML.firstChild.data;
			loaderConsulta.style.display = 'none';
			fichaConsulta.style.display = 'block';
			MostrarContenido(contenedor);			
		}
		else contFichaConsulta.style.display = 'none';
		
		
	}
	var req = new Request(onRequestLoad);
	var reqFicha = new Request(onRequestFicha);
	crearErrores();
}
