
var api = null;

function startMaps(){

		api = new NaviciAjaxApi();
		api.start(AjaxMapsConfig);
		api.setLanguage('fi');
	
		var map = api.getMap();

}


function setMarks(x_coords,y_coords,yr_nimet,AsiakasIDT){

var minx = parseInt(x_coords.min());
var miny = parseInt(y_coords.min());
var maxx = parseInt(x_coords.max());
var maxy = parseInt(y_coords.max());

var matka_x = (maxx - minx)/2;
var keski_x = minx + matka_x;

var matka_y = (maxy - miny)/2;
var keski_y = miny + matka_y;

setMapEnvelope(keski_x,keski_y,minx,maxx,miny,maxy);

var y = x_coords.length + 1;

var nimet_h2 = getElementsById('osumalistanimi');

	for(var i = 0; i < x_coords.length; i++){
	
	
		var marker = api.addDivMarker("map_marker_red_x", x_coords[i], y_coords[i],'',-8,-8);
		
		var linkki = "'http://www.suomenyritykset.fi/"+yr_nimet[i]+"/"+AsiakasIDT[i]+"/'";
		marker.id = "merkki_"+i;

		var color = genHex();
		
		var color_link = "'"+color+"'";
		
		var luku = i+1;
		
		var html = '<div title="'+yr_nimet[i]+'" class="'+y+'" style="width:14px; height: 14px; position: absolute; left: 0px; cursor:pointer; top: 0px; border: 1px solid #000000; background-color: #F4F3F3; text-align: center;" onclick="toInfoPage(this,'+linkki+')" onmouseout="bgImage(this,'+i+','+color_link+')" onmouseover="bgImage(this,'+i+','+color_link+')">'+luku+'</div>';
		//var html2 = '<div style="width:6px; height:10px; position: absolute; left:6px; top:17px; cursor:pointer;" onmouseout="bgImage(this,'+i+')" onmouseover="bgImage(this,'+i+')" onclick="toInfoPage(this,'+linkki+','+i+')"></div>';
		
		marker.style.zIndex = y;
		
		marker.innerHTML = html;
		
		for(var x = 0; x < nimet_h2.length; x++){
		
		
			color_link = "'#c8c4c6'";
			color_old = "'#F4F3F3'";
		
		
		
			if(nimet_h2[x].innerHTML.indexOf(AsiakasIDT[i]) != -1){
			
			var map_hit = document.getElementById('kartta_osuma_'+AsiakasIDT[i]);
			map_hit.innerHTML += '<div onclick="setCenter('+x_coords[i]+','+y_coords[i]+')" style="width:14px; height: 14px; border: 1px solid black; background-color: #F4F3F3; text-align: center; color:black;" onmouseover="this.style.backgroundColor = '+color_link+';" onmouseout="this.style.backgroundColor = '+color_old+';">'+luku+'</div>';
			
			}
		
		
		
		/*if(nimet_h2[x].innerText){
		
			if(nimet_h2[x].innerText == yr_nimet[i]){
			
			var map_hit = document.getElementById('kartta_osuma_'+AsiakasIDT[i]);
			map_hit.innerHTML += '<div onclick="setCenter('+x_coords[i]+','+y_coords[i]+')" style="width:14px; height: 14px; border: 1px solid black; background-color: white; text-align: center; color:black;" onmouseover="this.style.backgroundColor = '+color_link+';" onmouseout="this.style.backgroundColor = '+color_old+';">'+luku+'</div>';
			
			}
		
		}*/
		
		}
		
		
		y--;
		
		
	
	}

}


function setCenter(x,y){

api.setMapCenter(x,y);
timer = setTimeout("api.setMapZoom(8)", 1000);
document.documentElement.scrollTop = 0;

}


//Kuvan vaihto
function bgImage(elem,orig_zIndex,orig_color){


if(elem.parentNode.style.zIndex == elem.className){
//elem.parentNode.style.backgroundImage = 'url(/kartat/styles/images/sy_pallo_over.png)';
elem.style.backgroundColor = '#c8c4c6';
elem.parentNode.style.zIndex = x_coords.length + 2;
}
else{
elem.style.backgroundColor = '#F4F3F3';
elem.parentNode.style.zIndex = elem.className;
}

}

//Zoomaus
function zoomHitListMap(zoom){

var currentZoom = api.getMapZoom();

if(zoom == 'plus'){

var newZoom = currentZoom - 1;
api.setMapZoom(newZoom);

}

if(zoom == 'minus'){

var newZoom = currentZoom + 1;
api.setMapZoom(newZoom);

}


}


function toInfoPage(elem,linkki){

elem.style.backgroundColor = 'white';
elem.style.zIndex = elem.className;

location.href = linkki;

}

//Funktio asettaa kartan alueen rajat kun haetaan
	function setMapEnvelope(x,y,minx,maxx,miny,maxy){    
					
					
		if(minx == null || minx == "" || minx == undefined){
		api.setMapCenter(x,y);
		return;
		}
					
		var map = api.getMap();
		var height = map.getHeight();
		var width = map.getWidth();
		var scale = 0;
		var xmin = 0;
		var xmax = 0;
		var ymin = 0;
		var ymax = 0;
					
		for(var i = AjaxMapsConfig.MAP_MIN_ZOOM; i <= AjaxMapsConfig.MAP_MAX_ZOOM; i++){
						
			 scale = AjaxMapsConfig.scales[i];
			 ymax = y + (((height)/2)*scale);
			 ymin = y - (((height)/2)*scale);
			 xmax = x + (((width)/2)*scale);
			 xmin = x - (((width)/2)*scale);
					
				if((ymax >= maxy) && (xmax >= maxx)  && (ymin <= miny) && (xmin <= minx)){
				
				//Correct level found
				var level = i;
				api.setMapZoom(level);
				api.setMapCenter(x,y);
				return;
				}     
		 }
					
		api.setMapCenter(x,y);
		api.setMapZoom(AjaxMapsConfig.MAP_MAX_ZOOM);
	}


function genHex(){
colors = new Array(14)
colors[0]="0"
colors[1]="1"
colors[2]="2"
colors[3]="3"
colors[4]="4"
colors[5]="5"
colors[5]="6"
colors[6]="7"
colors[7]="8"
colors[8]="9"
colors[9]="a"
colors[10]="b"
colors[11]="c"
colors[12]="d"
colors[13]="e"
colors[14]="f"

digit = new Array(5)
color=""
for (i=0;i<6;i++){
digit[i]=colors[Math.round(Math.random()*14)]
color = color+digit[i]
}

return color;

}



Array.prototype.max = function() {
var max = this[0];
var len = this.length;
for (var i = 1; i < len; i++) if (this[i] > max) max = this[i];
return max;
}
Array.prototype.min = function() {
var min = this[0];
var len = this.length;
for (var i = 1; i < len; i++) if (this[i] < min) min = this[i];
return min;
}


//Palauttaa taulukon elementtejä, millä on sama id
 function getElementsById(sId)
 {
    var outArray = new Array();	
	if(typeof(sId)!='string' || !sId)
	{
		return outArray;
	};
	
	if(document.evaluate)
	{
		var xpathString = "//*[@id='" + sId.toString() + "']"
		var xpathResult = document.evaluate(xpathString, document, null, 0, null);
		while ((outArray[outArray.length] = xpathResult.iterateNext())) { }
		outArray.pop();
	}
	else if(document.all)
	{
		
		for(var i=0,j=document.all[sId].length;i<j;i+=1){
		outArray[i] =  document.all[sId][i];}
		
	}else if(document.getElementsByTagName)
	{
	
		var aEl = document.getElementsByTagName( '*' );	
		for(var i=0,j=aEl.length;i<j;i+=1){
		
			if(aEl[i].id == sId )
			{
				outArray.push(aEl[i]);
			};
		};	
		
	};
	
	return outArray;
 }
