	function showSlidedown() {
		var arrayPageSize = getPageSize();
		var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);  
		slidedownOffsetLeft = -(arrayPageSize[0] - $('site').getWidth()) / 2;
		slidedownHeight = arrayPageSize[1] + 20;
		if (isIE6 == true) {
			$('slidedown_demo').setStyle({ left: slidedownOffsetLeft + 'px', top: '-275px', width: arrayPageSize[0] + 'px', height: slidedownHeight + 'px' });
		} else {
			$('slidedown_demo').setStyle({ left: slidedownOffsetLeft + 'px', top: '-275px', width: arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });
		}
		$('slidedown_demo').setStyle({ zIndex: '10' });
		$('selCountry').disable();
		$('slidedown_demo').show();
	}

	function hideSlidedown() {
		$('slidedown_demo').setStyle({ zIndex: '0' });
		$('slidedown_demo').hide();
		$('selCountry').enable();
	}

	function inlineAlert(text) {
		$("indicator").hide();
		showSlidedown();
		$('error_location').show();
		$("error_location_text").insert(text);
	}

	function closeInlineAlert() {
		$('error_location').hide();
		hideSlidedown();
		while ($('error_location_text').hasChildNodes()) {
			$('error_location_text').removeChild($('error_location_text').firstChild);
		}
	}    

	function resGMap() {
		if (($('left-content').className=='')&&($('topcontent').className=='hidden')) {
// when dealer list display + enlarge map
			$('left-content').className='hidden';
			$('map_canvas').className='map_size_start';
			$('map-start').className='map-start_large';
			$('right-content').removeClassName('small');
			$('right-content').addClassName('large');
			map.checkResize();
			$('resMapBut').innerHTML=minimase_map_text;
			$('enlarge').className='en_long';
		} 
	                  else if (($('topcontent').className=='')&&($('dirTable').className=='')) {
// when dealer detail display + enlarge map
			$('driving_dir').className='hidden';
			$('dirTable').className='hidden';
			$('map_canvas').className='map_size_start';
			$('map-start').className='map-start_large';
			$('right-content').removeClassName('small');
			$('right-content').addClassName('large');
			map.checkResize();
			$('resMapBut').innerHTML=minimase_map_text;
			$('enlarge').className='en_long';
		}
	                  else if (($('topcontent').className=='')&&($('dirTable').className=='hidden')) {
//  from (enlarge sizes + minimase map + dealer detail) to (dealer detail + enlarge map) 
			$('driving_dir').className='';
	                                $('dirTable').className='';
			$('map_canvas').className='map_size_small';
			$('map-start').className='map-start_small';
			$('right-content').removeClassName('large');
			$('right-content').addClassName('small');
			map.checkResize();
			$('resMapBut').innerHTML=enlarge_map_text;
			$('enlarge').className='en_not_long';
		}
	                  else if (($('topcontent').className=='hidden')&&($('left-content').className=='hidden')) {
// from (enlarge sizes + minimase map) to (dealer list + enlarge map)
			$('left-content').className='';
			$('map_canvas').className='map_size_small';
			$('map-start').className='map-start_small';
			$('right-content').removeClassName('large');
			$('right-content').addClassName('small');
			map.checkResize();
			$('resMapBut').innerHTML=enlarge_map_text;
			$('enlarge').className='en_not_long';
		}
	}

	function nextPageClick() {
		curr_page_no += 1;
		printResPage(curr_page_no);
	}

	function prevPageClick() {
		curr_page_no -= 1;
		printResPage(curr_page_no);
	}

	function printResPage(num) {
		map.clearOverlays();
		redrawLocation();
		var over_check = 0;
		start_points_mark = 1;
		curr_page_no = num + 0;
		if (curr_page_no > res_count_pages) {
			over_check = 1;res_count_pages++;
		}
		while ($("selector_results_nav").hasChildNodes()) {
			$("selector_results_nav").removeChild($("selector_results_nav").firstChild);
		}
		var prev_el = document.createElement("a");
		prev_el.className='active';
		prev_el.id='prev_a_link';
		prev_el.innerHTML='';
		prev_el.href='#';
		$("selector_results_nav").appendChild(prev_el);

                                var points_el_beg = document.createElement("a");
		points_el_beg.className='active';
		points_el_beg.id='points_begin_not_link';
		points_el_beg.innerHTML='';
		points_el_beg.href='#';
		$("selector_results_nav").appendChild(points_el_beg);

		for (var i = 1; i <=  res_count_pages; i++ ) {
                                                if (( (curr_page_no - i < 3)&&(curr_page_no - i > (-3)) )
                                                 ||( (curr_page_no - i == 3)&&( (res_count_pages - curr_page_no == 1)||(res_count_pages - curr_page_no == 0) ) )
                                                 ||( (curr_page_no - i == 4)&&(res_count_pages - curr_page_no == 0) )
                                                 ||( (curr_page_no  == 1)&&( (i == 4)||(i == 5) ) )
                                                 ||( (curr_page_no  == 2)&&(i == 5) )) {
                                                       if (i == 1) {start_points_mark = 0;}
			       var temp_page_el = document.createElement("a");
			       temp_page_el.innerHTML=i;
			       temp_page_el.href='#';
			       if (i != curr_page_no) {
				temp_page_el.className='';
				temp_page_el.onclick = new Function("printResPage("+i+");");
			       } else {
				temp_page_el.className='active';
				temp_page_el.onclick = new Function("");
			       }
			       $("selector_results_nav").appendChild(temp_page_el);
                                                }
		}
		var points_el = document.createElement("a");
		points_el.className='active';
		points_el.id='points_not_link';
		points_el.innerHTML='';
		points_el.href='#';
		$("selector_results_nav").appendChild(points_el);
	
		var next_el = document.createElement("a");
		next_el.className='active';
		next_el.id='next_a_link';
		next_el.innerHTML='';
		next_el.href='#';
		$("selector_results_nav").appendChild(next_el);

	                if (first_relocate == 1) {first_relocate = 0; return;}
		if (over_check == 1) {so.getMoreDealers(); return;}

		while ($('dealerlist').hasChildNodes()) {
			$('dealerlist').removeChild($('dealerlist').firstChild);
		}
		var bounds = new GLatLngBounds();
		evenuneven=0;
		dealerletter='A';
		dealeriterat=0;

		if ((dealers.size() <= dealers_portion*res_count_pages)&&(curr_page_no == res_count_pages)) {
			$("next_a_link").innerHTML = "";
			$("next_a_link").className = "active";
			$("next_a_link").onclick = new Function("");
			$("points_not_link").innerHTML = "";
                                                pages_end_reach = 1;
                                                total_pages = res_count_pages;

			temp_page_count = dealers.size();
		} else {
			$("next_a_link").innerHTML = next_text + " >";
			$("next_a_link").className = "";
			$("next_a_link").onclick = new Function("nextPageClick();");
                                                if ((pages_end_reach == 1)&&(total_pages - curr_page_no < 3)) {
			            $("points_not_link").innerHTML = "";
                                                } else {
			            $("points_not_link").innerHTML = " ... ";
                                                }
			temp_page_count = curr_page_no * dealers_portion;
		}
		if (curr_page_no == 1) {
			$("prev_a_link").innerHTML = "";
			$("prev_a_link").className = "active";
			$("prev_a_link").onclick = new Function("");
		} else {
			$("prev_a_link").innerHTML = "&lt; " + prev_text;
			$("prev_a_link").className = "";
			$("prev_a_link").onclick = new Function("prevPageClick();");
                                                if (start_points_mark == 1) {$("points_begin_not_link").innerHTML = " ... ";}
		}
                                if ($("sort_by_name").className == "activeDistance") {sortingNDC("name", 0);}
                                if ($("sort_by_dist").className == "activeDistance") {sortingNDC("dist", 0);}
                                if ($("sort_by_city").className == "activeDistance") {sortingNDC("city", 0);}
		for (i = (curr_page_no - 1) * dealers_portion; i < temp_page_count ; i++ ) {
			dealeriterat++;
			so.dealerList.set(dealers[i].KUNNR,dealers[i]);
			so.createDealerEntry(dealers[i], bounds);
		}
		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); 
		return;
	}

	function redrawLocation() {
		var point = new GLatLng(dealer_loc_y,dealer_loc_x);
		var marker = new GMarker(point);
		map.addOverlay(marker);
	}

	function sortingNDC(type, goToFirstPage) {
		var i = 0;
		var j = 0;
		var tempObj = new Object();
		$("sort_by_name").className = "";
		$("sort_by_dist").className = "";
		$("sort_by_city").className = ""; 
		if (type == "dist") {
			$("sort_by_dist").className = "activeDistance";
			$("sorting_dist").className = "sorting_active";
			$("sorting_name").className = "sorting";
			$("sorting_city").className = "sorting";
			for (i = 0; i < dealers.size(); i++ ) {      
				dealers[i] = dealers_sort_dist[i];
			}                                               
		} else if (type == "name") {
			$("sort_by_name").className = "activeDistance";
			$("sorting_name").className = "sorting_active";
			$("sorting_dist").className = "sorting";
			$("sorting_city").className = "sorting";
			for (i = 0; i < dealers.size(); i++ ) {
				for (j = i+1; j < dealers.size(); j++ ) {
					if (dealers[i].NAME1 > dealers[j].NAME1) {
						tempObj = dealers[i];
						dealers[i] = dealers[j];
						dealers[j] = tempObj;
					}
				}
			}
                                } else if (type == "city") {
			$("sort_by_city").className = "activeDistance";
			$("sorting_city").className = "sorting_active";
			$("sorting_name").className = "sorting";
			$("sorting_dist").className = "sorting";
			for (i = 0; i < dealers.size(); i++ ) {
				for (j = i+1; j < dealers.size(); j++ ) {
					if (dealers[i].ORT01 > dealers[j].ORT01) {
						tempObj = dealers[i];
						dealers[i] = dealers[j];
						dealers[j] = tempObj;
					}
				}
			}
		}
		if (goToFirstPage == 1) {printResPage(1);}
		return;
	}
                
	function getChoiceOfLocation(i_nom) {
                                showSlidedown();
                                $('indicator').show(); 
		so.sourceLocation = locations[i_nom]; 
		dealer_loc_x = (locations[i_nom]).Point.coordinates[0]; 
		dealer_loc_y = (locations[i_nom]).Point.coordinates[1]; 
		$('multipleLocations').className = 'hidden';
		so.getDealers();
		return;
                }

	function getValueSelected(number) {
		numberOfDealers = number.selectedIndex;
		return;
	}	
		
	function DealerLocator() {
    		var translations 				= {start:start_message_text,backToList:back_text,error1:error_message_text};
		var url 					= url_string_text;
		var sourceString;				<!-- Search String user entered -->
		var sourceLocation;				<!-- Source Location resolved by webservice -->
		var sourceLocations;				<!-- Source Locations resolved by webservice in case mulitple matches for sourceString were found -->
		var flagChanged = 0;
		var dealers_portion = num_deal_comp_number; 	<!--max dealer on page -->
		
		if (typeof(_dealerLocator_prototype_called) == 'undefined') {
			_dealerlocator_prototype_called 			= true;
			DealerLocator.prototype.searchDealers		= searchDealers;
		   	DealerLocator.prototype.getLocation		= getLocation;
			DealerLocator.prototype.getDealers		= getDealers;
			DealerLocator.prototype.getMoreDealers		= getMoreDealers;
			DealerLocator.prototype.createDealerEntry 		= createDealerEntry;
			DealerLocator.prototype.setDirections	 	= setDirections;
			DealerLocator.prototype.createRouting	 	= createRouting;
			DealerLocator.prototype.backToList	 	= backToList;
			DealerLocator.prototype.showDetails	 	= showDetails;
			DealerLocator.prototype.filterSearchResult		= filterSearchResult;
			DealerLocator.prototype.multipleLocations 		= multipleLocations;
			DealerLocator.prototype.checkPG 	                = checkPG ;
			DealerLocator.prototype.dealerList 		= new Hash();
			DealerLocator.prototype.filterSearchResultSGR	= filterSearchResultSGR;
		}
		
		function checkPG(value) {
			for (var i = 0; i < availableProdutGroup.length; i++)
				if (availableProdutGroup[i] == value)
				return i;
				return -1;
		}

		function searchDealers(form) {
			var fromAddress =  $F('fromAddress');
			if (fromAddress == start_message_text) {
				inlineAlert(translations.start); 
			} else { 
		   		showSlidedown();
		   		$('indicator').show();
				dealers_portion = num_deal_comp_number;
				numberOfDealers = dealers_portion;
				temp_page_count = 0;
				curr_page_no = 1;
				res_count_pages = 1;
				pages_end_reach = 0;
				total_pages = 0;
				first_relocate = 1;
				if (check_searched == 0) {
					selectedProdutGroup = "008";
					selectedServiceGroup ="";
				}
				check_searched = 0;
				var keys = so.dealerList.keys();
				for (  i=0 ; i < keys.size() ; i++){
					var key = keys[i];
					so.dealerList.unset(keys[i]);
				}
				while ($('topcontent').hasChildNodes()) {
					$('topcontent').removeChild($('topcontent').firstChild);
				}

				window.setTimeout("so.getLocation()", 100);
				return;
			}
		}

		function getLocation() {
		var show_multiple_locations_popup = true;
			if ('enable_multiple_locations_popup' in window) {
         		if (enable_multiple_locations_popup == "No"){
		      		show_multiple_locations_popup = false;
            	}
        	}				
			geocoder.reset();
			var params = new Object();
			params.address = $F('fromAddress') + ", " + locate_text;		
			geocoder.getLocations(params.address , function(response) {
				if (response.Status.code == 620) {
					inlineAlert(geocoder_time_limit_text);
				}else if (!response || response.Status.code != 200) {
					inlineAlert($F('fromAddress') + " " + not_found_text);
				} else {
					map.clearOverlays();
					if (response.Placemark.size() == 1) {
						place = response.Placemark[0];
						dealer_loc_x = place.Point.coordinates[0];
						dealer_loc_y = place.Point.coordinates[1];
						dealer_loc_address = place.address;
						so.getDealers();
					} else if ((response.Placemark.size() > 1)&&(show_multiple_locations_popup)) {
						source_Locations = response.Placemark;
						so.multipleLocations();
					} else if ((response.Placemark.size() > 1)&&(!show_multiple_locations_popup)) {
						place = response.Placemark[0];
						dealer_loc_x = place.Point.coordinates[0];
						dealer_loc_y = place.Point.coordinates[1];
						dealer_loc_address = place.address;
						so.getDealers();
					}
				}
				return;
			});
		}
		
		function multipleLocations() {
			$('indicator').hide();
                                                locations = source_Locations;

			var divLocations = document.createElement("div");
			divLocations.className="multipleLocations_table";

			var div_close = document.createElement("div");
			div_close.className="error_location_close";
			div_close.appendChild(document.createTextNode(close_text));
			div_close.onclick = new Function("$('multipleLocations').hide(); hideSlidedown(); $('fromAddress').value='"+start_message_text+"';");
			divLocations.appendChild(div_close);

			var div_head = document.createElement("div");
			div_head.className = "multipleHits_header";
			div_head.appendChild(document.createTextNode(text_multiple_result_text));
			divLocations.appendChild(div_head);

			for (i = 0; i < locations.size(); i++) {
				var divHits = document.createElement("div");
				divHits.id = i;
				if (i % 2 == 0) {
					divHits.className = "multipleHits_even";
				} else { divHits.className = "multipleHits_odd"; }
				divHits.appendChild(document.createTextNode(locations[i].address));
				divHits.onclick = new Function("getChoiceOfLocation("+i+");");
				divLocations.appendChild(divHits);
			}
			$('multipleLocations').update(divLocations);
			$('multipleLocations').show();
		}

		function getMoreDealers() {
			showSlidedown();
		   	$("indicator").show();  
			numberOfDealers += dealers_portion;
			this.getDealers();
		}

                                function getDealers(){
			var i;
			var params = new Object();
			params.x = dealer_loc_x;
			params.y = dealer_loc_y;
			params.pgr = selectedProdutGroup;
			params.sgr = selectedServiceGroup;
			params.numberOfDealers =numberOfDealers+1;

			var D_point = new GLatLng(dealer_loc_y,dealer_loc_x);
			var D_marker = new GMarker(D_point);
			map.addOverlay(D_marker);

			new Ajax.Request(url+ "dealers.jsp",
			{
				method:'get',
				parameters:params,
				onSuccess: function(transport){
					dealers = eval( "(" + transport.responseText + ")" ).dealers;
					for (i = 0; i < dealers.size(); i++ ) {      
						dealers_sort_dist[i] = new Object();
						dealers_sort_dist[i] = dealers[i];
					}
					if (dealers.size()<1) {
						initNullLocations();
						inlineAlert(er_no_dealers_text);
						return;
					}
					while ($('dealerlist').hasChildNodes()) {
						$('dealerlist').removeChild($('dealerlist').firstChild);
					}
					if (first_relocate == 1) {printResPage(1);}

					var bounds = new GLatLngBounds();
					evenuneven=0;
					dealerletter='A';
					dealeriterat=0;

					if ((dealers.size() <= dealers_portion*res_count_pages)&&(curr_page_no == res_count_pages)) {
						$("next_a_link").innerHTML = "";
						$("next_a_link").className = "active";
						$("next_a_link").onclick = new Function("");
						$("points_not_link").innerHTML = "";
						pages_end_reach = 1;
						total_pages = res_count_pages;
						temp_page_count = dealers.size();
                                                      		} else {
						$("next_a_link").innerHTML = next_text + " >";
						$("next_a_link").className = "";
						$("next_a_link").onclick = new Function("nextPageClick();");
                                                                                                if ((pages_end_reach == 1)&&(total_pages - curr_page_no < 5)) {
							$("points_not_link").innerHTML = "";
						} else {
							$("points_not_link").innerHTML = " ... ";
						}
						temp_page_count = curr_page_no * dealers_portion;
                                                      		}
                                                      		if (curr_page_no == 1) {
						$("prev_a_link").innerHTML = "";
						$("prev_a_link").className = "active";
						$("prev_a_link").onclick = new Function("");
                                                      		} else {
						$("prev_a_link").innerHTML = "&lt; " + prev_text;
						$("prev_a_link").className = "";
						$("prev_a_link").onclick = new Function("prevPageClick();");
						if (start_points_mark == 1) {$("points_begin_not_link").innerHTML = " ... ";}
                                                      		}
                                                      		for (i = (curr_page_no - 1) * dealers_portion; i < temp_page_count ; i++ ) {
						dealeriterat++;
						so.dealerList.set(dealers[i].KUNNR,dealers[i]);
						so.createDealerEntry(dealers[i], bounds);
                                                      		}

                                                      		$('map-start').className='map-start_small';
					$('right-content').removeClassName('start');
                                                      		$('right-content').addClassName('small');
                                                      		$('dirTable').className='hidden';
                                                      		$('topcontent').className='hidden';
                                                      		$('left-content').className='';
                                                      		$('map_canvas').className='map_size_small';
//					$('dealers').className='';
                                                      		$('resMapBut').innerHTML=enlarge_map_text;
                                                      		$('enlarge').className='en_not_long';
                                                      		map.checkResize();

                                                      		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); 
                                                      		document.getElementsByTagName("body")[0].style.cursor = "";
                                                      		return;
				},
				onFailure: function(){ 
					inlineAlert(translations.error1);
				},
				onComplete: function(){
					hideSlidedown();
		   			$('indicator').hide(); 		
				}
			});
			return; 
		}
				
		function createDealerEntry(dealer, bounds) {
   			// MapEntry
			var point = new GLatLng(dealer.y,dealer.x);
			bounds.extend(point);

//InfoWindowTabs
			var divTab1 = document.createElement("div");
			divTab1.className='mapInfo';
			var name1 = document.createElement("div");
			name1.className='name';
			name1.appendChild(document.createTextNode(dealer.NAME1));
			divTab1.appendChild(name1);

			var divInf = document.createElement("div");
			divInf.className ='pr-groups';
			
			if (address_config.length !=6) {
				divInf.appendChild(document.createTextNode(dealer.STRAS +" " +dealer.HOUSE_NUM1));
				divInf.appendChild(document.createElement("br"));
				divInf.appendChild(document.createTextNode(dealer.LAND1+" "+ dealer.PSTLZ+" "+ dealer.ORT01+" "+ dealer.ORT02 ));
				divInf.appendChild(document.createElement("br"));
				divInf.appendChild(document.createTextNode(tel_text + ":" + dealer.TELF1 ));
				divInf.appendChild(document.createElement("br"));
				divInf.appendChild(document.createTextNode(fax_text + ":" + dealer.TELFX ));
				divInf.appendChild(document.createElement("br"));		
                var elink = document.createElement("a");
				elink.setAttribute("href","mailto:"+dealer.EMAIL);
				elink.appendChild(document.createTextNode("Email" ))
				divInf.appendChild(elink);
			} else {
				divInf.appendChild(document.createTextNode(eval(address_config[0]) +" " +eval(address_config[1])));
				divInf.appendChild(document.createElement("br"));
				divInf.appendChild(document.createTextNode(eval(address_config[2])+" "+ eval(address_config[3])+" "+ eval(address_config[4])+" "+ eval(address_config[5]) ));
				divInf.appendChild(document.createElement("br"));
				divInf.appendChild(document.createTextNode(tel_text + ":"+ eval(address_config[6]) ));
				divInf.appendChild(document.createElement("br"));
				divInf.appendChild(document.createTextNode(fax_text  + ":"+ eval(address_config[7]) ));
				divInf.appendChild(document.createElement("br"));		
                var elink = document.createElement("a");
				elink.setAttribute("href","mailto:"+dealer.EMAIL);
				elink.appendChild(document.createTextNode("Email"))
				divInf.appendChild(elink);
			}

			divTab1.appendChild(divInf);

			var show_routing = true;
			if ('enable_routing' in window) {
         		if (enable_routing != "Yes"){
		      		show_routing = false;
            	}
        	}				

			var divViewRoute = document.createElement("div");
			divViewRoute.className='ViewRoute-link';

			var aViewRoute = document.createElement("a");
			aViewRoute.href = '#';	
			aViewRoute.appendChild(document.createTextNode(view_route_text));
			aViewRoute.onclick=new Function('so.createRouting("'+dealer.KUNNR+'");');
			divViewRoute.appendChild(aViewRoute);
			if (show_routing){
				divTab1.appendChild(divViewRoute);
			}
			if (dealer.URL + "" != "") {
				var divRoute = document.createElement("div");
				divRoute.className='website-link';
				var aRoute = document.createElement("a");
				aRoute.href ="http://"+ dealer.URL;
				aRoute.target='_blank';	
				aRoute.appendChild(document.createTextNode(web_site_text));
				divRoute.appendChild(aRoute);
				divTab1.appendChild(divRoute);
			}

			var customIcon = new GIcon(G_DEFAULT_ICON);

		 	var marker = new GMarker(point,{ icon:customIcon});
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowTabs([new GInfoWindowTab('Info',divTab1)]);
			});
//Dealers list
			var tr = document.createElement("tr");
			var td = document.createElement("td");
			tr.appendChild(td);

                                                map.addOverlay(marker);
			var div = document.createElement("div");
			if ( document.addEventListener ) {
				div.addEventListener("click",function() {
                                                		marker.openInfoWindowTabs([new GInfoWindowTab('Info',divTab1)]);
				},false);
			} else if ( document.attachEvent ) {
				div.attachEvent("onclick",function() {
                                                		marker.openInfoWindowTabs([new GInfoWindowTab('Info',divTab1)]);
				 });
			}

			var divName = document.createElement("div");
			divName.className ='name';
			divName.appendChild(document.createTextNode(dealer.NAME1));
			div.appendChild(divName);

			var divAddress = document.createElement("div");
			divAddress.className ='address';
			if (address_config.length !=6) {
				divAddress.appendChild(document.createTextNode(dealer.STRAS + " " +dealer.HOUSE_NUM1));
				divAddress.appendChild(document.createElement("br"));
				divAddress.appendChild(document.createTextNode(dealer.LAND1 + " " + dealer.PSTLZ + " " + dealer.ORT01 + " " + dealer.ORT02));
				divAddress.appendChild(document.createElement("br"));
				divAddress.appendChild(document.createTextNode(tel_text + "." + dealer.TELF1 ));
				divAddress.appendChild(document.createElement("br"));
				divAddress.appendChild(document.createTextNode(fax_text + "." + dealer.TELFX ));
				divAddress.appendChild(document.createElement("br"));		
                var elink = document.createElement("a");
				elink.setAttribute("href","mailto:"+dealer.EMAIL);
				elink.appendChild(document.createTextNode("Email" ))
				divAddress.appendChild(elink);
			} else {
				divAddress.appendChild(document.createTextNode(eval(address_config[0]) + " " +eval(address_config[1])));
				divAddress.appendChild(document.createElement("br"));
				divAddress.appendChild(document.createTextNode(eval(address_config[2]) + " " + eval(address_config[3]) + " " + eval(address_config[4]) + " " + eval(address_config[5])));
				divAddress.appendChild(document.createElement("br"));
				divAddress.appendChild(document.createTextNode(tel_text + ":"+ eval(address_config[6]) ));
				divAddress.appendChild(document.createElement("br"));
				divAddress.appendChild(document.createTextNode(fax_text  + ":"+ eval(address_config[7]) ));
				divAddress.appendChild(document.createElement("br"));		
                var elink = document.createElement("a");
				elink.setAttribute("href","mailto:"+dealer.EMAIL);
				elink.appendChild(document.createTextNode("Email" ))
				divAddress.appendChild(elink);
			}
			div.appendChild(divAddress);

			td.appendChild(div);
			if (dealer.URL + "" != "") {
				var divLink = document.createElement("div");
				divLink.className ='website-link';

				var linkInfo = document.createElement("a");
				linkInfo.href ="http://"+ dealer.URL;
				linkInfo.target='_blank';
				linkInfo.appendChild(document.createTextNode(web_site_text));
				divLink.appendChild(linkInfo);

				td.appendChild(divLink);
			}

			tr.appendChild(td);
			   	  
			$("dealerlist").appendChild(tr);

			map.checkResize();
	   	    	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); 
			return;
   		}
		
		function showDetails(KUNNR){
			var dealer = window.so.dealerList.get(KUNNR);
			GEvent.trigger(dealer.marker, "click"); 
			map.setCenter(new GLatLng(window.so.dealerList.get(KUNNR).y,window.so.dealerList.get(KUNNR).x), 16);
		}
		
		function createRouting(KUNNR){
			$('right-content').setStyle({marginTop:'14px'});
			while ($('topcontent').hasChildNodes()) {
				$('topcontent').removeChild($('topcontent').firstChild);
			}
    			while ($('driving_dir').hasChildNodes()) {
				$('driving_dir').removeChild($('driving_dir').firstChild);
			}

   			var dealer = window.so.dealerList.get(KUNNR);
// Dealer info
			var divBtn = document.createElement("div");
			divBtn.className='overview-link';

			var btn = document.createElement("a");
			btn.href = '#';
			btn.appendChild(document.createTextNode(back_text));
			btn.onclick=new Function('so.backToList();');
			divBtn.appendChild(btn);

			var divDt = document.createElement("div");
			divDt.className='dealer-details';

			var divName = document.createElement("div");
			divName.className ='name';
			divName.appendChild(document.createTextNode(dealer.NAME1));
			divDt.appendChild(divName);

//			var divPhoto = document.createElement("div");
//			divPhoto.className ='dealer-photo';
//			var imgInfo = document.createElement("img");
//			imgInfo.src = '(dealer.IMAGE)';
//			divPhoto.appendChild(imgInfo);
//			divDt.appendChild(divPhoto);

			var divDt2 = document.createElement("div");
			divDt2.className ='dealer-details-2';
//			if (dealer.LAND1 == "GB") {
//				divDt2.appendChild(document.createTextNode(dealer.HOUSE_NUM1 + " " + dealer.STRAS));
//				divDt2.appendChild(document.createElement("br"));
//				divDt2.appendChild(document.createTextNode(dealer.ORT01 + " " + dealer.ORT02 + " " + dealer.PSTLZ + " " + dealer.LAND1));
//				divDt2.appendChild(document.createElement("br"));
//			} else {
			if (address_config.length !=6) {
				divDt2.appendChild(document.createTextNode(dealer.STRAS + " " +dealer.HOUSE_NUM1));
				divDt2.appendChild(document.createElement("br"));
				divDt2.appendChild(document.createTextNode(dealer.LAND1 + " " + dealer.PSTLZ + " " + dealer.ORT01 + " " + dealer.ORT02));
				divDt2.appendChild(document.createElement("br"));
				divDt2.appendChild(document.createTextNode(tel_text + ":" + dealer.TELF1 ));
				divDt2.appendChild(document.createElement("br"));
				divDt2.appendChild(document.createTextNode(fax_text + ":" + dealer.TELFX ));
				divDt2.appendChild(document.createElement("br"));		
                var elink = document.createElement("a");
				elink.setAttribute("href","mailto:"+dealer.EMAIL);
				elink.appendChild(document.createTextNode("Email"  ))
				divDt2.appendChild(elink);
				divDt2.appendChild(document.createElement("br"));
				
				
				
			} else {
				divDt2.appendChild(document.createTextNode(address_config[0] + " " +address_config[1]));
				divDt2.appendChild(document.createElement("br"));
				divDt2.appendChild(document.createTextNode(address_config[2] + " " + address_config[3] + " " + address_config[4] + " " + address_config[5]));
				divDt2.appendChild(document.createElement("br"));
				divDt2.appendChild(document.createTextNode(tel_text + ":"+ eval(address_config[6]) ));
				divDt2.appendChild(document.createElement("br"));
				divDt2.appendChild(document.createTextNode(fax_text  + ":"+ eval(address_config[7]) ));
				divDt2.appendChild(document.createElement("br"));		
                var elink = document.createElement("a");
				elink.setAttribute("href","mailto:"+dealer.EMAIL);
				elink.appendChild(document.createTextNode("Email"))
				divDt2.appendChild(elink);
			}
//			}

			if (dealer.TELF1 + "" != "") {
				var bTel = document.createElement("b");
				bTel.appendChild(document.createTextNode(tel_text + ":  "));
				divDt2.appendChild(bTel);
				divDt2.appendChild(document.createTextNode(dealer.TELF1));
				divDt2.appendChild(document.createElement("br"));
			}
			if (dealer.TELF1 + "" != "") {
				var bFax = document.createElement("b");
				bFax.appendChild(document.createTextNode(fax_text + ":  "));
				divDt2.appendChild(bFax);
				divDt2.appendChild(document.createTextNode(dealer.TELFX));
				divDt2.appendChild(document.createElement("br"));
			}
			divDt2.appendChild(document.createTextNode(dealer.EMAIL));
			divDt2.appendChild(document.createElement("br"));
			divDt2.appendChild(document.createTextNode(dealer.URL));
//			if ((dealer.HOURS1 + "" != "")&&(dealer.HOURS2 + "" != "")) {
//				divDt2.appendChild(document.createElement("br"));
//				divDt2.appendChild(document.createElement("br"));
//				var bHours = document.createElement("b");
//				bHours.appendChild(document.createTextNode(hours_text));
//				divDt2.appendChild(bHours);
//				divDt2.appendChild(document.createElement("br"));
//				divDt2.appendChild(document.createTextNode(dealer.HOURS1));
//				divDt2.appendChild(document.createElement("br"));
//				divDt2.appendChild(document.createTextNode(dealer.HOURS2));
//			}

			divDt.appendChild(divDt2);
// Print and Send button
			var divDl = document.createElement("div");
			divDl.className ='dr_section';

			var aPr = document.createElement("a");
			aPr.href = '#';
			aPr.className ='print';
			aPr.appendChild(document.createTextNode(print_link_text));
			var destAddress = escape(dealer.STRAS+" "+dealer.HOUSE_NUM1+" "+ dealer.ORT01+" "+dealer.ORT02+"@"+dealer.y+","+dealer.x);
			var fromAddress =  escape(dealer_loc_address+"@"+dealer_loc_y+","+dealer_loc_x);
			var fromAddressInput =  escape(dealer_loc_address);
			var toAddressInput =  escape(dealer.STRAS+" "+dealer.HOUSE_NUM1+" "+dealer.LAND1+" "+ dealer.ORT01+" "+dealer.ORT02);
			var name = escape(dealer.NAME1);
			var telf1 = escape(dealer.TELF1);
			aPr.onclick=new Function("window.open('print.jsp?fromAddress="+fromAddress+"&destAddress="+destAddress+"&fromAddressInput="+fromAddressInput+"&toAddressInput="+toAddressInput+"&name="+name+"&telf1="+telf1+"','_blank');");
			divDl.appendChild(aPr);
			divDl.appendChild(document.createElement("br"));

			var aSd = document.createElement("a");
			aSd.href = recom_page_text;
			aSd.target='_blank';
			aSd.className ='send';
			aSd.appendChild(document.createTextNode(send_text));
			divDl.appendChild(aSd);

			var divCl = document.createElement("div");
			divCl.style.clear = 'both'; 

		  	$('topcontent').insert(divBtn);
		  	$('topcontent').insert(divDt);
		  	$('topcontent').insert(divDl);
		  	$('topcontent').insert(divCl);

    			while ($('driving_dir').hasChildNodes()) {
				$('driving_dir').removeChild($('driving_dir').firstChild);
			}
    	 
		  	window.so.setDirections(dealer.NAME1+ "@"+dealer.y+","+dealer.x); 
	
			$('left-content').className='hidden';
			$('topcontent').className='';
			$('dirTable').className='';
			$('driving_dir').className='';
                                                $('map_canvas').className='map_size_small';
			$('map-start').className='map-start_small';
			$('right-content').removeClassName('large');
			$('right-content').addClassName('small');
			map.checkResize();
			$('resMapBut').innerHTML=enlarge_map_text;
			$('enlarge').className='en_not_long';
   		}

		function setDirections(toAddress) {
			if (typeof gdir=='undefined'){
				gdir = new GDirections(map, document.getElementById("directions"));
			} else {
				gdir.clear();
				gdir = null;
				gdir = new GDirections(map, document.getElementById("directions"));
			}
			GEvent.addListener(gdir, "load", function() { } );
			GEvent.addListener(gdir, "error",function() {
				if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
					inlineAlert(er_unknown_address_text + ": " + gdir.getStatus().code);
				else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
					inlineAlert(er_server_error_text + ": " + gdir.getStatus().code);
			   	else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
					inlineAlert(er_missing_query_text + ": " + gdir.getStatus().code);
				else if (gdir.getStatus().code == G_GEO_BAD_KEY)
					inlineAlert(er_bad_key_text + ": " + gdir.getStatus().code);
				else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
					inlineAlert(er_bad_request_text + ": " + gdir.getStatus().code);
				else inlineAlert(er_unknown_error_text);
	   		});
     			gdir.load("from: " + dealer_loc_address + "@" + dealer_loc_y + "," + dealer_loc_x + " to: " + toAddress ,{ "locale" : locale_text });
    		}

		function backToList(){
			$('dealer_section_content').className = 'dealerWrapper';
    			$('dealerlocator-bg').className = 'dealerlocator-bg';
			$('topcontent').className='hidden';
			$('left-content').className='';
			$('right-content').setStyle({marginTop:'37px'});
			$('enlarge').className='en_not_long';
                                                $('resMapBut').innerHTML=enlarge_map_text;
			$('dirTable').className='hidden';
			$('driving_dir').className='hidden';
                                                $('map_canvas').className='map_size_small';
			$('map-start').className='map-start_small';
			$('right-content').removeClassName('large');
			$('right-content').addClassName('small');
		                map.checkResize();
			gdir.clear();
    			while ($('topcontent').hasChildNodes()) {
				$('topcontent').removeChild($('topcontent').firstChild);
			}
    			while ($('driving_dir').hasChildNodes()) {
				$('driving_dir').removeChild($('driving_dir').firstChild);
			}
			printResPage(curr_page_no);
		}


		function filterSearchResult(filter){
			var fromAddress =  $F('fromAddress');
			if (fromAddress == start_message_text) {
		  		inlineAlert(location_error_message_text);
			} else { 
				showSlidedown();
		   		$("indicator").show();
				var keys = so.dealerList.keys();
				for (  i=0 ; i < keys.size() ; i++){
					var key = keys[i];
					so.dealerList.unset(keys[i]);
				}
				selectedProdutGroup = filter;
				while ($('dealerlist').hasChildNodes()) {
					$('dealerlist').removeChild($('dealerlist').firstChild);
				}
				map.clearOverlays();
	    			while ($('topcontent').hasChildNodes()) {
					$('topcontent').removeChild($('topcontent').firstChild);
				}
                                                                check_searched = 1;
		  	  	selectedServiceGroup = "";
				window.so.searchDealers($("searchform_id_for_pg"));
			}
		}

		function filterSearchResultSGR(filter){
			var fromAddress =  $F('fromAddress');
			if (fromAddress == start_message_text) {
		  		inlineAlert(location_error_message_text);
			} else { 
				showSlidedown();
		   		$("indicator").show();
				var keys = so.dealerList.keys();
				for (  i=0 ; i < keys.size() ; i++){
					var key = keys[i];
					so.dealerList.unset(keys[i]);
				}
				selectedServiceGroup = filter;
				while ($('dealerlist').hasChildNodes()) {
					$('dealerlist').removeChild($('dealerlist').firstChild);
				}
				map.clearOverlays();
	    			while ($('topcontent').hasChildNodes()) {
					$('topcontent').removeChild($('topcontent').firstChild);
				}
				check_searched = 1;
		  	  	selectedProdutGroup = "";
				window.so.searchDealers($("searchform_id_for_pg"));
			}
		}
	}
	

	function mapClick(marker, point) {
		if (!marker) {
			oLat = document.getElementById("lat");
			oLat.value = point.y;
			oLon = document.getElementById("lon");
			oLon.value = point.x;
			oDesc = document.getElementById("desc");
			oDesc.value = 'New point';
		}
	}

	function createMarker(point, formatString, formatString2) {
		var customIcon = new GIcon(G_DEFAULT_ICON);
	 	var marker = new GMarker(point,{ icon:customIcon});
		customIcon.image ="http://maps.google.com/intl/ru_ALL/mapfiles/marker.png";
	 	customIcon.shadow ="http://maps.google.com/intl/ru_ALL/mapfiles/marker.png";
	 	customIcon.iconSize = new GSize(icon_map_width_number,icon_map_height_text);
	 	customIcon.shadowSize = new GSize(icon_map_width_number,icon_map_height_text);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowTabs([new GInfoWindowTab('Infos',formatString)]);
			});
	
		return marker;
	}

	function checkSafariVersion() {
		var ua = navigator.userAgent.toLowerCase();
		var isSafari = (ua.indexOf('safari') != - 1);
		var versionMinor;
		if (isSafari) {
			versionMinor = parseFloat( ua.substring( ua.lastIndexOf('safari/') + 7 ) );
	 		versionMajor = parseInt(versionMinor);
		 	if (versionMajor<400){
				$("alertBox").show();		 
	 		}
 		}
 	}

                function leftMenuCreatePGDS() {
<!-- START: ProdutGroup section  -->
		for (i=0; i < availableProdutGroup.length; i++) {
			var ul1 = document.createElement("ul");
			ul1.className = "selector_selection";
			var li1 = document.createElement("li");	
//			li1.onclick = new Function("so.filterSearchResult('"+availableProdutGroup[i] +"');");
			li1.onmousedown  =  new Function("toggleBox(this);");
			var p1 = document.createElement("p");
			p1.className = "cube";
			li1.appendChild(p1); 
			var a1 = document.createElement("a");
			a1.href = "#";
			a1.appendChild(document.createTextNode(namesOfAvailableProdutGroup[i]));
			li1.appendChild(a1); 
			ul1.appendChild(li1); 
			if (null != $("selecter_options")){
				$("selecter_options").appendChild(ul1);
			}
		}
<!-- END: ProdutGroup section  -->

<!-- START: Run on flat section  	-->
		for (i=0; i < availableServiceGroup.length; i++) {
			var ul2 = document.createElement("ul");
			ul1.className = "selector_selection";
			var li2 = document.createElement("li");	
//			li2.onclick = new Function("so.filterSearchResultSGR('"+availableServiceGroup[i] +"');");
			li2.onmousedown  =  new Function("toggleBox(this);");
			var p2 = document.createElement("p");
			p2.className = "cube";
			li2.appendChild(p2); 
			var a2 = document.createElement("a");
			a2.href = "#";
			a2.appendChild(document.createTextNode(namesOfAvailableServiceGroup[i]));
			li2.appendChild(a2); 
			ul2.appendChild(li2); 
			if (null != $("selecter_optionsTwo")){
				$("selecter_optionsTwo").appendChild(ul2);
			}
		}
<!-- END: Run on flat  section   -->

	}