/* 
 * BuscoPensión @ Point
 */

var PointInfo = new Array();
var PointMarker = new Array();

function loadPoint() {

    var bounds = map.getBounds();
    var tmp = new Array();
    var items = new Array();

    $.getJSON("/puntos/show.json", {
        value: bounds.toUrlValue()
    }, function(json){
        $.each(json, function(i,Point){
            tmp.push(Point.Point.id);
            tmp.push(Point.Point.lat);
            tmp.push(Point.Point.lng);
            tmp.push(Point.Point.name);
            tmp.push(Point.Point.url);
            tmp.push(Point.Point.description);

            items.push(tmp);

            tmp = new Array();
        });

        setPoint(map, items);
    });




}

function setPoint(map, locations) {

    for (var i = 0; i < locations.length; i++) {
        var point = locations[i];
        if(PointMarker[point[0]] == undefined) {
            var myLatLng = new google.maps.LatLng(parseFloat(point[1]), parseFloat(point[2]));

            PointMarker[point[0]] = new google.maps.Marker({
                position: myLatLng,
                map: map,
                title: point[3]
            });

            setPointInfo(PointMarker[point[0]],point[3],point[4]);
        }
    }
}

function setPointInfo(marker,name,description) {
    if(name == undefined) name = "";
    if(description == undefined) description = "";
    var info = new google.maps.InfoWindow({
        content:
        "<p>Nombre: <strong>"+name+"</strong></p>"+
        "<p>Descripción: <strong>"+description+"</strong></p>"
    });

    google.maps.event.addListener(marker, 'click', function() {
        info.open(map,marker);
    });
}