
function popUp(URL) {
    var win = window.open(URL, 'printFriendlyView', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=1,resizable=1,width=710,height=650');
    win.focus();
}




function setAntennaVisibility(){
    var chkBox = document.getElementById("AntennaVisibility");
    
    var url = wsnav.baseHREF + "/wsnav/AntennaVisibility.do?mapInstanceKey=" + wsnav.mapInstanceKey + "&visibility=" + chkBox.checked + "&refresh=" + Math.random();
    var x = createXmlHttpRequest();
    x.open("GET",url,true);
    x.onreadystatechange = function(){ 
        if(x.readyState == 4) {
            wsnav.refreshMap();
        } 
    }
    x.send(null);
}

var timer;
var isShowing = false;
var isHiding = false;
var toHide = false;
function showScale() {
    if (isHiding) {
        isHiding = false;
        window.clearInterval(timer);
    }

    isShowing = true;
    if (document.getElementById('scaleText').filters) {
        document.getElementById('scaleText').filters.alpha.opacity = 25;
    } else if (document.getElementById('scaleText').style.MozOpacity) {
        document.getElementById('scaleText').style.MozOpacity = 0.25;
    }
    timer = window.setInterval("addOpacity()", 20);
}

function hideScale() {

    if (isShowing) {
        isShowing = false;
        window.clearInterval(timer);
    }

    isHiding = true;
    timer = window.setInterval("removeOpacity()", 20);
}

function addOpacity() {
    var scaleImage = document.getElementById('scaleImage');
    var scaleText = document.getElementById('scaleText');

    scaleImage.style.display = 'block';
    scaleText.style.display = 'block';
    if (scaleText.filters) {
        var opacText = scaleText.filters.alpha.opacity;
        if (opacText < 100) {
            scaleText.filters.alpha.opacity = opacText + 10;
            scaleImage.filters.alpha.opacity = opacText - 25 + 10;
        } else {
            window.clearInterval(timer);
            isShowing = false;
        }
    } else if (scaleText.style.MozOpacity) {
        var opacText = Number(scaleText.style.MozOpacity);
        if (opacText < 1) {
            scaleText.style.MozOpacity = opacText + (0.1);
            scaleImage.style.MozOpacity = opacText - 0.25 + 0.1;
        } else {
            window.clearInterval(timer);
            isShowing = false;
        }
    } 
}

function removeOpacity() {
    var scaleImage = document.getElementById('scaleImage');
    var scaleText = document.getElementById('scaleText');
    if (scaleText.filters) {
        var opacText = scaleText.filters.alpha.opacity;
        if (opacText > 0) {
            scaleText.filters.alpha.opacity = opacText - 10;
            scaleImage.filters.alpha.opacity = opacText - 25 - 10;
        } else {
            scaleImage.style.display = 'none';
            scaleText.style.display = 'none';
            window.clearInterval(timer);
            isHiding = false;
        }
    } else if (scaleText.style.MozOpacity) {
        var opacText = Number(scaleText.style.MozOpacity);
        if (opacText > 0) {
            scaleText.style.MozOpacity = opacText - 0.1;
            scaleImage.style.MozOpacity = opacText -0.25 - 0.1;
        } else {
            scaleImage.style.display = 'none';
            scaleText.style.display = 'none';
            window.clearInterval(timer);
            isHiding = false;
        }
    } 
}

var compassRegions = new Array();
/*compassRegions[0] = new Array(347, 157, 'n', 2); // N
compassRegions[1] = new Array(359, 160, 'ne', 3); // NE
compassRegions[2] = new Array(364, 173, 'e', 5); // E
compassRegions[3] = new Array(359, 186, 'se', 8); // SE
compassRegions[4] = new Array(346, 193, 's', 7); // S 
compassRegions[5] = new Array(332, 186, 'sw', 6); // SW
compassRegions[6] = new Array(327, 173, 'w', 4); // W
compassRegions[7] = new Array(332, 160, 'nw', 1);   // NW*/

compassRegions[0] = new Array(34, 15, 'n', 2); // N
compassRegions[1] = new Array(46, 20, 'ne', 3); // NE
compassRegions[2] = new Array(52, 33, 'e', 5); // E
compassRegions[3] = new Array(46, 46, 'se', 8); // SE
compassRegions[4] = new Array(34, 52, 's', 7); // S 
compassRegions[5] = new Array(20, 46, 'sw', 6); // SW
compassRegions[6] = new Array(12, 33, 'w', 4); // W
compassRegions[7] = new Array(20, 20, 'nw', 1);   // NW

function getCompassSelectedArea(e) {
    var imgCompass = document.getElementById('imgCompass');
    var compassX = findPosX(imgCompass);
    var compassY = findPosY(imgCompass);
    if (!e) var e = window.event;
    var lastClientX = e.clientX;
    var lastClientY = e.clientY;

    var cursX = lastClientX - compassX;
    var cursY = lastClientY - compassY;
    var minDist = 500;
    var area;
    for (z in compassRegions) {

        var compassRX = compassRegions[z][0];
        var compassRY = compassRegions[z][1];

        var dist = Math.sqrt(Math.pow(Math.abs(cursX - compassRX),2) + Math.pow(Math.abs(cursY - compassRY),2));
        if (dist < minDist) {
            minDist = dist;
            area = compassRegions[z];
        }
    }
    return area;
}

function compassClick(e) {
    var direction = getCompassSelectedArea(e)[3];
    compass.panningMove(direction);
}

function compassMove(e) {
    var direction = getCompassSelectedArea(e)[2];
    var compass = document.getElementById('divCompass');
    var directions = 'nenwsesw'; 
    if (directions.indexOf(direction) != -1) {
        compass.style.cursor='pointer';
        compass.className = 'divCompass_' + direction + '_' + 'en_IE';
    }
}

function cancelCompassMove() {
    var compass = document.getElementById('divCompass');
    compass.style.cursor='default';
    compass.className = 'divCompass_' + 'en_IE';
}

var namedViews = null;
function buildNamedViewsOptionList(mapInstanceKey, selectedNamedView) {
    var selectElement = document.getElementById('namedViews');

    var url = wsnav.baseHREF+"/wsnav/WebServiceCaller.do?pnsURL="+wsnav.baseHREFpns+"&service=MapService&method=getNamedViews&p.1.string="+mapInstanceKey+"&contentType=text/xml&refresh="+Math.random(); 
    var x = createXmlHttpRequest();
    x.open("GET",url,false);
    x.send(null);
    if (x.responseXML) {
        var count = x.responseXML.documentElement.getElementsByTagName("NamedView").length;  

        namedViews = new Array(count);
        var doc = x.responseXML.documentElement;

        var optionColl = selectElement.options;
        optionColl[optionColl.length] = new Option("", "", true);
        for (var y = 0; y < count; y++) {
            var namedViewInfo = new Array(5);
            var namedView = doc.getElementsByTagName("NamedView")[y];
            namedViewInfo[0] = namedView.attributes[0].value;
            namedViewInfo[1] = namedView.getElementsByTagName('Zoom')[0].childNodes[0].nodeValue;
            namedViewInfo[2] = namedView.getElementsByTagName('Longitude')[0].childNodes[0].nodeValue;
            namedViewInfo[3] = namedView.getElementsByTagName('Latitude')[0].childNodes[0].nodeValue;
            namedViewInfo[4] = namedView.getElementsByTagName('Description')[0].childNodes[0].nodeValue;
            namedViews[y] = namedViewInfo;

            var selected = namedViewInfo[4].toLowerCase() == selectedNamedView.toLowerCase();
            var option = new Option(namedViewInfo[4], namedViewInfo[0], false, selected);
            optionColl[optionColl.length] = option;
        }

    }
}

function moveToRegion() {
    var selectElement = document.getElementById('namedViews');
    var selectedRegion = namedViews[Number(selectElement.selectedIndex) - 1];
    if (selectedRegion) {
        wsnav.setZoomAndCenter(selectedRegion[1], selectedRegion[2], selectedRegion[3]);
        wsnav.refreshMap();
    }
}

function publicInitAction(action) {
    
    if (action.toLowerCase() == 'geocode') {
        var form = document.getElementById('addressGeocodeForm');
        form.submit();
    }
    else if (action.toLowerCase() == 'intersect') {
        var intersectTab = document.getElementById('tab2');
        showPane('pane2', intersectTab);
        
        var form = document.getElementById('intersectGeocodeForm');
        form.submit();
    }
    else if (action.toLowerCase() == 'region') {
        moveToRegion();
    }
    
}



