var nn6 = document.getElementById&&!document.all;

function CheckPValues()
{
 	if(document.data.name.value == "")
  	{
  	 	SetInfo("Nimi ei kelpaa.");
  	  	document.data.name.focus();
	  	return false;
	}
    else if(!IsEmail(document.data.email.value))
  	{
  	 	SetInfo("Sähköpostiosoite ei kelpaa.");
  	  	document.data.email.focus();
	  	return false;
	}
  	else if(document.data.message.value == "")
  	{
  	  	SetInfo("Et ole kirjoittanut viestiä.");
  	  	document.data.message.focus();
	  	return false;
	}
	return true;
}
function CheckTValues()
{
	if(document.data.name.value == "")
  	{
  	 	SetInfo("Nimi ei kelpaa.");
  	  	document.data.name.focus();
	  	return false;
	}
  	else if(!IsEmail(document.data.email.value))
  	{
  	 	SetInfo("Sähköpostiosoite ei kelpaa.");
  	  	document.data.email.focus();
	  	return false;
	}
}
function SetInfo(info)
{
 	infoElement = document.getElementById('info');
 	infoElement.style.height = '30px';
 	infoElement.style.fontSize = '12px';
 	infoElement.fontWeight = "bold";
  	infoElement.innerHTML = "<font style='color: #EF0E0E;font-weight:bold'> " + info + "</font>";
}
function IsEmail(string) 
{
	return (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1);
}
function IsNumeric(e)
{
 	var element       = nn6 ? e.target : event.srcElement;

	if (k = e.keyCode) 
		return ((k>47 && k<58) || k == 8 || k == 9 || k == 45 ||  k == 13  || k == 37 || k == 39);
	if (k = e.which) 
		return ((k>47 && k<58) || k == 8 || k == 9 || k == 45 ||  k == 13  || k == 37 || k == 39);
	return true;
}

function ChangeView(view, reload)
{
	var d = new Date(2099,1,1);
	document.cookie = "view=" + escape(view) + "; expires=" + d.toGMTString() + "; domain=.www.sahkobit.fi; path=/";	
	if(reload)
		window.location.href = window.location;
	
}
var map;
var selectedMarker = null;

function LisaaGpsPisteet(id, nimi, paikkakunta, osoite, plat, plon, selectedId)
{
		var id = id.split('|');
		var nimi = nimi.split('|');
		var paikkakunta = paikkakunta.split('|');
		var ei_osoitetta = false;
		if(osoite != "")
			var osoite = osoite.split('|');
		else
			ei_osoitetta = true;
		var latitudi = plat.split('|');
		var longitudi = plon.split('|');

		if (GBrowserIsCompatible()) 
		{ 
			karttaDiv = document.getElementById("kartta");
			map = new GMap2(karttaDiv);

			map.enableScrollWheelZoom()
			map.setCenter(new GLatLng("65", "25.2"), 5);
					
			for(i=0;i<nimi.length;i++)
			{
				if(ei_osoitetta == true)
					LisaaGpsPiste(id[i], nimi[i], paikkakunta[i], "", latitudi[i], longitudi[i], selectedId);
				else
					LisaaGpsPiste(id[i], nimi[i], paikkakunta[i], osoite[i], latitudi[i], longitudi[i], selectedId);
			}
		}
}
function LisaaGpsPiste(id, nimi, paikkakunta, osoite, plat, plon, selectedId) 
{	

		paikkakunta = paikkakunta.replace('Ø', 'O');
		paikkakunta = paikkakunta.replace('ø', 'o');
		paikkakunta = paikkakunta.replace('Ä', 'A');
		paikkakunta = paikkakunta.replace('ä', 'ä');
		paikkakunta = paikkakunta.replace('Ö', 'O');
		paikkakunta = paikkakunta.replace('ö', 'o');
		
		point = new GLatLng(plat,  plon);	
		
		if(osoite != "")
		{
			var html = "<div style='width: 120px;'><b>" + nimi + "</b><br />" + 
						osoite + "<br />" +
						paikkakunta;
		}
		else
		{
			var html = "<div style='width: 120px;'><b>" + nimi + "</b>";	
		}
		html += "</div>";
		
		/*var marker = new GMarker(point, html);

		map.addOverlay(marker);	
		GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);});
			
		if(id == selectedId)
		{
			map.setCenter(point, 11);	
			marker.openInfoWindowHtml(html);
		}*/
		var marker = new PdMarker(point, html);
		marker.setTooltip(html);
		marker.setId(id); 
		marker.allowLeftTooltips(true);
		marker.setOpacity(80);
			
		GEvent.addListener(marker, "click", function() {
			CenterMapTo(id);
			selectedMarker = marker;
		});
		map.setUIToDefault();	
		map.addOverlay(marker);
		
		if(id == selectedId)
		{
			CenterMapTo(id);
		}
		
		return marker;							    
}
function CenterMapTo(id)
{
	var  marker = map.getMarkerById(id);	
	map.setCenter(marker.getPoint(), 11);
	selectedMarker = marker;
	document.getElementById('noutopisteteksti').innerHTML = marker.getTooltip();
}

function LisaaGpsPisteHaulla(id, maa, paikkakunta, osoite, plat, plon) 
{

		karttaDiv = document.getElementById("kartta");
		karttaDiv.style.width = "300px";
		karttaDiv.style.height = "400px";
		map = new GMap2(karttaDiv);
		map.enableScrollWheelZoom()
		map.setCenter(new GLatLng("60.648376", "24.859185"), 7);
		map.setUIToDefault();
		paikkakunta = paikkakunta.replace('Ø', 'O');
		paikkakunta = paikkakunta.replace('ø', 'o');
		paikkakunta = paikkakunta.replace('Ä', 'A');
		paikkakunta = paikkakunta.replace('ä', 'ä');
		paikkakunta = paikkakunta.replace('Ö', 'O');
		paikkakunta = paikkakunta.replace('ö', 'o');
		
		if(osoite != "")
		{		
	 		var localSearch = new GlocalSearch();
			localSearch.setCenterPoint(maa);
			localSearch.setSearchCompleteCallback(null, function() 
			{
				if (localSearch.results[0])
			    {
					var resultLat = localSearch.results[0].lat;
					var resultLng = localSearch.results[0].lng;
				 	
					point = new GLatLng(resultLat,  resultLng);	
					merkki = new GMarker(point);  
					map.setCenter(point, 12);
					map.addOverlay(merkki);
				}
			    else
			    {
			    	
					point = new GLatLng(plat,  plon);	
					merkki = new GMarker(point);  
					map.setCenter(point, 12);
					map.addOverlay(merkki);
				}
			});
			localSearch.execute(osoite + " " + paikkakunta);
		}
		else
	    {
			point = new GLatLng(plat,  plon);	
			merkki = new GMarker(point);  
			map.setCenter(point, 12);
			map.addOverlay(merkki);
		}						    
}

function findValue(li) {

	if( li == null ) return alert("No match!");

	document.getElementById('navsearch').value = "Ladataan tuotetta..";
	
	location.href='http://www.sahkobit.fi/verkkokauppa/' + li.selectId;
}

function selectItem(li) {

	findValue(li);
}

function formatItem(row) {
	return row[0];
}

$(document).ready(function() {
	$("#navsearch").autocomplete(
		"autocomplete.php",
		{
			delay:500,
			minChars:2,
			matchSubset:1,
			matchContains:4,
			cacheLength:0,
			maxItemsToShow: 12,
			width: 450,
			onItemSelect:selectItem,
			onFindValue:findValue,
			formatItem:formatItem,
			autoFill:false
		}
	);
});