//---------------------------------------------------------------------- // webmads.js - funktionalitet for index.aspx under webmads // udviklet af: // JO Informatik ApS, Allegade 2, 3000 Helsingor // (c) Copyright 2003,2004 JO Informatik ApS // http://www.jo-informatik.dk/ //---------------------------------------------------------------------- // &EXCEPTIONS='+exceptionType+' // *** Settings var objectStatusGeocoding = 20; var objectStatusNonGeocoding = 30; var viewerHeight = 545; var viewerWidth = 880; var jpegQlty = '60'; var exceptionType = 'application/vnd.ogc.se_inimage'; var wmsUrlOkort = 'https://webmads.gst.dk/mr.ashx?servicename=okort&'; var wmsUrl2Okort = 'SERVICE=WMS&BGCOLOR=0xFFFFFF&TRANSPARENT=true&COMPRESSIONQUALITY='+jpegQlty; var wmsUrlVectorData = 'https://webmads.gst.dk/kort/service.aspx?servicename=UTMwebmads&'; var wmsUrlVector2Data = 'SERVICE=WMS&BGCOLOR=0xFFFFFF&TRANSPARENT=false&COMPRESSIONQUALITY=70' var wmsImageFormatGifPng = 'image/jpeg'; //'image/gif'; var showAllMunis = true; var newMunis = [510,540,550,561,575,580,621]; // *** Messages var msg1 = 'Kortblad er ikke indtastet'; var msg2 = 'Parcelnr er ikke indtastet'; var msg3 = 'Journalnr er ikke indtastet'; var msg4 = 'Matrikelnummeret eksisterer ikke'; var msg5 = 'Der er ikke fundet markrids'; var msg6 = 'Ejerlav/kortblad kunne ikke bestemmes'; var msg7 = 'Økortdata er ikke tilgængelige. Økort vises derfor ikke.'; var msg8 = 'Ingen omfangspolygoner i det valgte punkt'; var msg9 = 'Der er ikke fundet måleblade for det pågældende journalnr'; var msg10 = 'Punktet registreres ikke, da der allerede er registreret to punkter.'; var msg11 = 'Det er ikke muligt at åbne popup vinduet med måldokumenter. \nHvis du har blokkeret for popups, skal indstillingen fjernes for denne side.\n\nBemærk venligst, at popup-blokkering kan være sat aktiv i browseren,\nmen kan også være sat aktiv andre steder fx i Google toolbar.' var msg12 = 'Fatal fejl: Kort kunne ikke hentes fra server.\nDet anbefales at afslutte programmet.'; // *** Global vars. DO NOT EDIT! var map1; var layerControl1; var inAction = false; var pointOutOkortButtonDown = false; var okortArray = new Array(); var okortKblArray = new Array(); var ixOkortKblArray = 0; var newIxOkortKblArray = 0; var prevOkort = 0; var nextOkort = 0; var editing = false; var wmlHandle = null; var comPtsCount = 0; var nw; var opModeTemp = 0; var winModalWindow; var okortAreaActive = false; var prevOkortActive = false; var nextOkortActive = false; var infoWindow; // ****************** LOAD / UNLOAD function onBodyLoad() { var wmsUrlVectorDataTemp = wmsUrlVectorData.replace(/KOMMUNENR/,knr); map1 = new mapservice(document.getElementById('mapdiv'),wmsUrlVectorDataTemp,'kommune,okort,okortpoly,matrikel,mmpoly','default,default,default,default,default,default','445000,6065000,580000,6158000',wmsImageFormatGifPng,'SERVICE=WMS&BGCOLOR=0xFFFFFF&TRANSPARENT=false&COMPRESSIONQUALITY=70&KNR=501&ENR=1550151&KBNR=1&FNR=O9002251'); map1.SetFullExtent(445000,6065000,580000,6158000); map1.srs = 'EPSG:25832'; map1.version = '1.1.1'; map1.fractionDigits = 2; map1.defaultBehaviour = new wmsBehaviour(2,2,0,false,true,false,false,40,10,50,5); map1.OnMouseMove = mouseMove; //map1.onmousedown = mapOnClick; map1.OnClick = onClickEvent; map1.OnRequestEnd = mapsDrawn; map1.OnMapServiceError = mapServiceError; map1.progressElement = document.getElementById('statusmsg'); cml = new cmlImg('xx','images/webmads_lillakom_700x490.jpg'); map1.AddCosmeticLayer(cml); layerControl1 = new layerControl('lc1','layercontrol.aspx',6,286,260,300,300); layerControl1.setLayerValues(0,'name=Skærmkort;maxScaleFactor=1000;minScaleFactor=2.80'); layerControl1.setLayerValues(1,'name=Matrikelkort;maxScaleFactor=2.35;minScaleFactor=0.01'); layerControl1.setLayerValues(2,'name=Måleblade/Markrids;maxScaleFactor=20;minScaleFactor=0.01'); layerControl1.setLayerValues(3,'name=Økortgrænser;maxScaleFactor=20;minScaleFactor=0.1'); //layerControl1.setLayerValues(4,'name=Fikspunkter;maxScaleFactor=2.80;minScaleFactor=0.01'); layerControl1.setLayerValues(5,'name=Økort'); layerControl1.layers[3].visible = false; map1.services[0].enabled[2] = false; layerControl1.layers[5].visible = true; map1.services[0].enabled[1] = true; layerControl1.OnModalClose = updateMap; map1.Show(); } function onBodyUnload() { if (nw) { nw.close(); } } // ****************** SILENT UPDATE function submitEvent(eventName,inputValue) { inAction = true; var eform = document.eventform; eform.eventName.value = eventName; eform.inputValue.value = inputValue; eform.method = 'post' eform.submit(); } function onRSC(ths) { var eframeDoc = document.frames['eventframe'].document; if (ths.readyState=='complete') { if (!eframeDoc.getElementById('gk_event')) { inAction = false; busyEnd(); alert('Fatal fejl: Data kunne ikke hentes'); } } } function doPostBack(eventName,inputValue) { try { if (!inAction) { switch (eventName) { case 'okortCoordTransform': break; case 'changeKommuneNy': document.getElementById('inputMatrnr').value = ''; break; case 'geoSearch': var selKnr = document.getElementById('selKommunerNy'); var komnr = selKnr.options[selKnr.selectedIndex].value if (komnr=='-1') { alert('Vælg en kommune'); return false; } var selElnr = document.getElementById('selEjerlav'); inputValue = komnr+','+selElnr.options[selElnr.selectedIndex].value+','+document.getElementById('inputMatrnr').value; break; case 'checkMarkrids': if (document.getElementById('inputKortblad').value=='') { alert(msg1); return false; } if (document.getElementById('inputParcel').value=='') { alert(msg2); return false; } var selElnr = document.getElementById('selEjerlav2'); inputValue = selElnr.options[selElnr.selectedIndex].value+','+document.getElementById('inputKortblad').value+','+document.getElementById('inputParcel').value; break; case 'checkMaaleblad': if (document.getElementById('inputJournalnr').value=='') { alert(msg3); return false; } var iV = document.getElementById('inputJournalnr').value; var pos = iV.indexOf('-'); if (pos<0) { alert('Fejl i Journalnr. Journalnr skal indeholde tegnet "-"'); return false; } var nr = iV.substr(pos+1,10); while (nr.length<4) { nr = '0' + nr; } iV = iV.substr(0,pos+1) + nr; inputValue = iV; break; case 'findInMap': document.getElementById('inputParcel').value = ''; // r001 with (map1) { inputValue = '0;'+MousePosX+';'+MousePosY+';'+height+';'+width+';'+xmin+','+ymin+','+xmax+','+ymax; } break; case 'findMMInMap': with (map1) { inputValue = knr+';'+MousePosX+';'+MousePosY+';'+height+';'+width+';'+xmin+','+ymin+','+xmax+','+ymax; } break; case 'okortKblData': inputValue = okortKblArray[inputValue][0] + ';' + okortKblArray[inputValue][1]; //ejerlav;kortbladnummer break; default: return false; } busyStart(); submitEvent(eventName,inputValue); } } catch (e) {alert(e.message)} } function updateHtml() { try { if (isNav()) { var eframeDoc = document.getElementById('eventframe').contentDocument; } else { var eframeDoc = document.frames['eventframe'].document; } if (eframeDoc.getElementById('gk_event')) { var eventName = eframeDoc.getElementById('gk_event').value; if (eventName=='okortCoordTransform') { var cx = parseInt(eframeDoc.getElementById('okortTransXOut').innerHTML); var cy = parseInt(eframeDoc.getElementById('okortTransYOut').innerHTML); openPDFCallback(-cx,cy); } if (eventName=='changeKommune') { moveList('selEjerlav',eframeDoc); } if (eventName=='changeKommuneNy') { moveList('selEjerlav',eframeDoc); } if (eventName=='geoSearch') { if (eframeDoc.getElementById('xmin')) { var x1 = parseInt(eframeDoc.getElementById('xmin').innerHTML); var y1 = parseInt(eframeDoc.getElementById('ymin').innerHTML); var x2 = parseInt(eframeDoc.getElementById('xmax').innerHTML); var y2 = parseInt(eframeDoc.getElementById('ymax').innerHTML); /* if (eframeDoc.getElementById('knrOld')) { knr = parseInt(eframeDoc.getElementById('knrOld').innerHTML); var wmsUrlVectorDataTemp = wmsUrlVectorData.replace(/KOMMUNENR/,knr); map1.services[0].url = wmsUrlVectorDataTemp; } */ map1.SetView(x1,y1,x2,y2); setOkortAreaActive(false); resetSearchArea(); //document.getElementById('test').innerHTML = 's0:'+map1.services[0].lastURL+'
'+'s1:'+map1.services[1].lastURL; } else { if (eframeDoc.getElementById('error')) { var ecode = eframeDoc.getElementById('error').innerHTML; if (ecode=='-1') { alert('Matrikelopslag via Datafordeleren mislykkedes.\nPrøv senere eller zoom selv til ønsket matrikel.'); //alert('test' + document.getElementById('test').innerHTML); } if (ecode=='1') { alert('Matrikelnummer blev ikke fundet'); } if (ecode=='2') { alert('Kommunens boundingbox blev ikke fundet'); } } } } if (eventName=='checkMarkrids') { if (eframeDoc.getElementById('markrids').innerHTML!='') { var selElnr = document.getElementById('selEjerlav2'); var url = 'webmadsviewer.aspx?MODE='+mode+'&ENR='+selElnr.options[selElnr.selectedIndex].value+'&KBNR='+document.getElementById('inputKortblad').value+'&PNR='+document.getElementById('inputParcel').value; nw = window.open(url,'webmadsviewerwindow','width='+viewerWidth+',height='+viewerHeight+',top=100,left=50'); if (nw) { if (nw.opener==null) { nw.opener = self; } nw.focus(); } else { alert(msg11); } } else { alert(msg5) } } if (eventName=='checkMaaleblad') { if (eframeDoc.getElementById('maaleblad').innerHTML!='') { // var url = 'webmadsviewer.aspx?MODE='+mode+'&JNR='+document.getElementById('inputJournalnr').value; var jnr = eframeDoc.getElementById('journalnr').innerHTML; var url = 'webmadsviewer.aspx?MODE='+mode+'&JNR='+jnr; nw = window.open(url,'webmadsviewerwindow','width='+viewerWidth+',height='+viewerHeight+',top=100,left=50'); if (nw) { if (nw.opener==null) { nw.opener = self; } nw.focus(); } else { alert(msg11); } } else { alert(msg9) } } if (eventName=='findInMap') { if (eframeDoc.getElementById('error')) { alert(msg6); } else { if (eframeDoc.getElementById('okortlist').childNodes[0].childNodes.length>0) { var t = eframeDoc.getElementById('okortlist'); okortKblArray.length = 0; for (var ix=0;ix0) { var t = eframeDoc.getElementById('okortdata'); okortArray.length = 0; for (var ix=0;ix0) { var t = eframeDoc.getElementById('okortdata'); okortArray.length = 0; for (var ix=0;ix0) { // Der findes et 'forrige' prevImg.src = 'images/arrowBack1.gif'; spanPrev.style.color = '#000000'; } else { prevImg.src = 'images/arrowBack2.gif'; spanPrev.style.color = '#BBBBBB'; } if ((idx+1)= 0) && (newIxOkortKblArray < arrayLength)){ doPostBack('okortKblData',newIxOkortKblArray); } } function isNav() { return (navigator.appName == "Netscape") } function emptyList(listName) { var list = document.getElementById(listName); while (list.options.length) { list.options[0] = null; } } function fillList(listName,_id,optionText,optionValue) { with (document.getElementById(listName)) { options[_id] = new Option(); options[_id].text = optionText; options[_id].value = optionValue; } } function moveList(listName,contentFrameDoc) { emptyList(listName); var cnt = contentFrameDoc.getElementById(listName).options.length; for ( var i=0; i'+'s1:'+map1.services[1].lastURL; setSelectOption('selGeneration',okortArray[ix][0]); delkortSelect(okortArray[ix][0]); setSelectOption('selDelkort',okortArray[ix][1]); } } } function generationSelect() { emptyList('selGeneration'); var genTemp = ''; var cnt = 0; for (var ix=0;ix'; VmlPoint(vmlHandle,worldX,worldY); VmlClose(vmlHandle); vmlHandle = null; comPtsCount++; } } } else { if (pointOutOkortButtonDown) { doPostBack('findInMap',''); } if (map1.operationMode==5) { doPostBack('findMMInMap',''); } } } function btnOnClick(value,ths) { // if (!editing) { if (true) { if (pointOutOkortButtonDown) { updateButtonPointOutOkort(); } map1.operationMode = value; document.getElementById('zoomin').src = 'images/zoomin2.gif'; document.getElementById('zoomout').src = 'images/zoomout2.gif'; document.getElementById('pan').src = 'images/pan2.gif'; document.getElementById('pointer').src = 'images/pointer2.gif'; ths.src = 'images/'+ths.id+'1.gif'; } } function updateMap(lc) { if (lc.changed) { with (map1.services[0]) { /* enabled[0] = (lc.layers[0].visible+''=='true'); enabled[1] = (lc.layers[3].visible+''=='true'); enabled[2] = (lc.layers[1].visible+''=='true'); enabled[3] = (lc.layers[4].visible+''=='true'); enabled[4] = (lc.layers[2].visible+''=='true'); */ enabled[0] = (lc.layers[0].visible+''=='true'); enabled[1] = (lc.layers[5].visible+''=='true'); enabled[2] = (lc.layers[3].visible+''=='true'); enabled[3] = (lc.layers[1].visible+''=='true'); enabled[4] = (lc.layers[4].visible+''=='true'); enabled[5] = (lc.layers[2].visible+''=='true'); } // map1.services[0].visible = false; // map1.services[0].visible = (lc.layers[5].visible+''=='true'); map1.Show(); } } function mapsDrawn(ms) { // document.getElementById('test').innerHTML = 's0:'+map1.services[0].lastURL+'
'+'s1:'+map1.services[1].lastURL; var bol; with (ms) { var mapHeight = ymax-ymin; var mapWidth = xmax-xmin; var pixelSize = mapHeight/height; } document.getElementById('mapDim').innerHTML = 'Bredde x højde: '+mapWidth+'m x '+mapHeight+'m'; with (layerControl1) { for (var ix=0;ix