﻿// JScript File

isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;

function ddInit(e){
  topDog=isIE ? "BODY" : "HTML";
  whichDog=isIE ? document.all.theMapFloat : document.getElementById("theMapFloat");  
  hotDog=isIE ? event.srcElement : e.target;
  if (hotDog != null) {
      while (hotDog != null && hotDog.id != "titleBar" && hotDog.tagName != topDog) {
          hotDog = isIE ? hotDog.parentElement : hotDog.parentNode;
      }
      if (hotDog != null && hotDog.id == "titleBar") {
          offsetx = isIE ? event.clientX : e.clientX;
          offsety = isIE ? event.clientY : e.clientY;
          nowX = parseInt(whichDog.style.left);
          nowY = parseInt(whichDog.style.top);
          ddEnabled = true;
          document.onmousemove = dd;
      }
  } 
}

function dd(e){
  if (!ddEnabled) return;
  whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog){
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function hideMe(){
  if (isIE||isNN) whichDog.style.visibility="hidden";
  else if (isN4) document.theMapFloat.visibility="hide";
}

function showMe(){
  if (isIE||isNN) whichDog.style.visibility="visible";
  else if (isN4) document.theMapFloat.visibility="show";
}

document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");



    var mymap = null;
    var geocoder = null;
    var loaded = false;

    var map = null;
    var layer01 = null;
    var lastaddress = null;
    
    function load() {
         map = new VEMap('myMap');
         map.SetDashboardSize(VEDashboardSize.Normal);
         map.LoadMap();

        layer01 = new VEShapeLayer();
        layer01.SetTitle("layer01 title");
        map.AddShapeLayer(layer01);

    }
    
    function addPin(){
        //Add a pushpin to the map         
        var shape = new VEShape(VEShapeType.Pushpin, map.GetCenter());         
        shape.SetTitle(lastaddress);         
        //shape.SetDescription('This is a pushpin.');        
        map.AddShape(shape);
        shape.Show();
    }

    
    function showAddress(address) {
        try
         {
            if(map==null)
                load();
            lastaddress=address;
            //map.Find(null, address);
            map.Find(null, address, null,   layer01,       null,       null,           false,      true,          false,                     true,             addPin);
                    //what, where, findType, shapeLayer, startIndex, numberOfResults, showResults, createResults, useDefaultDisambiguation, setBestMapView, callback

            if (map.IsBirdseyeAvailable())
                map.SetMapStyle(VEMapStyle.Birdseye);
            
            if (isIE||isNN) document.getElementById('MSVE_obliqueNotification').innerHTML = "";
            
                
  
            if(whichDog!=null){
                if (isIE||isNN) {
                
                  whichDog.style.display="none";
                  whichDog.style.visibility="visible";
                  whichDog.style.top = document.body.scrollTop+50;
                  new Effect.Grow(whichDog,{duration:1.0});
                }
                else if (isN4){ 
                  document.theMapFloat.display="none";
                  document.theMapFloat.visibility="visible";
                  //document.theMapFloat.top = document.body.scrollTop+50;
                  new Effect.Grow(document.theMapFloat,{duration:1.0});
                }
            }
        }
        catch(e)
        {
        alert(e.message);
        }
    }


    function showAddressFromLatLong(latitude, longitude) {
        try {
            if (map == null)
                load();           
            
            var veMapLocation = new VELatLong(latitude, longitude);
            map.LoadMap(veMapLocation, 15, VEMapStyle.Aerial);

            if (map.IsBirdseyeAvailable())
                map.SetMapStyle(VEMapStyle.Birdseye);

            if (isIE || isNN) document.getElementById('MSVE_obliqueNotification').innerHTML = "";



            if (whichDog != null) {
                if (isIE || isNN) {

                    whichDog.style.display = "none";
                    whichDog.style.visibility = "visible";
                    whichDog.style.top = document.body.scrollTop + 50;
                    new Effect.Grow(whichDog, { duration: 1.0 });
                }
                else if (isN4) {
                    document.theMapFloat.display = "none";
                    document.theMapFloat.visibility = "visible";
                    //document.theMapFloat.top = document.body.scrollTop+50;
                    new Effect.Grow(document.theMapFloat, { duration: 1.0 });
                }
            }
        }
        catch (e) {
            alert(e.message);
        }
    }
    
    
//    function load() {
//      if (!loaded && GBrowserIsCompatible()) {
//        mymap = new GMap2(document.getElementById("map"));
//        mymap.addControl(new GSmallMapControl());
//        mymap.addControl(new GMapTypeControl());
//        geocoder = new GClientGeocoder();
//      }
//    }

//    function showAddress(address) {
//        try{   
//            load();
//            loaded = true;
//            if (geocoder) {
//                geocoder.getLatLng(
//                address,
//                function(point) {
//                    if (!point) {
//                        window.status = address + " could not be located on Google maps.";
//                        alert(address + " could not be located on Google maps.");
//                    } else {
//                    mymap.setCenter(point, 13);
//                    var marker = new GMarker(point);
//                    mymap.addOverlay(marker);
//                    //marker.openInfoWindowHtml(address);
//                    
//                    if(document.getElementById("theMapFloat")!=null){
//                        document.getElementById("theMapFloat").style.display="none";
//                        document.getElementById("theMapFloat").style.visibility="visible";
//                        document.getElementById("theMapFloat").style.top = document.body.scrollTop+50;
//                        new Effect.Grow(document.getElementById("theMapFloat"),{duration:0.5});
//                    }

//                    }
//                }
//                );
//            }
//        }catch(e){;}
//    }

        //<![CDATA[
    //]]>
    
    

