var EventosVentaPaso1 = Class.create();
 
 EventosVentaPaso1.prototype = {
 
 	//--------------------------------------------------------------------------
	// Constructor
    //--------------------------------------------------------------------------
    
    initialize : function() {
    	this.inicializarDialogos();
    	
    	DWREngine.setOrdered(true);
 		this.listarRegiones();
 		DWREngine.setOrdered(false);	
    },
    
    inicializarDialogos : function() {
    	this.dialogSeleccionarAutomoviles = new YAHOO.widget.Dialog("dialogSeleccionarAutomoviles", { 
				width : "800px",
				fixedcenter : true,
				visible : false, 
				modal:true,
				constraintoviewport : true,
				draggable : true, 
				effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:0.2},			
				close : true
			}
		);	
		this.dialogSeleccionarAutomoviles.setHeader("Resultado de la búsqueda");
		this.dialogSeleccionarAutomoviles.render();
		
		this.dialogAgregarNuevoAutomovil = new YAHOO.widget.Dialog("dialogAgregarNuevoAutomovil", { 
				width : "740px",		
				fixedcenter : true,
				visible : false, 
				modal:true,
				constraintoviewport : true,
				draggable : true, 
				effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:0.2},			
				close : true
			}
		);	
		this.dialogAgregarNuevoAutomovil.setHeader("Complete los siguientes antecedentes");
		this.dialogAgregarNuevoAutomovil.render();
		
		
    },
    
    buscarRut : function() {

		resultadosRut = function(resultado) {
			closeLoadingMessage();
			var mResultado = new Hash(resultado);
			
			var vehiculos = mResultado.get("vehiculos");
			var propietario = mResultado.get("propietario");
					
			if (vehiculos != null && $A(vehiculos).size() >0){
				var p = new Hash(propietario);
				
				$("dialogSeleccionarAutomoviles.rut").value = propietario.rut;
				$("dialogSeleccionarAutomoviles.nombres").value = propietario.nombres;
				
				$("dialogSeleccionarAutomoviles.email").value = "";
				$("dialogSeleccionarAutomoviles.confEmail").value = "";
				$("dialogSeleccionarAutomoviles.region").value = "";
				$("dialogSeleccionarAutomoviles.comuna").value = "";
				$("dialogSeleccionarAutomoviles.direccion").value = "";
				$("dialogSeleccionarAutomoviles.telefono").value = "";
				
				this.agregarAutomovilAListado(vehiculos, false);
				
				this.dialogSeleccionarAutomoviles.show();
				
				$("txtRut").value = "";
			} else {
				alert("EL rut ingresado no tiene vehiculos asociados");
			}
		};
		
		openLoadingMessage("Buscando...");
		ventaVehiculo.buscarRutDWR($F("txtRut"), {callback: resultadosRut.bind(this), errorHandler: this.manejarError});
    },
    
    buscar : function(){
//    	var miform = document.forms['frmBusqueda'];
//		var ajaxServlet = $F("contexto") + "/Poliza.do";
//		var params = "task=buscarVehiculo&txtPatente=" + escape(miform.txtPatente.value);
		openLoadingMessage("Buscando..");
		//getById("tdBienvenida").style.display = "none";//innerHTML = "";
		//ajaxQueryHtml("tdDatosVehiculoContratante",ajaxServlet,params,null,"hideLoading();","hideLoading()");
		
		patenteOK = function(detalle) {
			closeLoadingMessage();
			$("mensajeAjax").innerHTML = "";
			
			
			var mDetalle = $H(detalle);
			var tipoBusqueda = mDetalle.get("tipoBusqueda");
			var cantidadAutomoviles = mDetalle.get("cantidadAutomoviles");
			var patente = mDetalle.get("patente");
			var listadoMarcas = mDetalle.get("listadoMarcas");
			var listadoTipos = mDetalle.get("listaTiposVehiculo");
			var vehiculo = mDetalle.get("vehiculo");

			if (tipoBusqueda == "P") {
			
				if (cantidadAutomoviles == 0) {
					this.dialogAgregarNuevoAutomovil.show();
					
					$("dialogAgregarNuevoAutomovil.patente").value = patente;
					
					$("dialogAgregarNuevoAutomovil.rut").value = "";
					$("dialogAgregarNuevoAutomovil.nombres").value = "";
					$("dialogAgregarNuevoAutomovil.email").value = "";
					$("dialogAgregarNuevoAutomovil.confEmail").value = "";
					$("dialogAgregarNuevoAutomovil.direccion").value = "";
					$("dialogAgregarNuevoAutomovil.telefono").value = "";
					$("dialogAgregarNuevoAutomovil.region").value = "";
					$("dialogAgregarNuevoAutomovil.comuna").value = "";

					$("dialogAgregarNuevoAutomovil.marca").value = "";																					
					$("dialogAgregarNuevoAutomovil.modelo").value = "";					
					$("dialogAgregarNuevoAutomovil.tipoVehiculo").value = "";
					$("dialogAgregarNuevoAutomovil.anio").value = "";
					$("dialogAgregarNuevoAutomovil.color").value = "";
					$("dialogAgregarNuevoAutomovil.motor").value = "";		
					$("dialogAgregarNuevoAutomovil.chasis").value = "";					
								
					dwr.util.removeAllOptions("dialogAgregarNuevoAutomovil.marca");
    				dwr.util.addOptions("dialogAgregarNuevoAutomovil.marca", [{id: "", name: "-- Seleccione --"}], "id", "name");
					dwr.util.addOptions("dialogAgregarNuevoAutomovil.marca", listadoMarcas, "codigo", "nombre");			
			
					dwr.util.removeAllOptions("dialogAgregarNuevoAutomovil.tipoVehiculo");
    				dwr.util.addOptions("dialogAgregarNuevoAutomovil.tipoVehiculo", [{id: "", name: "-- Seleccione --"}], "id", "name");
					dwr.util.addOptions("dialogAgregarNuevoAutomovil.tipoVehiculo", listadoTipos, "codigoTipo", "nombre");	
					
				}  else {
					$("dialogSeleccionarAutomoviles.rut").value = vehiculo.rutFormateado;
					$("dialogSeleccionarAutomoviles.nombres").value = vehiculo.nombre;

					$("dialogSeleccionarAutomoviles.email").value = "";
					$("dialogSeleccionarAutomoviles.confEmail").value = "";
					$("dialogSeleccionarAutomoviles.region").value = "";
					$("dialogSeleccionarAutomoviles.comuna").value = "";
					$("dialogSeleccionarAutomoviles.direccion").value = "";
					$("dialogSeleccionarAutomoviles.telefono").value = "";
					
					this.agregarAutomovilAListado([vehiculo], false);
					
					this.dialogSeleccionarAutomoviles.show();
				}
			}
			
			$("txtPatente").value = "";
		};
		
		patenteNOK = function(errorString, exception) {
			closeLoadingMessage();
			//$("mensajeAjax").innerHTML = "<ul><li>" + errorString + "</li></ul>";
			
			alert(errorString);
		};
	    $('txtPatente').value=$F('txtPatente').toUpperCase();
		ventaVehiculo.buscarVehiculoDWR(escape($F("txtPatente")), "P", {callback: patenteOK.bind(this), errorHandler: patenteNOK});
    },
    
	cambiarMarcaVehiculo : function(tipoVehiculo){
    	var marcaVehiculo = function(listadoMarcas){
    		closeLoadingMessage();
    		dwr.util.removeAllOptions("dialogAgregarNuevoAutomovil.marca");
    		dwr.util.addOptions("dialogAgregarNuevoAutomovil.marca", [{id: "", name: "-- Seleccione --"}], "id", "name");
			dwr.util.addOptions("dialogAgregarNuevoAutomovil.marca", listadoMarcas, "codigo", "nombre");	
    	};
    	openLoadingMessage();
    	ventaVehiculo.buscarMarcaVehiculoDWR(tipoVehiculo, {callback: marcaVehiculo.bind(this)});
    },
    
    cambiarModeloVehiculo : function(marca, tipoVehiculo) {
    
    	var modeloVehiculo = function(listadoModelos) {
    		closeLoadingMessage();
    		dwr.util.removeAllOptions("dialogAgregarNuevoAutomovil.modelo");
    		dwr.util.addOptions("dialogAgregarNuevoAutomovil.modelo", [{id: "", name: "-- Seleccione --"}], "id", "name");
			dwr.util.addOptions("dialogAgregarNuevoAutomovil.modelo", listadoModelos, "codigo", "nombre");	
    	};
    	openLoadingMessage();
    	ventaVehiculo.buscarModeloVehiculoDWR(marca, tipoVehiculo, {callback: modeloVehiculo.bind(this)});
    },
    
	cambiarAnioVehiculo : function(marca, tipo, modelo) {
		var anioVehiculo = function(listadoAnios) {
			closeLoadingMessage();
			dwr.util.removeAllOptions("dialogAgregarNuevoAutomovil.anio");
    		dwr.util.addOptions("dialogAgregarNuevoAutomovil.anio", [{id: "", name: "-- Seleccione --"}], "id", "name");
			dwr.util.addOptions("dialogAgregarNuevoAutomovil.anio", listadoAnios, "codigo", "nombre");	
		};
		openLoadingMessage();
		ventaVehiculo.buscarAniosVehiculoDWR(marca, tipo, modelo, {callback:anioVehiculo.bind(this)});
	},
	cambiarUsoVehiculo : function(tipo){
		var usoVehiculo = function(listadoUsos){
			closeLoadingMessage();
			dwr.util.removeAllOptions("dialogAgregarNuevoAutomovil.usoVehiculo");
    		dwr.util.addOptions("dialogAgregarNuevoAutomovil.usoVehiculo", [{id: "", name: "-- Seleccione --"}], "id", "name");
			dwr.util.addOptions("dialogAgregarNuevoAutomovil.usoVehiculo", listadoUsos, "codigo", "nombre");	
		}
		openLoadingMessage();
		ventaVehiculo.buscarUsosVehiculoDWR(tipo, {callback:usoVehiculo.bind(this)});
	},
	listarRegiones : function() {
		var regiones = function(listado) {
			closeLoadingMessage();
			dwr.util.removeAllOptions("dialogSeleccionarAutomoviles.region");
    		dwr.util.addOptions("dialogSeleccionarAutomoviles.region", [{id: "", name: "-- Seleccione --"}], "id", "name");
			dwr.util.addOptions("dialogSeleccionarAutomoviles.region", listado, "codigo", "nombre");	
			
			dwr.util.removeAllOptions("dialogAgregarNuevoAutomovil.region");
    		dwr.util.addOptions("dialogAgregarNuevoAutomovil.region", [{id: "", name: "-- Seleccione --"}], "id", "name");
			dwr.util.addOptions("dialogAgregarNuevoAutomovil.region", listado, "codigo", "nombre");	
		};
		openLoadingMessage();
		ventaVehiculo.buscarRegionesDWR({callback:regiones.bind(this)});
	},
	
	cambiarComunas : function(region, elemento) {
		var comunas = function(listado) {
			closeLoadingMessage();
			dwr.util.removeAllOptions(elemento + ".comuna");
    		dwr.util.addOptions(elemento + ".comuna", [{id: "", name: "-- Seleccione --"}], "id", "name");
			dwr.util.addOptions(elemento + ".comuna", listado, "codigo", "nombre");	
		};
		openLoadingMessage("Buscando...");
		ventaVehiculo.listarComunasDWR(region, {callback:comunas.bind(this), errorHandler: this.manejarError});
	},
	
	agregarAutomovilCarro : function() {
		
		var mensaje = "";
		
		mensaje += $V('dialogAgregarNuevoAutomovil.rut', 'RUT').requerido().rut().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.nombres', 'Nombres').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.email', 'Email').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.confEmail', 'Confirmacion email').requerido().obtenerMensaje();
		
		mensaje += $V('dialogAgregarNuevoAutomovil.patente', 'Patente').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.marca', 'Marca').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.tipoVehiculo', 'Tipo Vehículo').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.usoVehiculo', 'Uso Vehículo').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.modelo', 'Modelo').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.motor', 'Número Motor').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.chasis', 'Número Chasis').requerido().obtenerMensaje();
		mensaje += $V('dialogAgregarNuevoAutomovil.color', 'Color').requerido().obtenerMensaje();

		if (!mensaje.empty()) {
			alert('El formulario presenta errores:\n' + mensaje);
		} else {
			var datosPropietario = new Hash();
			datosPropietario.set("rut", $F("dialogAgregarNuevoAutomovil.rut"));
			datosPropietario.set("nombres",  $F("dialogAgregarNuevoAutomovil.nombres"));
			datosPropietario.set("email", $F("dialogAgregarNuevoAutomovil.email"));
			datosPropietario.set("confEmail", $F("dialogAgregarNuevoAutomovil.confEmail"));
			datosPropietario.set("region", $F("dialogAgregarNuevoAutomovil.region"));
			datosPropietario.set("ciudad", $F("dialogAgregarNuevoAutomovil.comuna"));
			datosPropietario.set("comuna", $F("dialogAgregarNuevoAutomovil.comuna"));
			datosPropietario.set("direccion", $F("dialogAgregarNuevoAutomovil.direccion"));
			datosPropietario.set("telefono", $F("dialogAgregarNuevoAutomovil.telefono"));		
	
			
			var automovil = new Hash();
			automovil.set("patente", $F("dialogAgregarNuevoAutomovil.patente"));
			automovil.set("marca", DWRUtil.getText("dialogAgregarNuevoAutomovil.marca"));
			automovil.set("modelo", DWRUtil.getText("dialogAgregarNuevoAutomovil.modelo"));
			automovil.set("tipo", DWRUtil.getText("dialogAgregarNuevoAutomovil.tipoVehiculo"));
			automovil.set("codMarca", $F("dialogAgregarNuevoAutomovil.marca"));
			automovil.set("codModelo", $F("dialogAgregarNuevoAutomovil.modelo"));
			automovil.set("codTipo", $F("dialogAgregarNuevoAutomovil.tipoVehiculo"));
			automovil.set("codUso", $F("dialogAgregarNuevoAutomovil.usoVehiculo"));
			automovil.set("anio", $F("dialogAgregarNuevoAutomovil.anio"));
			automovil.set("motor", $F("dialogAgregarNuevoAutomovil.motor"));
			automovil.set("nombreColor", $F("dialogAgregarNuevoAutomovil.color"));
			automovil.set("nroChasis", $F("dialogAgregarNuevoAutomovil.chasis"));
			
			var automoviles = new Array();
			automoviles.push(automovil.toObject());
			
			this.agregarAutomovilASeleccion(datosPropietario.toObject(), automoviles).bind(this);
		}
	},
	cambiarPrecio : function(patente,codigoUso){
		openLoadingMessage('Calculando...');
		ventaVehiculo.obtenerPrecioVehiculo(patente,codigoUso,{callback: function(monto){
			closeLoadingMessage();
			$('precio_' + patente).value = monto;
		}, errorHandler: this.manejarError})
	},
	getHtmUsosDisponibles : function(patente,usosDisponibles,codigoUso){
		var html = "<select class=\"ac_campos\" id=\cboUso" + patente + "\" onchange=\"javascript:eventosPaso1.cambiarPrecio('" + patente + "',this.value);\">";
		for(i=0;i<usosDisponibles.length;i++){
			html += "<option value=\"" + usosDisponibles[i].codigo + "\" " + (codigoUso==usosDisponibles[i].codigo?"selected=\"selected\"":"") + ">" + usosDisponibles[i].nombre + "</option>";
		}
		html += "</select>";
		return html;
	},
	agregarAutomovilAListado : function (vehiculos, checked) {
		
		dwr.util.removeAllRows("dialogSeleccionarAutomoviles.listadoAutomoviles");
		var cellFuncs = [
			function(data) { return data.nombre;},
			function(data) { return data.patenteFormateado;},
			function(data) { return data.marca + "/" + data.modelo;},
			function(data) { return data.tipo;},
			function(data) { return data.ano;},
			function(data) { return data.nroMotor;},
			function(data) { return eventosPaso1.getHtmUsosDisponibles(data.patente, data.listaUsosDisponibles, data.codigoUso);},
			function(data) { return "<input id=\"precio_" + data.patente + "\" type=\"text\" readonly=\"readonly\" value=\"" + data.precioVenta + "\" style=\"width:70px;text-align:right;\"/>";},
			function(data) {
			 	var str =  "<input type='checkbox' name='autoSeleccionado' value='"  + data.patente + "' ";
			 	if (checked) {
			 		str = str + " checked='checked' ";
			 	}
			 	str = str + " />";
			 	
			 	return str;
			 }/*,
			 function (data) {
			 	return "<img src='" + $F('contexto') +"/images/editar.gif' style='cursor:pointer' onclick='eventosVentaPaso1.editarAutomovil(\"" + data.patente + "\")'/>";
			 }*/
		];
		
		dwr.util.addRows("dialogSeleccionarAutomoviles.listadoAutomoviles", vehiculos, cellFuncs, {						
						cellCreator	:	function(options) {
											var td = document.createElement("td");
											td.className = "ac_item_barra_separadora";
																						
											if (options.cellNum == 0)
												 td.className = "ac_item_barra_separadora_1";
											
											if (options.cellNum == 6 || options.cellNum == 7)
												 td.align = "center";

											return td;
										},
						escapeHtml	:	false 
					}
			);
	},
	
	
	agregarAutomovilASeleccion : function(datosPropietario, automoviles) {
	
		var vehiculosAgregados = function(data) {
		
			var cantidad = new Hash(data).get("cantidad");
			var carro = new Hash(data).get("carro");
			
			closeLoadingMessage();
			// actualizar tamaño de carro de compras
			$("divCarroCompra.cantidad").innerHTML = cantidad;
			$("divCarroCompra.cantidadCarroCompras").value = cantidad;
			$("divCarroCompra.botonFormasPago").style.display = "";
		
			eventosPaso1.actualizarCarroCompras(carro, cantidad);
			eventosPaso1.dialogAgregarNuevoAutomovil.hide();

					
		};
		
		var vehiculoNoAgregadoException = function(errorString, exception) {
			closeLoadingMessage();

			var str = errorString + ":\n";
			$A(exception.mensajes).each(
				function(m) {
					str = str + m + "\n";
				}
			);
			alert(str);
		};
		
		openLoadingMessage("Agregando vehiculo a carro...");
		ventaVehiculo.agregarVehiculosACarroDWR(datosPropietario, automoviles, {callback: vehiculosAgregados.bind(this), errorHandler: vehiculoNoAgregadoException});
	},
	
	agregarAutomovilesCarro : function() {
	
		var vehiculosAgregados = function(data) {
			
			var cantidad = new Hash(data).get("cantidad");
			var carro = new Hash(data).get("carro");
			
			closeLoadingMessage();
			// actualizar tamaño de carro de compras
			$("divCarroCompra.cantidad").innerHTML = cantidad;
			$("divCarroCompra.cantidadCarroCompras").value = cantidad;
			$("divCarroCompra.botonFormasPago").style.display = "";
			
			eventosPaso1.actualizarCarroCompras(carro, cantidad);
			eventosPaso1.dialogSeleccionarAutomoviles.hide();
			
		};
		
		var vehiculoNoAgregadoException = function(errorString, exception) {
			closeLoadingMessage();

			var str = errorString + ":\n";
			$A(exception.mensajes).each(
				function(m) {
					str = str + m + "\n";
				}
			);
			alert(str);
		};
		
		
		var mensaje = "";
		
		mensaje += $V('dialogSeleccionarAutomoviles.rut', 'RUT').requerido().rut().obtenerMensaje();
		mensaje += $V('dialogSeleccionarAutomoviles.nombres', 'Nombres').requerido().obtenerMensaje();
		mensaje += $V('dialogSeleccionarAutomoviles.email', 'Email').requerido().obtenerMensaje();
		mensaje += $V('dialogSeleccionarAutomoviles.email', 'Email').correo().obtenerMensaje();
		mensaje += $V('dialogSeleccionarAutomoviles.confEmail', 'Confirmacion email').requerido().obtenerMensaje();
		mensaje += $V('dialogSeleccionarAutomoviles.confEmail', 'Confirmacion email').igual($F('dialogSeleccionarAutomoviles.email')).obtenerMensaje();

		if (!mensaje.empty()) {
			alert('El formulario presenta errores:\n' + mensaje);
		} else {
			var datosPropietario = new Hash();
			datosPropietario.set("rut", $F("dialogSeleccionarAutomoviles.rut"));
			datosPropietario.set("nombres",  $F("dialogSeleccionarAutomoviles.nombres"));
			datosPropietario.set("email", $F("dialogSeleccionarAutomoviles.email"));
			datosPropietario.set("confEmail", $F("dialogSeleccionarAutomoviles.confEmail"));
			datosPropietario.set("region", $F("dialogSeleccionarAutomoviles.region"));
			datosPropietario.set("ciudad", $F("dialogSeleccionarAutomoviles.comuna"));
			datosPropietario.set("comuna", $F("dialogSeleccionarAutomoviles.comuna"));
			datosPropietario.set("direccion", $F("dialogSeleccionarAutomoviles.direccion"));
			datosPropietario.set("telefono", $F("dialogSeleccionarAutomoviles.telefono"));	
			
			var automovilesM =  document.getElementsByName("autoSeleccionado");
			
			
			var automoviles = new Array();
			if (!automovilesM.length) {
				automoviles.push(automovilesM);
			} else {
				automoviles = automovilesM;
			}

			var automovilesSeleccionados = new Array();
			
			$A(automoviles).each(
				function(a) {
					if (a.checked) {
						automovilesSeleccionados.push(a.value);
					}
				}
			);

			if (automovilesSeleccionados.size() > 0) {
				openLoadingMessage("Agregando vehiculos a carro...");
				ventaVehiculo.agregarVehiculosSeleccionadosACarroDWR(datosPropietario.toObject(), automovilesSeleccionados, {callback: vehiculosAgregados.bind(this), errorHandler: vehiculoNoAgregadoException});
			} else {
				alert("Debe seleccionar al menos un vehículo");
			}
		}
	},
	
	
	actualizarCarroCompras : function(carro, cantidad) {
	
		if (cantidad > 0) {
			$("ajaxDatosVehiculo.subtitulo").innerHTML = "¿Desea agregar un nuevo vehículo al carro de compras?";
		} else {
			$("ajaxDatosVehiculo.subtitulo").innerHTML = "Para comprar, digite la patente de su vehículo o su RUT y presione el botón Buscar"; 
		}
			
		dwr.util.removeAllRows("divAjaxCarroCompras.tablaCarroCompras");
	
		var cellFuncs = [
			  function(data) { 
			  	return data.nombre_html;
			  },
			  function(data) { 
			  	return  data.patenteFormateado;
			  },
			  function(data) { 
			  	return data.marca + "/" + data.modelo;
			  },
			  function(data) { 
			  	return data.tipo;
			  },
			  function(data) { 
			  	return data.ano;
			  },
			   function(data) { 
			  	return data.nroMotor;
			  },
			 function (data) {
			 	return data.precioVenta;
			 },
			 function(data) {
			 	return "<a href=\"javascript:eliminar('" + data.patente + "');\">Eliminar</a>";
			 }/*,
			 function (data) {
			 	return "<img src='" + $F('contexto') +"/images/editar.gif' style='cursor:pointer' onclick='eventosVentaPaso1.editarAutomovil(\"" + data.patente + "\")'/>";
			 }*/
		];
		
		dwr.util.addRows("divAjaxCarroCompras.tablaCarroCompras", carro, cellFuncs, {						
						cellCreator	:	function(options) {
											var td = document.createElement("td");
											
											td.className = "ac_item_barra_separadora";
											
											if (options.cellNum == 0)		
													td.className = "ac_item_barra_separadora_1";
											
											return td;
										},
						escapeHtml	:	false 
					}
			);
		
		$("divAjaxCarroCompras").style.display = "";
		$("tablaCarroCompras").style.display = "";		
	
	},
	manejarError : function(errorString, exception) {
		closeLoadingMessage();
		alert(errorString);
	}
 };
 
 /**
 * Espera a que se cargue la página completa
 */ 
Event.observe(window, 'load', 
	function() {
		document.forms[0].elements['txtPatente'].focus();
		eventosPaso1 = new EventosVentaPaso1();
		if ($F("divCarroCompra.cantidadCarroCompras") > 0) {
			$("divCarroCompra.botonFormasPago").style.display = "";
		} else {
			$("divCarroCompra.botonFormasPago").style.display = "none";
		}
		if($F('patentePrecarga') != ''){
			$('txtPatente').value = $F('patentePrecarga');
			setTimeout("eventosPaso1.buscar()", 500);
		}
	}
);


var eventosVentaPaso1 = {
	buscar : function(origen) {
		if (origen == 'patente') {
			eventosPaso1.buscar();
		} else {
			eventosPaso1.buscarRut();
		}
	},
	
	cambiarMarcaModeloAnioVehiculo : function() {
		DWREngine.setOrdered(true);
		eventosVentaPaso1.cambiarMarcaVehiculo();
		eventosVentaPaso1.cambiarModeloVehiculo();
		eventosVentaPaso1.cambiarAnioVehiculo();
		eventosVentaPaso1.cambiarUsoVehiculo();
		DWREngine.setOrdered(false);
	},
	
	cambiarModeloAnioVehiculo : function() {
		DWREngine.setOrdered(true);	
		eventosVentaPaso1.cambiarModeloVehiculo();
		eventosVentaPaso1.cambiarAnioVehiculo();
		eventosVentaPaso1.cambiarUsoVehiculo();
		DWREngine.setOrdered(false);
	},
	
	cambiarMarcaVehiculo : function(){
		var tipo = $F("dialogAgregarNuevoAutomovil.tipoVehiculo");
		eventosPaso1.cambiarMarcaVehiculo(tipo);
	},
	
	cambiarModeloVehiculo : function() {
		var marca = $F("dialogAgregarNuevoAutomovil.marca");
		var tipo = $F("dialogAgregarNuevoAutomovil.tipoVehiculo");
		eventosPaso1.cambiarModeloVehiculo(marca, tipo);
	},
	
	cambiarAnioVehiculo : function() {
		var marca = $F("dialogAgregarNuevoAutomovil.marca");
		var tipo = $F("dialogAgregarNuevoAutomovil.tipoVehiculo");
		var modelo = $F("dialogAgregarNuevoAutomovil.modelo");
		eventosPaso1.cambiarAnioVehiculo(marca, tipo, modelo);
	},
	cambiarUsoVehiculo : function(){
		var tipo = $F("dialogAgregarNuevoAutomovil.tipoVehiculo");
		eventosPaso1.cambiarUsoVehiculo(tipo);
	},
	
	agregarAutomovilCarro : function() {
		eventosPaso1.agregarAutomovilCarro();	
	},
	
	listarComunas : function(elemento) {
		var region = $F(elemento + ".region");
		
		eventosPaso1.cambiarComunas(region, elemento);
	},
	
	agregarAutomovilesCarro : function() {
		eventosPaso1.agregarAutomovilesCarro();
	}
};