$(function() {

    $('#map').jmap('init', {
        mapCenter: [51.511307, -0.099564]
    },
    function(el, options) {
        //when ready
        $.post("saveinfos.php", {
            action: "getlist"
        },
        function(data) {
            dat = eval(data);
            for (i = 0; i < dat.length; i++) {
                $('#map').jmap('addMarker', {
                    pointLatLng: [dat[i].py, dat[i].px],
                    pointHTML: '<div class = "bubble">'+dat[i].postcode + '<br />' + dat[i].label+'</div>'
                });
            }
        });
    });

    $("#label").click(function() {
        $(this).html("");
    });
    $("#address").click(function() {
        $(this).val("");
    });

    $('.submit').click(function() {
        ret = isUkPostCode($('#address').val());
        if (ret == "ok") {
            $('#map').jmap("searchAddress", {
                address: 'London, UK, ' + $('#address').val()
            },
            function(options, point) {
                $('#map').jmap('addMarker', {
                    pointLatLng: [point.y, point.x],
                    pointHTML: '<div class = "bubble">'+'<span class = "bubble_title">'+$('#address').val() + '</span>' + $("#label").val()+'</div>'
                });
                $('#map').jmap("moveTo", {
                    mapCenter: [point.y, point.x],
                    centerMethod: "pan"
                });
                $.post("saveinfos.php", {
                    action: "addlabel",
                    py: point.y,
                    px: point.x,
                    postcode: $('#address').val(),
                    label: $("#label").val()
                },
                function(data) {
                    if (data == "ok") {
                        alert("your label has been recorded")
                    } else {
                        alert(data);
                    }
                });

            });
        } else {
            alert(ret);
        }

    });

});
