var isNew = 0;var isNS4 = 0;var isIE4 = 0; var docObj = ' ';
var brow = ((navigator.appName) + (parseInt(navigator.appVersion)));
if (parseInt(navigator.appVersion) >= 5){isNew = 1}else if (brow == "Netscape4"){isNS4 = 1;} else if (brow == "Microsoft Internet Explorer4"){isIE4 = 1};if (isNS4||isIE4||isNew){docObj = (isNS4) ? 'document' : 'document.all'; styleObj = (isNS4) ? ''         : '.style';}

px0=0; py0=0;x=0;y=0;l=0,f=0;a=" ";b="  ";xx="";yy=" ";mc=0;
f1="0";f2="0";f3="0";l1="0";l2="0";l3="0";graden=0;gra=0;min=0;sec=0;


function Grad(graden)
{
g0 = graden;
gra = Math.floor(g0) ;
g0 =(g0 - gra) * 60;
min = Math.floor(g0);
sec =Math.round((g0 - min) * 60*1000)/1000 ;
if (sec==60) {min=min+1; sec=0};
if (min==60) {gra=gra+1; min=0};
}

function Proc1(obj)
{
x=parseFloat(obj.xx.value);
y=parseFloat(obj.yy.value);
if (x<1000) x*=1000;
if (y<1000) y*=1000;
if (x<0 || x>290000)
  alert("De waarde van x dient te liggen tussen 0 en 290(000)")    
else
{
  if (y<290000 || y>630000)
    alert("De waarde van y dient te liggen tussen 290(000) en 630(000)")    
  else{
    RDLatLong(obj,x,y);
    MerConv(obj,x,y);
}}
plot(x,y)
plot0(x,y)
}

function RDLatLong(obj,x,y)
{
x0  = 155000.000;
y0  = 463000.000;

f0 = 52.156160556;
l0 =  5.387638889;

 a01=3236.0331637 ; b10=5261.3028966;
 a20= -32.5915821 ; b11= 105.9780241;
 a02=  -0.2472814 ; b12=   2.4576469;
 a21=  -0.8501341 ; b30=  -0.8192156;
 a03=  -0.0655238 ; b31=  -0.0560092;
 a22=  -0.0171137 ; b13=   0.0560089;
 a40=   0.0052771 ; b32=  -0.0025614;
 a23=  -0.0003859 ; b14=   0.0012770;
 a41=   0.0003314 ; b50=   0.0002574;
 a04=   0.0000371 ; b33=  -0.0000973;
 a42=   0.0000143 ; b51=   0.0000293;
 a24=  -0.0000090 ; b15=   0.0000291; 


with(Math){ 
dx=(x-x0)*pow(10,-5);
dy=(y-y0)*pow(10,-5);

df =a01*dy + a20*pow(dx,2) + a02*pow(dy,2) + a21*pow(dx,2)*dy + a03*pow(dy,3);
df+=a40*pow(dx,4) + a22*pow(dx,2)*pow(dy,2) + a04*pow(dy,4) + a41*pow(dx,4)*dy;
df+=a23*pow(dx,2)*pow(dy,3) + a42*pow(dx,4)*pow(dy,2) + a24*pow(dx,2)*pow(dy,4);
 f = f0 + df/3600;

dl =b10*dx +b11*dx*dy +b30*pow(dx,3) + b12*dx*pow(dy,2) + b31*pow(dx,3)*dy;
dl+=b13*dx*pow(dy,3)+b50*pow(dx,5) + b32*pow(dx,3)*pow(dy,2) + b14*dx*pow(dy,4);
dl+=b51*pow(dx,5)*dy +b33*pow(dx,3)*pow(dy,3) + b15*dx*pow(dy,5);
 l = l0 + dl/3600}

MerConv(obj,x,y);
RdWgs84(obj,f,l);
Grad(f);obj.ff1.value=gra;obj.ff2.value=min;obj.ff3.value=sec;
Grad(l);obj.ll1.value=gra;obj.ll2.value=min;obj.ll3.value=sec;
}

function Proc2(obj)
{
f1=eval(obj.ff1.value);f2=eval(obj.ff2.value);f3=eval(obj.ff3.value);f =f1 +(f2 / 60) + (f3 / 3600);
l =0;
l1=eval(obj.ll1.value);l2=eval(obj.ll2.value);l3=eval(obj.ll3.value);l =l1+(l2/60)+(l3/3600);

if (f < 50.50 || f>53.75)
  alert("De breedte moet liggen tussen: 50.30 en 53.45 NB (graden.min) ")
else{
if (l<3 || l>7.25)
  alert("De lengte dient te liggen tussen: 3.00 en 7.45 OL (graden.min)")
else{
    LatLongRD(obj,f,l);
    MerConv(obj,x,y)}}
plot(x,y);
plot0(x,y);
}

function LatLongRD(obj,f,l)
{
	x0  = 155000.00;
	y0  = 463000.00;
	
	f0 = 52.15616056;
	l0 =  5.38763889;
	
	c01=190066.98903 ;  d10=309020.31810;
	c11=-11830.85831 ;  d02=  3638.36193;
	c21=  -114.19754 ;  d12=  -157.95222;
	c03=   -32.38360 ;  d20=    72.97141;
	c31=    -2.34078 ;  d30=    59.79734;
	c13=    -0.60639 ;  d22=    -6.43481;
	c23=     0.15774 ;  d04=     0.09351;
	c41=    -0.04158 ;  d32=    -0.07379;
	c05=    -0.00661 ;  d14=    -0.05419;
											d40=    -0.03444;
	df=(f - f0) * 0.36;
	dl=(l - l0) * 0.36;
	
	with(Math)
	{
		dx =c01*dl + c11*df*dl + c21*pow(df,2)*dl + c03*pow(dl,3);
		dx+=c31*pow(df,3)*dl + c13*df*pow(dl,3) + c23*pow(df,2)*pow(dl,3);
		dx+=c41*pow(df,4)*dl + c05*pow(dl,5);
		x=x0 + dx;
		x=round(100*x)/100;
	}
	
	with(Math)
	{
		dy =d10*df + d20*pow(df,2) + d02*pow(dl,2) + d12*df*pow(dl,2);
		dy+=d30*pow(df,3) + d22*pow(df,2)*pow(dl,2) + d40*pow(df,4);
		dy+=d04*pow(dl,4) + d32*pow(df,3)*pow(dl,2) + d14*df*pow(dl,4);
		y=y0 + dy;
		y=round(100*y)/100;
	}
	RdWgs84(obj,f,l);
	obj.xx.value=x;
	obj.yy.value=y;
	MerConv(obj,x,y);
}

function MerConv(obj,x,y)
{
	x0  = 155000.00;
	y0  = 463000.00;
	
	with(Math)
	{
		xc=(x-x0)/100000;
		yc=(y-y0)/100000;
		mc=12823.383*xc + 336.454*xc*yc+7.564*xc*pow(yc,2);
		mc+=-2.521*pow(xc,3)+0.173*xc*pow(yc,3)-0.173*pow(xc,3)*yc;
		mc0=0.9*mc/10000;
		
		mc1=0;mc2=0;mc3=0;
		if (mc< 0) mc0=-mc0;
		Grad(mc0);
	}

	if (mc<0) 
	{
		 if (gra==0) min=-min
		 else gra=-gra
	}
	obj.mc1.value=gra;
	obj.mc2.value=min;
	obj.mc3.value=sec;
}

function RdWgs84(obj,f,l)
{
	fWgs=f+(-96.862-11.714*(f-52)-0.125*(l-5))/100000;
	lWgs=l+(-37.902+0.329*(f-52)-14.667*(l-5))/100000;
	fWgs0 = fWgs;
	fWgs1 = Math.floor(fWgs); 
	fWgs0 =(fWgs0 - fWgs1) * 60;
	fWgs2 = Math.floor(fWgs0);
	fWgs3 =Math.round((fWgs0 - fWgs2) * 60*1000)/1000 ;
	if (fWgs3==60) {fWgs2+=1; fWgs3=0};
	if (fWgs2==60) {fWgs1+=1; fWgs2=0};
	obj.fWgs1.value=fWgs1;
	obj.fWgs2.value=fWgs2;
	obj.fWgs3.value=fWgs3;
	
	lWgs0 = lWgs;
	lWgs1 = Math.floor(lWgs); 
	lWgs0 =(lWgs0 - lWgs1) * 60;
	lWgs2 = Math.floor(lWgs0);
	lWgs3 =Math.round((lWgs0 - lWgs2) * 60*1000)/1000 ;
	if (lWgs3==60) {lWgs2+=1; lWgs3=0};
	if (lWgs2==60) {lWgs1+=1; lWgs2=0};
	obj.lWgs1.value=lWgs1;
	obj.lWgs2.value=lWgs2;
	obj.lWgs3.value=lWgs3;
}

function plot(rdx,rdy) 
{
	//=====================
	px0=150;
	py0=500;
	xFloat = 417 / 262.8  * ( rdx / 1000 - 14.4);
	yFloat = 475 / 306.5  * ( 614 - rdy / 1000 );
	xInteger= xFloat + px0 - 7;
	yInteger= yFloat + py0 - 7;
	
	dom     = eval(docObj + '.Punt' + styleObj);
	dom.left= xInteger;
	dom.top = yInteger;
}

function plot0(rdx,rdy) 
{
	//=====================
	px0=260;
	py0=130;
	xFloat = 226 / 262.8  * ( rdx / 1000 - 14.4);
	yFloat = 264 / 306.5  * ( 614 - rdy / 1000 );
	xInteger= xFloat + px0 - 7;
	yInteger= yFloat + py0 - 7;
	dom     = eval(docObj + '.Punt0' + styleObj);
	dom.left= xInteger;
	dom.top = yInteger;
}


// --------------------- aangepast naar rekenmodel ----------
function RDLat(x,y)
{
	x0  = 155000.000;
	y0  = 463000.000;
	
	f0 = 52.156160556;
	l0 =  5.387638889;
	
	 a01=3236.0331637 ; b10=5261.3028966;
	 a20= -32.5915821 ; b11= 105.9780241;
	 a02=  -0.2472814 ; b12=   2.4576469;
	 a21=  -0.8501341 ; b30=  -0.8192156;
	 a03=  -0.0655238 ; b31=  -0.0560092;
	 a22=  -0.0171137 ; b13=   0.0560089;
	 a40=   0.0052771 ; b32=  -0.0025614;
	 a23=  -0.0003859 ; b14=   0.0012770;
	 a41=   0.0003314 ; b50=   0.0002574;
	 a04=   0.0000371 ; b33=  -0.0000973;
	 a42=   0.0000143 ; b51=   0.0000293;
	 a24=  -0.0000090 ; b15=   0.0000291; 
	
	
	with(Math){ 
	dx=(x-x0)*pow(10,-5);
	dy=(y-y0)*pow(10,-5);
	
	df =a01*dy + a20*pow(dx,2) + a02*pow(dy,2) + a21*pow(dx,2)*dy + a03*pow(dy,3);
	df+=a40*pow(dx,4) + a22*pow(dx,2)*pow(dy,2) + a04*pow(dy,4) + a41*pow(dx,4)*dy;
	df+=a23*pow(dx,2)*pow(dy,3) + a42*pow(dx,4)*pow(dy,2) + a24*pow(dx,2)*pow(dy,4);
	 f = f0 + df/3600;
	
	dl =b10*dx +b11*dx*dy +b30*pow(dx,3) + b12*dx*pow(dy,2) + b31*pow(dx,3)*dy;
	dl+=b13*dx*pow(dy,3)+b50*pow(dx,5) + b32*pow(dx,3)*pow(dy,2) + b14*dx*pow(dy,4);
	dl+=b51*pow(dx,5)*dy +b33*pow(dx,3)*pow(dy,3) + b15*dx*pow(dy,5);
	 l = l0 + dl/3600}

  //return(f);

	// nu nog even omwerken
  return(RdWgs84Lat(f,l));

}

function RDLong(x,y)
{
	x0  = 155000.000;
	y0  = 463000.000;
	
	f0 = 52.156160556;
	l0 =  5.387638889;
	
	 a01=3236.0331637 ; b10=5261.3028966;
	 a20= -32.5915821 ; b11= 105.9780241;
	 a02=  -0.2472814 ; b12=   2.4576469;
	 a21=  -0.8501341 ; b30=  -0.8192156;
	 a03=  -0.0655238 ; b31=  -0.0560092;
	 a22=  -0.0171137 ; b13=   0.0560089;
	 a40=   0.0052771 ; b32=  -0.0025614;
	 a23=  -0.0003859 ; b14=   0.0012770;
	 a41=   0.0003314 ; b50=   0.0002574;
	 a04=   0.0000371 ; b33=  -0.0000973;
	 a42=   0.0000143 ; b51=   0.0000293;
	 a24=  -0.0000090 ; b15=   0.0000291; 
	
	
	with(Math){ 
	dx=(x-x0)*pow(10,-5);
	dy=(y-y0)*pow(10,-5);
	
	df =a01*dy + a20*pow(dx,2) + a02*pow(dy,2) + a21*pow(dx,2)*dy + a03*pow(dy,3);
	df+=a40*pow(dx,4) + a22*pow(dx,2)*pow(dy,2) + a04*pow(dy,4) + a41*pow(dx,4)*dy;
	df+=a23*pow(dx,2)*pow(dy,3) + a42*pow(dx,4)*pow(dy,2) + a24*pow(dx,2)*pow(dy,4);
	 f = f0 + df/3600;
	
	dl =b10*dx +b11*dx*dy +b30*pow(dx,3) + b12*dx*pow(dy,2) + b31*pow(dx,3)*dy;
	dl+=b13*dx*pow(dy,3)+b50*pow(dx,5) + b32*pow(dx,3)*pow(dy,2) + b14*dx*pow(dy,4);
	dl+=b51*pow(dx,5)*dy +b33*pow(dx,3)*pow(dy,3) + b15*dx*pow(dy,5);
	 l = l0 + dl/3600}

	//return(l);
	return(RdWgs84Long(f,l));

}

function RdWgs84Lat(f,l)
{
  fWgs=f+(-96.862-11.714*(f-52)-0.125*(l-5))/100000
  lWgs=l+(-37.902+0.329*(f-52)-14.667*(l-5))/100000
  return(fWgs);    // lat voor gmap
}

function RdWgs84Long(f,l)
{
  fWgs=f+(-96.862-11.714*(f-52)-0.125*(l-5))/100000
  lWgs=l+(-37.902+0.329*(f-52)-14.667*(l-5))/100000
  return (lWgs);   //lon voor gmap  
}
