/**
	Dependencias:
		- mootools-1.2.1-core.js
		- mootools-1.2-more.js
*/

var ConsultaFloristerias = {
	formActivo: null,
	formName: null,
	acciones: {},
	actions: {},
	messages: {},
	cache: {},
	init: function() {
		Portal.init();
		this.formActivo = document.forms[this.formName];

        $('btnBuscaFloristeria').addEvent('click',function(event) {
			new Event(event).stop();
			ConsultaFloristerias.buscarFloristas();
		});
        $('btnBuscaLoc').addEvent('click', function(event){
			new Event(event).stop();
			this.buscarLocalidad();
		}.bind(this));
	},

	buscarLocalidad: function() {
		var codPostal = $('codigoPostal').get('value').trim();
		var localidad = $('localidad').get('value').trim();
		var provincia = $('provincia').get('value').trim();
		var notif = $('notifFindLoc');
		try {
			notif.addClass('waitFieldOn');
			jsonrpc = new JSONRpcClient("/JSON-RPC");
			// Call a Java method on the server
			var localidades = null;
			if(localidad.length > 0 || codPostal.length > 0) {
				localidades = jsonrpc.RPCLocalidad.obtenerDatosLocalidades(provincia, localidad, codPostal);
			}
			if($chk(localidades) && $chk(localidades.list) && localidades.list.length == 1) {
				var locAux = localidades.list[0];
				$('provincia').set('value', locAux.provincia);
				$('localidad').set('value', locAux.nombreciudad);
				$('codigoPostal').set('value', locAux.codpostal);
				ConsultaFloristerias.localidad = locAux;
				//Hack para IE. En caso contrario no llega a mostrarte la carga.
				notif.removeClass.delay(100, notif, 'waitFieldOn');
				this.buscarFloristas();
				return true;
			} else {
				if($chk(localidades)) {
					ConsultaFloristerias.cache.localidades = localidades.list;
				}
				var initFnt = function () {
					//BusquedaLocalidad.cache.provincias = ConsultaFloristerias.cache.provincias;
					BusquedaLocalidad.init(
						provincia,
						localidad,
						codPostal,
						ConsultaFloristerias,
						function (localidad) {
							$('provincia').set('value', localidad.provincia);
							$('localidad').set('value', localidad.nombreciudad);
							$('codigoPostal').set('value', localidad.codpostal);
							ConsultaFloristerias.localidad = localidad;
							ConsultaFloristerias.buscarFloristas();
						}
					);
				};

				var jsAux = {
					id: 'jsLocalidad',
					path: '/restyling/js/BusquedaLocalidad.js'
				};
				FormHelp.showPopUp(
					'/restyling/jsp/localidad/busquedaLocalidad.jsp',
					'popupDiv',
					'popupDiv',
					true,
					null,
					{
						id: 'jsLocalidad',
						path: '/restyling/js/BusquedaLocalidad.js'
					},
					initFnt
				);
				//Hack para IE. En caso contrario no llega a mostrarte la carga.
				notif.removeClass.delay(100, notif, 'waitFieldOn');
				return false;
			}

		} catch(e) {
			notif.removeClass('waitFieldOn');
			//No lo internacionalizo. En teoría no debería mostrarse nunca.
			Portal.showError("Error inesperado al buscar su localidad.<br>"+
			"Intentelo más tarde o pruebe con otros datos.<br>" +
			"Gracias y disculpe las molestias");
		}
	},

	buscarFloristas: function (event) {
		$('paginaActual').set('value',1);
		this.formActivo.action = this.actions.ACTION_DEF;
		this.formActivo.accion.value = this.acciones.ACCION_BUSQUEDA;
		this.formActivo.submit();
	},

	verDetalle: function (floristeria, event) {
		var formEnvioControlado=new MiFormulario(formActivo);
		$('idFloristeria').set('value', floristeria);
		ConsultaFloristerias.formActivo.action = ConsultaFloristerias.actions.ACTION_DEF;
		ConsultaFloristerias.formActivo.accion.value = ConsultaFloristerias.acciones.ACCION_MOSTRAR_FORMULARIO;
		formEnvioControlado.submit();
	}

}

window.addEvent('domready', function(){
	ConsultaFloristerias.init();
});