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);
						}
					});
}

function submitSearch(element, countryName, mode, language){
	var str = element[element.selectedIndex].value;
	egm.searchtext = str;
	egm.subscriber.removeOverlays(true);
	egm.subscriber.reset(true);
	egm.linkRequest({
					url:egm.xmlpath + '?mode=' + mode + '&province=' + egm.URLEncode(str) + '&country=' + egm.URLEncode(countryName) + '&lng=' + language,
					error:function(msg){
							egm.handleError(msg);
						}
					});
}
