﻿// Written Comment :- Yousef  Faisal Al_okour
dojo.require("esri.map");
dojo.require("dijits.identify.Identify");
dojo.require("esri.toolbars.navigation");
dojo.require("dijit.TitlePane");
dojo.require("dijit.form.Slider");
dojo.require("dijit.form.Button");
dojo.require("dijit.Toolbar");
dojo.require("esri.tasks.find");
dojo.require("esri.tasks.geometry");
dojo.require("esri.toolbars.draw");
dojo.require("esri.tasks.identify");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.TabContainer");
dojo.require("esri.tasks.locator");

var build_toc = true;
var tocHTML = ""; //used to update the toc 
var visible = [];
var  identifyTask, identifyParams, symbol,layer2results;
var zoomExtent, zoomPoint;
zoomPoint = new esri.geometry.Point();
zoomExtent = new esri.geometry.Extent();
var datareader_lndusedisc;
var datareader_district;
var map, imgLayer, layer, pointtype, navToolbar, tb, handle, handle2, find, params, queryTask, area, query, doidentify = 0;
var bufferInfo = false;
var layersLoaded = 0;
var loading, initial_extent;
var nmn;
try {
    function set_leg(nmn)
{
    document.getElementById("leg").src = "../Images/leg/" + nmn  + ".png";
}
// This Function To loaging Map Services And Building Layer List -TOC- (Function Name addToTOC) and Set Tool Setting (Function Name : navToolbar)
    function initialize() {
        loading = dojo.byId("loadingImg");  //loading image. id
        esri.config.defaults.map.slider = { left: "10px", top: "70px", width: null, height: "200px" };

        var initialExtent = new esri.geometry.Extent(199253.90244, 107239.910449756, 272190.37616, 172639.543073821, new esri.SpatialReference({ wkid: 28191 }));
        initial_extent = initialExtent;
        map = new esri.Map("map_div", { extent: initialExtent });

        dojo.connect(map, "onLoad", hideLoading);
        dojo.connect(map, "onZoomStart", showLoading);
        dojo.connect(map, "onPanStart", showLoading);
        dojo.connect(map, "onMouseMove", showCoordinates);

        imgLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.ammancitygis.gov.jo/ok/rest/services/image2011/MapServer");
        layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.ammancitygis.gov.jo/ok/rest/services/public1/MapServer");

        map.addLayer(imgLayer);
        map.addLayer(layer);
        
        if(build_toc)
            addToTOC(layer, true);
        tb = new esri.toolbars.Draw(map);
        dojo.connect(layer, "onUpdate", hideLoading);
        dojo.connect(imgLayer, "onUpdate", hideLoading);

        showImage(false);

        navToolbar = new esri.toolbars.Navigation(map);
        find = new esri.tasks.FindTask("http://www.ammancitygis.gov.jo/ok/rest/services/public1/MapServer");
        params = new esri.tasks.FindParameters();
    }
    function addPointToMap(lon, lat) {
        var lon = 0.0;
        var lat = 0.0;
        lon =parseFloat( dojo.byId('Text5').value);
        lat =parseFloat( dojo.byId('Text6').value);
        var point = new esri.geometry.Point(lon, lat, map.spatialReference);
        var symbol = new esri.symbol.SimpleMarkerSymbol().setColor(new dojo.Color([0, 255, 0]));
        var graphic = new esri.Graphic(point, symbol);
        //  alert(map.extent.xmax);
        xMin = lon;
        yMin = lat;
        xMax = lon;
        yMax = lat;
        map.graphics.add(graphic);


        //        var newExtent = new esri.geometry.Extent();
        //        newExtent.xmin = xMin;
        //        newExtent.ymin = yMin;
        //        newExtent.xmax = xMax;
        //        newExtent.ymax = yMax;
        //        newExtent.spatialReference = new esri.SpatialReference({ wkid: 4326 });
        //        var finalExtent1 = new esri.geometry.Extent(newExtent.xmin - 50, newExtent.ymin - 50, newExtent.xmax + 50, newExtent.ymax + 50, new esri.SpatialReference({ wkid: 28191 }));
        //        // 
        var resultExtent = graphic._extent;
        var finalExtent = new esri.geometry.Extent(resultExtent.xmin - 250, resultExtent.ymin - 250, resultExtent.xmax + 250, resultExtent.ymax + 250, new esri.SpatialReference({ wkid: 28191 }));

        ////      map.setExtent(finalExtent1);
 map.setExtent(finalExtent); 
    }
    // This Function For Hide loading Images
    function hideLoading() {
        /*layersLoaded++;
        var xx = map.layerIds.length;
        if (layersLoaded === xx) {*/
            esri.hide(loading);
            /*layersLoaded = 0;
        }*/
        conectToLayer();
        dojo.byId("scalex").innerHTML = "<img src='../images/general/downarrow3.png'  style='width:8px; height:10px;  margin-right:3px;' />" + Math.round(convertExtentToScale()) + " : ";
    }

    function showImage(flag) {
        if (flag)
     imgLayer._setVisibility(true);
             
        else
            imgLayer._setVisibility(false);
    }

    // This Function For Display loading Images
    function showLoading() {
        esri.show(loading);
    }

    // return index of layer
    function getMapLayers() {
        var imgg, xx;
        var toclenght = getLayerIndex("مناطق أمانة عمان");
        for (var i = 0; i <= toclenght; i++) {
            xx = layer.layerInfos[i].name;

            alert(xx);
        }
        imgg = layer.layerInfos[0]; 
        for (var j = 0, jl = map.layerIds.length; j < jl; j++) {
            var currentLayer2 = map.getLayer(map.layerIds[j]);
            alert("id: " + currentLayer2.id + ", visible: " + currentLayer2.layerInfos[0].visible + ", opacity: " + currentLayer2.opacity);
        }
    }
    
    // Execute Query Task for a spicific passed Layer, outField, Where and Search text.
 function executeQuery(layerid, outField, searchtext, sqlwhere, pointtypeval) {
        pointtype = pointtypeval;
        queryTask = new esri.tasks.QueryTask("http://www.ammancitygis.gov.jo/ok/rest/services/public1/MapServer/" + layerid);
        if (layerid == getLayerIndex("مراكز الشوارع")) {
            queryTask = new esri.tasks.QueryTask("http://www.ammancitygis.gov.jo/ok/rest/services/ammanStreets/MapServer/0");
        }
        
        query = new esri.tasks.Query();
        query.returnGeometry = true;
        query.outFields = outField;
        query.where = sqlwhere;
        queryTask.execute(query, showResultsQuery);

    }
    var screenPoint1;
    
    /* Zoom to the 1st feature in the passed feature set and 
     displaying its information depending on the search type.*/
    function showResultsQuery(results) {
        map.graphics.clear();
        var graphic = results.features[0];
        
        if(graphic.geometry.type != null)
        {
            var finalExtent, resultExtent;
        
            switch (graphic.geometry.type) {
                case "point":
                    var font = new esri.symbol.Font("10pt", esri.symbol.Font.STYLE_NORMAL, esri.symbol.Font.VARIANT_NORMAL, esri.symbol.Font.WEIGHT_BOLDER, 'Serif');
                    var symbol = new esri.symbol.PictureMarkerSymbol('../images/general/starmark.png', 40, 40);
                    graphic.setSymbol(symbol);
                    map.graphics.add(graphic);
                    resultExtent = graphic._extent;
                    finalExtent = new esri.geometry.Extent(resultExtent.xmin - 50, resultExtent.ymin - 50, resultExtent.xmax + 50, resultExtent.ymax + 50, new esri.SpatialReference({ wkid: 28191 }));
                        
                    break;
                case "polyline":    
                    var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([144, 0, 0]), 4);
                    graphic.setSymbol(symbol);
                    map.graphics.add(graphic);
                    resultExtent = graphic._extent;
                    finalExtent = new esri.geometry.Extent(resultExtent.expand(2), new esri.SpatialReference({ wkid: 28191 }));
            
                    break;
                case "polygon":
                    var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_FORWARD_DIAGONAL, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([150, 1, 1]), 3), new dojo.Color([42, 255, 127, 0.55]));
                    graphic.setSymbol(symbol);
                    map.graphics.add(graphic);
                    resultExtent = graphic._extent;
                    finalExtent = resultExtent;//extentToScaleExtent(2500, resultExtent);
                    
                    if(graphic.attributes["SHAPE.AREA"]!=null)
                        area = graphic.attributes["SHAPE.AREA"];
                    if(graphic.attributes["DISTRICT_NUMBER"]!=null)
                        datareader_district = graphic.attributes["DISTRICT_NUMBER"];
                    if(graphic.attributes["LANDUSE_DESC"]!=null)
                        datareader_lndusedisc = graphic.attributes["LANDUSE_DESC"];
                    
                    break;
            }
            
            if (contentinfo != 'non')
            {
                var old_content = contentinfo;
                fill_content_info(graphic);
                if(contentinfo != old_content)
                {
                    screenPoint1 = map.toScreen(resultExtent.getExtent().getCenter());
                    map.infoWindow.setTitle("استعلام");
                    map.infoWindow.setContent(contentinfo);
                    map.infoWindow.show(screenPoint1, map.getInfoWindowAnchor(screenPoint1));
                }
            }
            map.setExtent(finalExtent);
        }
    }
    
    // Show Feature Data depending on the search type
    function fill_content_info(graphic)
    {
       if(contentinfo == "ضريبة التحققات")
       {
           call_service_ChecksTax(document.getElementById('Text1').value,document.getElementById('Text2').value,document.getElementById('Text3').value,document.getElementById('Text4').value, graphic);
           document.getElementById("ChecksTaxDiv").className = "disabled";
           document.getElementById("checksTaxRadio").checked =  "";
       }
       
       if (contentinfo == 'school - 1')
       {
           schools_search_by_address_identify(graphic);
       }
       
       if (contentinfo == 'default - 3')
       {
           default_search_by_landmark_identify(graphic);
       }
    }
    
    
    
    // Execute query task for passed searchText on passed 2 layers using passed 2 Fields
    function executeFind(layer1, layer2, field1, field2, searchText) {
        params.layerIds = [layer1, layer2];
        params.searchFields = [field1, field2];
        params.returnGeometry = true;
        params.contains = false;


        //set the search text to find parameters
        params.searchText = searchText;
        find.execute(params, showResultsFind);
    
    }
    
    //Zoom to the last feature in the passed Feature Set(results)
    function showResultsFind(results) {
        map.graphics.clear();
        var result;
        for (var i = 0; i < results.length; i++) {
            result = results[i];
        }

        var graphic = result.feature;
        switch (graphic.geometry.type) {
            case "point":
                var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([144, 0, 0]), 1), new dojo.Color([0, 255, 0, 0.25]));
                break;
            case "polyline":
                var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([144, 0, 0]), 1);
                break;
            case "polygon":
                var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([42, 255, 127]), 2), new dojo.Color([42, 255, 127, 0.55]));
                break;
        }
        graphic.setSymbol(symbol);
        map.graphics.add(graphic);
        var resultExtent = graphic._extent;
        var finalExtent = new esri.geometry.Extent(resultExtent.xmin - 50, resultExtent.ymin - 50, resultExtent.xmax + 50, resultExtent.ymax + 50, new esri.SpatialReference({ wkid: 28191 }));
        map.setExtent(finalExtent);
    }
    
    // remove the element that have the passed index in the passed array
    function removeByIndex(arrayName, arrayIndex) {
        arrayName.splice(arrayIndex, 1);
    }
    
    
    var imgUrl;
    //Export Map to Image Scaled to the current extent
    function exportToImage(ID) {

        var params = new esri.layers.ImageParameters();
        params.bbox = map.extent;
        params.width = 600;
        params.height = 600;
        params.format = "jpg";
        params.transparent = true;
        var urlimage;

        imgUrl = layer.exportMapImage(params, function(mapImage) {
            //urlimage  = mapImage.href ;
            var tempUrl = mapImage.href;
            setimgurlll(tempUrl, ID);
        });
    }
    
    function setimgurlll(urll, ID) {
        var tName = urll.split("http://gis-web/arcgisoutput/");
        imgUrl = tName[1]; //"C:\arcgisserver\arcgisoutput\\" + 
        callMoveImage(ID, trans_type);
    }
    
    // move a saved image to the crm system folders
    function callMoveImage(newName, type) {
        var url = "..\\Services\\service.asmx";
        var pl = new SOAPClientParameters();
        pl.add("imageUrl", imgUrl);
        pl.add("imageNewName", newName);
        pl.add("type", type);
        SOAPClient.invoke(url, "moveImage", pl, true, recieve_movedImage);
    }
    // Save CRM Image in our server(gis-web)
    function recieve_movedImage(rs) {
        if (trans_type == "status") {
            alert("تم حفظ التعديلات");
        }
        else if (trans_type == "complaint") {
            imgUrl = "";
            callMoveImage2("D:\\CRMComplaintPic\\tempPic.jpg", imageID2 + ".jpg");
            //window.location = "http://www.ammancitygis.gov.jo";
        }
    }
    // copy the image with the passed url to gis-web with the new passed name
    function callMoveImage2(urlfrom, newName) {
        var url = "..\\Services\\service.asmx";
        var pl = new SOAPClientParameters();
        pl.add("imageUrl", urlfrom);
        pl.add("imageNewName", newName);
        pl.add("type", "picture");
        SOAPClient.invoke(url, "moveImage", pl, true, recieve_movedImage2);
    }
    // Show Complaint Successful Message
    function recieve_movedImage2(rs) {
        document.getElementById("processeingGif").style.display = "none";
        alert("تم اضافة الشكوى. شكرا لتعاونكم \n \n رقم الشكوى : " + complaint_number);
        window.location = "http://ammancitygis.gov.jo";
        //alert("imagePatheGlobal has been moved");
    }
    function updateQS() {

        callMoveImage("QS ID", "update");
    }
    // Construct Print Div, Save map image and show print form for the current extent
    function printDiv(divId, title, right, top, w, h) {
        doidentify = 0;
        if (right == null) right = 100;
        if (top == null) top = 25;
        if (w == null) w = 650;
        if (h == null) h = 600;
        if (title == null) title = "Print Screen";

        var disp_setting = "toolbar=yes,location=no,directories=no,menubar=no,";
        disp_setting += "scrollbars=yes,width=" + w + ", height=" + h + ", right=" + right + ", top=" + top;
        var params = new esri.layers.ImageParameters();
        params.bbox = map.extent;
        params.width = 900;
        params.height = 1000;
        params.format = "png8";
        params.transparent = true;
        var urlimage;

        layer.exportMapImage(params, function(mapImage) {
            var str = mapImage.href;

            var content_vlue = ' <table style="border-style: double; width:800px; text-align: center;"><tr> <td style="direction: ltr; font-weight: bold; border-bottom-style: double;">امانة عمان الكبرى</td><td style="border-bottom-style: double;"> مخطط موقع </td><td style="border-bottom-style: double;"><img alt="" src="../images/general/amman_logo_modified.jpg" /></td></tr><tr><td colspan="3" style="position:inherit">    <img alt="" src="' + str.replace(/gis-web/g, "www.ammancitygis.gov.jo") + '" width="100%" /> </td> </tr> <tr> <td> &nbsp;</td><td> جميع الحقوق محفوظة&nbsp; امانة عمان الكبرى</td> <td>  &nbsp;</td> </tr> </table>';       //subed map for divId
            //strip out the link tags else we'll link back to the mapper page 
            content_vlue = content_vlue.replace(/<a/g, "<span");
            content_vlue = content_vlue.replace(/<\/a/g, "</span");
            var docprint = window.open("", "", disp_setting);
            docprint.document.open();
            docprint.document.write('<html><head><title>' + title + '</title>');
            docprint.document.write('</head><body onLoad="self.print()"><left><div id="position" style="position:absolute;margin-left:50px;margin-top:50px;">');
            docprint.document.write(content_vlue);
            docprint.document.write('</div></left></body></html>');
            docprint.document.close();
            docprint.focus();
        });

    }
    
    // TOC function
    function addToTOC(layer, listLayers) {
        if (listLayers) {
            if (layer.loaded) {
                buildLayerList(layer);
            }
            else {
                dojo.connect(layer, "onLoad", buildLayerList);
            }
        }
        else {
            if (layer.loaded) {
                buildLayerListRoot(layer);
            }
            else {
                dojo.connect(layer, "onLoad", buildLayerListRoot);
            }
        }
    }
    
    // Build html for the layers list root (the expanding icon)
    function buildLayerListRoot(layer) {
        //addToTransparencyList(layer);

        var currentLayer = layer;
        tocHTML = "<label for='" + currentLayer.id + "'>" + currentLayer.id + "</label><img src='../images/general/expand.bmp'><br />" + tocHTML;
        //<input type='checkbox' dojotype='dijit.form.CheckBox' " + (currentLayer.visible ? " CHECKED " : "") + " id='" + currentLayer.id + "' onclick=\"toggleService('" + currentLayer.id + "');\" />
        //tocHTML = "<input id='" + currentLayer.id + "' dojotype='dijit.form.CheckBox' class='TOC_Root' name='developer' " + (currentLayer.visible ? " CHECKED " : "") + " value='on' type='checkbox' onclick=\"toggleService('" + currentLayer.id + "');\" /><label for='" + currentLayer.id + "'>" + currentLayer.id + "</label>"  + tocHTML; 
        dojo.byId("toc").innerHTML = tocHTML;
    }
    
    // change expanding image for the layes list based on the status
    function toggleLayer(id) {
        var layerDiv = dojo.byId(id + 'Layers');
        var icon = dojo.byId(id + 'Icon');
        if (layerDiv.style.display == 'block') {
            icon.src = "../images/general/ex2.bmp";
            layerDiv.style.display = 'none';
        }
        else {
            icon.src = "../images/general/ex1.bmp";
            layerDiv.style.display = 'block';
        }
    }
    // return layer index for the passed layer name
    function getLayerIndex(layername) {
        var index;
        var subLayers = layer.layerInfos;
        for (var i = 0; i < subLayers.length; i++) {
            var currentSubLayer = subLayers[i];
            if (layername == currentSubLayer.name) {
                index = i;
            }
        }
        return index;
    }
    
    // Construct html for the layer list (tree)
    function buildLayerList(layer) {

        // addToTransparencyList(layer);
        var currentLayer = layer;
        var currentHTML = "";
        currentHTML += "<div style='float:right;'>";
        currentHTML += "<label for=" + currentLayer.id + ">قائمة المحتويات</label>";
        currentHTML += "<img src='../images/general/ex2.bmp' id='" + currentLayer.id + "Icon' onclick=\"toggleLayer('" + currentLayer.id + "')\" \><br>";
        //" + currentLayer.id + "
        //<input type='checkbox' dojotype='dijit.form.CheckBox' class='TOC_Root' " + (currentLayer.visible ? " CHECKED " : "") + " id='" + currentLayer.id + "' onclick=\"toggleService('" + currentLayer.id + "');\" />
        var subLayers = currentLayer.layerInfos;
        currentHTML += "<div id='" + currentLayer.id + "Layers' style='display:none;'><table>";
        var toclength = getLayerIndex("مناطق أمانة عمان");
        //toclength = 20;
        //visible.push(getLayerIndex('مناطق أمانة عمان'));
        
        for (var i = 0; i <= toclength; i++) {
            //subLayers.length
            var currentSubLayer = subLayers[i];
            if (currentSubLayer.defaultVisibility && currentSubLayer.parentLayerId == -1) {
                if (currentSubLayer.id != getLayerIndex('مناطق أمانة عمان')) {
                    visible.push(currentSubLayer.id);
                }
            } //<img src='expand.bmp'><img src='spacer.gif'>
            if (currentSubLayer.parentLayerId == "-1") {
                currentHTML += "<tr><td style='text-align:right;'><label for='" + currentSubLayer.id + "'>" + currentSubLayer.name + "</label></td><td><input style='margin:0 1px 0 0px;' type='checkbox' class='" + currentLayer.id + "TOC' " + (currentSubLayer.defaultVisibility ? " CHECKED " : "") + " id='" + currentSubLayer.id + "' onclick=\"toggleLayerVisibility( layer ,'" + currentSubLayer.name + "', this.checked );  \" /></td></tr>";
            }
        }
        currentHTML += "</table></div></div>";
        tocHTML = currentHTML + tocHTML;
        dojo.byId("toc").innerHTML = tocHTML;
    }
    
    var imagePatheGlobal = "";
    // show a form with the image which its url stored in the imagePatheGlobal variable
    function popupImage() {//

        var newdoc = window.open("", "imagePath", "height=350,width=450");

        newdoc.document.open();
        newdoc.document.write('<html><head><title>صورة الموقع</title></head>');
        newdoc.document.write('<body><img src="' + imagePatheGlobal + '" style="height:100%; width:100%;" />');
        newdoc.document.write('</body></html>');
        newdoc.document.close();
        newdoc.focus();

    }
    
    /*
      Display the information of the last feature in the feature set layer2results on the identify popup
      titeld with popular names depending on the selected value in the identify popup dropdownlist.
    */
    function Select1_onclick() {
        var vall_name, block_name, dsplayvill, desplyblock;
        var cdd = document.getElementById("cb_layer");
        for (var i = 0, il = layer2results.features.length; i < il; i++) {

            vall_name = "" + layer2results.features[i].attributes['VILLAGE_NAME_A'];
            block_name = "" + layer2results.features[i].attributes['BLOCK_NAME_A'];
            if (vall_name != "undefined") {
                dsplayvill = "" + vall_name;
            }
            if (block_name != "undefined") {
                desplyblock = "" + block_name;
            }
        }
        for (var i = 0, il = layer2results.features.length; i < il; i++) {

            if (cdd.value == getLayerIndex('مناطق أمانة عمان')) {
                if ("" + layer2results.features[i].attributes['DISTRECT_NAME_A'] != "undefined") {

                    content = "";
                    content = "  <table border='1' style='font-weight: bold;width:100%;'dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>اسم المنطقة </td><td>" + layer2results.features[i].attributes['DISTRECT_NAME_A'] + " </a></td>";
                    content += "<tr><td>مساحة المنطقة </td><td>" + parseInt(layer2results.features[i].attributes['SHAPE.AREA']/1000000) + "." + parseInt(layer2results.features[i].attributes['SHAPE.AREA']/1000)%1000 + " كم مربع </a></td>";
                    content += "<tr><td>عدد السكان  </td><td>" + layer2results.features[i].attributes['DISTRECT_POPULATION'] + " </a></td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }
            }
            if (cdd.value == getLayerIndex('التنظيم'))
                if ("" + layer2results.features[i].attributes['LANDUSE_DESC'] != "undefined") {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>الاستعمال التنظيمي </td><td>" + layer2results.features[i].attributes['LANDUSE_DESC'] + " </a></td>";
                content += "<tr><td>رقم القرية </td><td>" + layer2results.features[i].attributes['VILLAGE_NO'] + " -- " + dsplayvill + " </a></td>";
                content += "<tr><td>رقم الحوض </td><td>" + layer2results.features[i].attributes['BLOCK_NO'] + " -- " + desplyblock + " </a></td>";
                content += "<tr><td>رقم الحي </td><td>" + layer2results.features[i].attributes['SECTOR_NO'] + " </a></td>";
                content += "<tr><td>رقم القطعه </td><td>" + layer2results.features[i].attributes['PLOT_NO'] + " </a></td>";
                content += "<tr><td> DLS KEY </td><td>" + layer2results.features[i].attributes['DLS_KEY'] + " </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }
            if (cdd.value == getLayerIndex('حوادث السير'))
                if ("" + layer2results.features[i].attributes['تصنيف الحوادث'] != "undefined") {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>تصنيف الحوادث</td><td>" + layer2results.features[i].attributes['تصنيف الحوادث'] + " </a></td>";
                content += "<tr><td>عدد الحوادث </td><td>" + layer2results.features[i].attributes['عدد الحوادث'] + "</a></td>";
                content += "<tr><td>تاريخ الحادث</td><td>" + layer2results.features[i].attributes['تاريخ الحادث'] + " -- " + " </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }
            if (cdd.value == getLayerIndex('قطع الاراضي'))
                if ("" + layer2results.features[i].attributes['PLOT_NO'] != "undefined") {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>رقم القرية </td><td>" + layer2results.features[i].attributes['VILLAGE_NO'] + " -- " + dsplayvill + " </a></td>";
                content += "<tr><td>رقم الحوض </td><td>" + layer2results.features[i].attributes['BLOCK_NO'] + " -- " + desplyblock + " </a></td>";
                content += "<tr><td>رقم الحي </td><td>" + layer2results.features[i].attributes['SECTOR_NO'] + " </a></td>";
                content += "<tr><td>رقم القطعه </td><td>" + layer2results.features[i].attributes['PLOT_NO'] + " </a></td>";
                content += "<tr><td> DLS KEY </td><td>" + layer2results.features[i].attributes['DLS_KEY'] + " </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }
            if (cdd.value == getLayerIndex('ضريبة التحققات'))
                if ("" + layer2results.features[i].attributes['PAVMENT_VALUE'] != "undefined") {
                content = "";
                content = "  <table border='1' style='font-weight: bold;width:100%;'dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>قيمة  </td><td>" + layer2results.features[i].attributes['PAVMENT_VALUE'] + " </a></td>";
                content += "<tr><td>نوعة  </td><td>" + layer2results.features[i].attributes['TAX_TYPE'] + " </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1' style='font-weight: bold;width:100%;'dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }

            if (cdd.value == getLayerIndex('الحدائق'))
                if ("" + layer2results.features[i].attributes['اسم الحديقة'] != "undefined") {

                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>اسم الحديقة </td><td>" + layer2results.features[i].attributes['اسم الحديقة'] + " </a></td>";
                var newPath = layer2results.features[i].attributes['IMAGE_PATH'];
                newPath = newPath.split('\\');
                newPath = newPath[4];
                imagePatheGlobal = "http://www.ammancitygis.gov.jo/garden_image/" + newPath;
                content += "<tr><td>مساحة_الحديقة </td><td>" + layer2results.features[i].attributes['مساحة_الحديقة']  + " </a></td>";
                content += "</tr><tr><td colspan='2'><a href='#' onclick='javascript:popupImage();'>لمشاهدة صورة اللوحة اضغط هنا</a></td>"; //\'./images/info_image/IMAG0648.jpg\'
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }

                if (cdd.value == getLayerIndex('الاحواض'))
                       if ("" + layer2results.features[i].attributes['BLOCK_NAME_A'] != "undefined") {
                       content = "";
                     content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                       content += "<tr><td>اسم الحوض </td><td>" + layer2results.features[i].attributes['BLOCK_NAME_A'] + " </a></td>";
                        content += "</tr></table> ";
                      document.getElementById("tabs").innerHTML = content;
                        return true;
                 }
                   else {
                    content = "";
                      content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                       content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                        content += "</tr></table> ";
                       document.getElementById("tabs").innerHTML = content;
                   }
            if (cdd.value == getLayerIndex('ترقيم الابنية'))
                if ("" + layer2results.features[i].attributes['BULDING_NUMBER'] != "undefined") {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>رقم المبنى </td><td>" + layer2results.features[i].attributes['BULDING_NUMBER'] + " </a></td>";
                content += "<tr><td>اسم الشارع </td><td>" + layer2results.features[i].attributes['STREET_NAME_A'] + " </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";

                document.getElementById("tabs").innerHTML = content;
            }
                 if (cdd.value == getLayerIndex('القرى'))
                       if ("" + layer2results.features[i].attributes['VILLAGE_NAME_A'] != "undefined") {

                      content = "";
                      content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                     content += "<tr><td>اسم القريه </td><td>" + layer2results.features[i].attributes['VILLAGE_NAME_A'] + " </a></td>";
                       content += "</tr></table> ";
                        document.getElementById("tabs").innerHTML = content;
                        return true;
                   }
                    else {
                        ontent = "";
                      content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                       content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                       content += "</tr></table> ";
                   
                        document.getElementById("tabs").innerHTML = content;
                    }
            if (cdd.value == getLayerIndex('احياء الامانة'))
                if ("" + layer2results.features[i].attributes['ZONING_NAME_A'] != "undefined") {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>اسم الحي </td><td>" + layer2results.features[i].attributes['ZONING_NAME_A'] + " </a></td>";
                content += "<tr><td>مساحة الحي </td><td>" + layer2results.features[i].attributes['ZONING_AREA'] + " كم مربع </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }
            if (cdd.value == getLayerIndex('حدود الشوارع التنظيمية'))
                if ("" + layer2results.features[i].attributes['STREET_NAME_A'] != "undefined") {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>اسم الشارع </td><td>" + layer2results.features[i].attributes['STREET_NAME_A'] + " </a></td>";
                content += "<tr><td>طول الشارع </td><td>" + layer2results.features[i].attributes['STREET_LENGTH'] + " متر </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }
            
            if (cdd.value == getLayerIndex('اشارات المرور'))

                if ("" + layer2results.features[i].attributes['LANDMARK_NAME_A'] != "undefined") {


                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>اسم الاشارة </td><td>" + layer2results.features[i].attributes['LANDMARK_NAME_A'] + " </a></td>";
                content += "<tr><td>نوع الاشارة </td><td>" + layer2results.features[i].attributes['LANDMARK_DISCRIPTION_A'] + " </a></td>";
                content += "<tr><td>المنطقة </td><td>" + layer2results.features[i].attributes['DISTRICT_NAME_A'] + " </a></td>";
                content += "<tr><td>كمرات التحكم المركزي </td><td>" + layer2results.features[i].attributes['CCTV'] + " </a></td>";
                content += "<tr><td>طبيعة العمل </td><td>" + layer2results.features[i].attributes['CAMIRA_TYPE'] + " </a></td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }
            if (cdd.value == getLayerIndex('المعالم الرئيسية'))

                if ("" + layer2results.features[i].attributes['LANDMARK_NAME_A'] != "undefined") {


                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>اسم المعالم </td><td>" + layer2results.features[i].attributes['LANDMARK_NAME_A'] + " </a></td>";
                content += "<tr><td>وصف المعالم </td><td>" + layer2results.features[i].attributes['LANDMARK_DISCRIPTION_A'] + " </a></td>";

                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
                return true;
            }
            else {
                content = "";
                content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                content += "</tr></table> ";
                document.getElementById("tabs").innerHTML = content;
            }
            //
            if (cdd.value == getLayerIndex('اعمدة الانارة')) {

                if ("" + layer2results.features[i].attributes['رقم العمود'] != "undefined") {


                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>رقم العمود</td><td>" + layer2results.features[i].attributes['رقم العمود'] + " </a></td>";
                    //                content += "<tr><td>اسم الشارع</td><td>" + layer2results.features[i].attributes['STREET_NAME_A'] + " </a></td>";
                    content += "<tr><td>القدره</td><td>" + layer2results.features[i].attributes['القدرة'] + " </a></td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }
            }

            if (cdd.value == getLayerIndex('الحفريات')) {

                if ("" + layer2results.features[i].attributes['HOLE_STATUS'] != "undefined") {


                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>نوع الحفرية</td><td>" + layer2results.features[i].attributes['HOLE_TYPE'] + " </a></td></tr>";
                    content += "<tr><td>اسم المؤسسة</td><td>" + layer2results.features[i].attributes['ORGANIZATION_NAME'] + " </a></td></tr>";
                    content += "<tr><td>مالك الحفرية</td><td>" + layer2results.features[i].attributes['OWNER_NAME'] + " </a></td></tr>";
                    content += "<tr><td>طول الحفرية</td><td>" + layer2results.features[i].attributes['SUM_RESULT'] + " </a></td>";
                    //                content += "<tr><td>نوع العمود</td><td>" + layer2results.features[i].attributes['نوع العمود'] + " </a></td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }
            if (cdd.value == getLayerIndex('اشجار الجزر الوسطية')) {

                if ("" + layer2results.features[i].attributes['الاسم العربي_الجزر الوسطية'] != "undefined") {


                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    var imgPath = layer2results.features[i].attributes['صور الاشجار في الجزر الوسطية'];
                    var newPath = imgPath.split('\\');
                    newPath = "../images/image_tree/" + newPath[4];
                    imagePatheGlobal = newPath;
                    content += "<tr><td>اسم الشارع</td><td>" + layer2results.features[i].attributes['اسم الشارع'] + " </a></td></tr>";
                    content += "<tr><td>انواع الاشجار الموجودة</td><td>" + layer2results.features[i].attributes['الاسم العربي_الارصفة'] + " </a></td></tr>";
                    content += "</tr><tr><td colspan='2'><a href='#' onclick='javascript:popupImage();'>لمشاهدة صورة الاشجار اضغط هنا</a></td>"; //\'./images/info_image/IMAG0648.jpg\'
                    
                    //                content += "<tr><td>نوع العمود</td><td>" + layer2results.features[i].attributes['نوع العمود'] + " </a></td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }
            if (cdd.value == getLayerIndex('اشجار الارصفة')) {

                if ("" + layer2results.features[i].attributes['الاسم العربي_الارصفة'] != "undefined") {


                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    var imgPath = layer2results.features[i].attributes['صور الاشجار في الارصفة'];
                    var newPath = imgPath.split('\\');
                    newPath = "../images/image_tree/" + newPath[4];
                    imagePatheGlobal = newPath;
                    content += "<tr><td>اسم الشارع</td><td>" + layer2results.features[i].attributes['اسم الشارع'] + " </a></td></tr>";
                    content += "<tr><td>انواع الاشجار الموجودة</td><td>" + layer2results.features[i].attributes['الاسم العربي_الارصفة'] + " </a></td></tr>";
                    content += "</tr><tr><td colspan='2'><a href='#' onclick='javascript:popupImage();'>لمشاهدة صورة الاشجار اضغط هنا</a></td>"; //\'./images/info_image/IMAG0648.jpg\'

                    //                content += "<tr><td>نوع العمود</td><td>" + layer2results.features[i].attributes['نوع العمود'] + " </a></td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }
            if (cdd.value == getLayerIndex('خطوط الكنتور')) {

                if ("" + layer2results.features[i].attributes['CONTOUR'] != "undefined") {


                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";

                    content += "<tr><td>الارتفاع   </td><td>" + layer2results.features[i].attributes['CONTOUR'] + " </a> متر</td></tr>";
                 

                    //                content += "<tr><td>نوع العمود</td><td>" + layer2results.features[i].attributes['نوع العمود'] + " </a></td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }
            if (cdd.value == getLayerIndex('اللوحات الأرشادية')) {

                if ("" + layer2results.features[i].attributes['DIRECTION_1'] != "undefined") {

                    var imgPath = layer2results.features[i].attributes['IMAGE_PATH'];
                    var newPath = imgPath.split('\\');
                    newPath = "../images/info_image/" + newPath[5];
                    imagePatheGlobal = newPath;

                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>الاتجاة</td><td>" + layer2results.features[i].attributes['DIRECTION_1'] + " </td>";
                    content += "<tr><td>اسم الشارع</td><td>" + layer2results.features[i].attributes['STREET_NAME'] + " </td>";
                    content += "</tr><tr><td colspan='2'><a href='#' onclick='javascript:popupImage();'>لمشاهدة صورة اللوحة اضغط هنا</a></td>"; //\'./images/info_image/IMAG0648.jpg\'
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }
            if (cdd.value == getLayerIndex('اللوحات الاعلانية3_4')) {

                if ("" + layer2results.features[i].attributes['PICTURE_NAME'] != "undefined") {

                    var imgPath = layer2results.features[i].attributes['PICTURE_NAME'] +'.jpg';
//                    var newPath = imgPath.split('\\');
                    newPath = "http://www.ammancitygis.gov.jo/image_carrer/0/" + imgPath;
                    imagePatheGlobal = newPath;
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "</tr><tr><td colspan='2'><a href='#' onclick='javascript:popupImage();'>لمشاهدة صورة اللوحة اضغط هنا</a></td>"; //\'./images/info_image/IMAG0648.jpg\'
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }

            if (cdd.value == getLayerIndex('اللوحات الاعلانية13_4')) {

                if ("" + layer2results.features[i].attributes['PICTURE_NAME'] != "undefined") {

                    var imgPath = layer2results.features[i].attributes['PICTURE_NAME'] + '.jpg';
                    //                    var newPath = imgPath.split('\\');
                    newPath = "http://www.ammancitygis.gov.jo/image_carrer/1/" + imgPath;
                    imagePatheGlobal = newPath;
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "</tr><tr><td colspan='2'><a href='#' onclick='javascript:popupImage();'>لمشاهدة صورة اللوحة اضغط هنا</a></td>"; //\'./images/info_image/IMAG0648.jpg\'
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }
            if (cdd.value == getLayerIndex('اللوحات الاعلانية الجسور')) {

                if ("" + layer2results.features[i].attributes['PICTURE_NAME'] != "undefined") {

                    var imgPath = layer2results.features[i].attributes['PICTURE_NAME'] + '.jpg';
                    //                    var newPath = imgPath.split('\\');
                    newPath = "http://www.ammancitygis.gov.jo/image_carrer/2/" + imgPath;
                    imagePatheGlobal = newPath;
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "</tr><tr><td colspan='2'><a href='#' onclick='javascript:popupImage();'>لمشاهدة صورة اللوحة اضغط هنا</a></td>"; //\'./images/info_image/IMAG0648.jpg\'
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }     
            if (cdd.value == getLayerIndex('التقاطعات الرئيسية')) {

                if ("" + layer2results.features[i].attributes['CROSS_NAME_A'] != "undefined") {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>اسم التقاطع</td><td>" + layer2results.features[i].attributes['CROSS_NAME_A'] + " </td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }

            }
            if (cdd.value == getLayerIndex('الشكاوى')) {

                if ("" + layer2results.features[i].attributes['COMP_NO'] != "undefined") {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>رقم الشكوى</td><td>" + layer2results.features[i].attributes['COMP_NO'] + " </td>";
                    content += "<tr><td>المشتكي</td><td>" + layer2results.features[i].attributes['COMPLAINANT_NAME'] + " </td>";
                    content += "<tr><td>وصف الشكوى</td><td>" + layer2results.features[i].attributes['COMPLAINT_DISCRIPTION'] + " </td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                    return true;
                }
                else {
                    content = "";
                    content = "  <table border='1'style='font-weight: bold;width:100%;' dir=rtl><tr><th> </th></tr>";
                    content += "<tr><td>لا يوجد معلومات متوفرة على النقطة المختارة</td>";
                    content += "</tr></table> ";
                    document.getElementById("tabs").innerHTML = content;
                }
            }
        }
    }

    // Initialize identifyTask variable
    function intidnfy(map) {
        identifyTask = new esri.tasks.IdentifyTask("http://www.ammancitygis.gov.jo/ok/rest/services/public1/MapServer");

        identifyParams = new esri.tasks.IdentifyParameters();
        identifyParams.tolerance = 3;
        identifyParams.returnGeometry = true;
        identifyParams.layerIds = visible;
        identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;

        map.infoWindow.setTitle("شاشة الاستعلام");

        symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.5]));
    }
    
    // Construct the html for the identify popup dropdownlist and fill it with the names of the visible layers
    function build_cb_Layer() {

        // addToTransparencyList(layer);
        contan_cb = '';
        contan_cb += "<select id='cb_layer' onchange ='return Select1_onclick()'>";
        contan_cb += "<option >اختر الطبقة</option>";
        for (var i = 0; i < visible.length; i++) {
            contan_cb += "<option value='" + visible[i] + "'>" + layer.layerInfos[visible[i]].name + " </option>";
        }
        contan_cb += "</select>";
    }

    // update the visible array with the current visible layers depending on the boolean inputs array
    function updateLayerVisibility(serviceID, layerid) {
        var inputs = dojo.query("." + serviceID + "TOC"), input;
        visible = [];
        for (var i = 0, il = inputs.length; i < il; i++) {
            if (inputs[i].checked) {
                visible.push(inputs[i].id);
            }
        }
        var layer = map.getLayer(serviceID);
        layer.setVisibleLayers(visible);
    }

    // Show and hide layer depending on the passed value of the LayerID
    function toggleService(layerID) {
        var layer = map.getLayer(layerID);
        if (layer.visible) {
            layer.hide();
        }
        else {
            layer.show();
        }
    }
    // tool box functions

    // On Zoom In Event suspend, stop and hide some functions
    function onzoomin() {
        endidentify();
        offmeasure();
    }
    // On Zoom Out Event suspend, stop and hide some functions
    function onzoomout() {
        endidentify();
        offmeasure();
    }
    // On Pan Event suspend, stop and hide some functions
    function onpan() {
        endidentify();
        offmeasure();
    }
    // On Full Extent Event suspend, stop and hide some functions
    function onfullextent() {
        endidentify();
        offmeasure();
    }
    
    var handlidenfy;
    // enable map click event and construct the identify popup
    function onidenify() {
        bufferInfo = false;
        map.infoWindow.resize(250, 150);
        offmeasure();
        intidnfy(map);
        handlidenfy = dojo.connect(map, "onClick", tyty);

    }
    
    // Check the visibility of the layer with the passed id value
    function checkIdVisible(checkText) {
        var resultt = false;
        for (var i = 0; i < visible.length; i++) {

            if (visible[i] == checkText)
                resultt = true;
        }
        return resultt;
    }
    
    /* 
        add a set of features stored in the passed idResults feature set to the map
        depending on the visibility of the feature layer.
    */
    function addToMap(idResults, evt) {
        layer2results = { displayFieldName: null, features: [] };
        for (var i = 0, il = idResults.length; i < il; i++) {
            var idResult = idResults[i];
            if (checkIdVisible(idResult.layerId) == true) {//visible.isIn(idResult.layerId)
                if (!layer2results.displayFieldName) { 
                layer2results.displayFieldName = idResult.displayFieldName 
                };
                layer2results.features.push(idResult.feature);
            }
        }
        map.infoWindow.setContent(layerTabContent(layer2results, "layer2results"));
        map.infoWindow.setTitle("شاشة الاستعلام");
        map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));
        hideLoading();
    }
    
    // Construct html for layers tab content
    function layerTabContent(layerResults, layerName) {
        //        var content,cost = "";
        switch (layerName) {
            case "layer2results":
                build_cb_Layer();
                content = " <div dir='rtl'><table><tr> <td style='font-weight: bold;'>االطبقات </td> <td> " + contan_cb + " </td></tr></table></div> ";
                content += "<div id='tabs' dir='rtl' >";
                content += "</div>";                
                break;
        }
        return content;
    }

    // Execute Identify Task
    function tyty(evt) {
        showLoading();
        map.graphics.clear();
        identifyParams.geometry = evt.mapPoint;
        identifyParams.mapExtent = map.extent;
        identifyTask.execute(identifyParams, function(idResults) { addToMap(idResults, evt); });
    }

    // Compute Length and area for a drawn graphic
    function onmeausre(chtypemusre) {
        endidentify();
        initFunctionality(map, chtypemusre);
        if (chtypemusre == 1) {
            geometryService = new esri.tasks.GeometryService("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
            handle = dojo.connect(geometryService, "onLengthsComplete", outputDistance);
            handle2 = dojo.connect(geometryService, "onProjectComplete", function(graphics) {
                geometryService.lengths(graphics);
            });
        }
        if (chtypemusre == 2)
         {

             geometryService = new esri.tasks.GeometryService("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
             dojo.connect(geometryService, "onAreasAndLengthsComplete", outputAreaAndLength); 
        }
    }
    
    // Get Length and Area for a passed Geometry
    function getAreaAndLength(geometry) {
        map.graphics.clear();
        var graphic = map.graphics.add(new esri.Graphic(geometry, new esri.symbol.SimpleFillSymbol()));
        geometryService.simplify([graphic], function(graphics) {
            geometryService.areasAndLengths(graphics);
        });
    }

    // Show Area and length in the Measurements tab
    function outputAreaAndLength(result) {
        console.log(dojo.toJson(result));

        document.getElementById("msrrslt").innerHTML = "<table style='color:White; font-size:small; margin-right:3px;margin-top:5px;'><tr><td> المساحة </td> <td>" + dojo.number.format(result.areas[0] / 1000) + "كم مربع</td> <tr><td>" + "الطول للمضلع </td><td>" + dojo.number.format(result.lengths[0] / 1000) + "كم</td></tr></table>";

        map.graphics.clear();
        tb.deactivate(map);
    }   
    
    // Stop identify task
    function endidentify() {
        offmeasure();
        if (doidentify != 0) {
            doidentify = 0;
        }
        dojo.disconnect(handlidenfy);
    }

    // Stop Measurement Servise
    function offmeasure() {
        dojo.disconnect(handle2);
        dojo.disconnect(handle);
        tb.deactivate(map);
    }
    
    var chtypemusre;
    // Initialize Geometry Measurements Services
    function initFunctionality(map, chtypemusre) {
        tb = new esri.toolbars.Draw(map);
        if (chtypemusre == 1) 
        { dojo.connect(tb, "onDrawEnd", function(geometry) {

            var graphic = map.graphics.add(new esri.Graphic(geometry, new esri.symbol.SimpleLineSymbol()));
            //add graphic to the map and then call GeometryService.project() to get graphic into a coordinate system that
            //can be used to generate an accurate length.
            geometryService.project([graphic], new esri.SpatialReference({ "wkid": 28191 }));
        });
            tb.activate(esri.toolbars.Draw.POLYLINE);
        }
        if (chtypemusre == 2)
         {
             dojo.connect(tb, "onDrawEnd", getAreaAndLength); 
             tb.activate(esri.toolbars.Draw.POLYGON);
   
        }
    }

    // Show distance for a geometry in the measurements tab.
    function outputDistance(result) {
        document.getElementById("msrrslt").innerHTML = "<table style='color:White; font-size:small; margin-right:3px;margin-top:5px;'><tr><td> المسافة :- </td><td>" + dojo.number.format(result.lengths[0] / 1000) + " كم" + " </td></tr></table>";
        map.graphics.clear();
        tb.deactivate(map);
    }
    
    // Show current mouse coordinates stored in the passed mouse move event
    function showCoordinates(evt) {
        //get mapPoint from event
        var mp = evt.mapPoint;
        //display mouse coordinates
        dojo.byId("XYinfo").innerHTML = "X : " + Math.round(mp.x) + ", _  Y : " + Math.round(mp.y) + " _";
    }
    
    // resize map to full extent
    function openCloseMap() {
        map.resize();
    }

    // convert the map Extent To Scale
    function convertExtentToScale() {

        var maxX = map.extent.xmax;
        var minX = map.extent.xmin;
        var maxY = map.extent.ymax;
        var minY = map.extent.ymin;

        var dpi = 96;
        var imageWidth = map.width;
        var imageHeight = map.height;

        var centreX = maxX - (maxX - minX) / 2.;
        var centreY = maxY - (maxY - minY) / 2.;

        var dots_per_m = dpi / 2.5 * 100;
        var width_size_in_m = (imageWidth / 2) / dots_per_m;
        var scale = (maxX - centreX) / width_size_in_m;

        return scale;
    }
    
    // set the selected scale to the map
    function setcustomscale() {
        document.getElementById("inputscalebox").style.display = "none";
        var scale = document.getElementById("scaletext").value;
        scaletoextent(scale);
    }
    
    // hide scale dropdown list
    function hideinput() {
        document.getElementById("inputscalebox").style.display = "none";
    }
    
    // show scale dropdown list
    function showinput() {
        document.getElementById("inputscalebox").style.display = "block";
        document.getElementById("inputscalebox").style.top = "75px";
        document.getElementById("inputscalebox").style.right = "235px";
        document.getElementById("scaleslist").style.display = "none";
        document.getElementById("scalex").style.display = "block";
    }
    
    // get passed extent scale
    function extentToScaleExtent(scale, extent) {
        oldxCenter = extent.getCenter().x;
        oldyCenter = extent.getCenter().y;
        var dpi = 96;
        var imageWidth = map.width;
        var imageHeight = map.height;
        var dots_per_m = dpi / 2.5 * 100;
        var width_size_in_m = (imageWidth / 2) / dots_per_m;
        var height_size_in_m = (imageHeight / 2) / dots_per_m;
        var maxX = extent.xmax;
        var minX = extent.xmin;
        var maxY = extent.ymax;
        var minY = extent.ymin;
        var centreX = maxX - (maxX - minX) / 2.;
        var centreY = maxY - (maxY - minY) / 2.;
        //var scale = (maxX - centreX) / width_size_in_m;
        maxX = scale * width_size_in_m + centreX;
        maxY = scale * height_size_in_m + centreY;
        minX = centreX - (maxX - centreX);
        minY = centreY - (maxY - centreY);
        var multi = new esri.geometry.Multipoint();
        var point = new esri.geometry.Point(minX, minY, new esri.SpatialReference({ wkid: 28191 }));
        multi.addPoint(point);
        point = new esri.geometry.Point(maxX, maxY, new esri.SpatialReference({ wkid: 28191 }));
        multi.addPoint(point);
        var scaleExtent2 = multi.getExtent();
        return scaleExtent2;
    }
    
    // convert passed scaled to extent
    function scaletoextent(scale) {
        if (scale == 0 || scale == null) {
            showinput();
        }
        else {
            oldxCenter = map.extent.getCenter().x;
            oldyCenter = map.extent.getCenter().y;
            var dpi = 96;
            var imageWidth = map.width;
            var imageHeight = map.height;
            var dots_per_m = dpi / 2.5 * 100;
            var width_size_in_m = (imageWidth / 2) / dots_per_m;
            var height_size_in_m = (imageHeight / 2) / dots_per_m;
            var maxX = map.extent.xmax;
            var minX = map.extent.xmin;
            var maxY = map.extent.ymax;
            var minY = map.extent.ymin;
            var centreX = maxX - (maxX - minX) / 2.;
            var centreY = maxY - (maxY - minY) / 2.;
            //var scale = (maxX - centreX) / width_size_in_m;
            maxX = scale * width_size_in_m + centreX;
            maxY = scale * height_size_in_m + centreY;
            minX = centreX - (maxX - centreX);
            minY = centreY - (maxY - centreY);
            var multi = new esri.geometry.Multipoint();
            var point = new esri.geometry.Point(minX, minY, new esri.SpatialReference({ wkid: 28191 }));
            multi.addPoint(point);
            point = new esri.geometry.Point(maxX, maxY, new esri.SpatialReference({ wkid: 28191 }));
            multi.addPoint(point);
            var scaleExtent = multi.getExtent();
            map.setExtent(scaleExtent, true);
            document.getElementById("scaleslist").style.display = "none";
            document.getElementById("scalex").style.display = "block";
            var zxcvb = document.getElementById("scaleslist");
            for (var i = 0; i < 8; i++) {
                zxcvb.options[i].selected = false;
            }
        }
    }
    dojo.addOnLoad(initialize);
}
catch (e) {
    alert(e.name + ' : ' + e.message);
}


 // Show and hide passed layer including hiding its data  syncronize navigation menus, etc..
 function showHideLayerX(checkname, serviceID, layerid, layerindex, layername) {
    var checkedval = document.getElementById(checkname);
    if (checkedval.checked == true) {
        layerindex = getLayerIndex(layername);
        var imgchk = document.getElementById(layerindex);
        imgchk.checked = "CHECKED";
        var inputs = dojo.query("." + serviceID + "TOC"), input;
        visible = [];
        for (var i = 0, il = inputs.length; i < il; i++) {
            if (inputs[i].checked || inputs[i].id == layerindex) {
                visible.push(inputs[i].id);
            }
        }
        var layer = map.getLayer(serviceID);
       // var visible2 = visible;
       // visible2.push(layername);
        layer.setVisibleLayers(visible);
    }
    else {
        var inputs = dojo.query("." + serviceID + "TOC"), input;
        layerindex = getLayerIndex(layername);
        visible = [];
        for (var i = 0, il = inputs.length; i < il; i++) {
            if (inputs[i].checked) {
                if (inputs[i].id == layerindex) { }
                else {
                    visible.push(inputs[i].id);
                } 
            }
        }
        var layer = map.getLayer(serviceID);
        layer.setVisibleLayers(visible);
        var imgchk = document.getElementById(layerindex);
        imgchk.checked = false;
    }
    hideDiv("services_div");
}

//scale functions
//scales list show function
function showScalesList() {
    document.getElementById("scaleslist").style.display = "block";
    document.getElementById("scalex").style.display = "none";
}
//landuse draft print functions and data and design writer
function printer2() {
    var vList = document.getElementById("0#plt_village_name");
    var vname = vList.options[vList.selectedIndex].text;
    var bList = document.getElementById("1#plt_block_name");
    var bname = bList.options[bList.selectedIndex].text;
    var vNumber = document.getElementById("vill_txt").value;
    var bNumber = document.getElementById("block_txt").value;
    var sNumber = document.getElementById("sector_txt").value;
    var pNumber = document.getElementById("plot_txt").value;
    
    window.open("lndusedraft.aspx?village=" + vNumber + "&block=" + bNumber + "&sector=" + sNumber + "&plot=" + pNumber + "&vname=" + vname + "&bname=" + bname + "", "printttt");
}

// save complaints map image in its temp folder
function recieve_addpoint_callBack(st) {
    if (st.toString() == "no") {
        alert("لم يتم تسجيل الشكوى. يرجى المحاولة فيما بعد");
    }
    else {
        complaint_number = st.toString();
        trans_type = "complaint";
        imageID2 = st.toString();
        exportToImage(st.toString() + ".jpg");
    }
}

// add the trim function to the String class objects
String.prototype.trim = function() {//LR trim
    return this.replace(/^\s+|\s+$/g, "");
}
String.prototype.ltrim = function() {//Lift trim
    return this.replace(/^\s+/, "");
}
String.prototype.rtrim = function() {//Right trim
    return this.replace(/\s+$/, "");
}

var befferenter;
// clear all map graphics
function clearbuff() 
{
    map.graphics.clear(); 
}

// specify buffering type of search
function otherenter()
{
    if (dojo.byId('bufferDistance').value == 'اخرى') {
        dojo.byId('other_size').style.display = 'block';
        befferenter = [dojo.byId('other_size').value];
    }
    else {
        dojo.byId('other_size').style.display = 'none';
        befferenter = [dojo.byId('bufferDistance').value];
    }
}

// run buffer query task
function initBuffer() {
    endidentify();

    bufferInfo = true;
    dojo.byId('pintbuffer').src="../images/Measurements-Tools/pin-green-20x20.png";

     
    navToolbar.deactivate(map);
    var landlayerId = getLayerIndex("landzoom");
    var queryTask = new esri.tasks.QueryTask("http://www.ammancitygis.gov.jo/ok/rest/services/public1/MapServer/" + landlayerId);

    //identify proxy page to use if the toJson payload to the geometry service is greater than 2000 characters.
    //If this null or not available the buffer operation will not work.  Otherwise it will do a http post to the proxy.
    esriConfig.defaults.io.proxyUrl = "/arcgisserver/apis/javascript/proxy/proxy.ashx";
    esriConfig.defaults.io.alwaysUseProxy = false;

    // Query
    var query = new esri.tasks.Query();
    var landmarkDesc = document.getElementById("landmark_cat_ddl");
    query.where = "LANDMARK_TYPE_A = '" + landmarkDesc.options[landmarkDesc.selectedIndex].text + "'";
    query.returnGeometry = true;
    query.outFields = ["LANDMARK_NAME_A", "LANDMARK_DISCRIPTION_A", "LANDMARK_TYPE_A"];
    outSpatialReference = map.spatialReference;

    //Geometry Service Endpoint
    var gsvc = new esri.tasks.GeometryService("http://sampleserver1.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer/Buffer"); //"http://sampleserver1.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer");

    // +++++Listen for map onClick event+++++
    var disconnector = dojo.connect(map, "onClick", function(evt) {


        map.graphics.clear();
        var symbol = new esri.symbol.SimpleMarkerSymbol();
        var graphic = new esri.Graphic(evt.mapPoint, symbol);

        var params = new esri.tasks.BufferParameters();
        params.features = [graphic];

        // CASE [1]: if you want to buffer in linear units such as meters, km, miles etc.

        if (dojo.byId('bufferDistance').value == 'اخرى') {

            befferenter = [dojo.byId('other_size').value];
        }
        else {

            befferenter = [dojo.byId('bufferDistance').value];
        }
        if (dojo.byId('slUnti').value == 'متر') {
            params.unit = esri.tasks.BufferParameters.UNIT_METER; //  UNIT_KILOMETER
        }

        if (dojo.byId('slUnti').value == 'كيلو متر') {
            params.unit = esri.tasks.BufferParameters.UNIT_KILOMETER; //
        }
        params.distances = befferenter;
        params.bufferSpatialReference = new esri.SpatialReference({ wkid: 28191 });
        params.inputSpatialReference = new esri.SpatialReference({ wkid: 28191 });
        params.outputSpatialReference = new esri.SpatialReference({ wkid: 28191 });
        gsvc.buffer(params);

    });

    var buffer_geometry, resultsQ;
    var bufferPolys;

    // +++++Listen for GeometryService onBufferComplete event+++++
    dojo.connect(gsvc, "onBufferComplete", function(graphics) {
        var symbol = new esri.symbol.SimpleFillSymbol("none", new esri.symbol.SimpleLineSymbol("dashdot", new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25]));
        var graphic = new esri.Graphic(graphics[0].geometry, symbol);

        bufferPolys = graphics;
        map.graphics.add(graphic);

        query.geometry = map.extent.expand(4);
        queryTask.execute(query);
    });

    // +++++Listen for QueryTask executecomplete event+++++
    dojo.connect(queryTask, "onComplete", function(fset) {
        //create symbol for selected features
        var symbol = new esri.symbol.SimpleMarkerSymbol();
        symbol.style = esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE;
        symbol.setSize(12);
        symbol.setColor(new dojo.Color([255, 255, 0, 0.5]));
        resultsQ = fset;

        var resultFeatures = fset.features;
        for (var i = 0, il = resultFeatures.length; i < il; i++) {
            var graphic = resultFeatures[i];
            if (bufferPolys[0].geometry.contains(graphic.geometry)) {
                graphic.setSymbol(symbol);
                var infoTemplate = new esri.InfoTemplate();
                infoTemplate.setTitle(graphic.attributes["LANDMARK_DISCRIPTION_A"]); //
                var infotempContent = "<div id='tabs' style='width:100%;'><tabel cellspacing='0' style='border:solid 1px black; width:100%; float:right;'><tr><td>" + graphic.attributes["LANDMARK_NAME_A"] + "</td></tr></tabel></div>";
                infoTemplate.setContent(infotempContent); //"LANDMARK_NAME_A: ${LANDMARK_NAME_A}", "${*}"
                map.infoWindow.resize(250, 80);
                graphic.setInfoTemplate(infoTemplate);
                map.graphics.add(graphic);
            }
        }
        dojo.byId('pintbuffer').src = "../images/Measurements-Tools/pin-red-20x20.png";

        dojo.disconnect(disconnector);
    });
}

//////////////  MY CLASS LIBRARY FUNCTIONS   /////////////////////////////
// Syncronize Layers visibility state between the visible layers and layers tab check boxs
function toggleLayerVisibility(servicex, layerName, operation) {
    
    var layerId = getLayerIndex(layerName);
    navigateVisibleLayerWithServicesMenu(layerId);
    for (var i = 0, j = servicex.A_Layers.length; i < j; i++) {
        if (operation == "enable" || operation == true) {
            if (servicex.A_Layers[i].name == layerName) {
                servicex.A_Layers[i].visible = true;
                toggleSublayersVisibility(servicex, servicex.A_Layers[i].id, operation);
            }
        }
        else if (operation == "disable" || operation == false) {
            if (servicex.A_Layers[i].name == layerName) {
                servicex.A_Layers[i].visible = false;
                toggleSublayersVisibility(servicex, servicex.A_Layers[i].id, operation);
            }
        }
    }
    servicex.setVisibleLayers(build_A_Visible(servicex));
}

// Syncronize subLayers visibility state between the visible sublayers and layers tab check boxs
function toggleSublayersVisibility(service, parentId, operation) {
    for (var i = 0, j = service.A_Layers.length; i < j; i++) {
        if (operation == "enable" || operation == true ) {
            if (service.A_Layers[i].parentLayer == parentId) {
                service.A_Layers[i].visible = true;
            }
        }
        else if (operation == "disable" || operation == false) {
            if (service.A_Layers[i].parentLayer == parentId) {
                service.A_Layers[i].visible = false;
            }
        }
    }
}

// return a list of visible map layers
function build_A_Visible(service) {
    var visiblLayersList = [];
    for (var i = 0; i < service.layerInfos.length; i++) {
        if (service.A_Layers[i].visible == true ) {
            visiblLayersList.push(i);
        }
    }
    return visiblLayersList;
}

// return an id list of the visible layer in a passed service
function buildLayersObject(serviceName) {
    var visibless = [];
    var toc = "";
    visible = [];
    visible.push(getLayerIndex('مناطق أمانة عمان'));
    for (var i = 0, j = serviceName.layerInfos.length; i < j; i++) {
        var current = serviceName.layerInfos[i];
        var tempLayer = new Object;
        tempLayer.name = current.name;
        tempLayer.id = i;
        tempLayer.parentLayer = current.parentLayerId;
        tempLayer.visible = elementInArray(serviceName.visibleLayers, i);
        visibless.push(tempLayer);
        
        if (tempLayer.parentLayer == "-1" && elementInArray(serviceName.visibleLayers, i) == true) {
            if (i != getLayerIndex('مناطق أمانة عمان')) {
                visible.push(i);
            }
        }
    }
    return visibless;
}

// check passed element aqureiance in a passed array.
function elementInArray(array, element) {
    var isIn = false;
    for (var i = 0; i < array.length; i++) {
        if (array[i] == element) {
            isIn = true;
        }
    }
    return isIn;
}

function conectToLayer() {
    layer.A_Layers = buildLayersObject(layer);
}

// check user validity to access madrasate page by calling the web service
function login() {
    var user = document.getElementById("TxtUserName").value;
    var password = document.getElementById("TxtPassWord").value;
    if (user == "" && password == "") {
        alert("يجب تعئبة الحقول")
    }
    else {
        var p2 = new SOAPClientParameters();
        p2.add("user", user);
        p2.add("password", password);

        SOAPClient.invoke("..\\Services\\WebService.asmx", "CheckUser", p2, true, recieve_callBack_checkuser);
    }
}

// redirecting to madrasate
function CheckUserPrivalge() {
    //    var jjj = select.length;

    if (AcceptLogen == 2) {
        window.location.href = "school.aspx";
        test_var = true;
    }
    else {
        alert("لا يوجد صلاحيات للمستخدم");
    }
}

// logout logged in user
function logout1() {

    var pl = new SOAPClientParameters();
    SOAPClient.invoke(url, "CheckUserLogout", pl, true, null);


    document.getElementById("logoutDiv").style.display = "none";
    window.location = "Default.aspx";
}

// redirecting to madrasate
function recieve_callBack_checkuser(st) {
    var user;
    if (st !== null) {
        user = st.split('#');
        AcceptLogen = user[1];
        jAlert('<div style="  color:Red; font:bold 13px tahoma;" > اهلا و سهلا  ' + user[2] + '</div>', 'اهلا بكم في مدرستي');

        document.getElementById("TxtUserName").value = ""
        document.getElementById("TxtPassWord").value = "";
        CheckUserPrivalge();
    }
    else {
        document.getElementById("TxtPassWord").value = "";

        alert("اسم المستخدم او كلمة المرور خطا")
    }
}


function amman_projects_execute_query(layerid, outField, sqlwhere) {

    queryTask = new esri.tasks.QueryTask("http://www.ammancitygis.gov.jo/ok/rest/services/public1/MapServer/" + layerid);

    query = new esri.tasks.Query();
    query.returnGeometry = true;
    query.outFields = outField;
    query.where = sqlwhere;
    queryTask.execute(query, showAmmanResultsQuery);

}

function showAmmanResultsQuery(results) {
    map.graphics.clear();

    var xmax, ymax, xmin, ymin;
    for (var index = 0; results.features[index]; index++) {

        var graphic = results.features[index];
        var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_FORWARD_DIAGONAL, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([150, 1, 1]), 3), new dojo.Color([42, 255, 127, 0.55]));
        graphic.setSymbol(symbol);

        var infoTemplate = new esri.InfoTemplate();
        infoTemplate.setTitle("<div align='right'>" + graphic.attributes["NAME"] + "</div>"); //
        var infotempContent = "<div align='right'>";
        infotempContent += "${DESCRIPTION}<br />";
        infotempContent += "<a style='cursor: hand; color: blue;' onclick='imagePatheGlobal=\"http://www.ammancitygis.gov.jo/ProjectImage/${IMAGE2}\";popupImage();'>2</a> ,<a style='cursor: hand; color: blue;' onclick='imagePatheGlobal=\"http://www.ammancitygis.gov.jo/ProjectImage/${IMAGE1}\";popupImage();'>1</a> :الصور الملحقة<br />";
        infotempContent += "</div>";
        infoTemplate.setContent(infotempContent);
        map.infoWindow.resize(200, 150);
        graphic.setInfoTemplate(infoTemplate);

        map.graphics.add(graphic);

        if (index == 0) {
            xmax = graphic._extent.xmax;
            ymax = graphic._extent.ymax;
            xmin = graphic._extent.xmin;
            ymin = graphic._extent.ymin;
            finalExtent = graphic._extent;
        }
        else {
            if (xmax < graphic._extent.xmax) xmax = graphic._extent.xmax;
            if (ymax < graphic._extent.ymax) ymax = graphic._extent.ymax;
            if (xmin > graphic._extent.xmin) xmin = graphic._extent.xmin;
            if (ymin > graphic._extent.ymin) ymin = graphic._extent.ymin;
            finalExtent.xmax = xmax;
            finalExtent.ymax = ymax;
            finalExtent.xmin = xmin;
            finalExtent.ymin = ymin;
        }
    }

    map.setExtent(finalExtent);
}

