var stnXBias=46;
var stnYBias=297;
var layerWINFOBUTTON;
var lastLayerName="";
var iOldLayer;
var antLayer=16;
var diff1=4;
var diff2=1;
if (navigator.appName.toUpperCase().match(/MICROSOFT INTERNET EXPLORER/) != null) {
diff1=4.3;
diff2=1.36;
}

var IDNR,STN,STLA,STLO,STH,STTP,STLT,STVR,STVH,STVB,STF,STHBAR,STNB,iPek,iLayer,layerTemp,layerVind,layerNbd;
var si;

var myConnTemp = new XHConn();
if (!myConnTemp) alert("XMLHTTP not available. Try a newer/better browser.");
var fnWhenDoneTemp = function (oxmlTemp) {if(lagerOn[5]==1){thisMovie("AnyChartTemp").SetXMLText(oxmlTemp.responseText);layerTemp.style.left="0em";}};

var myConnVind = new XHConn();
if (!myConnVind) alert("XMLHTTP not available. Try a newer/better browser.");
var fnWhenDoneVind = function (oxmlVind) {if(lagerOn[5]==1){thisMovie("AnyChartVind").SetXMLText(oxmlVind.responseText);layerVind.style.left="0em";}};

var myConnNbd = new XHConn();
if (!myConnNbd) alert("XMLHTTP not available. Try a newer/better browser.");
var fnWhenDoneNbd = function (oxmlNbd) {if(lagerOn[5]==1){thisMovie("AnyChartNbd").SetXMLText(oxmlNbd.responseText);layerNbd.style.left="0em";}};

function infF(nr) {
	var iSTH,iTRYCK,iTEMP,iRIKT,iHAST,iBYVIND,iFUKT,iNBD;
	si=Stn[nr];
	si();
	iPek=nr;
	if(language=="sv"){
		if (STH=='!!!') {iSTH='';} else {iSTH=',&nbsp;&nbsp;stationsh&ouml;jd&nbsp;'+STH+'&nbsp;m';}
		if (STTP=='!!!') {iTRYCK='';} else {iTRYCK='<br />Lufttryck&nbsp;'+STTP+'&nbsp;hPa,&nbsp;&nbsp;barometerh&ouml;jd&nbsp;'+STHBAR+'&nbsp;m';}
		if (STLT=='!!!') {iTEMP='';} else {iTEMP='<br />Lufttemperatur&nbsp;'+STLT+'&nbsp;&deg;C';}
		if (STNB=='!!!') {iNBD='';} else {iNBD='<br />Nederb&ouml;rd&nbsp;senaste&nbsp;timmen&nbsp;'+STNB+'&nbsp;mm';}
		if (STF=='!!!') {iFUKT='';} else {iFUKT='<br />Luftfuktighet&nbsp;'+STF+'&nbsp;%';}
		if (STVR=='!!!') {iRIKT='';} else {iRIKT='<br />Vind:&nbsp;&nbsp;riktning&nbsp;'+STVR;}
		if ((STVB=='!!!') || (STVB=='---')) {iBYVIND='';} else {iBYVIND=',&nbsp;&nbsp;byvind&nbsp;'+STVB+'&nbsp;m/s';}
		if (STVH=='!!!') {iHAST='';} else {iHAST=',&nbsp;&nbsp;hastighet&nbsp;'+STVH+'&nbsp;m/s';}
	} else {
		STN=STN.replace(/flygplats/,"airport");
		if (STH=='!!!') {iSTH='';} else {iSTH=',&nbsp;&nbsp;station altitude&nbsp;'+STH+'&nbsp;m';}
		if (STTP=='!!!') {iTRYCK='';} else {iTRYCK='<br/>Barometric pressure&nbsp;'+STTP+'&nbsp;hPa,&nbsp;barometric&nbsp;altitude&nbsp;'+STHBAR+'&nbsp;m';}
		if (STLT=='!!!') {iTEMP='';} else {iTEMP='<br/>Temperature&nbsp;'+STLT+'&nbsp;&deg;C';}
		if (STNB=='!!!') {iNBD='';} else {iNBD='<br />Precipitation&nbsp;last&nbsp;hour&nbsp;'+STNB+'&nbsp;mm';}
		if (STF=='!!!') {iFUKT='';} else {iFUKT='<br/>Humidity&nbsp;'+STF+'&nbsp;%';}
		if (STVR=='!!!') {iRIKT='';} else {
			getDirEng();
			iRIKT='<br/>Wind:&nbsp;&nbsp;direction&nbsp;'+STVR;
		}
		if ((STVB=='!!!') || (STVB=='---')) {iBYVIND='';} else {iBYVIND=',&nbsp;&nbsp;gust&nbsp;'+STVB+'&nbsp;m/s';}
		if (STVH=='!!!') {iHAST='';} else {iHAST=',&nbsp;&nbsp;speed&nbsp;'+STVH+'&nbsp;m/s';}
	}

	document.getElementById("WINFOSTATION").innerHTML='<p><b>Station&nbsp;'+STN+'&nbsp;'+STTime+'</b><br />Latitud&nbsp;'+STLA+',&nbsp;&nbsp;longitud&nbsp;'+STLO+iSTH+iTEMP+iNBD+iRIKT+iHAST+iBYVIND+iTRYCK+iFUKT+'</p>';
	if (lagerOn[5]!=1) {showHideLayers('WINFOSTATION');}
	viewStn(STN,STLA,STLO,'','','','');

	getXMLfil(nr);
}
function getDirEng() {
	if (STVR=='nord') {STVR="north";}
	else if (STVR=='nordost') {STVR="northeast";}
	else if (STVR=='ost') {STVR="east";}
	else if (STVR=='sydost') {STVR="southeast";}
	else if (STVR=='syd') {STVR="south";}
	else if (STVR=='sydv&auml;st') {STVR="southwest";}
	else if (STVR=='v&auml;st') {STVR="west";}
	else if (STVR=='nordv&auml;st') {STVR="northwest";}
	else if (STVR=='v&auml;xlande') {STVR="variable";}
}

lagerOn=new MakeArray(antLayer);
for (var iL=0; iL<antLayer; iL++) {
	lagerOn[iL]=0;
}

Lager=new MakeArray(antLayer);
Lager[0]='LUFTTRYCK';
Lager[1]='LUFTTEMP';
Lager[2]='NEDERBORD';
Lager[3]='VIND';
Lager[4]='LUFTFUKT';
Lager[5]='WINFOSTATION';
Lager[6]='InfoLUFTTRYCK';
Lager[7]='InfoLUFTTEMP';
Lager[8]='InfoNEDERBORD';
Lager[9]='InfoVIND';
Lager[10]='InfoLUFTFUKT';
Lager[11]='chartTemp';
Lager[12]='chartVind';
Lager[13]='chartNbd';
Lager[14]='WINFOBUTTON';
Lager[15]='InfoKlick';

function getXMLfil(nr) {
	var xmlTemp,xmlVind,xmlNbd;

	if (lagerOn[11]==2){layerTemp.style.left="-1500px";lagerOn[11]=0;}
	if (lagerOn[12]==2){layerVind.style.left="-1500px";	lagerOn[12]=0;}
	if (lagerOn[13]==2){layerNbd.style.left="-1500px";lagerOn[13]=0;}
	
	// Hämta xmlfil temp
	if (STLT!='!!!') {
		xmlTemp=URL_OBSERVATIONER+"obsGrafTemp"+IDNR+XMLEND;
		myConnTemp.connect(xmlTemp, "POST", "foo=bar&baz=qux", fnWhenDoneTemp);
		lagerOn[11]=2;
	}

	// Hämta xmlfil vind
	if (STVH!='!!!') {
		xmlVind=URL_OBSERVATIONER+"obsGrafVind"+IDNR+XMLEND;
		myConnVind.connect(xmlVind, "POST", "foo=bar&baz=qux", fnWhenDoneVind);
		lagerOn[12]=2;
	}

	// Hämta xmlfil Nbd
	if (STNB!='!!!') {
		xmlNbd=URL_OBSERVATIONER+"obsGrafNbd"+IDNR+XMLEND;
		myConnNbd.connect(xmlNbd, "POST", "foo=bar&baz=qux", fnWhenDoneNbd);
		lagerOn[13]=2;
	}

	// Positionera knappar
	layerWINFOBUTTON.style.visibility="visible";
	lagerOn[14]=1;
}

function viewStn(sName,geo_lat,geo_long,varde1,enhet1,varde2,enhet2) {
	placeStn(geo_lat,geo_long,stnXBias,stnYBias);
	vMLeft=vMLeft/11; //px-->em
	vMTop=vMTop/11; //px-->em
	if(document.getElementById){
		if (language=="en"){
			sName=sName.replace(/flygplats/,"airport");
		}

		var layer1=document.getElementById("StnPos1");
		layer1.style.left = vMLeft+'em';
		layer1.style.top = vMTop+'em';
		layer1.style.visibility="visible";

		var PVAL1=subKomma(varde1);

		var layer2=document.getElementById("StnPos2");
		layer2.style.left ='1.36em';
		if (vMTop<12) {
			layer2.style.top = (vMTop+diff2)+'em';
		} else {
			layer2.style.top = (vMTop-diff1)+'em';
		}
		layer2.style.visibility="visible";

		if ((varde1=="") && (varde2=="")){
			layer2.innerHTML='<p>&nbsp;'+sName+'&nbsp;</p>';
		} else {
			if (varde2 == '!') {
				layer2.innerHTML='<p class="truta">'+sName+'<br />'+PVAL1+'&nbsp;'+enhet1+'</p>';
			} else {
				layer2.innerHTML='<p class="truta">'+sName+'<br />'+PVAL1+'&nbsp;'+enhet1+'&nbsp;'+varde2+'&nbsp;'+enhet2+'</p>';
			}
		}
	}
}

function showHideLayers(idLayer) {
	var ly,iL;
	if (lastLayerName!=idLayer){
		lastLayerName=idLayer;
		for (iL=0; iL<antLayer; iL++) {
			if (idLayer==Lager[iL]){
				ly=getObj(Lager[iL]);
				changePositionLayers(ly,3,0);
				lagerOn[iL]=1;
				if (iL<6){
					if (iL<5){	// Skifta kartlager
						ly=getObj('stnLayer'+Lager[iOldLayer]);
						ly.visibility="hidden";
						ly=getObj('stnLayer'+idLayer);
						ly.visibility="visible";
						iOldLayer=iL;
					}
					if (iL==0) {STTime=sTryckTid;stnText=textTryck;}
					else if(iL==1) {STTime=sTempTid;stnText=textTemp;}
					else if(iL==2) {STTime=sNbdTid;stnText=textNbd;}
					else if(iL==3) {STTime=sVindTid;stnText=textVind;}
					else if(iL==4) {STTime=sFuktTid;stnText=textFukt;}
					else if(iL==5) {ly.visibility="visible";}
				}
			} else if (lagerOn[iL]>0) {
				if (lagerOn[iL]==1) {
					ly=getObj(Lager[iL]);
					ly.visibility="hidden";
				} else if (lagerOn[iL]==2) {
					ly=getObj(Lager[iL]);
					ly.left="-1500px";
				}
				lagerOn[iL]=0;
			}
		}
		ly=getObj('StnPos1');
		ly.visibility="hidden";
		ly=getObj('StnPos2');
		ly.visibility="hidden";
		document.getElementById("Stndata").innerHTML='<p><b>&nbsp;&nbsp;&nbsp;'+stnText+'</b></p>';
	}
}

function START(){	// Kod för att explorer ska starta på rätt sätt
	layerWINFOBUTTON=document.getElementById("WINFOBUTTON");
	layerTemp=document.getElementById("chartTemp");
	layerVind=document.getElementById("chartVind");
	layerNbd=document.getElementById("chartNbd");
	showHideLayers('InfoKlick');
}

function thisMovie(movieName){
  if (navigator.appName.indexOf ("Microsoft") !=-1) {return window[movieName];
  } else {return document[movieName];}
}

function infNF(nr) {
	do {
		iPek=iPek+nr;
		if(iPek>antStn-1)iPek=0;
		if(iPek<0)iPek=antStn-1;
		si=Stn[iPek];
		si();		//function STNR24(){IDNR='24';STN='Norrköping';STLA=58.6;STLO=16.1;STH='34';STTP='998.5';STHBAR='35';STLT='5.7';STVR='syd';STVH='2';STVB='6';STF='81';STNB='0.0'};
		if (iOldLayer==0){param=STTP;}
		else if (iOldLayer==1){param=STLT;}
		else if (iOldLayer==2){param=STNB;}
		else if (iOldLayer==3){param=STVR;}
		else if (iOldLayer==4){param=STF;}
	} while (param == "!!!");
	infF(iPek);
}

function vTR(nr) {
	si=Stn[nr];
	si();
	viewStn(STN,STLA,STLO,STTP,'hPa','!','!');
}

function vTE(nr) {
	si=Stn[nr];
	si();
	viewStn(STN,STLA,STLO,STLT,'&deg;C','!','!');
}

function vNB(nr) {
	si=Stn[nr];
	si();
	viewStn(STN,STLA,STLO,STNB,'mm','!','!');
}

function vVI(nr) {
	si=Stn[nr];
	si();
	if(language=="en"){
		getDirEng();
	}
	viewStn(STN,STLA,STLO,STVR,'',STVH,'m/s');
}

function vFU(nr) {
	si=Stn[nr];
	si();
	viewStn(STN,STLA,STLO,STF,'%','!','!');
}

function makeStnLayer() {
	var si,param;
	var image=new Image();
	var bild=URL_CACHE_OBSERVATIONER+'punktbakgrund_gra.gif';
	for (var e1=0; e1<5; e1++) {
		document.write('<div id="stnLayer'+Lager[e1]+'" style="position:absolute; width:16.5em;height:41.15em; left:0em; top:0em; z-index:5; visibility:hidden;">');
		for (var e2=0; e2<antStn; e2++) {
			si=Stn[e2];
			si();
			if (e1==0){param=STTP;}
			else if (e1==1){param=STLT;}
			else if (e1==2){param=STNB;}
			else if (e1==3){param=STVR;}
			else if (e1==4){param=STF;}
			if (param != "!!!"){
				placeStn(STLA,STLO,stnXBias,stnYBias);
				vMLeft=vMLeft/11; //px-->em
				vMTop=vMTop/11; //px-->em
				document.write('<div onClick="infF('+e2+');"><img class="e0812162" src="'+bild+'" id="ie'+e2+'" style="position:absolute;top:'+vMTop+'em;left:'+vMLeft+'em;cursor:pointer;" alt="'+STN+'" title="'+STN+'"></div>');
			}
		}
		document.write('</div>');
	}
}

