﻿

//capital project layers
var layers = [];
layers[0] = 'ProjCoordWaterLine';
layers[1] = 'ProjCoordSaniSewerLine';
layers[2] = 'ProjCoordStormSewerLine';
layers[3] = 'ProjCoordGasOilLine';
layers[4] = 'ProjCoordSpecialEventsLine';
layers[5] = 'ProjCoordPowerLine';
layers[6] = 'ProjCoordCommunicationLine';
layers[7] = 'ProjCoordStreetsLine';
var filters = [];
filters[0] = 'Water';
filters[1] = 'SaniSewer';
filters[2] = 'StormSewer';
filters[3] = 'Gas-Oil';
filters[4] = 'Special Events';
filters[5] = 'Power';
filters[6] = 'Communication';
filters[7] = 'Streets';

function highlightProject(entityID) {

    var map = getMap();
    var mapSel;
    var mapLayer;
    var mapObjects;
    var mapObj;


    for (i = 0; i < layers.length; i++) 
    {
         mapSel = map.getSelection();
         mapLayer = map.getMapLayer(layers[i]);
         mapObjects = map.createObject("MGCollection");
         mapObj = mapLayer.getMapObject(entityID);

        if (mapObj != null) { mapObjects.add(mapObj); }

        mapSel.clear();
        if (mapObjects.size() > 0) 
        {
            mapSel.addObjectsEx(mapObjects, false);
            i = layers.length;
            //map.refresh();
            map.zoomSelected();
        }
    } //for

    map.refresh();   
} //function

function onSelectionChanged(map) 
{

    //save project entity id and then go highlight grid  and load form
    var key = document.getElementById('ctl00_MasterContent_hidSelectionKey');
    key.value = getKeyValue("ProjectID");
   
    document.forms[0].ctl00$MasterContent$btnHighlightProject.click();    
}

function createProject_onClick() {
    var id = document.getElementById("ctl00_MasterContent_tabMain_tabProjects_lblProjectID");
    var streets = document.forms[0].ctl00$MasterContent$hidStreetSegments;
   
    if (id.innerHTML == ""){
        var list = getKey("StCtrLine","PWLine","StCtrLineAlley");
        if (list.substr(list.length, 1) == ',') { list = list.substr(0, list.length - 1); }
    }
    
   streets.value = list;
   document.forms[0].ctl00$MasterContent$tabMain$tabProjects$btnSubmit.click();
}
function SetMyProjects(layerFilter) 
{
 // toggleLayerMyProjects(layerFilter);
    //update grid with session["Sponsor"] matched projects
    //save list of project types in client side control
    // on end page request add check for client side control data
    // filter layers for each type and sponsor
    // reset client side control data
    // ?view state?
   //refreshGridAndMap();
}
function toggleConflicts(layer) 
{
    
    if ((document.getElementById('ctl00_MasterContent_txtfStartDate')).value != "") 
    {
        startDate = (document.getElementById('ctl00_MasterContent_txtfStartDate')).value;
    }
    if ((document.getElementById('ctl00_MasterContent_txtfEndDate')).value != "") 
    {
        endDate = (document.getElementById('ctl00_MasterContent_txtfEndDate')).value;
    }
    var map = getMap();
    //map.zoomOut();
    var mapLayer = map.getMapLayer(layer);
    var btn = 'ctl00$MasterContent$hidProjCoordConflict';  //+ layer;
    if (mapLayer.getVisibility()) 
 {
        mapLayer.setVisibility(false);
    }
    else 
    {
        mapLayer.setVisibility(true);
    }

    map.getMapLayer(layer).setSQLWhere(" ProjectID_1 in (select projectID from GIS.ProjectCoord where  " +
        " ((PROJECTSTARTDATE >= TO_DATE('" + startDate + "','mm/dd/yyyy')and PROJECTSTARTDATE <= TO_DATE('" + endDate + "','mm/dd/yyyy')) or " +
        "(PROJECTENDDATE >= TO_DATE('" + startDate + "','mm/dd/yyyy')and PROJECTENDDATE <= TO_DATE('" + endDate + "','mm/dd/yyyy'))or " +
    " (ProjectStartDate < TO_DATE('" + startDate + "','mm/dd/yyyy') and PROJECTENDDATE > TO_DATE('" + endDate + "','mm/dd/yyyy'))))");
    
    btn = document.getElementById(btn);
    if (btn != null) { btn.click(); }

    map.refresh();
}
// ** TO DO: split into common and specific, this would eliminate the toggleConflicts method
function toggleLayer(layer, layerFilter) {

    if ((document.getElementById('ctl00_MasterContent_txtfStartDate')).value != "") {
        startDate = (document.getElementById('ctl00_MasterContent_txtfStartDate')).value;
    }
    if ((document.getElementById('ctl00_MasterContent_txtfEndDate')).value != "") {
        endDate = (document.getElementById('ctl00_MasterContent_txtfEndDate')).value;
    }
    var map = getMap();

    var mapLayer = map.getMapLayer(layer);

    if (mapLayer.getVisibility()) {
        mapLayer.setVisibility(false);
    }
    else {
        mapLayer.setVisibility(true);
    }

    var strQuery = "(ProjectType = '" + layerFilter + "') and " +
        " ((PROJECTSTARTDATE >= TO_DATE('" + startDate + "','mm/dd/yyyy')and PROJECTSTARTDATE <= TO_DATE('" + endDate + "','mm/dd/yyyy')) or " +
        "(PROJECTENDDATE >= TO_DATE('" + startDate + "','mm/dd/yyyy')and PROJECTENDDATE <= TO_DATE('" + endDate + "','mm/dd/yyyy'))or " +
    " (ProjectStartDate < TO_DATE('" + startDate + "','mm/dd/yyyy') and PROJECTENDDATE > TO_DATE('" + endDate + "','mm/dd/yyyy'))) ";
    map.getMapLayer(layer).setSQLWhere(strQuery);
    map.getMapLayer(layer).setRebuild(true);
}



 function layersRebuild() {
     var map = getMap();
     
     for (i = 0; i < layers.length; i++) {     
         mapLayer = map.getMapLayer(layers[i]).setRebuild(true);
     }
 }



