//---- för koordinattransformationen ----------

function hideFromsystem(){
	if (document.getElementById){
		if(document.getElementById("fromSystemHolder")!=null){
			document.getElementById("fromSystemHolder").style.display = "none";
		}
	}                
	hideInputs();
	hideResult();
}
function hideInputs(){
	if (document.getElementById){
		if(document.getElementById("inputHolder")!=null){
			document.getElementById("inputHolder").style.display = "none";
		}
	} 
	hideResult();
}
function hideResult(){
	if (document.getElementById){
		if(document.getElementById("resultHolder")!=null){
			document.getElementById("resultHolder").style.display = "none";
		}
	} 
}
function koll_koordinattransformation(s)
{
var a; 
var k; 
var my_array; 

	var target=document.getElementById(s);	
	k=target.options[target.selectedIndex].value;						//valt listboxvärde
	a=window.location.href;									//sidans url
	my_array=a.split("&"); 									//splitrar url innan & tecken  
	document.location.href=my_array[0]+"&transvalue1="+k;	//my_array[0]= url t o m id=nnnn
}
function koll_koordinattransformation2(s, varde1)
{
var a; 
var varde1; 
var my_array 
var target=document.getElementById(s);	
	varde2=target.options[target.selectedIndex].value;						//valt listboxvärde
	a=window.location.href;									//sidans url
	my_array=a.split("&"); 									//splitrar url innan & tecken  
	document.location.href=my_array[0]+"&transvalue1="+varde1+"&transvalue2="+varde2;	//my_array[0]= url t o m id=nnnn
}



function controllInput(inmatat)
{
	
	if (inmatat.length > 0) 
	{
		if(inmatat.length!=10)
		{
			alert("Latitud och longitud anges i formatet: 12 34 56.7. Det angivna värdet har fel antal tecken.");
			return false;			
		}
			
		for (var i = 0; i<inmatat.length; i++) 
		{
			if(i==0 || i==1 || i==3 || i==4 || i==6 || i==7 || i==9)
			{
				if((inmatat.charAt(i) != "0") && (!parseFloat(inmatat.charAt(i))))
				{
					alert("Latitud och longitud anges i formatet: 12 34 56.7. Ett ogiltigt tecken fanns med.");
					return false;	
				}
			}
			
			if ((i==2 || i==5) && (inmatat.charAt(i)!= " "))
			{
				alert("Latitud och longitud anges i formatet: 12 34 56.7. Du glömde ett mellanslag.");
				return false;				
			}
			if ((i==8) && (inmatat.charAt(i)!= "."))
			{
				alert("Latitud och longitud anges i formatet: 12 34 56.7. Du glömde en punkt.");
				return false;							
			}
		}
		
	}
	else
	{
		alert("Du glömde ange värden.");
		return false;
	}
	return true;
	
}

function coordinateSystemControl1()
{
	if(!controllInput(document.getElementById("GTRANS").GTRANS_XLAT.value))
	 return false;
	if(!controllInput(document.getElementById("GTRANS").GTRANS_YLONG.value))
	 return false;
	
}
function kontrolleraSiffror(text) //kontrollerar att det endast är siffror i medskickat input
{
	if (text.value.length > 0) 
	{
		for (var i = 0; i < text.value.length; i++) 
		{

			if (text.value.charAt(i) != " ") 
			{
				if (text.value.charAt(i) != "0") 
				{
					if (!parseFloat(text.value.charAt(i))) 
					{
						alert("Felaktig inmatning. Endast siffor är tillatna.");						
						return (false);
					}
				}
			}
		  
		}
	}
	else 
	{
		alert("Du har glömt att fylla i nagot fält.");
		return (false);
	}
	return true;
}

function kontrolleraSiffror2(text, mall) //kontrollerar att det endast är siffror i medskickat input
{
	if (text.value.length > 0) 
	{
		for (var i = 0; i < text.value.length; i++) 
		{
		 if (text.value.charAt(i) != ".") 
			{
			if (text.value.charAt(i) != " ") 
			{
				if (text.value.charAt(i) != "0") 
				{
					if (!parseFloat(text.value.charAt(i))) 
					{
						alert("Felaktig inmatning. Endast siffor är tillatna.");						
						return (false);
					}
				}
			}
		 }		  
		}
	}
	else 
	{
		alert("Du har glömt att fylla i nagot fält.");
		return (false);
	}
	return true;
}



function numberValidation(f, mall) //kontrollerar alla inputfält i medskickat form för geoidhöjd och meridiankonvergens
{
	 var anchors = f.getElementsByTagName("input"); 
	 for (var i=0; i<anchors.length; i++) 
	 { 
		var anchor = anchors[i]; 
   		if ((anchor.getAttribute("type") == "text")) 
		{
			
			if(!kontrolleraSiffror2(anchor, mall))
			{
				return false;
			}
		}		
 	 }
	return true;
}

function medelPolCirkel()
{
	 
	 if(kontrolleraSiffror(document.getElementById("MEDELPOL").AR_MEDELPOL))
	 {
	 
	 var y = document.getElementById("MEDELPOL").AR_MEDELPOL.value;	
	 
	 ynoll = 2000
// Koden räknar fel pa nagra 1000-dels sekunder per ar pa grund av att inte Julian date används.
// Korrekt kod finns i Sten Erikssons fil pa mappen Utveckling\Medelpolcirkeln.
 
    p = 66 * 3600 + 33*60 + 38.55  + (y - ynoll)*0.47;
// 66 grader 33 min 38.55 sek avser polcirkelns läge 2000-01-01 kl 13 svensk normaltid vilket svarar
// mot 1 januari kl 12 UTC. Tidpunkten för polcirkelns läge borde avse kl 24:00/00:00 pa nyarsnatten
// i svensk normaltid.

    d = Math.floor(p/3600);
    m = Math.floor((p - d*3600)/60);
//    s = Math.round(10*(p - d*3600 - m*60)+0.05)/10;
//Avrunda till hundradels sekunder
    s = Math.round(100*(p - d*3600 - m*60))/100;
	//Popup1.document.write('Latitud för Medelpolcirkel ' + y + '-01-01: <b>' + d + 'o' + Rset(m,2,"0") + '´' + Rset(s,2,"0") + '&quot;</b>');
	
	var result = d + "&ordm;" + Rset(m,2,"0") + "´" + Rset(s,2,"0") + "''";	
	document.getElementById('medelresultat').innerHTML=result;
	
	 }
	 return false;
}


function sannPolCirkel()
{
	if(kontrolleraSiffror(document.getElementById("SANNPOL").AR_SANNPOL))
	{
	
	var y = document.getElementById("SANNPOL").AR_SANNPOL.value;
		
 	ynoll = 2000
    a = 18.6;
    v = 8 * Math.atan(1);
    x = Modulo(y-1955 ,a);
    u = v * x/a;
    o = Math.sin(u)*9;
    p = 66 * 3600 + 33*60 + 38.55  + (y - ynoll)*0.47 + o;
    d = Math.floor(p/3600);
    m = Math.floor((p - d*3600)/60);
//    s = Math.round(100*(p - d*3600 - m*60)+0.005)/100;
    s = Math.round(100*(p - d*3600 - m*60))/100;
    //Popup2.document.write('Latitud för sann polcirkel ar ' + y + '01-01: <b>' + d + 'o' + Rset(m,2,"0") + '´' + Rset(s,2,"0") + '&quot;</b>');
    
	var result = d + "&ordm;" + Rset(m,2,"0") + "´" + Rset(s,2,"0") + "''";
	
	
	document.getElementById('sannresultat').innerHTML=result;
	}
	
	 return false;
}

function Rset(s,n,p)
{
tmp = String(s);
for (var i = tmp.length; i < n; i++) 
{   
    tmp = p+tmp;
}
return tmp;
}

function Modulo(m,n)
{
return n*(m/n - Math.floor(m/n));
}

//---------------- för geodesitjänsterna --------------------------

