var countryObj = {
	"italia":"IT",
	"svizzera":"CH",
	"united kingdom":"GB",
	"schweiz":"CH",
	"deutschland":"DE",
	"suisse":"CH",
	"france":"FR",
	"luxemburg":"LU",
	"belgien":"BE",
	"österreich":"AT",
	"belgique":"BE"
};

function buttonSearch(obj){
try {
	if (obj && obj.len) {
		var data = obj;
	}
	else {
		var form = egm.getParentForm(obj);
		if (form) {
			var data = egm.fetchFormData(form);
		}
	}
	if (data) {
		egm.subscriber.removeOverlays(true);
		egm.subscriber.reset(true);
		egm.linkRequest({
			url: egm.buildQueryString(egm.xmlpath, data),
			error: function(msg){
				if (data.name == "" && data.country != "" && (data.city != "" || data.pzc != "")) {
					egm.GeoCoder.geoCode({
						address: (data.country + " " + data.city + " " + data.pzc),
						callback: function(props){
							// Umkreissuche nur wenn Laender der Geocodierten Adresse uebereinstimmt.
							if (countryObj[data.country.toLowerCase()].toUpperCase() == props.countryCode.toUpperCase()) {
								egm.linkRequest({
									url: egm.buildQueryString(egm.xmlpath, data) + "&xco=" + props.xCoordinate + "&yco=" + props.yCoordinate,
									error: function(msg){
										egm.handleError(msg);
									}
								});
							} else {
								egm.handleError(msg);							
							}
						},
						error: function(){
							egm.handleError(msg);
						}
					});
				} else {
					egm.handleError(msg);
				}
			}
		});
	}
}catch(e){}
}
/*

var locData = null;

function submitBeraterSuche(str){
	var name = document.beratersuche.name.value;
	var country = document.beratersuche.country.value;
	if (!str) {
		var postcode = document.beratersuche.postcode.value;
		var cityname = document.beratersuche.cityname.value;
		var address = document.beratersuche.address.value;
		var str = address + " " + postcode + " " + cityname + " " + country;
	} else {
		var postcode = str.postcode;
		var cityname = str.cityname;
		var address = str.address;
		var str = address + " " + postcode + " " + cityname + " " + country;
	}
		
	egm.loadingLayer.show();
	
	if (str.replace(/^\s+|\s+$/g, "") != "" && str.replace(/^\s+|\s+$/g, "") != country.replace(/^\s+|\s+$/g, "")) {
		egm.subscriber.insertSubscriberArray({
			si4: 'si4_location',
			static: 1,
			iconnumeric: 0,
			icontype: 'place',
			icon_settings:new Array("place.png", "place_shadow.png", new Array(21, 28), new Array(21, 28), new Array(-14, 10), new Array(0, 0)),
			address: str,
			callback: function(subscr){
				egm.subscriber.removeOverlays();
				egm.linkRequest({
					url: egm.xmlpath + '?mode=0&xco=' + subscr.xco + '&yco=' + subscr.yco + '&name=' + name + '&postcode=' + postcode + '&cityname=' + cityname + '&address=' + address,
					error: function(msg){
						egm.handleError(msg);
					},
					callback:function(){
						if (locData != null) {
							egm.handleLocalities({
								req: locData,
								callback: function(uid){
									egm.subscriber.removeOverlays(true);
									egm.subscriber.reset(true);
									submitBeraterSuche({postcode:egm.localitieData[uid].postcode,cityname:egm.localitieData[uid].cityName,address:egm.localitieData[uid].streetName});
								},
								open:true
							});
						}
						locData = null;
					},
					history:false
				});
				egm.subscriber.addOverlays();
				egm.subscriber.center();
				egm.loadingLayer.hide();
			},
			geocallback: function(data){
				if (data.Placemark) {
					var le = new egm.localitieEntry(data.Placemark[0]);
					egm.searchtext = le.searchstring;
				}
				locData = data;
			},
			error: function(msg){
				egm.handleError(msg);
			}
		});
	} else {
		egm.linkRequest({
					url: egm.xmlpath + '?mode=0&name=' + name + '&postcode=' + postcode + '&cityname=' + cityname + '&address=' + address,
					error: function(msg){
						egm.handleError(msg);
					}
				});
	}
	
}


function submitBezirksbueroSuche(){
	var str = document.bezirksbuero.province[document.bezirksbuero.province.selectedIndex].value;
	egm.searchtext=str;
	egm.subscriber.removeOverlays(true);
	egm.subscriber.reset(true);
	egm.linkRequest({
					url:egm.xmlpath+'?mode=1&province='+egm.URLEncode(str),
					error:function(msg){
							egm.handleError(msg);
						}
					});
}

function submitZulassungenSuche(){
	var str = document.zulassungen.province[document.zulassungen.province.selectedIndex].value;
	egm.searchtext=str;
	egm.subscriber.removeOverlays(true);
	egm.subscriber.reset(true);
	egm.linkRequest({
					url:egm.xmlpath+'?mode=2&province='+egm.URLEncode(str),
					error:function(msg){
							egm.handleError(msg);
						}
					});
}
*/