//----------------------------------------------------------------------
// 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