﻿/// <reference path="jquery-1.2.6-intellisense.js" />
var marker, map, coordinates, hiddenCoord, myLatLng, dragIcon, infowindow;

function initialize(txthidden, draggableIcon) {
    var message = 'Aquí está ubicado el inmueble';
    hiddenCoord = $('input[id$="' + txthidden + '"]');
    coordinates = {};
    dragIcon = false;

    if (draggableIcon == undefined) {
        dragIcon = true;
        message = 'Recuerde que esta opción será <br> visible con su aviso Premium';
    }

    if (hiddenCoord.val() == '') {
        coordinates.Lat = 4.620228796979006;
        coordinates.Lng = -74.1357421875;
    }
    else {
        var arrCoord = hiddenCoord.val().split(",");
        coordinates.Lat = parseFloat(arrCoord[0]);
        coordinates.Lng = parseFloat(arrCoord[1]);
    }

    myLatLng = new google.maps.LatLng(coordinates.Lat, coordinates.Lng);

    var myOptions = { zoom: 14, center: myLatLng, mapTypeId: google.maps.MapTypeId.ROADMAP }

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    addMarker();
    marker.setPosition(myLatLng);
    infowindow = new google.maps.InfoWindow({ content: message });
    setTimeout(function() { infowindow.open(map, marker); }, 3000);
    addListener();
    hiddenCoord.val(marker.position.b + "," + marker.position.c);
}

// Adiciona la marca en el mapa.
function addMarker() {
    var shadow = new google.maps.MarkerImage('/App_Theme/images/shadowMarker.png', new google.maps.Size(120, 32), new google.maps.Point(0, 0), new google.maps.Point(0, 32));
    marker = new google.maps.Marker({ icon: '/App_Theme/images/marker.png', map: map, shadow: shadow, draggable: dragIcon });
}

function addListener() {
    google.maps.event.addListener(marker, 'dragstart', function() { infowindow.close(); });
    if ($.browser.msie && $.browser.version == "6.0") {
        if (dragIcon) {
            google.maps.event.addListener(marker, 'dragend', function(mEvent) {
                marker.setVisible(false);
                myLatLng = mEvent.latLng;
                marker.setPosition(myLatLng);
                marker.setVisible(true);
                setTimeout(function() { infowindow.open(map, marker); }, 'slow');
                infowindow.open(map, marker);
                map.panTo(myLatLng);
                hiddenCoord.val(marker.position.b + "," + marker.position.c);
            });
        }
        google.maps.event.addListener(map, 'zoom_changed', function() {
            marker.setVisible(false);
            marker.setPosition(myLatLng);
            marker.setVisible(true);
        });
    }
    else {
        google.maps.event.addListener(marker, 'dragend', function(mEvent) {
            map.panTo(mEvent.latLng);
            infowindow.open(map, marker);
            hiddenCoord.val(marker.position.b + "," + marker.position.c);
        });
    }
}

function displayPoint(coord) {
    infowindow.close();
    var arrCoord = coord.split(",");
    myLatLng = new google.maps.LatLng(parseFloat(arrCoord[0]), parseFloat(arrCoord[1]));
    if ($.browser.msie && $.browser.version == "6.0") {
        //Se hace para que en ie6 se visualice el la marka ya que se desaparese al hacer drag.
        marker.setVisible(false);
        marker.setVisible(true);
    }
    marker.setPosition(myLatLng);
    setTimeout(function() { infowindow.open(map, marker); }, 1000);
    //Se ubica el mapa en una nueva coordenada.
    map.panTo(myLatLng);
    hiddenCoord.val(marker.position.b + "," + marker.position.c);
}

function EnableMap() {
    $('#map_canvas').css({ visibility: 'visible', position: 'relative' });
    $('#mapClose.close,.dataAdvertMap').css({ visibility: 'visible' });
}
