﻿// display_select.js

var m_currentSelectToolbarTool = "polyline";
var m_selectToolbarImageExtension = "images/";
var m_selectToolbarImageExtension = ".gif";
var m_selectDisplay = "SelectDisplay";
var m_selectToolbarId = "SelectToolbar";
var m_selectLengthsTotal = 0.0;
var m_selectAreasTotal = 0.0;
var m_selectXOffset = 0;
var m_selectYOffset = 0;
var m_SelectTypes = new Array();
m_SelectTypes[0] = "point";
m_SelectTypes[1] = "polyline";
m_SelectTypes[2] = "polygon";
var m_selectMoveFunction = null;
var m_selectCoords = "";
var m_selectLastCoords = "";
var m_selectMouseUpSet = false;

var m_selectToolbar = null;
var m_selectGraphicFeature = null;

function checkSelectToolbarBorder(cell, type) {
    if (type.toLowerCase() == m_currentSelectToolbarTool)
        cell.style.borderColor = "Black";
    else
        cell.style.borderColor = "White";
}

// set current select tool
function setSelectToolbarTool(type) {
    m_currentSelectToolbarTool = type.toLowerCase();
    var cellObj;
    var buttonId = "";
    for (var i = 0; i < m_SelectTypes.length; i++) {
        buttonId = "SelectToolbarButton_" + m_SelectTypes[i];
        cellObj = document.getElementById(buttonId);
        if (cellObj != null) {
            if (m_SelectTypes[i] == m_currentSelectToolbarTool) {
                cellObj.style.borderColor = "Black";
                cellObj.style.backgroundColor = "#EEEEEE";
                startSelect();
            }
            else {
                cellObj.style.borderColor = "White";
                cellObj.style.backgroundColor = "White";
            }
        }
    }
}

function SelectCoordsMouseUp(sender, args) {
    //find TabContainer and set active tab to "Results"
//    var tc = $find("TabContainer1");
//    tc.set_activeTabIndex(2);

//    label = document.getElementById("lblActivity");
//    gridresults = document.getElementById("TabContainer1_TabPanel2_GridResults1");

//    //clear out gridresults 
//    gridresults.innerHTML = "";

//    //bring up loading graphic
//    label.style.backgroundColor = "#EEEEEE";
//    label.innerHTML = "<img src='images/callbackActivityIndicator.gif'/>Loading...";
}

function removeSelectGraphic() {
    if (m_selectGraphicFeature != null) {
        map.removeGraphic(m_selectGraphicFeature);
        m_selectGraphicFeature.dispose();
        m_selectGraphicFeature = null;
    }

}

// select tool is selected... call current type (polyline for distance, polygon for area)
function startSelect() {
    var md;
    if (m_selectDisplay != null) {
        md = $get(m_selectDisplay);
        m_selectToolbar = $get(m_selectToolbarId);
        m_selectToolbar.style.display = "";
    }

    //controls our rectangle creation.
    MapDragRectangle('ctl00_cphBody_Map1', 'Select', false, 'hand');

    map = $find("ctl00_cphBody_Map1");
    if (!m_selectMouseUpSet) {
        map.add_mouseUp(SelectCoordsMouseUp);
        m_selectMouseUpSet = true;
    }
}

function selectComplete() {
    //here is where we remove the waitIcon and the Loading graphic
    //label.style.backgroundColor = "";
    //label.innerHTML = "";
}

function closeSelectToolbarTool(id) {
    hideSelectToolbarTool(id);
    //map.cancelGetGeometry();
    map.remove_mouseUp(SelectCoordsMouseUp);
    m_selectMouseUpSet = false;
}

function hideSelectToolbarTool(id) {
    m_selectToolbar = $get(m_selectToolbarId);
    if (m_selectToolbar != null) {
        m_selectToolbar.style.display = "none";
        removeSelectGraphic();

    }
}



// event handler for starting to drag toolbar around... mouse down
function dragSelectToolbarStart(e) {
    m_selectToolbar = $get("SelectToolbar");
    if (m_selectToolbar != null) {
        var box = calcElementPosition(m_selectToolbar.id);
        m_selectXOffset = e.clientX - box.left;
        m_selectYOffset = e.clientY - box.top;
    }
    $addHandler(document, "mousemove", dragSelectToolbarMove);
    $addHandler(document, "mouseup", dragSelectToolbarStop);
    e.preventDefault();
    e.stopPropagation();
}

// event handler for toolbar drag movement... mousemove
function dragSelectToolbarMove(e) {
    m_selectToolbar.style.left = (e.clientX - m_selectXOffset) + "px";
    m_selectToolbar.style.top = ((e.clientY - m_selectYOffset)-119) + "px";
    e.preventDefault();
    e.stopPropagation();
}

// event handler for end of toolbar drag movement... mouseup
function dragSelectToolbarStop(e) {
    $removeHandler(document, "mousemove", dragSelectToolbarMove);
    $removeHandler(document, "mouseup", dragSelectToolbarStop);
    e.preventDefault();
    e.stopPropagation();
}

// set up the images for transparency in IE6
function setIE6SelectToolbarImages() {
    var imageId = "";
    var imgSrc = "";
    var imgObj = document.images["SelectToolbar_CloseButton"];
    if (imgObj != null) {
        imgObj.src = "images/blank.gif";
        imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/aspnet_client/ESRI/WebADF/images/dismiss.png)";
    }
    for (var i = 0; i < m_SelectTypes.length; i++) {
        imageId = "ToolbarImage_" + m_SelectTypes[i];
        imgObj = document.images[imageId];
        if (imgObj != null) {
            imgSrc = imgObj.src;
            imgObj.src = "images/blank.gif";
            imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + imgSrc + ")";
        }
    }
}



