﻿// JScript File

//<![CDATA[
//function Map () {
	




function initialize() {
	
	
    //if (GBrowserIsCompatible()) {
		
		var myLatlng = new google.maps.LatLng(65, 25);
		  var myOptions = {
			zoom: 5,
			center: myLatlng,
			navigationControl: true,
			navigationControlOptions: {
			  style: google.maps.NavigationControlStyle.DEFAULT
			},
			mapTypeControlOptions: {
			  style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
			},

			scaleControl: false,
			
			mapTypeId: google.maps.MapTypeId.ROADMAP
		  }

      map = new google.maps.Map(document.getElementById("map_g"), myOptions);
	  
      var gmarkers = [];
      var htmls = [];
      i = 0;
      j = 0;

      
      places=[];
      //var bounds = new GLatLngBounds();
      distance=[];
	  points=[];
	  markersArray=[];
	  infowindowsArray=[];
      //var marker=[];
		
		
		downloadUrl("xml/center_corp.xml", function(doc) {
        var xmlDoc = xmlParse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          //var html = markers[i].getAttribute("html");
		  
		  var html = "<div class='gm_info_window'"
            html += "onmouseover=this.style.cursor='pointer';  "
            html += ">"

            html += "<b>" + markers[i].getAttribute("name") + "</b>";
			if (markers[i].getAttribute("address") != "") {
                html += "<br/>" + markers[i].getAttribute("address");
            }
			if (markers[i].getAttribute("pob") != "") {
                html += "<br/>" + markers[i].getAttribute("pob");
            }
			if (markers[i].getAttribute("postnumber") != "") {
                html += "<br/>" + markers[i].getAttribute("postnumber") + " ";
            }
			if (markers[i].getAttribute("city") != "") {
				if (markers[i].getAttribute("postnumber") == "") {
                	html += "<br/>";
            	}
                html += markers[i].getAttribute("city");
            }
			
            if (markers[i].getAttribute("phone") != "") {
                html += "<br/>" + markers[i].getAttribute("phone");
            }
            //if (markers[i].getAttribute("cellphone") != "") {
//                html += "<br/>" + markers[i].getAttribute("cellphone");
//            } 
            if (markers[i].getAttribute("email") != "") {
                html += "<br/>" + markers[i].getAttribute("email");
            } 
            if (markers[i].getAttribute("www") != "") {
                html += "<br/><a target='_blank' href='http://" + markers[i].getAttribute("www") + "'>" + markers[i].getAttribute("www") + "</a>";
            } 
            html += "</div>";
            html = html.replace(/\[br]/ig, "<br />");
			html = html.replace(/!/g, "&")
		  
          var service = markers[i].getAttribute("service");
			var parts = markers[i].getAttribute("parts");
			var tractors = markers[i].getAttribute("tractors");
			var id  = markers[i].getAttribute("id");
			var center = markers[i].getAttribute("center");
			var corp = markers[i].getAttribute("corp");
//            var town = markers[i].getAttribute("city");
            
            var icon;
			var image;
			var shadow;
			
			if (markers[i].getAttribute("tractors") == 'True' && markers[i].getAttribute("parts") == 'True' && markers[i].getAttribute("service") == 'False') {
					image = new google.maps.MarkerImage('pics/sales&parts.png',
					  new google.maps.Size(25, 25),
					  new google.maps.Point(0, 0),
					  new google.maps.Point(12, 12));
					
				  	
					
			} else if (markers[i].getAttribute("tractors") == 'True' && markers[i].getAttribute("parts") == 'False' && markers[i].getAttribute("service") == 'False') {
					image = new google.maps.MarkerImage('pics/sales.png',
					  new google.maps.Size(25, 25),
					  new google.maps.Point(0, 0),
					  new google.maps.Point(12, 12));
					
				  	
					
			} else if (markers[i].getAttribute("service") == 'True' && markers[i].getAttribute("tractors") == 'False' && markers[i].getAttribute("parts") == 'False') {
					image = new google.maps.MarkerImage('pics/service.png',
					  new google.maps.Size(25, 25),
					  new google.maps.Point(0, 0),
					  new google.maps.Point(12, 12));
					
				  	
					
			} else if (markers[i].getAttribute("parts") == 'True' && markers[i].getAttribute("service") == 'False' && markers[i].getAttribute("tractors") == 'False') {
					image = new google.maps.MarkerImage('pics/parts.png',
					  new google.maps.Size(25, 25),
					  new google.maps.Point(0, 0),
					  new google.maps.Point(12, 12));
					
				  	
					
			} else if (markers[i].getAttribute("tractors") == 'True' && markers[i].getAttribute("parts") == 'True' && markers[i].getAttribute("service") == 'True') {
					image = new google.maps.MarkerImage('pics/service&parts&sales.png',
					  new google.maps.Size(66, 30),
					  new google.maps.Point(0, 0),
					  new google.maps.Point(33, 15));
					
				  	

			} else if (markers[i].getAttribute("tractors") == 'True' && markers[i].getAttribute("parts") == 'False' && markers[i].getAttribute("service") == 'True') {
					image = new google.maps.MarkerImage('pics/service&sales.png',
					  new google.maps.Size(60, 30),
					  new google.maps.Point(0, 0),
					  new google.maps.Point(30, 15));
					
				  	

			} else if (markers[i].getAttribute("tractors") == 'False' && markers[i].getAttribute("parts") == 'True' && markers[i].getAttribute("service") == 'True') {
					image = new google.maps.MarkerImage('pics/service&parts.png',
					  new google.maps.Size(60, 30),
					  new google.maps.Point(0, 0),
					  new google.maps.Point(30, 15));
					
				  	
					
			}
            
			
			var tr;
			var pa;
			var se;
			var addr;

            
            places.push({point:point,html:html,image:image,id:id,corp:corp,parts:parts,service:service,tractors:tractors});
          
        }
        
		if (google.loader.ClientLocation) {
            latlng = new google.maps.LatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude);
			tr = '3';
			pa = '3';
			se = '3';
			addr = '';
            searchNear(latlng,tr,pa,se,addr);
          } else {
            latlng = new google.maps.LatLng(62.54420, 25.90153);
			tr = '2';
			pa = '2';
			se = '2';
			addr = '';
            searchNear(latlng,tr,pa,se,addr);
          }
		
      });

  }  

  function addClick(marker,n,address,tr,pa,se,sid) {
	  
	  			var infowindow;
				
				if (sid != '') {
						infowindow = new google.maps.InfoWindow({
							content: places[n].html2
						});
				} else {
						infowindow = new google.maps.InfoWindow({
							content: places[n].html
						});
				}

	  			google.maps.event.addListener(marker, 'click', function() {
																		
					closeInfowindows();
					infowindow.open(map,marker);
					infowindowsArray.push(infowindow);
					viewPersons(places[n].id,places[n].corp,address,tr,pa,se,sid);
				  });


  }
  
  function distanceFrom(from,to) {
			  //var R = 6371; // km (change this constant to get miles)
			  var R = 6371000; // meters
			  var lat1 = from.lat();
			  var lon1 = from.lng();
			  var lat2 = to.lat();
			  var lon2 = to.lng();
			  var dLat = (lat2-lat1) * Math.PI / 180;
			  var dLon = (lon2-lon1) * Math.PI / 180;
			  var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
				Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 )
			*
				Math.sin(dLon/2) * Math.sin(dLon/2);
			  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
			  var d = R * c;
			  return d;
			}
			
	// Deletes all markers in the array by removing references to them
	function deleteOverlays() {
	  if (markersArray) {
		for (i in markersArray) {
		  markersArray[i].setMap(null);
		}
		markersArray.length = 0;
	  }
	}
	
	function closeInfowindows() {
	  if (infowindowsArray) {
		for (i in infowindowsArray) {
		  infowindowsArray[i].close();
		}
		infowindowsArray.length = 0;
	  }
	}
  
  function searchNear(point,tr,pa,se,address) {
	  
	  		deleteOverlays();
            
			var dist;
            //document.getElementById("gm_info").innerHTML = "";
			if (tr=='2' && pa=='2' && se=='2' || tr=='4' && pa=='4' && se=='4' || tr=='5' && pa=='5' && se=='5') {
				map.setCenter(point);
				map.setZoom(5);
				dist = 1000000;
			} else {
            	map.setCenter(point);
				map.setZoom(7);
				dist = 100000;
			}
			
			if (tr == '1' && address == 'VALTIMO') {
				map.setCenter(point);
				map.setZoom(7);
				dist = 80000;
			}
			
			points.length=0;
			
			var sid = '';
			var chkFound;
			chkFound = 0;
			var chkPaTr;
			chkPaTr = 0;
			var tronly;
			tronly = 0;
			var testStr = '';
			
			var shadow = '';
			//document.getElementById('addr').value = address;
			 
            //alert(point.distanceFrom(places[8].point));
            for(i=0;i<places.length;i++) {
            
                distance[i] = distanceFrom(point,places[i].point);//point.distanceFrom(places[i].point);
                
                if (distance[i] < dist) {
					
					//alert(document.getElementById('sid').value);
					if (tr == '1' && pa == '0' && se == '1') {
						
						if (places[i].tractors == 'True' || places[i].service == 'True') {
							sid = '';
							for (var g=0;g<points.length;g++) {
								//alert(points[g].point + '  ' + places[i].point);
								if (points[g].point + '' == places[i].point + '') {
									
									image = new google.maps.MarkerImage('pics/service&sales.png',
									  new google.maps.Size(60, 30),
									  new google.maps.Point(0, 0),
									  new google.maps.Point(30, 15));
									
									
									
									places[i].image = image;
									places[i].shadow = shadow;
									
									places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
									sid = places[points[g].f].id;
									
									chkKommun(places[i].id,places[i].point,places[i].icon,places[i].image,places[i].shadow,i,address,tr,pa,se,sid);
									chkFound = 1;
								}
							}
							if (places[i].tractors == 'True') {	 
								points.push({point:places[i].point,f:i});	 
								
								chkPaTr = 0;
								//chkKommun(places[i].id,places[i].point,places[i].icon,i,address,tr,pa,se);
								
							}
						}
					} else if (tr == '1' && pa == '1' && se == '0') {
						
						if (places[i].tractors == 'True' && places[i].parts == 'True') {
							//alert('1');
							//points.push({point:places[i].point,f:i});
							
							chkPaTr = 1;
							chkFound = 1;
							chkKommun(places[i].id,places[i].point,places[i].icon,places[i].image,places[i].shadow,i,address,tr,pa,se,sid);
						} else if (places[i].tractors == 'True' || places[i].parts == 'True') {
							
							sid = '';
							for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
								if (points[g].point + '' == places[i].point + '') {
									
	
									if (places[points[g].f].tractors == 'True' && places[i].parts == 'True' || places[i].tractors == 'True' && places[points[g].f].parts == 'True') {

										image = new google.maps.MarkerImage('pics/sales&parts.png',
										  new google.maps.Size(25, 25),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(12, 12));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
									}
									
									
									places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
									places[i].sid = places[points[g].f].id;
									sid = places[points[g].f].id;
										 
									tronly = 0;
									chkPaTr = 1;
									var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
									markersArray.push(marker);

									addClick(marker,i,address,tr,pa,se,sid);
									chkFound = 1;
								}
							
							}

						 // if tr pa se end
						}
						points.push({point:places[i].point,f:i});
					} else if (tr == '0' && pa == '1' && se == '1') {
						
						if (places[i].service == 'True' && places[i].parts == 'True') {
							//alert('1');
							//points.push({point:places[i].point,f:i});
							
							chkPaTr = 1;
							chkFound = 1;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);

							addClick(marker,i,address,tr,pa,se,sid);
						} else if (places[i].service == 'True' || places[i].parts == 'True') {
							
							sid = '';
							for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
								if (points[g].point + '' == places[i].point + '') {
									
	
									if (places[points[g].f].service == 'True' && places[i].parts == 'True' || places[i].service == 'True' && places[points[g].f].parts == 'True') {
										
										image = new google.maps.MarkerImage('pics/service&parts.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
									}
									
									
									places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
									places[i].sid = places[points[g].f].id;
									sid = places[points[g].f].id;
										 
									tronly = 0;
									chkPaTr = 1;
									
									var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
									markersArray.push(marker);

									addClick(marker,i,address,tr,pa,se,sid);
									chkFound = 1;
								}
							
							}

						 // if tr pa se end
						}
						points.push({point:places[i].point,f:i});
					} else if (tr == '1' && places[i].tractors == 'True' && pa != '1' && se != '1') {
						sid = '';
						points.push({point:places[i].point,f:i});
						tronly = 1;
						chkPaTr = 0;
						chkFound = 1;
						
						chkKommun(places[i].id,places[i].point,places[i].icon,places[i].image,places[i].shadow,i,address,tr,pa,se,sid);

					} else if (pa == '1' && places[i].parts == 'True' && tr == '0' && se == '0') {
						sid = '';
						points.push({point:places[i].point,f:i});
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
					} else if (se == '1' && places[i].service == 'True' && tr == '0' && pa == '0') {
						sid = '';
						points.push({point:places[i].point,f:i});
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
						});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
					} else if (se == '0' && pa == '0' && tr == '0' || se == '3' && pa == '3' && tr == '3') {
						
						sid = '';
						for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
							if (points[g].point + '' == places[i].point + '') {
								
								if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'True' || places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[i].parts == 'True' || places[i].tractors == 'True' && places[points[g].f].service == 'True' && places[points[g].f].parts == 'True') {
									
									image = new google.maps.MarkerImage('pics/service&parts&sales.png',
										  new google.maps.Size(66, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(33, 15));
										
									
										
										places[i].image = image;
										places[i].shadow = shadow;
										
								} else if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'False') {
									
									var image = new google.maps.MarkerImage('pics/service&sales.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
									
										
										places[i].image = image;
										places[i].shadow = shadow;
									
								} else if (places[points[g].f].tractors == 'False' && places[i].service == 'True' && places[points[g].f].parts == 'True') {

									image = new google.maps.MarkerImage('pics/service&parts.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
								}
								
								
								places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
								places[i].sid = places[points[g].f].id;
								sid = places[points[g].f].id;
								
							}
						}
						
						
						points.push({point:places[i].point,f:i});	 
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
						 // if tr pa se end
					} else if (se == '2' && pa == '2' && tr == '2' && places[i].tractors == 'True') {
							
							chkPaTr = 0;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);
							addClick(marker,i,address,tr,pa,se,sid);
							chkFound = 1;
					} else if (se == '4' && pa == '4' && tr == '4' && places[i].parts == 'True') {
							
							chkPaTr = 0;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);
							addClick(marker,i,address,tr,pa,se,sid);
							chkFound = 1;
					} else if (se == '5' && pa == '5' && tr == '5' && places[i].service == 'True') {
							
							chkPaTr = 0;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);
							addClick(marker,i,address,tr,pa,se,sid);
							chkFound = 1;
					} else if (se == '1' && pa == '1' && tr == '1') {
						
						sid = '';
						for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
							if (points[g].point + '' == places[i].point + '') {
								
								if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'True' || places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[i].parts == 'True' || places[i].tractors == 'True' && places[points[g].f].service == 'True' && places[points[g].f].parts == 'True') {

									image = new google.maps.MarkerImage('pics/service&parts&sales.png',
										  new google.maps.Size(66, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(33, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
									
								} else if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'False') {
									
									image = new google.maps.MarkerImage('pics/service&sales.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
									
								} else if (places[points[g].f].tractors == 'False' && places[i].service == 'True' && places[points[g].f].parts == 'True') {
									
									image = new google.maps.MarkerImage('pics/service&parts.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
									
								}
								
								
								places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
								places[i].sid = places[points[g].f].id;
								sid = places[points[g].f].id;
								
							}
						}
						
						
						points.push({point:places[i].point,f:i});	 
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
						 // if tr pa se end
						
					}
                
                }
                
            } // for ends
			
			if (chkFound == 0) {
				map.setCenter(point);
				map.setZoom(4);
				
				for(i=0;i<places.length;i++) {
					distance[i] = distanceFrom(point,places[i].point);
					if (distance[i] < 400000) {
					
					
							if (tr == '1' && pa == '0' && se == '1') {
						
						if (places[i].tractors == 'True' || places[i].service == 'True') {
							sid = '';
							for (var g=0;g<points.length;g++) {
								//alert(points[g].point + '  ' + places[i].point);
								if (points[g].point + '' == places[i].point + '') {

									image = new google.maps.MarkerImage('pics/service&sales.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
									
									places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
									sid = places[points[g].f].id;
									
									chkKommun(places[i].id,places[i].point,places[i].icon,places[i].image,places[i].shadow,i,address,tr,pa,se,sid);
									chkFound = 1;
								}
							}
							if (places[i].tractors == 'True') {	 
								points.push({point:places[i].point,f:i});	 
								
								chkPaTr = 0;
								//chkKommun(places[i].id,places[i].point,places[i].icon,i,address,tr,pa,se);
								
							}
						}
					} else if (tr == '1' && pa == '1' && se == '0') {
						
						if (places[i].tractors == 'True' && places[i].parts == 'True') {
							//alert('1');
							//points.push({point:places[i].point,f:i});
							
							chkPaTr = 1;
							chkFound = 1;
							chkKommun(places[i].id,places[i].point,places[i].icon,places[i].image,places[i].shadow,i,address,tr,pa,se,sid);
						} else if (places[i].tractors == 'True' || places[i].parts == 'True') {
							
							sid = '';
							for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
								if (points[g].point + '' == places[i].point + '') {
									
	
									if (places[points[g].f].tractors == 'True' && places[i].parts == 'True' || places[i].tractors == 'True' && places[points[g].f].parts == 'True') {
										image = new google.maps.MarkerImage('pics/sales&parts.png',
										  new google.maps.Size(25, 25),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(12, 12));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
										
									}
									
									
									places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
									places[i].sid = places[points[g].f].id;
									sid = places[points[g].f].id;
										 
									tronly = 0;
									chkPaTr = 1;
									var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
									markersArray.push(marker);
									addClick(marker,i,address,tr,pa,se,sid);
									chkFound = 1;
								}
							
							}

						 // if tr pa se end
						}
						points.push({point:places[i].point,f:i});
					} else if (tr == '0' && pa == '1' && se == '1') {
						
						if (places[i].service == 'True' && places[i].parts == 'True') {
							//alert('1');
							//points.push({point:places[i].point,f:i});
							
							chkPaTr = 1;
							chkFound = 1;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);
							addClick(marker,i,address,tr,pa,se,sid);
						} else if (places[i].service == 'True' || places[i].parts == 'True') {
							
							sid = '';
							for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
								if (points[g].point + '' == places[i].point + '') {
									
	
									if (places[points[g].f].service == 'True' && places[i].parts == 'True' || places[i].service == 'True' && places[points[g].f].parts == 'True') {

										image = new google.maps.MarkerImage('pics/service&parts.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
									}
									
									
									places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
									places[i].sid = places[points[g].f].id;
									sid = places[points[g].f].id;
										 
									tronly = 0;
									chkPaTr = 1;
									var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
									markersArray.push(marker);
									addClick(marker,i,address,tr,pa,se,sid);
									chkFound = 1;
								}
							
							}

						 // if tr pa se end
						}
						points.push({point:places[i].point,f:i});
					} else if (tr == '1' && places[i].tractors == 'True' && pa != '1' && se != '1') {
						sid = '';
						points.push({point:places[i].point,f:i});
						tronly = 1;
						chkPaTr = 0;
						chkFound = 1;
						
						chkKommun(places[i].id,places[i].point,places[i].icon,places[i].image,places[i].shadow,i,address,tr,pa,se,sid);

					} else if (pa == '1' && places[i].parts == 'True' && tr == '0' && se == '0') {
						sid = '';
						points.push({point:places[i].point,f:i});
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
					} else if (se == '1' && places[i].service == 'True' && tr == '0' && pa == '0') {
						sid = '';
						points.push({point:places[i].point,f:i});
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
					} else if (se == '0' && pa == '0' && tr == '0' || se == '3' && pa == '3' && tr == '3') {
						
						sid = '';
						for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
							if (points[g].point + '' == places[i].point + '') {
								
								if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'True' || places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[i].parts == 'True' || places[i].tractors == 'True' && places[points[g].f].service == 'True' && places[points[g].f].parts == 'True') {
								
									image = new google.maps.MarkerImage('pics/service&parts&sales.png',
										  new google.maps.Size(66, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(33, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
										
								} else if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'False') {
									image = new google.maps.MarkerImage('pics/service&sales.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
										
								} else if (places[points[g].f].tractors == 'False' && places[i].service == 'True' && places[points[g].f].parts == 'True') {
									
									image = new google.maps.MarkerImage('pics/service&parts.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
										
								}
								
								
								places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
								places[i].sid = places[points[g].f].id;
								sid = places[points[g].f].id;
								
							}
						}
						
						
						points.push({point:places[i].point,f:i});	 
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
						 // if tr pa se end
					} else if (se == '2' && pa == '2' && tr == '2' && places[i].tractors == 'True') {
							
							chkPaTr = 0;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);
							addClick(marker,i,address,tr,pa,se,sid);
							chkFound = 1;
					} else if (se == '4' && pa == '4' && tr == '4' && places[i].parts == 'True') {
							
							chkPaTr = 0;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);
							addClick(marker,i,address,tr,pa,se,sid);
							chkFound = 1;
					} else if (se == '5' && pa == '5' && tr == '5' && places[i].service == 'True') {
							
							chkPaTr = 0;
							var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
							markersArray.push(marker);
							addClick(marker,i,address,tr,pa,se,sid);
							chkFound = 1;
					} else if (se == '1' && pa == '1' && tr == '1') {
						
						sid = '';
						for (var g=0;g<points.length;g++) {
							//alert(points[g].point + '  ' + places[i].point);
							if (points[g].point + '' == places[i].point + '') {
								
								if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'True' || places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[i].parts == 'True' || places[i].tractors == 'True' && places[points[g].f].service == 'True' && places[points[g].f].parts == 'True') {
									
									image = new google.maps.MarkerImage('pics/service&parts&sales.png',
										  new google.maps.Size(66, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(33, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
										
								} else if (places[points[g].f].tractors == 'True' && places[i].service == 'True' && places[points[g].f].parts == 'False') {
									image = new google.maps.MarkerImage('pics/service&sales.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
										
								} else if (places[points[g].f].tractors == 'False' && places[i].service == 'True' && places[points[g].f].parts == 'True') {
									
									image = new google.maps.MarkerImage('pics/service&parts.png',
										  new google.maps.Size(60, 30),
										  new google.maps.Point(0, 0),
										  new google.maps.Point(30, 15));
										
										
										
										places[i].image = image;
										places[i].shadow = shadow;
										
								}

								places[i].html2 = places[points[g].f].html + '<br/>' + places[i].html;
								places[i].sid = places[points[g].f].id;
								sid = places[points[g].f].id;
								
							}
						}
						
						
						points.push({point:places[i].point,f:i});	 
						tronly = 0;
						chkPaTr = 0;
						var marker = new google.maps.Marker({
										position: places[i].point,
										map: map,
										
										icon: places[i].image
										
									});
						markersArray.push(marker);
						addClick(marker,i,address,tr,pa,se,sid);
						chkFound = 1;
						 // if tr pa se end
						
					}
					}
	
					}
			}
              
              
  }
  
  function addMarker(point,icon,image,shadow,i,address,tr,pa,se,sid) {

		var marker = new google.maps.Marker({
										position: point,
										map: map,
										
										icon: places[i].image
										
									});
		markersArray.push(marker);
		addClick(marker,i,address,tr,pa,se,sid);
  }
  
  //listauksen funktiot
//  function go(num){
//    map.setZoom(7);
//    GEvent.trigger(marker[num],"click");
//    }

    var attract;

    function heat(num){
    attract = new GMarker(places[num].point);
    map.addOverlay(attract);
    //map.closeInfoWindow();
    }

    function cool(num){
    map.removeOverlay(attract);
    }

  
  
  //function to show the location of the searched address
    function showAddress(address,tr,pa,se) {
		geocoder = new google.maps.Geocoder();

		geocoder.geocode( { 'address': address + ',finland'}, function(results, status) {
		  if (status == google.maps.GeocoderStatus.OK) {
			personsByKommun(address,tr,pa,se);
            searchNear(results[0].geometry.location,tr,pa,se,address);
				
			
		  } else {
			alert("Geocode was not successful for the following reason: " + status);
		  }
		});
    }
	
	
	
	 // Etsitään kaikki henkilöt joille määritetty haettu kunta
function personsByKommun(address,tr,pa,se) {
 //alert('fgdafgda');
 url = "xml/servicepersons.xml";
 
 
 // AJAX code for Mozilla, Safari, Opera etc.
 if (window.XMLHttpRequest) {
  //alert("2");
  //alert(intId);
  
  xmlhttp3 = new XMLHttpRequest();
  xmlhttp3.async = false;
  //alert(intId);
  if(xmlhttp3.overrideMimeType) {
  
     xmlhttp3.overrideMimeType('text/xml');
  
    }
  
  xmlhttp3.open("GET", url, false);
  xmlhttp3.send(null);
  chkPK(address,tr,pa,se);
 }
 // AJAX code for IE
 else if (window.ActiveXObject) {
  //alert("vanha ie");
  xmlhttp3=new ActiveXObject("Microsoft.XMLHTTP");
  //xmlhttp3.async = false;
 if (xmlhttp3)
 {
  //alert("vanha ie");
 
  xmlhttp3.open("GET", url, false);
  xmlhttp3.send(null);
  chkPK(address,tr,pa,se);
 }
 }
 
}
 
function chkPK(address,tr,pa,se) {
   
   var xmlDoc3 = xmlhttp3.responseXML
   var persons = xmlDoc3.documentElement.getElementsByTagName('person');
   var addr2 = address;
   
   var fname = '';
   var lname = '';
   var html = '';
   var kommun = '';
   
   TrArr = [];
   PaArr = [];
   SeArr = [];
   
   //addr2 = document.getElementById('addr').value;
   addr2 = addr2.toString();
   var kommun2 = '';
   
   for (var i = 0;i<persons.length;i++) {
    kommun2 = persons[i].getAttribute('kommun');
 
      if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
       
       html = makeHtml(persons[i],kommun);
       fname = persons[i].getAttribute('fname');
       lname = persons[i].getAttribute('lname');
       
    if (persons[i].getAttribute('parts') == '1' && persons[i].getAttribute('service') == '1') {
     PaArr.push({lname:lname,fname:fname,html:html});
     SeArr.push({lname:lname,fname:fname,html:html});
    } else if (persons[i].getAttribute('tractor') == '1') {
        TrArr.push({lname:lname,fname:fname,html:html}); 
       } else if (persons[i].getAttribute('parts') == '1') {
        PaArr.push({lname:lname,fname:fname,html:html});
       } else if (persons[i].getAttribute('service') == '1') {
        SeArr.push({lname:lname,fname:fname,html:html});
       }
 
      } // if kommun  
    if(i==persons.length-1) {
      sortPersons(TrArr,PaArr,SeArr,tr,pa,se);
    }
    
   } // for end
 
} // funtion end
 
 
 
 
// Tarkastetaan onko traktorinmyyntipisteen palveluhenkilölle määritetty haettu kunta !!!!!!!!!!!!!!!!! 
function chkKommun(id,point,icon,image,shadow,i,address,tr,pa,se,sid) {
    url = "xml/servicepersons.xml";
    
    var intId = 0;
    if (id != '') {
        intId = id;    
    }
    
    // AJAX code for Mozilla, Safari, Opera etc.
    if (window.XMLHttpRequest) {
        //alert("2");
        //alert(intId);
        
        xmlhttp3 = new XMLHttpRequest();
        xmlhttp3.async = false;
        //alert(intId);
        if(xmlhttp3.overrideMimeType) {
        
           xmlhttp3.overrideMimeType('text/xml');
        
          }
        
        xmlhttp3.open("GET", url, false);
        xmlhttp3.send(null);
        xmlhttpChange3(intId,point,icon,image,shadow,i,address,tr,pa,se,sid);
    }
    // AJAX code for IE
    else if (window.ActiveXObject) {
        //alert("vanha ie");
        xmlhttp3=new ActiveXObject("Microsoft.XMLHTTP");
        //xmlhttp3.async = false;
    if (xmlhttp3)
    {
        //alert("vanha ie");
        xmlhttp3.open("GET", url, false);
        xmlhttp3.send(null);
        xmlhttpChange3(intId,point,icon,image,shadow,i,address,tr,pa,se,sid);
    }
    }
    
}
function xmlhttpChange3(id,point,icon,image,shadow,n,address,tr,pa,se,sid) {
            
            var xmlDoc3 = xmlhttp3.responseXML
            var persons = xmlDoc3.documentElement.getElementsByTagName('person');
            var addr2 = address;
            
            //addr2 = document.getElementById('addr').value;
            addr2 = addr2.toString();
            var kommun2 = '';
            
            for (var i = 0;i<persons.length;i++) {
                kommun2 = persons[i].getAttribute('kommun');
                if (persons[i].getAttribute('tractor') == '1') {
                    if (persons[i].getAttribute('center_id') == id || sid != '' && persons[i].getAttribute('center_id') == sid) {
                        //alert(id + ' / ' + kommun2 + ' , ' + addr2.toUpperCase());
                        if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
                            //alert('found');
                            //alert('found');
                            
                            addMarker(point,icon,image,shadow,n,address,tr,pa,se,sid);
                            return;
    
                        } // if kommun        
                    } // if center_id
                } // if tractor
                
            } // for end
} // funtion end
// Pisteiden palveluhenkilöiden tietojen tulostus !!!!!!!!!!!!!!!!! 
function viewPersons(id,corp,address,tr,pa,se,sid) {
    url = "xml/servicepersons.xml";
    
    // AJAX code for Mozilla, Safari, Opera etc.
    if (window.XMLHttpRequest) {
        //alert("2");
        xmlhttp = new XMLHttpRequest();
        
        if(xmlhttp.overrideMimeType) {
        
           xmlhttp.overrideMimeType('text/xml');
        
          }
        xmlhttp.onreadystatechange = function() {
                                            xmlhttpChange(id,corp,address,tr,pa,se,sid);
                                        };
        xmlhttp.open("GET", url, true);
        xmlhttp.send(null);
    }
    // AJAX code for IE
    else if (window.ActiveXObject) {
        //alert("2");
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (xmlhttp)
    {
        //alert("3");
        xmlhttp.onreadystatechange = function() {
                                            xmlhttpChange(id,corp,address,tr,pa,se,sid);
                                        };
        xmlhttp.open("GET", url, true);
        xmlhttp.send();
    }
    }
}
    
function xmlhttpChange(id,corp,address,tr,pa,se,sid) {
    //alert("4");
    //create XMLDOM object if xmlhttp shows "loaded"
    
    if (xmlhttp.readyState == 4) {
    // if "OK"
        
        if (xmlhttp.status == 200) {
            
            var xmlDoc = xmlhttp.responseXML
            var person = xmlDoc.documentElement.getElementsByTagName('person');
            var html = '';
            var htmlTr = '';
            var htmlPa = '';
            var htmlSe = '';
            var kommun = '';
            var addr = '';
            var fname = '';
            var lname = '';
            var tractor = 0;
            var parts = 0;
            var service = 0;
            TrArr = [];
            PaArr = [];
            SeArr = [];
            
            var addr2 = address;
            addr2 = addr2.toString();
            var kommun2 = '';
            
            //alert(tr);
            addr = document.getElementById('addr').value;
            addr = addr.toString();
            html += '&nbsp;<br/>';
            
            for (var i = 0;1<person.length;i++) {
                
                if (pa == '0' && tr == '0' && se == '0' || pa == '1' && tr == '1' && se == '1') {
                    
                    if (person[i].getAttribute('tractor') == '1') {
                        kommun2 = person[i].getAttribute('kommun');
                        if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
                            
                            if(corp=='0') {        
                                if (person[i].getAttribute('center_id') == id) {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname')
                                    TrArr.push({lname:lname,fname:fname,html:html});    
                                }
                            } else {
                                if (person[i].getAttribute('center_id') == sid && sid != '') {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname')
                                    TrArr.push({lname:lname,fname:fname,html:html});    
                                }
                            }
                                
                        }// if kommun loppuu
                    } else if (person[i].getAttribute('service') == '1' && person[i].getAttribute('parts') == '1') {
      if (corp == '1') {
                        
                            if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
 
                                        PaArr.push({lname:lname,fname:fname,html:html});
 
                                        SeArr.push({lname:lname,fname:fname,html:html});
                                    
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        PaArr.push({lname:lname,fname:fname,html:html});
 
                                        SeArr.push({lname:lname,fname:fname,html:html});
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } // if corp
     
     } else { // if tractor
                    
                        if (corp == '1') {
                        
                            if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } // if corp
                    }// if tractor
                 // if all == 0 or 1 end
                } else if (pa == '2' && tr == '2' && se == '2' || pa == '3' && tr == '3' && se == '3' || pa == '4' && tr == '4' && se == '4' || pa == '5' && tr == '5' && se == '5') {
                                
                    
                        if (corp == '1') {
                        
                            if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('parts') == '1' && person[i].getAttribute('service') == '1') {
										   PaArr.push({lname:lname,fname:fname,html:html});
										   SeArr.push({lname:lname,fname:fname,html:html});
										  } else if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('parts') == '1' && person[i].getAttribute('service') == '1') {
										   PaArr.push({lname:lname,fname:fname,html:html});
										   SeArr.push({lname:lname,fname:fname,html:html});
										  } else if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } // if corp
                 // if all == 0 or 1 end
                } else if (tr == '1' && pa == '0' && se == '0') {
                
                    kommun2 = person[i].getAttribute('kommun');
                    if (person[i].getAttribute('tractor') == '1') {
                        if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
                            
                                
                                if (person[i].getAttribute('center_id') == id) {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname');
                                    TrArr.push({lname:lname,fname:fname,html:html});    
                                }
                                
                        }// if kommun loppuu
                    }
                // if tr == 1 end
                } else if (pa == '1' && tr == '0' && se == '0') {
                
                    if (person[i].getAttribute('parts') == '1') {
                        
                        if (corp == '1') {
                                if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname');
                                    PaArr.push({lname:lname,fname:fname,html:html});
                                }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname');
                                    PaArr.push({lname:lname,fname:fname,html:html});
                                }
                        }
                    }
                // if pa == 1 end
                } else if (se == '1' && tr == '0' && pa == '0') {
                
                    if (person[i].getAttribute('service') == '1') {
                        
                        if (corp == '1') {
                            if (person[i].getAttribute('corp_id_0') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        
                                        SeArr.push({lname:lname,fname:fname,html:html});
    
                                        //document.getElementById('gm_info').innerHTML= html;
                            }
                        }
                    }
                 // if se == 1 end
                } else if (se == '0' && tr == '1' && pa == '1') {
     if (person[i].getAttribute('tractor') == '1') {
                        kommun2 = person[i].getAttribute('kommun');
                        if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
                            
                            if(corp=='0') {        
                                if (person[i].getAttribute('center_id') == id) {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname')
                                    TrArr.push({lname:lname,fname:fname,html:html});    
                                }
                            } else {
                                if (person[i].getAttribute('center_id') == sid && sid != '') {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname')
                                    TrArr.push({lname:lname,fname:fname,html:html});    
                                }
                            }
                                
                        }// if kommun loppuu
                    } else if (person[i].getAttribute('service') == '1' && person[i].getAttribute('parts') == '1') {
      if (corp == '1') {
                        
                            if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
 
                                        PaArr.push({lname:lname,fname:fname,html:html});
 
                                        SeArr.push({lname:lname,fname:fname,html:html});
                                    
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        PaArr.push({lname:lname,fname:fname,html:html});
 
                                        SeArr.push({lname:lname,fname:fname,html:html});
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } // if corp
     
     } else { // if tractor
                    
                        if (corp == '1') {
                        
                            if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } // if corp
                    }// if tractor
 
                } else if (se == '1' && tr == '0' && pa == '1') {
     if (person[i].getAttribute('tractor') == '1') {
                        kommun2 = person[i].getAttribute('kommun');
                        if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
                            
                            if(corp=='0') {        
                                if (person[i].getAttribute('center_id') == id) {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname')
                                    TrArr.push({lname:lname,fname:fname,html:html});    
                                }
                            } else {
                                if (person[i].getAttribute('center_id') == sid && sid != '') {
                                    
                                    html = makeHtml(person[i],kommun);
                                    fname = person[i].getAttribute('fname');
                                    lname = person[i].getAttribute('lname')
                                    TrArr.push({lname:lname,fname:fname,html:html});    
                                }
                            }
                                
                        }// if kommun loppuu
                    } else if (person[i].getAttribute('service') == '1' && person[i].getAttribute('parts') == '1') {
      if (corp == '1') {
                        
                            if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
 
                                        PaArr.push({lname:lname,fname:fname,html:html});
 
                                        SeArr.push({lname:lname,fname:fname,html:html});
                                    
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        PaArr.push({lname:lname,fname:fname,html:html});
 
                                        SeArr.push({lname:lname,fname:fname,html:html});
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } // if corp
     
     } else { // if tractor
                    
                        if (corp == '1') {
                        
                            if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } else {
                            if (person[i].getAttribute('center_id') == id) {
                                        
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                        if (person[i].getAttribute('tractor') == '1') {
                                            TrArr.push({lname:lname,fname:fname,html:html});    
                                        } else if (person[i].getAttribute('parts') == '1') {
                                            PaArr.push({lname:lname,fname:fname,html:html});
                                        } else if (person[i].getAttribute('service') == '1') {
                                            SeArr.push({lname:lname,fname:fname,html:html});
                                        }
                                        //document.getElementById('gm_info').innerHTML= html;
                                    }
                        } // if corp
                    }// if tractor
 
                } else if (se == '1' && tr == '1' && pa == '0') {
                    if (corp == '1') {
                        if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                            if (person[i].getAttribute('service') == '1') {
                                html = makeHtml(person[i],kommun);
                                fname = person[i].getAttribute('fname');
                                lname = person[i].getAttribute('lname');
                                        
                                SeArr.push({lname:lname,fname:fname,html:html});
                                
                            } else if (person[i].getAttribute('tractor') == '1') {
                                kommun2 = person[i].getAttribute('kommun');
                                    if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');

                                        lname = person[i].getAttribute('lname');
                                                
                                        TrArr.push({lname:lname,fname:fname,html:html});
                                    }
                            }
                        }
                    } else {
                        
                        if (person[i].getAttribute('center_id') == id) {
                            
                            if (person[i].getAttribute('service') == '1') {
                                html = makeHtml(person[i],kommun);
                                fname = person[i].getAttribute('fname');
                                lname = person[i].getAttribute('lname');
                                        
                                SeArr.push({lname:lname,fname:fname,html:html});
                            } else if (person[i].getAttribute('tractor') == '1') {
                                kommun2 = person[i].getAttribute('kommun');
                                    if (kommun2.search(','+addr2.toUpperCase()+',') != -1) {
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                                
                                        TrArr.push({lname:lname,fname:fname,html:html});
                                    }
                            }
                            
                        }
                    }
                } else if (se == '1' && tr == '0' && pa == '1') {
                    if (corp == '1') {
                        if (person[i].getAttribute('corp_id_0') == id || person[i].getAttribute('center_id') == sid && sid != '') {
                            if (person[i].getAttribute('service') == '1' && person[i].getAttribute('parts') == '1') {
        html = makeHtml(person[i],kommun);
                                fname = person[i].getAttribute('fname');
                                lname = person[i].getAttribute('lname');
                                        
                                SeArr.push({lname:lname,fname:fname,html:html});
        PaArr.push({lname:lname,fname:fname,html:html});
       } else if (person[i].getAttribute('service') == '1') {
                                html = makeHtml(person[i],kommun);
                                fname = person[i].getAttribute('fname');
                                lname = person[i].getAttribute('lname');
                                        
                                SeArr.push({lname:lname,fname:fname,html:html});
                                
                            } else if (person[i].getAttribute('parts') == '1') {
                            
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                                
                                        PaArr.push({lname:lname,fname:fname,html:html});
                                    
                            }
                        }
                    } else {
                        
                        if (person[i].getAttribute('center_id') == id) {
                            
                            if (person[i].getAttribute('service') == '1' && person[i].getAttribute('parts') == '1') {
        html = makeHtml(person[i],kommun);
                                fname = person[i].getAttribute('fname');
                                lname = person[i].getAttribute('lname');
                                        
                                SeArr.push({lname:lname,fname:fname,html:html});
        PaArr.push({lname:lname,fname:fname,html:html});
       } else if (person[i].getAttribute('parts') == '1') {
                                html = makeHtml(person[i],kommun);
                                fname = person[i].getAttribute('fname');
                                lname = person[i].getAttribute('lname');
                                        
                                PaArr.push({lname:lname,fname:fname,html:html});
                            } else if (person[i].getAttribute('sevice') == '1') {
                                
                                        html = makeHtml(person[i],kommun);
                                        fname = person[i].getAttribute('fname');
                                        lname = person[i].getAttribute('lname');
                                                
                                        SeArr.push({lname:lname,fname:fname,html:html});
                                    
                            }
                            
                        }
                    }
                } // if tr pa se end
                
                if(i==person.length-1) {
                        sortPersons(TrArr,PaArr,SeArr,tr,pa,se);
                }
            }// for-lause loppuu
            
            
            
            
            
        } else {
            alert("There was a problem retrieving the XML data");
        }
    }
}
function makeHtml(person,kommun) {
    
    var html = '';
    html += '<table cellpadding="2" cellspacing="2"><tr><td width="75">';
                        
                        if (person.getAttribute('picture') != ' ') {
                            html += '<img class="person_pic" width="70" src="http://valtramme.valtra.fi/company/contact/pic/' + person.getAttribute('picture') + '" />';
                        } else {
                            html += '<img class="person_pic" width="70" src="pics/default.jpg" />';    
                        }
                        
                        html += '</td><td valign="top" width="170">';
                        html += '<b>' + person.getAttribute('fname') + ' ' + person.getAttribute('lname') + '</b><br/>';
                        
                        html += '' + person.getAttribute('address') + '<br/>';
                        html += '' + person.getAttribute('postnumber') + ' ' + person.getAttribute('city') + '<br/>';
                        if (person.getAttribute('phone') != ' ') {
                            html += 'Puhelin:' + person.getAttribute('phone') + '<br/>';
                        }
                        if (person.getAttribute('fax') != ' ') {
                            html += 'Fax:' + person.getAttribute('fax') + '<br/>';
                        }
                        if (person.getAttribute('cellphone') != ' ') {
                            html += 'GSM:' + person.getAttribute('cellphone') + '<br/>';
                        }
                        if (person.getAttribute('email') != ' ') {
                            html += 'Sähköposti:<br/>' + person.getAttribute('email') + '<br/>';
                        }
                        html += '</td><td>'
                        if (person.getAttribute('kommun') != ',') {
                            html += '<div id="kommuns">';
                            kommun = person.getAttribute('kommun');
                            kommun = kommun.replace(/,/g, "<br/>");
                            html += kommun.replace(/%/g, "<br/>");
                            html += '</div>';
                        }
                        
                        html += '</td></tr></table><br/>'
                        html = html.replace(/!/g, "&");
                        
                        return(html);
}
function sortPersons(tr,pa,se,trac,part,serv) {
    //alert(trac + ' ' + part + ' ' + serv);
    document.getElementById('gm_info').innerHTML = '';
    
    trF = [];
    paF = [];
    seF = [];
    //sort tractor sellers list
    tmp = [];
    for (var o = 0;o<tr.length;o++) {
        tmp.push([tr[o].lname,tr[o].fname]);
    }
    tmp.sort(function(a, b) { return a[0] < b[0] ? -1 : a[0] == b[0] ? 0 : 1; });
    for (var s = 0;s<tmp.length;s++) {
        for (var t = 0;t<tr.length;t++) {
            if (tmp[s][0] == tr[t].lname && tmp[s][1] == tr[t].fname) {
                
                //tmp[s].html = tr[t].html;
                trF.push({lname:tr[t].lname,html:tr[t].html});
            }
    }    
    }
    
    //sort parts sellers list
    tmp = [];
    for (var o = 0;o<pa.length;o++) {
        tmp.push([pa[o].lname,pa[o].fname]);
    }
    tmp.sort(function(a, b) { return a[0] < b[0] ? -1 : a[0] == b[0] ? 0 : 1; });
    for (var s = 0;s<tmp.length;s++) {
        for (var t = 0;t<pa.length;t++) {
            if (tmp[s][0] == pa[t].lname && tmp[s][1] == pa[t].fname) {
                
                //tmp[s].html = tr[t].html;
                paF.push({lname:pa[t].lname,html:pa[t].html});
            }
    }    
    }
    
    // sort service-persons list
    tmp = [];
    for (var o = 0;o<se.length;o++) {
        tmp.push([se[o].lname,se[o].fname]);
    }
    tmp.sort(function(a, b) { return a[0] < b[0] ? -1 : a[0] == b[0] ? 0 : 1; });
    //tmp.sort();
    
    for (var s = 0;s<tmp.length;s++) {
        for (var t = 0;t<se.length;t++) {
            if (tmp[s][0] == se[t].lname && tmp[s][1] == se[t].fname) {
                
                //tmp[s].html = tr[t].html;
                seF.push({lname:se[t].lname,html:se[t].html});
                
            }
    }    
    }
    
    
    document.getElementById('gm_info').innerHTML += '&nbsp;<br/>';
    
    
    
    if (trac == '0' && part == '0' && serv == '0' || trac == '2' && part == '2' && serv == '2' || trac == '3' && part == '3' && serv == '3' || trac == '4' && part == '4' && serv == '4' || trac == '5' && part == '5' && serv == '5') {
        if (trF.length != 0) {
            document.getElementById('gm_info').innerHTML += '<br/><h4>Traktorimyyjät</h4><br/>';
            for (var n = 0;n<trF.length;n++) {
                document.getElementById('gm_info').innerHTML += trF[n].html;    
            }
        }
        if (paF.length != 0) {
            document.getElementById('gm_info').innerHTML += '<br/><h4>Varaosamyyjät</h4><br/>';
            for (var d = 0;d<paF.length;d++) {
                document.getElementById('gm_info').innerHTML += paF[d].html;    
            }
        }
        if (seF.length != 0) {
            document.getElementById('gm_info').innerHTML += '<br/><h4>Huolto</h4><br/>';
            for (var r = 0;r<seF.length;r++) {
                document.getElementById('gm_info').innerHTML += seF[r].html;    
            }
        }
    } else {
        if (trac == '1') {
            if (trF.length != 0) {
                document.getElementById('gm_info').innerHTML += '<br/><h4>Traktorimyyjät</h4><br/>';
                for (var n = 0;n<trF.length;n++) {
                    document.getElementById('gm_info').innerHTML += trF[n].html;    
                }
            }
        }
        if (part == '1') {
            if (paF.length != 0) {
                document.getElementById('gm_info').innerHTML += '<br/><h4>Varaosamyyjät</h4><br/>';
                for (var d = 0;d<paF.length;d++) {
                    document.getElementById('gm_info').innerHTML += paF[d].html;    
                }
            }
        }
        if (serv == '1') {
            if (seF.length != 0) {
                document.getElementById('gm_info').innerHTML += '<br/><h4>Huolto</h4><br/>';
                for (var r = 0;r<seF.length;r++) {
                    document.getElementById('gm_info').innerHTML += seF[r].html;    
                }
            }
        }
    }
}
	
	  
	
//}
    //]]>
