var nn6 = document.getElementById&&!document.all;

function CheckValues()
{
	var isSelectedData = false;

 	for(i=0;i<document.data.elements['osastot[]'].length;i++)
 	{
		if(document.data.elements['osastot[]'][i].value.length > 0) 
		{	
			isSelectedData = true;
		}
	}

 	if(!isSelectedData)
 	{
 	 	SetInfo("Et ole valinnut yhtään osastoa.");
	  	return false;		
	}
	else if(document.data.yritys.value == "")
  	{
  	 	SetInfo("Yrityksen nimi ei kelpaa.");
  	  	document.data.yritys.focus();
	  	return false;
	}
  	else if(document.data.yhteyshenkilo.value == "")
  	{
  	  	SetInfo("Yhteyshenkilöä ei ole asetettu.");
  	  	document.data.yhteyshenkilo.focus();
	  	return false;
	}
	else if(document.data.puhelin.value == "")
	{
	 	if(document.data.puhelin.value.length == 0)
  	 		SetInfo("Puhelinnumeroa ei ole asetettu.");
  	 	else
  	 		SetInfo("Puhelinnumero ei kelpaa.");
  	  	document.data.puhelin.focus();
	  	return false;
	}
  	else if(!IsEmail(document.data.sahkoposti.value))
  	{
  	 	SetInfo("Sähköpostiosoite ei kelpaa.");
  	  	document.data.sahkoposti.focus();
	  	return false;
	}
  	else if(document.data.lahiosoite.value == "")
  	{
  	  	SetInfo("Lähiosoitetta ei ole asetettu.");
  	  	document.data.lahiosoite.focus();
	  	return false;
	}
  	else if(document.data.postinumero.value == "")
  	{
  		if(document.data.postinumero.value.length == 0)
  	 		SetInfo("Postinumero ja paikkaa ei ole asetettu.");
  	 	else
  	 		SetInfo("Postinumero ja paikka ei kelpaa.");
  	 		
  	  	document.data.postinumero.focus();
	  	return false;
	}
  	else if(document.data.tuotteet.value == "")
  	{
  	  	SetInfo("Esiteltäviä tuotteita ei ole asetettu.");
  	  	document.data.tuotteet.focus();
	  	return false;
	}
  	else if(!document.data.osastoehdot.checked)
  	{
  	  	SetInfo("Et ole hyväksynyt osastoehtoja.");
  	  	document.data.osastoehdot.focus();
	  	return false;
	}
	
	return true;
}

function PrintContent() 
{
	window.print();
}

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 SearchMapPoint(title, zoom)
{
	if (GBrowserIsCompatible()) 
	{
		var karttaDiv = document.getElementById('kartta');
 		var localSearch = new GlocalSearch();
 		localSearch.setRestriction(GSearch.RESTRICT_TYPE, GlocalSearch.TYPE_LOCALONLY_RESULTS);

		localSearch.setSearchCompleteCallback(null, function() 
		{
			if (localSearch.results[0] && localSearch.results[0].lat && localSearch.results[0].lng && localSearch.results[0].lat.indexOf("37.") == -1 && localSearch.results[0].lng.indexOf("-121.") == -1)
            {
            	karttaDiv.style.width='468px';
				karttaDiv.style.height='315px';	
				karttaDiv.style.margin='10px 20px 10px 20px';
            	document.getElementById('karttateksti').style.display = 'block';
            	document.getElementById('menu_map').style.display = 'block';
            	var map = new GMap2(document.getElementById('kartta'));
	        	map.addControl(new GMapTypeControl());
				map.addControl(new ExtLargeMapControl());
				map.addControl(new GMapTypeControl());
				map.addMapType(G_PHYSICAL_MAP);
				map.enableScrollWheelZoom();
                var resultLat = localSearch.results[0].lat;
                var resultLng = localSearch.results[0].lng;
                map.setCenter(new GLatLng(resultLat, resultLng), zoom);
            }
            else
            {
				var mapDiv = document.getElementById('mapdiv');
				while (mapDiv.childNodes[0])
				{
					mapDiv.removeChild(mapDiv.childNodes[0]);
				}
				mapDiv.parentNode.removeChild(mapDiv);
			}
		});
				
		localSearch.execute(title);
	}
}
function SetInfo(info)
{
	var infoElement;
 	infoElement = document.getElementById('info');
 	infoElement.style.height = '20px';
 	infoElement.style.fontSize = '11px';
  	infoElement.innerHTML = "<font style='color: #c6310a;'> " + info + "</font>";
}
function SetMapPoint(lat, lon, zoom)
{
	if (GBrowserIsCompatible()) 
	{
       	var map = new GMap2(document.getElementById('kartta'));
       	var point = new GLatLng(lat, lon);  
       	map.setCenter(point, zoom);
       	var extLargeMapControl = new ExtLargeMapControl({type : "small"});
        map.addControl(extLargeMapControl);     	
       	map.addControl(new GMapTypeControl());
		map.addControl(new GMapTypeControl());
		map.addMapType(G_PHYSICAL_MAP);
		map.enableScrollWheelZoom();			    
        map.addOverlay(new GMarker(point));
    }
}

function Toggle(element, osasto, id)
{
	if(element.style.backgroundColor == "rgb(226,241,228)" || element.style.backgroundColor == "rgb(226, 241, 228)" || element.style.backgroundColor == '#e2f1e4')
	{
		element.style.backgroundColor = 'rgb(250, 180, 30)';
		Insert(osasto, id);
	}
	else
	{
		element.style.backgroundColor = 'rgb(226, 241, 228)';
		Remove(osasto, id);
	}
}

function Insert(osasto, id)
{
	var osastoTemp = osasto;
	var osastoDiv = document.getElementById('osastoDiv'+osasto);
	var osasto = document.data.elements['osastot[]'][osasto];
	
	if(osasto.value == "")
	{
		osasto.value = id;	
	}
	else
	{
		osasto.value = osasto.value + "," + id;	
	}
	if(osastoTemp > 3)
		osastoDiv.innerHTML = OrderString(osasto.value);
	else
		osastoDiv.innerHTML = OrderNumericString(osasto.value);
}
function Remove(osasto, id)
{
	var osastoDiv = document.getElementById('osastoDiv'+osasto);
	var osasto = document.data.elements['osastot[]'][osasto];

	if(osasto.value.indexOf(id + ",") == 0)
		osasto.value = osasto.value.replace(id + ",", "");	
	else if(osasto.value.indexOf("," + id + ",") > 0)
		osasto.value = osasto.value.replace("," + id + ",", ",");
	else if(osasto.value.indexOf("," + id) > 0)
		osasto.value = osasto.value.replace("," + id, "");
	else if(osasto.value.indexOf("," + id) > 0)
		osasto.value = osasto.value.replace(id + ",", "");
	else
		osasto.value = osasto.value.replace(id, "");	
	
	if(osasto.value == ",")
		osasto.value = "";

	if(osasto.value == "")
		osastoDiv.innerHTML = "Valitse paikka";
	else
		osastoDiv.innerHTML = osasto.value;
}
function RemoveAll(osasto)
{
	var osastoDiv = document.getElementById('osastoDiv'+osasto);
	var osasto = document.data.elements['osastot[]'][osasto];
	osasto.value = "";
	osastoDiv.innerHTML = "Valitse paikka";
}
function OrderString(str)
{
	if(str == "")
		return "";
	var splitStr = str.split(",");	
	splitStr.sort();
	var arr = [];
	j = 0;
	for(var i=0;i<splitStr.length;i++)
	{
		if(splitStr[i] != "," && splitStr[i] != "")
		{
			arr[j] = splitStr[i];
			j++;
		}
	}
	return arr.join(",");
}
function OrderNumericString(str)
{
	if(str == "")
		return "";
	var splitStr = str.split(",");	
	splitStr.sort(function(a,b){return a - b});
	var arr = [];
	j = 0;
	for(var i=0;i<splitStr.length;i++)
	{
		if(splitStr[i] != "," && splitStr[i] != "")
		{
			arr[j] = splitStr[i];
			j++;
		}
	}
	return arr.join(",");
}
