CarrersUMAT = function(carrerSelectId, numeroSelectId, serveiSelectId) {
	var self = this;
	
	var carrerSelectId;
	var numeroSelectId;
	var serveiSelectId;

	var seleccionat = 0;
	var numeroSeleccionat = 0;
	var codiFacana = 0;

	var carrers_servei;
	var carrers_capa;
	var carrers_capacarrer;
	var url;

	var serveis;

	this.carrerSelectId = carrerSelectId;
	this.numeroSelectId = numeroSelectId;
	this.serveiSelectId = serveiSelectId;

 	this.carrerChange = function() {
		var carrerSelect = dijit.byId(self.carrerSelectId);
		var value = carrerSelect.getValue();
		if ((typeof(value) == "undefined") || (value == '')) {
			self.seleccionat = 0;
			return;
		}
	
		var store = carrerSelect.store;
		store.fetchItemByIdentity({
		    identity: value,
	    	onItem: self.cercarNumeros
		});
 	}

	this.cercarNumeros = function(item) {
		var carrerSelect = dijit.byId(self.carrerSelectId);
		var numeroSelect = dijit.byId(self.numeroSelectId);

		var store = carrerSelect.store;
		self.seleccionat = store.getValue(item, "codi");
		self.numeroSeleccionat = '0';

		var url = "/web/umat/carrers/carrers.php?action=llista_numeros&carrer=" + self.seleccionat;
	
	    var store2 = new umat.data.ItemFileReadStore({url:url});
		numeroSelect.store = store2;
		if (numeroSelect.getDisplayedValue() != '') {
		    numeroSelect.setDisplayedValue('');
		}
		self.actualitzaLink();
	
		numeroSelect.setDisabled(false);
	}

	this.numeroChange = function() {
		var numeroSelect = dijit.byId(numeroSelectId);
		var value = numeroSelect.getValue();
		if ((typeof(value) == "undefined") || (value == '')) {
			self.numeroSeleccionat = 0;
			return;
		}
	
		var store = numeroSelect.store;
		store.fetchItemByIdentity({
		    identity: value,
	    	onItem: self.updateNumeroSeleccionat
		});
	}

	this.updateNumeroSeleccionat = function(item) {
		var numeroSelect = dijit.byId(numeroSelectId);
		var store = numeroSelect.store;
		self.numeroSeleccionat = store.getValue(item, "codi");
		self.codiFacana = store.getValue(item, "codiFacana");
		self.actualitzaLink()
	}

	this.actualitzaLink = function() {
		var serveiSelect = dojo.byId(serveiSelectId);
		var i = serveiSelect.selectedIndex;
		var url;
		var serveis = self.serveis;
	
		if (serveis[i].tipus == "1") {
			url = "http://terra.girona.cat/ws" + serveis[i].lloc + '/' + serveis[i].servei;
			if (self.seleccionat != undefined) {
				url += '/viewer.htm?ActiveLayer=';
				if (self.numeroSeleccionat == 0) {
					url += serveis[i].capacarrer;
					url += '&Query=CODIAJUNT=\'' + self.seleccionat + '\'';
				} else {
					url += serveis[i].capa;
					url += '&Query=CODI_EDIFI=\'' + self.numeroSeleccionat + '\'';
				}
				url += '&QueryZoom=Yes';
			}
		}
	
		if (serveis[i].tipus == "2") {
			url = serveis[i].lloc;
			if (self.seleccionat != undefined) {
				if (self.numeroSeleccionat == 0) {
					url += '&seleccio_carrer=' + self.seleccionat;
				} else {
					url += '&seleccio_edifici=' + self.numeroSeleccionat;
				}
			}
		}
	
		if (serveis[i].tipus == "3") {
			url = serveis[i].lloc
			if (self.seleccionat != undefined) { 
				if (self.numeroSeleccionat == 0) {
					url += '&seleccio_carrer=' + self.seleccionat;
				} else {
					url += '&seleccio_facana=' + self.codiFacana;
				}
			}
		}

		self.url = url;
	}

	this.serveiChange = function() {
		self.actualitzaLink();
	}

	this.veureMapa = function() {
		if ((self.seleccionat == 0) || self.seleccionat == undefined) {
//			alert("Seleccioneu un carrer siusplau");
//			return;
			// obrir el mapa seleccionat sense cap selecció
			this.actualitzaLink();
		}
	
		window.open(self.url);
	}

	this.setServeis = function(serveis) {
		self.serveis = serveis;
		var select = dojo.byId(serveiSelectId);
		select.options.length = 0;
	
		for (x = 0; x < serveis.length; x++) {
			select.options[x] = new Option(serveis[x].name, serveis[x].id);
		}
	}
}

