~mortenoh/+junk/dhis2-detailed-import-export

« back to all changes in this revision

Viewing changes to dhis-2/dhis-web/dhis-web-gis/src/main/webapp/dhis-web-gis/javascript/map.js

  • Committer: larshelge at gmail
  • Date: 2009-03-03 16:46:36 UTC
  • Revision ID: larshelge@gmail.com-20090303164636-2sjlrquo7ib1gf7r
Initial check-in

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// JavaScript Document
 
2
 
 
3
var layer_actived;
 
4
var j = 0;
 
5
 
 
6
function exportRaster(){
 
7
 
 
8
var mapFileName = document.getElementById('mapFileName').value;
 
9
 
 
10
 
 
11
 
 
12
 window.open ("exportImage.action?mapFileName=" + mapFileName,"Exported Image", 'width=500,height=500,scrollbars=yes');
 
13
 
 
14
/*      
 
15
  var request = new Request();
 
16
  request.setResponseTypeXML( 'message' );
 
17
  request.setCallbackSuccess( showInfoDetailsRecieved);
 
18
  request.send( "exportImage.action" );
 
19
 
 
20
*/
 
21
                 
 
22
}
 
23
function exportExcel(){
 
24
 
 
25
        var mapFileName = document.getElementById('mapFileName').value; 
 
26
        var indicatorId = document.getElementById("indicatorIdS").value;
 
27
        var startDate = document.getElementById("startDateS").value;
 
28
        var endDate = document.getElementById("endDateS").value;
 
29
        
 
30
        var url = "exportExcel.action?mapFileName="+mapFileName+"&indicatorId="+indicatorId+"&startDate=" + startDate + "&endDate="+endDate+"";
 
31
        //alert(url);
 
32
 window.open (url,"Exported Excel", 'width=500,height=500,scrollbars=yes');
 
33
                 
 
34
}
 
35
 
 
36
function readNode(node){
 
37
        
 
38
        var buffer ="";
 
39
        
 
40
        buffer += readAttributes(node);
 
41
        var nodeName = node.nodeName;
 
42
        var childNodes  = node.childNodes;
 
43
        
 
44
        if(childNodes!=null){
 
45
                if(childNodes.length!=0){
 
46
                        for(i=0;i<childNodes.length;i++){
 
47
                                var childNode = childNodes.item(i);
 
48
                                buffer+=readNode(childNode);            
 
49
                        }       
 
50
                        buffer+="</" + nodeName + ">\n";
 
51
                }
 
52
        }
 
53
        
 
54
        return buffer;
 
55
        
 
56
}
 
57
 
 
58
function readAttributes(node){
 
59
        var nodeName = node.nodeName;
 
60
        var buffer = "<" +nodeName;
 
61
        var listAttribute = node.attributes;
 
62
        if(listAttribute!=null){
 
63
                for(i=0;i<listAttribute.length;i++){
 
64
                        var attribute = listAttribute.item(i);
 
65
                        buffer+=  " " + attribute.name + "=" + "\""  + attribute.nodeValue + "\"";
 
66
                }
 
67
        }
 
68
        
 
69
        buffer+=">";
 
70
        
 
71
        return buffer;
 
72
}
 
73
 
 
74
 
 
75
 
 
76
function zoomIn(){
 
77
         var svg = document.embeds['map'].getSVGDocument().getElementsByTagName('svg');
 
78
         svg = svg.item(0);     
 
79
         var currenZoom = new Number(svg.getAttribute('width').replace("%",""));        
 
80
         currenZoom+=10;
 
81
         svg.setAttributeNS(null, "width", currenZoom+"%");
 
82
         svg.setAttributeNS(null, "height", currenZoom+"%");
 
83
}
 
84
function zoomOut(){
 
85
         var svg = document.embeds['map'].getSVGDocument().getElementsByTagName('svg');
 
86
         svg = svg.item(0);     
 
87
         var currenZoom = new Number(svg.getAttribute('width').replace("%",""));        
 
88
         currenZoom-=10;
 
89
         svg.setAttributeNS(null, "width", currenZoom+"%");
 
90
         svg.setAttributeNS(null, "height", currenZoom+"%");
 
91
}
 
92
 
 
93
function retoreZoom(){
 
94
         var svg = document.embeds['map'].getSVGDocument().getElementsByTagName('svg'); 
 
95
         svg = svg.item(0);     
 
96
         svg.setAttributeNS(null, "width", "100%");
 
97
         svg.setAttributeNS(null, "height", "100%");
 
98
}
 
99
function showlayer(checkbox, element_id){     
 
100
 
 
101
           var svgobj = document.embeds['map'].getSVGDocument().getElementById(element_id);
 
102
 
 
103
                if (!checkbox.checked){
 
104
 
 
105
                svgobj.setAttributeNS(null,'visibility','hidden');
 
106
 
 
107
            } else {
 
108
 
 
109
                svgobj.setAttributeNS(null,'visibility','visible');                           
 
110
 
 
111
                var radio_id = checkbox.id.replace('check', 'radio'); 
 
112
                
 
113
                        document.getElementById(radio_id).checked = true;
 
114
                        
 
115
                        activelayer(element_id);
 
116
 
 
117
                }
 
118
 
 
119
}
 
120
 
 
121
function activelayer(element_id){
 
122
 
 
123
                var element = document.embeds['map'].getSVGDocument().getElementById(element_id);       
 
124
 
 
125
                element.parentNode.appendChild(element);                
 
126
                
 
127
                setAction(element_id);
 
128
 
 
129
                this.layer_actived=element_id;
 
130
 
 
131
                //getColorDefaut(this.layer_actived);
 
132
 
 
133
        /*      if(element_id=='hcmc1'){        
 
134
 
 
135
                        removeEventForElement('csyt');
 
136
 
 
137
                        removeEventForElement('dgt');
 
138
 
 
139
                }else if(element_id=='csyt'){
 
140
 
 
141
                        removeEventForElement('hcmc1');
 
142
 
 
143
                        removeEventForElement('dgt');
 
144
 
 
145
                }else{
 
146
 
 
147
                        removeEventForElement('csyt');
 
148
 
 
149
                        removeEventForElement('hcmc1');
 
150
 
 
151
                }               
 
152
*/
 
153
                
 
154
 
 
155
}
 
156
var lastFearureChoise;
 
157
var lastClickFill;
 
158
function selectedFeature(featureCode){
 
159
        if(featureCode!=""){
 
160
                var element =document.embeds['map'].getSVGDocument().getElementById(layer_actived);     
 
161
                var nodeList = element.getElementsByTagName('polygon');
 
162
                        for(var i=0;i<nodeList.length;i++){
 
163
                                g_element = nodeList.item(i);
 
164
                                var id = g_element.getAttribute("id");
 
165
                                if(featureCode==id){
 
166
                                        lastClickFill = g_element.getAttribute("fill");
 
167
                                        g_element.setAttributeNS(null, "fill", "red");
 
168
                                        lastFearureChoise = featureCode;
 
169
                                        
 
170
                                }
 
171
                                
 
172
                        }
 
173
        }
 
174
        
 
175
}
 
176
 
 
177
function changeAction(element_id){
 
178
        
 
179
        var element =document.embeds['map'].getSVGDocument().getElementById(element_id);        
 
180
        var nodeList = element.getElementsByTagName('polygon');
 
181
        for(var i=0;i<nodeList.length;i++){
 
182
                g_element = nodeList.item(i);
 
183
                g_element.removeEventListener("mouseover", showInfo, false);
 
184
                g_element.removeEventListener("mouseout", hiddenInfo, false);
 
185
                g_element.addEventListener("click", getInfo, false);
 
186
        }
 
187
        this.layer_actived=element_id;
 
188
}
 
189
 
 
190
function nonSelect(element_id){
 
191
        var element =document.embeds['map'].getSVGDocument().getElementById(element_id);        
 
192
        var nodeList = element.getElementsByTagName('polygon');
 
193
        for(var i=0;i<nodeList.length;i++){
 
194
                g_element = nodeList.item(i);   
 
195
                
 
196
                var id = g_element.getAttribute("id");
 
197
                if(lastFearureChoise==id){
 
198
                        g_element.setAttributeNS(null, "fill", lastClickFill);
 
199
                }
 
200
                
 
201
        }
 
202
}
 
203
 
 
204
function getInfo(evt){
 
205
        var target = evt.target;        
 
206
        if(lastFearureChoise){
 
207
                nonSelect(layer_actived);
 
208
        }
 
209
        
 
210
        
 
211
        if(layer_actived=="polyline"){
 
212
                  target.setAttributeNS(null, "stroke", stroke);
 
213
                  target.setAttributeNS(null, "stroke-width",stroke_width);
 
214
        }else{
 
215
                lastClickFill = target.getAttribute("fill");
 
216
                target.setAttributeNS(null, "fill", "red");
 
217
                var orgCode = target.getAttribute("id");
 
218
                lastFearureChoise = orgCode;
 
219
                document.getElementById('organisationUnitCode').value = orgCode;
 
220
                
 
221
        }
 
222
        
 
223
}
 
224
 
 
225
 
 
226
function removeAction(element_id){
 
227
 
 
228
        var element =document.embeds['map'].getSVGDocument().getElementById(element_id);        
 
229
        var nodeList = element.getElementsByTagName('polygon');
 
230
        for(var i=0;i<nodeList.length;i++){
 
231
                g_element = nodeList.item(i);
 
232
                g_element.removeEventListener("mouseover", showInfo, false);
 
233
                g_element.removeEventListener("mouseout", hiddenInfo, false);
 
234
        }
 
235
}
 
236
 
 
237
function setAction(element_id){
 
238
        //activelayer(element_id);
 
239
        var element =document.embeds['map'].getSVGDocument().getElementById(element_id);
 
240
        var nodeList = element.getElementsByTagName('polygon');
 
241
        for(var i=0;i<nodeList.length;i++){
 
242
                        g_element = nodeList.item(i);
 
243
                        g_element.addEventListener("mouseover", showInfo, false);
 
244
                        //g_element.addEventListener("click", showInfo, false);
 
245
                        g_element.addEventListener("mouseout", hiddenInfo, false);
 
246
        }       
 
247
        if(element_id=="polygon"){
 
248
                removeAction("polyline");
 
249
                removeAction("point");
 
250
        }else if(element_id=="polyline"){
 
251
                removeAction("polygon");
 
252
                removeAction("point");
 
253
        }else{
 
254
                removeAction("polygon");
 
255
                removeAction("polyline");
 
256
        }
 
257
        
 
258
}
 
259
var fill, stroke, stroke_width;
 
260
function hiddenInfo(evt){
 
261
        var target = evt.target;
 
262
        if(layer_actived=="polyline"){
 
263
                  target.setAttributeNS(null, "stroke", stroke);
 
264
                  target.setAttributeNS(null, "stroke-width",stroke_width);
 
265
        }else{
 
266
                target.setAttributeNS(null, "fill", fill);
 
267
        }
 
268
        
 
269
}
 
270
 
 
271
function showInfo(evt){
 
272
 
 
273
        var target = evt.target;        
 
274
 
 
275
        var name = target.getAttribute("attrib:district");
 
276
        
 
277
        var orgCode = target.getAttribute("id");
 
278
        
 
279
        var x = evt.clientX ;
 
280
        
 
281
        var y = evt.clientY ;
 
282
        
 
283
        
 
284
        
 
285
        fill = target.getAttribute("fill");
 
286
        stroke = target.getAttribute("stroke");
 
287
        stroke_width = target.getAttribute("stroke-width");
 
288
        if(layer_actived=="polyline"){
 
289
                  target.setAttributeNS(null, "stroke", "red");
 
290
                  target.setAttributeNS(null, "stroke-width", "200");
 
291
        }else{
 
292
                target.setAttributeNS(null, "fill", "#67F906");
 
293
                //showInfoDetails(orgCode);
 
294
        }
 
295
        
 
296
        
 
297
        
 
298
}
 
299
 
 
300
 
 
301
<!-- Ajax ---->
 
302
function showInfoDetails( orgCode )
 
303
{
 
304
  var request = new Request();
 
305
  request.setResponseTypeXML( 'organisationUnit' );
 
306
  request.setCallbackSuccess( showInfoDetailsRecieved);
 
307
  request.send( 'showInfoDetails.action?orgCode=' + orgCode );
 
308
}
 
309
function showInfoDetailsRecieved( mapObject )
 
310
{       
 
311
        var name = getElementValue(mapObject, "name");
 
312
        var shortName = getElementValue(mapObject,"shortName");
 
313
        var comment = getElementValue(mapObject,"comment");
 
314
        
 
315
        document.getElementById('name').innerHTML=name;
 
316
        document.getElementById('comment').innerHTML=comment;
 
317
 
 
318
}
 
319
 
 
320
function getElementValue( parentElement, childElementName )
 
321
{       
 
322
    var textNode = parentElement.getElementsByTagName( childElementName )[0].firstChild;
 
323
 
 
324
    if ( textNode )
 
325
    {
 
326
        return textNode.nodeValue;
 
327
    }
 
328
    else
 
329
    {
 
330
        return null;
 
331
    }
 
332
}
 
333
//---------get DataElement-------------------------
 
334
function getDataElementsByDataSet(dataSetId){   
 
335
        var request = new Request();
 
336
        request.setResponseTypeXML( 'dataElements' );
 
337
    request.setCallbackSuccess( getDataElementByDataSetRecieved);
 
338
    request.send( 'getDataElement.action?dataSetId=' + dataSetId );
 
339
}
 
340
function getDataElementByDataSetRecieved(dataElements){
 
341
        var dataElements = dataElements.getElementsByTagName("dataElement");
 
342
        var selectedDataElement = document.getElementById("selectedDataElementId");
 
343
        var innerHTML = "<option value='null'>-----------------</option>";
 
344
        for(var i=0;i<dataElements.length;i++){
 
345
                var dataElement = dataElements.item(i);
 
346
                var id = dataElement.getElementsByTagName('id')[0].firstChild.nodeValue;
 
347
                var name =  dataElement.getElementsByTagName('name')[0].firstChild.nodeValue;
 
348
                innerHTML += "<option value="+id+">"+name+"</option>";
 
349
        }
 
350
        selectedDataElement.innerHTML = innerHTML;
 
351
}
 
352
//-----------getAllPeriodsType------------------------------------------------
 
353
function getPeriodTypes(){
 
354
        var request = new Request();
 
355
        request.setResponseTypeXML( 'periodTypes' );
 
356
    request.setCallbackSuccess( getPeriodTypesRecieved);
 
357
    request.send( 'getPeiodTypes.action');
 
358
}
 
359
function getPeriodTypesRecieved(periodTypes){
 
360
        var periodTypes = periodTypes.getElementsByTagName("periodType");
 
361
        var periodTypeId = document.getElementById("periodTypeId");
 
362
        var innerHTML = "<option value='null'>-----------------</option>";
 
363
        for(var i=0;i<periodTypes.length;i++){
 
364
                var periodType = periodTypes.item(i);
 
365
                var id = periodType.getElementsByTagName('id')[0].firstChild.nodeValue;
 
366
                var name =  periodType.getElementsByTagName('name')[0].firstChild.nodeValue;
 
367
                innerHTML += "<option value="+id+">"+name+"</option>";
 
368
        }
 
369
        periodTypeId.innerHTML = innerHTML;
 
370
}
 
371
 
 
372
//-----------getPeriodByPeriodTypes------------------------------------------------
 
373
function getPeriodByPeriodType(periodTypeId){
 
374
        //alert(periodTypeName);
 
375
        var request = new Request();
 
376
        request.setResponseTypeXML( 'periods' );
 
377
    request.setCallbackSuccess( getPeriodByPeriodTypeRecieved);
 
378
    request.send( "getPeriods.action?periodTypeId=" + periodTypeId);
 
379
}
 
380
function getPeriodByPeriodTypeRecieved(periods){
 
381
        var periodList = periods.getElementsByTagName("period");
 
382
        var periodSelect = document.getElementById("selectedPeriod");
 
383
        
 
384
        var innerHTML = "";
 
385
        for(var i=0;i<periodList.length;i++){
 
386
                var period = periodList.item(i);                
 
387
                var id = period.getElementsByTagName('id')[0].firstChild.nodeValue;
 
388
                var name =  period.getElementsByTagName('name')[0].firstChild.nodeValue;
 
389
                //alert(name);
 
390
                innerHTML += "<option value="+id+">"+name+"</option>";
 
391
        }
 
392
        periodSelect.innerHTML = innerHTML;
 
393
}
 
394
 
 
395
//-----------Fill Map------------------------------------------------
 
396
 
 
397
function fillMap(){
 
398
        
 
399
        //window.alert("sfddgfs");
 
400
        
 
401
        var orgUnitId = document.getElementById("orgUnit").value;
 
402
        var periodId = document.getElementById("selectedPeriodId").value;
 
403
        var selectedDataElementId = document.getElementById("selectedDataElementId").value;
 
404
        
 
405
        var url = "fillMap.action?orgUnitId="+orgUnitId+"&periodId="+periodId+"&selectedDataElementId="+selectedDataElementId;
 
406
        
 
407
        var request = new Request();
 
408
        request.setResponseTypeXML( 'features' );
 
409
    request.setCallbackSuccess( fillMapRecieved);
 
410
    request.send( url);
 
411
        
 
412
}
 
413
 
 
414
function fillMapRecieved(features){
 
415
        
 
416
        var featureList = features.getElementsByTagName("feature");
 
417
        
 
418
        var legendList = features.getElementsByTagName("legend");
 
419
        
 
420
        //var section = features.getElementsByTagName("section");
 
421
        var innerHTML ="<legend>Legend</legend>";
 
422
                innerHTML+="<table width='100%' border='0'>";   
 
423
                innerHTML+="<tr align='center'>";       
 
424
                innerHTML+="<td>Color</td>"
 
425
                innerHTML+="<td></td>"
 
426
                innerHTML+="<td>Min</td>"
 
427
                innerHTML+="<td></td>"
 
428
                innerHTML+="<td>Max</td>"
 
429
                innerHTML+="</tr>";     
 
430
                for(var i=0;i<legendList.length;i++){   
 
431
                        var legend = legendList.item(i);
 
432
                        innerHTML+="<tr align='center'>";
 
433
                        var color = legend.getElementsByTagName('color')[0].firstChild.nodeValue;
 
434
                        var minValue = legend.getElementsByTagName('min')[0].firstChild.nodeValue;
 
435
                        var maxValue = legend.getElementsByTagName('max')[0].firstChild.nodeValue;
 
436
                        innerHTML+="<td width='50%' bgcolor='#"+color+"'>&nbsp;&nbsp;</td>";
 
437
                        innerHTML+="<td width='10%'>&nbsp;</td>";
 
438
                        innerHTML+="<td width='19%'>" + minValue + "</td>";
 
439
                        innerHTML+="<td width='2%'>-</td>";
 
440
                        innerHTML+="<td width='19%'>" + maxValue + "</td>";
 
441
                        innerHTML+="</tr>";
 
442
                }                       
 
443
        innerHTML+="</table>";  
 
444
        document.getElementById('legend').style.display="block";
 
445
        document.getElementById('legend').innerHTML = innerHTML;
 
446
        for(var i=0;i<featureList.length;i++){
 
447
                var feature = featureList.item(i);
 
448
                var orgCode = feature.getElementsByTagName('orgCode')[0].firstChild.nodeValue;
 
449
                var color =  feature.getElementsByTagName('color')[0].firstChild.nodeValue;     
 
450
                var value = feature.getElementsByTagName('value')[0].firstChild.nodeValue;      
 
451
                showLabel(orgCode,value);
 
452
                fillColor(orgCode,color);
 
453
        }
 
454
        
 
455
        document.getElementById('image').disabled = false;
 
456
        document.getElementById('excel').disabled = false;
 
457
        showHideAll('divunder');
 
458
        showHideAll('alert');
 
459
        
 
460
}
 
461
 
 
462
function fillColor(orgCode,color){
 
463
        var element =document.embeds['map'].getSVGDocument().getElementById('polygon'); 
 
464
        
 
465
        var nodeList = element.getElementsByTagName('polygon');
 
466
        for(var i=0;i<nodeList.length;i++){
 
467
                polygon = nodeList.item(i);             
 
468
                //polygon.addEventListener("click", showIndicatorValue, false);
 
469
                var id = polygon.getAttribute("id");
 
470
                if(id==orgCode){
 
471
                        polygon.setAttributeNS(null, "fill", color);    
 
472
                        
 
473
                }
 
474
                
 
475
        }
 
476
        
 
477
}
 
478
 
 
479
function showIndicatorValue(){
 
480
        //var element =document.embeds['map'].getSVGDocument().getElementById('polygon');
 
481
        alert(1);
 
482
}
 
483
function showLabel(orgCode,value){
 
484
        var element =document.embeds['map'].getSVGDocument().getElementById('label');   
 
485
        //alert(element);
 
486
        
 
487
                var nodeList = element.getElementsByTagName('text');
 
488
                for(var i=0;i<nodeList.length;i++){
 
489
                        text = nodeList.item(i);
 
490
                        var id = text.getAttribute("id");
 
491
                        if(id==orgCode){
 
492
                                var lable = text.firstChild.nodeValue.split(":");       
 
493
                                var newText = "";
 
494
                                if(lable.length==1){
 
495
                                        newText = text.firstChild.nodeValue + ":" + value;
 
496
                                }else{
 
497
                                        newText = lable[0] + ":" + value;
 
498
                                }
 
499
                                
 
500
                                text.firstChild.nodeValue = newText;
 
501
                        }
 
502
                }
 
503
        
 
504
        
 
505
}
 
506
 
 
507
 
 
508
function getIndicatorByGroup(groupId){
 
509
        var request = new Request();
 
510
        request.setResponseTypeXML( 'indicators' );
 
511
    request.setCallbackSuccess( responseGetIndicatorByGroup);
 
512
    request.send( "getIndicatorByGroup.action?indicatorGroupId=" + groupId);
 
513
}
 
514
function responseGetIndicatorByGroup(indicators){
 
515
        var indicatorList = indicators.getElementsByTagName("indicator");
 
516
        var indicatorId = document.getElementById("indicatorId");
 
517
        var innerHTML = "<option value='null'>-----------------</option>";
 
518
        for(var i=0;i<indicatorList.length;i++){
 
519
                var indicator = indicatorList.item(i);
 
520
                var id = indicator.getElementsByTagName('id')[0].firstChild.nodeValue;
 
521
                var name =  indicator.getElementsByTagName('name')[0].firstChild.nodeValue;
 
522
                innerHTML += "<option value="+id+">"+name+"</option>";
 
523
        }
 
524
        indicatorId.innerHTML = innerHTML;
 
525
}
 
526
 
 
527
function getIndicatorByIndicatorGroup(groupId){
 
528
        var request = new Request();
 
529
        request.setResponseTypeXML( 'indicators' );
 
530
    request.setCallbackSuccess( responseGetIndicatorByIndicatorGroup);
 
531
    request.send( "getIndicatorByGroup.action?indicatorGroupId=" + groupId);
 
532
}
 
533
function responseGetIndicatorByIndicatorGroup(indicators){
 
534
        var indicatorList = indicators.getElementsByTagName("indicator");
 
535
        var indicatorId = document.getElementById("indicatorIdS");
 
536
        var innerHTML = "";
 
537
        for(var i=0;i<indicatorList.length;i++){
 
538
                var indicator = indicatorList.item(i);
 
539
                var id = indicator.getElementsByTagName('id')[0].firstChild.nodeValue;
 
540
                var name =  indicator.getElementsByTagName('name')[0].firstChild.nodeValue;
 
541
                innerHTML += "<option value="+id+">"+name+"</option>";
 
542
        }
 
543
        indicatorId.innerHTML = innerHTML;
 
544
}
 
545
 
 
546
 
 
547
 
 
548
 
 
549
 
 
550
 
 
551
 
 
552
function searchIndicators(){
 
553
                
 
554
        
 
555
        var indicatorId = document.getElementById("indicatorIdS").value;        
 
556
        var beginValue = document.getElementById('beginValue').value;
 
557
        var endValue = document.getElementById('endValue').value;
 
558
        
 
559
        var str = "";
 
560
        if (indicatorId=='null' || indicatorId=='')
 
561
        {
 
562
                str += "You must select an indicator! \n";
 
563
                document.getElementById('endDateS').focus();
 
564
        }
 
565
        
 
566
        
 
567
        if (document.getElementById("orgUnit").value=='')
 
568
        {
 
569
                str += "You must select an organisation unit in the tree on the left hand side! \n";            
 
570
        }
 
571
        var periodId = document.getElementById("selectedPeriod").value;
 
572
                
 
573
                if(periodId==''){
 
574
                        str += "You must select an period\n";           
 
575
                }
 
576
        var getIndicatorFrom = document.getElementById("getIndicatorFromId").value;
 
577
        
 
578
        if(getIndicatorFrom=='aggregation_service'){    
 
579
                var url = "fillMapByIndicator.action?indicatorId="+indicatorId+"&periodId="+periodId +"&valueBegin="+beginValue+"&valueEnd="+endValue;
 
580
        }else{          
 
581
                var url = "fillMapByIndicatorGetFromAgg.action?indicatorId="+indicatorId+"&periodId="+periodId +"&valueBegin="+beginValue+"&valueEnd="+endValue;
 
582
        }
 
583
        
 
584
        if (str!='')    
 
585
        {
 
586
                alert(str);
 
587
                return false;
 
588
        }
 
589
        
 
590
        refreshColor("#CCCCCC");
 
591
        
 
592
        showHideAll('divunder');
 
593
        showCenter('alert');
 
594
        
 
595
        var request = new Request();
 
596
        request.setResponseTypeXML( 'features' );
 
597
    request.setCallbackSuccess( fillMapRecieved);
 
598
    request.send( url);
 
599
}
 
600
 
 
601
function refreshColor(color){
 
602
        var element =document.embeds['map'].getSVGDocument().getElementById('polygon'); 
 
603
        //window.alert(color);
 
604
//      alert(element);
 
605
        var nodeList = element.getElementsByTagName('polygon');
 
606
        for(var i=0;i<nodeList.length;i++){
 
607
                polygon = nodeList.item(i);             
 
608
                polygon.setAttributeNS(null, "fill", color);
 
609
        }
 
610
        
 
611
}
 
612
 
 
613
function addMapFile(){
 
614
        
 
615
        var mapFileName = document.getElementById("mapFileName").value;
 
616
        var request = new Request();
 
617
        request.setResponseTypeXML( 'message' );
 
618
    request.setCallbackSuccess( addMapFileSuccess);
 
619
    request.send( "addMapFile.action?mapFileName=" + mapFileName );
 
620
        
 
621
        
 
622
}
 
623
 
 
624
function addMapFileSuccess(message){
 
625
        var message = message.firstChild.nodeValue;     
 
626
        document.getElementById( 'message' ).innerHTML = message;
 
627
        
 
628
}
 
629
 
 
630
function drillDown(){
 
631
        var organisationUnitCode = document.getElementById('organisationUnitCode').value;
 
632
        window.location = "drillDown.action?organisationUnitCode=" + organisationUnitCode;
 
633
}
 
634
 
 
635
function showCenter(id){
 
636
        var div = document.getElementById(id);
 
637
        var width = div.style.width;
 
638
        var height = div.style.height;
 
639
        var x = (document.documentElement.clientHeight / 2) - new Number(height.replace('px','')/2);
 
640
        var y = (document.documentElement.clientWidth / 2) - new Number(width.replace('px',''))/2;      
 
641
        div.style.display = 'block';
 
642
        div.style.top = x +"px";
 
643
        div.style.left  = y +"px";      
 
644
        
 
645
}