/*
    MAP INITIALIZATION AND CONTROLS
    --------------------------------------
    Copyright 2006(c)
    HD Protech
    5959 Corporate Drive, Suite 3015
    Houston, Texas 77036
*/

    var NewLat;
    var NewLong;

    var ctrlMapOverview = new GOverviewMapControl();
    var ctrlMapZoom     = new GLargeMapControl();
    var ctrlMapScale    = new GScaleControl();
    var ctrlMapType     = new GMapTypeControl();
    
    /* ********************************************************************** */
    /* Map initialization and closing functions */
    /* ********************************************************************** */
    /* initialize map functions and set preferences */
    function initMap(){        
        try{
            map.setCenter(new GLatLng(37.73864, -95.59398), 4);        
            if( GBrowserIsCompatible() ){  
                    ZoomControlOn();
                    //MapViewOn();
                    MapTypeOn();
                    loadCameras();
                } else {
                    alert("Browser is not compatible with mapping engine.");
                }
            } catch (err){
                //alert("Map Init Error: " + err);
            }
    }

    /* if IE adjust map position on page */
    function AdjustMapPlacement(){        
        if (window.ActiveXObject){
            document.getElementById("map").style.top = "2px";
            document.getElementById("map").style.left = "195px";
        } else {
            document.getElementById("map").style.top = "22px";
            document.getElementById("map").style.left = "197px";
        }
    }

    /* sleep function - suspends events */
    function pause(milli){
        var now = new Date();
        var exitTime = now.getTime() + milli;
        while(true){
            now = new Date();
            if(now.getTime() > exitTime) return;
        }
    }  
    /* ********************************************************************** */
    


    /* ********************************************************************** */
    /* MAP CONTROLS - CHECK BOX SETTINGS */
    /* ********************************************************************** */
    /* add & remove scale control */
    function setMapScale(){        
        try{
            if(document.getElementById("mapScale").checked){                
                map.addControl(ctrlMapScale);
            } else {                        
                map.removeControl(ctrlMapScale);
            }
        } catch (err){
            alert("Error setting map scale control.");
        }
    }
    
    /* add & remove map/satellite view */
    function MapTypeOn(){
	map.addControl(ctrlMapType);
    }
    
    function setMapView(){
        try{
        if(document.getElementById("mapView").checked){
            map.addControl(ctrlMapType);
        } else {            
            map.removeControl(ctrlMapType);
        }
        } catch (err){
            alert("Error setting map type control.");
        }
    }

    /* add & remove small map overview window */
    function MapViewOn(){
	map.addControl(ctrlMapOverview);
    }
    
    function setMapOverview(){
        try{
            if(document.getElementById("mapOverview").checked){
                map.addControl(ctrlMapOverview);
            } else {            
                map.removeControl(ctrlMapOverview);
            }
        } catch (err){
            alert("Error setting map overview control.");
        }
    }

    /* add & remove map zoom control */
    function ZoomControlOn(){
	map.addControl(ctrlMapZoom);
    }
    
    function setZoomControl(){
        try{
            if( document.getElementById("zoomBar").checked ){
                map.addControl(ctrlMapZoom);
            } else {
                map.removeControl(ctrlMapZoom);
            }
        } catch (err){
            alert("Error setting map zoom control.");
        }
    }

    /* Turns On/Off double click zooming */
    function setDblClickZoom(){
        try{
            if( document.getElementById("mapDblClick").checked ){
                map.enableDoubleClickZoom();
            } else {
                map.disableDoubleClickZoom();
            }
        } catch (err){
            alert("Error setting zoom double click.");
        }
    }
    /* ********************************************************************** */
