var JcrProvinceSyncronizer = new Class( {

	initialize : function() {

		dwr.engine.setPreHook( function() {
			var anagraficaSyncronizer = new AnagraficaSyncronizer();
			anagraficaSyncronizer.setAnagrafica( []);

			var noresult = $('noresult');
			noresult.style.display = 'none';
			var ajaxLoader = $('ajaxloader');
			ajaxLoader.style.display = 'block';
			// alert('break pre hook');

			});

		dwr.engine.setPostHook( function() {

			var ajaxLoader = $('ajaxloader');

			ajaxLoader.style.display = 'none';
			// alert('break post hook');
			});

	},
	findProviceByRegion : function(idRegion) {
		var region = {};

		region.id = idRegion;
		var provinceSelect = $('search.province');

		var toremove = [];
		for ( var i = 0, len = provinceSelect.options.length; i < len; i++) {

			var oOption = provinceSelect.options[i];
			toremove.include(oOption);
			// if(oOption!=null)provinceSelect.removeChild(oOption);
}

toremove.each( function(item) {
	provinceSelect.removeChild(item);
})

SearchFacade.findProvinceByRegion(region, this.setProvinceSelect);

},// callback dwr per la valorizzazione della lista risultato della rierca
	setProvinceSelect : function(data) {

		// forza la pulizia delle anagrafiche

	// scroll su container
	var provinceSelect = $('search.province');

	var oOption = document.createElement("option");
	oOption.text = "--------";
	oOption.value = '';

	if (window.ie) {
		provinceSelect.add(oOption)
	} else {
		provinceSelect.appendChild(oOption)
	}

	for ( var i = 0, len = data.length; i < len; ++i) {

		var oOption = document.createElement("option");
		oOption.text = data[i].name;
		oOption.value = data[i].code;
		if (window.ie) {
			provinceSelect.add(oOption)
		} else {
			provinceSelect.appendChild(oOption)
		}
	}

}

});

var jcrProvinceSyncronizer = new JcrProvinceSyncronizer();

var JcrRegionSyncronizer = new Class( {

	findRegionByNation : function(nationCode) {
		var nation = {};
		nation.code = nationCode;

		SearchFacade.findRegionByNation(nation, this.setRegionSelect);

	},
	// callback dwr per la valorizzazione della lista risultato della rierca
	setRegionSelect : function(data) {

		// scroll su container
	var regionSelect = $('search.region');

	var newInnerHtml = '';
	for ( var i = 0, len = data.length; i < len; ++i) {

		var newResource;
		newResource = '<option value="' + data[i].id + '">' + data[i].name
				+ '</value>';
		newInnerHtml += newResource;
	}
	regionSelect.setHTML(newInnerHtml)
	// lista_risorse[0].setHTML('<div
	// class="search_container">'+lista_risorse[0].innerHTML);
	// lista_risorse[0].setHTML(lista_risorse[0].innerHTML+'</div>');
}

});

var jcrRegionSyncronizer = new JcrRegionSyncronizer();

var AnagraficaSyncronizer = new Class( {

	findCatByProvince : function(provinceCode) {
		var province = {};

		province.code = provinceCode;

		SearchFacade.findCatByProvince(province, this.setAnagrafica);

	},
	findFilialiItaliaByProvince : function(provinceCode) {
		var province = {};
		province.code = provinceCode;

		SearchFacade.findFilialiItaliaByProvince(province, this.setAnagrafica);

	},
	findFilialiEstereByNation : function(nationCode) {
		var nation = {};
		nation.code = nationCode;

		SearchFacade.findFilialiEstereByNation(nation, this.setAnagrafica);

	},
	
	findServiceAddressByProvinceInJcrRepo: function(provinceCode, path) {
		var province = {};
		province.code = provinceCode;
		SearchFacade.findServiceAddressByProvinceInJcrRepo(province, path, this.setAddress);
	},
	
	setAddress : function(data) {
		var anagrafica = $('unaColonnaCentro');
		// alert('set anagrafica');

		var newInnerHtml = '';
		// newInnerHtml+='<br/>';
		// alert('brack set anagrafica');

		if (window.ie) {
			var childnodes = anagrafica.getElements('span');
			for ( var y = 0, len = childnodes.length; y < len; ++y) {
				anagrafica.removeChild(childnodes[y]);
			}
			// alert('brack set anagrafica2');

			var childnodesh2 = anagrafica.getElements('h2');
			// alert('brack set anagrafica3.01');

			for ( var z = 0, len = childnodesh2.length; z < len; ++z) {
				// alert('brack set anagrafica3.02');
				anagrafica.removeChild(childnodesh2[z]);
			}
			// alert('brack set anagrafica3.0');

		} else {

			var childnodes = $ES('.spananagrafica');

			for ( var y = 0, len = childnodes.length; y < len; ++y) {
				anagrafica.removeChild(childnodes[y]);
			}

			var childnodesh2 = $ES(".spananagraficah2");
			for ( var z = 0, len = childnodesh2.length; z < len; ++z) {
				anagrafica.removeChild(childnodesh2[z]);
			}
		}

		try {
			var childnodesbr = $ES("br");
			for ( var x = 0, len = childnodesbr.length; x < len; ++x) {
				anagrafica.removeChild(childnodesbr[x]);
			}
		} catch (e) {
		}

		var nothingToDisplay = true;
		// alert('brack set anagrafica3');
		for ( var i = 0, len = data.length; i < len; ++i) {

			var newInnerHtml = '';
			// alert('brack set anagrafica4');
			nothingToDisplay = false;

			var newResource;
			newResource = data[i]
			// rag soc

			newInnerHtml += newResource;
			
			var el = document.createElement('br');
			
			var h2 = document.createElement('h2');
			h2.setAttribute('class', 'spananagraficah2');
			h2.innerHTML = newInnerHtml;
			h2.style.textAlign = 'left';
			h2.style.marginLeft = '10px';
			h2.style.marginRight = '30px';
			h2.style.marginBottom = '10px';
			h2.style.marginTop = '10px';

			anagrafica.appendChild(el);
			anagrafica.appendChild(h2);

		}

		if (nothingToDisplay) {
			var noresult = $('noresult');
			noresult.style.display = 'block';
		}
	},
	
	setAnagrafica : function(data) {

		// var anagrafica=$('search.anagrafica');
	var anagrafica = $('unaColonnaCentro');
	// alert('set anagrafica');

	var newInnerHtml = '';
	// newInnerHtml+='<br/>';
	// alert('brack set anagrafica');

	if (window.ie) {
		var childnodes = anagrafica.getElements('span');
		for ( var y = 0, len = childnodes.length; y < len; ++y) {
			anagrafica.removeChild(childnodes[y]);
		}
		// alert('brack set anagrafica2');

		var childnodesh2 = anagrafica.getElements('h2');
		// alert('brack set anagrafica3.01');

		for ( var z = 0, len = childnodesh2.length; z < len; ++z) {
			// alert('brack set anagrafica3.02');
			anagrafica.removeChild(childnodesh2[z]);
		}
		// alert('brack set anagrafica3.0');

	} else {

		var childnodes = $ES('.spananagrafica');

		for ( var y = 0, len = childnodes.length; y < len; ++y) {
			anagrafica.removeChild(childnodes[y]);
		}

		var childnodesh2 = $ES(".spananagraficah2");
		for ( var z = 0, len = childnodesh2.length; z < len; ++z) {
			anagrafica.removeChild(childnodesh2[z]);
		}
	}

	try {
		var childnodesbr = $ES("br");
		for ( var x = 0, len = childnodesbr.length; x < len; ++x) {
			anagrafica.removeChild(childnodesbr[x]);
		}
	} catch (e) {
	}

	var nothingToDisplay = true;
	// alert('brack set anagrafica3');
	for ( var i = 0, len = data.length; i < len; ++i) {

		var newInnerHtml = '';
		// alert('brack set anagrafica4');
		nothingToDisplay = false;

		var newResource;
		newResource = data[i].ragSociale;
		// rag soc

		newInnerHtml += newResource;
		newInnerHtml += ' ';
		newResource = data[i].ragSocialeExt;
		newInnerHtml += newResource;
		newInnerHtml += ' ';

		var el = document.createElement('br');
		var el1 = document.createElement('br');
		var el2 = document.createElement('br');

		var h4 = document.createElement('h2');
		h4.setAttribute('class', 'spananagraficah2');
		h4.innerHTML = newInnerHtml;
		h4.style.textAlign = 'left';
		h4.style.marginLeft = '10px';

		anagrafica.appendChild(el);
		anagrafica.appendChild(el1);
		anagrafica.appendChild(el2);
		anagrafica.appendChild(h4);

		var span = document.createElement('span');
		span.setAttribute('class', 'spananagrafica');
		span.style.textAlign = 'center';
		el = document.createElement('br');
		span.appendChild(el);

		// rag soc
		// newResource=data[i].nation;
		// newInnerHtml+=newResource;
		newInnerHtml = '';
		newResource = data[i].address;
		newInnerHtml += newResource;
		newInnerHtml += ' ';
		newResource = data[i].cap;
		newInnerHtml += newResource;
		newInnerHtml += ' ';
		newResource = data[i].city;
		newInnerHtml += newResource;
		el = document.createTextNode(newInnerHtml);
		var paragraph = document.createElement('p');
		paragraph.style.textAlign = 'left';
		paragraph.style.marginLeft = '10px';
		paragraph.appendChild(el);
		// span.appendChild(paragraph)
		// span.appendChild(el);
		var el2 = document.createElement('br');
		var el3 = document.createElement('br');
		paragraph.appendChild(el2);
		// APPEND HTML
		newInnerHtml = 'tel: ';
		newResource = data[i].tel;
		newInnerHtml += newResource;
		el = document.createTextNode(newInnerHtml);
		// var paragraph2 = document.createElement('p');
		paragraph.appendChild(el);
		paragraph.appendChild(el3);
		newInnerHtml = 'email: ';
		newResource = data[i].email;
		newInnerHtml += newResource;
		el = document.createTextNode(newInnerHtml);
		// var paragraph2 = document.createElement('p');
		paragraph.appendChild(el);
		span.appendChild(paragraph)
		anagrafica.appendChild(span);

	}
	// alert('brack set anagrafica end');

	if (nothingToDisplay) {
		var noresult = $('noresult');
		noresult.style.display = 'block';
	}
	// lista_risorse[0].setHTML('<div
	// class="search_container">'+lista_risorse[0].innerHTML);
	// lista_risorse[0].setHTML(lista_risorse[0].innerHTML+'</div>');
}

});

var anagraficaSyncronizer = new AnagraficaSyncronizer();
