

$(document).ready(function(){
    
    $('div#map').jmap('init', {
            'mapType': G_NORMAL_MAP,
            //'mapCenter':[37.4419, -122.1419],
            'mapCenter': [ $('#mapsave input[name=lat]').val(), $('#mapsave input[name=lng]').val() ],
            'mapZoom': 1,
            'mapControl':'large',
            'mapEnableOverview':true,
            'mapEnableDoubleClickZoom':true,
            'mapEnableType':true,
            'mapEnableScaleControl':true
    }, function (map, element, options){
				GEvent.addListener(map, 'moveend', function(){
					//$('#map').value = newLevel;
					//if (newLevel<=zoomdMid)						
					//alert('push marker!');
                    var zoom = map.getZoom();
                    $('#mapsave input[name=zoom]').val( zoom );
				});
				GEvent.addListener(map, 'click', function(overlay, latlang, overlatlang){
					//alert('click!');
				});
                GEvent.addListener(map, 'zoomchanged', function(newzoom){
                    //$('#mapsave input[name=zoom]').val( newzoom );
                    //alert(newzoom);
				});
		  }
    );
    
    $('#mapsearch').click(function(){
        
        if (!validateForm()) return false;
        
        $('div#map').jmap('SearchAddress', {
            'query': $('#address').val(),
            'returnType': 'getLocations'
        }, function(result, options) {
            
            var valid = Mapifies.SearchCode(result.Status.code);
            if (valid.success)
            {
                jQuery.each(result.Placemark, function(i, point)
                {
                    $('div#map').jmap('AddMarker',{
                        'pointLatLng':[point.Point.coordinates[1], point.Point.coordinates[0]],
                        'pointHTML': point.address,
                        'pointIsDraggable': true,
                        'centerMap': true,
                        'centerMoveMethod': 'pan'                     
                    }, function (marker){
                    	//alert('marker ' + map);
                        GEvent.addListener(marker, 'dragend', function(){
                            //map.panTo(marker.getLatLng());
                            //alert(marker.getLatLng());
                            $('#lat').val(marker.getLatLng().lat());
                            $('#lng').val(marker.getLatLng().lng());
                        });
                        
                        $('#mapsearch').click(function(){
                            $('div#map').jmap('RemoveMarker', marker);
                        });
                    });
                    $('#lat').val(point.Point.coordinates[1]);
                    $('#lng').val(point.Point.coordinates[0]);
                    $('div#map').jmap('MoveTo',{'mapZoom':14,'mapCenter':[point.Point.coordinates[1], point.Point.coordinates[0]] });
                });
                
            } else {
                //$('#address').val(valid.message);
                $('#validation-address').val(valid.message);
                $('#validation-address').show('fast');
            }
        });

        $.ajax({
            async: true,
            beforeSend: function() {
            },
            success: function(response) {
            },
            error: function(e, msg){ },
            complete: function() {
            },
            url: CI.base_url + 'notes/ajax_saveaddress',
            data: 'address='+$('#address').val(),
            type: "post",
            dataType: "json"
        });  

        return false;
    });
    
    $('#mapsave').submit( function() {

        if (!validateForm()) return false;
       $(this).find('input[name=title]').val( $('#title').val() );
       $(this).find('input[name=description]').val( $('#description').val() );
       $(this).find('input[name=email]').val( $('#email').val() );
       $(this).find('input[name=address]').val( $('#address').val() );
       $(this).find('input[name=type]').val( $('#options-form input[name=type]:checked').val() );
       $(this).find('input[name=comments_enabled]').val( $('#options-form input[name=comments_enabled]:checked').val() );
       $(this).find('input[name=format]').val( $('#options-form input[name=format]:checked').val() );
       return true;
    });
    
    $('#options-link').click( function() { 
        var txt = $(this).find('span').text();
        $(this).find('span').text( $(this).attr('rel') );
        $(this).attr('rel', txt);
        $('#options').slideToggle('fast');        
    });
    
    // http://www.filamentgroup.com/lab/update_styling_the_button_element_with_css_sliding_doors_now_with_image_spr/
    $('.submitBtn').hover( function(){ $(this).addClass('submitBtnHover'); }, function(){ $(this).removeClass('submitBtnHover'); });
    
    $('textarea.resizable:not(.processed)').TextAreaResizer();
    
});

function validateForm()
{
    $('.validation-message').hide();
    
    if ($('#address').val() == '') {
     $('#validation-address').val('Ingrese una direcci&oacute;n aqu&iacute;');
     $('#validation-address').show('fast');
     return false;
    }
    
    return true;
}