var DM_Widget_Yahoo_Geoloc_Preview = 
{
    rules:
    {
        '#close_yahoogeolocpreview': function(element)
        {
            element.onclick = function()
            {
                var p = parent.document.getElementById('yahoo_geoloc_preview_iframe');
                p = $(p);
                p.hide();
            };
        }
    },
    displayMap: function()
    {
        var widget = $('map_container');
                
        widget.innerHTML = '';
        widget.className = 'dm_widget_yahoo_maps';
        widget.style.display = 'block';

        DM_Widget_Yahoo_Geoloc_Preview.myMap = new YMap(widget, YAHOO_MAP_REG, new YSize(550, 250));
        DM_Widget_Yahoo_Geoloc_Preview.myMap.addTypeControl();
        DM_Widget_Yahoo_Geoloc_Preview.myMap.setMapType(YAHOO_MAP_REG);
        DM_Widget_Yahoo_Geoloc_Preview.myMap.addZoomShort();
        DM_Widget_Yahoo_Geoloc_Preview.myMap.removeZoomScale();
        DM_Widget_Yahoo_Geoloc_Preview.myMap.disableKeyControls();
        DM_Widget_Yahoo_Geoloc_Preview.myMap.disablePanOnDoubleClick();

        var mapCenteringDone = false;

        if(DM_Widget_Yahoo_Geoloc_Preview.GeolocLatitude != '' && DM_Widget_Yahoo_Geoloc_Preview.GeolocLongitude != '')
        {
            var point = new YGeoPoint(DM_Widget_Yahoo_Geoloc_Preview.GeolocLatitude, DM_Widget_Yahoo_Geoloc_Preview.GeolocLongitude);
            DM_Widget_Yahoo_Geoloc_Preview.videoGeolocPoint = point;
            DM_Widget_Yahoo_Geoloc_Preview.myMap.drawZoomAndCenter(point, 12);
            var myImage = new YImage();
            myImage.src = '/images/geoloc/medium_bubble.png';
            myImage.size = new YSize(136, 106);
            myImage.offset = new YCoordPoint(-35, 1);
            label = '<div class="mini_preview"><img style="margin: 14px 0 0 5px" src="'+DM_Widget_Yahoo_Geoloc_Preview.VideoPreview+'" width="80" height="60"/></div>';
            var marker = new YMarker(point, myImage);
            marker.addLabel(label);
            DM_Widget_Yahoo_Geoloc_Preview.myMap.addOverlay(marker);
        }
        else
        {
            if(!mapCenteringDone)
            {
                DM_Widget_Yahoo_Geoloc_Preview.myMap.drawZoomAndCenter(new YGeoPoint(10, -5), 17);
            }
        }

        new Insertion.Bottom(widget, DM_Widget_Yahoo_Geoloc_Preview.button);
    },
    initialize : function ()
    {
        Event.onDOMReady(
            function() {
                EventSelectors.start(DM_Widget_Yahoo_Geoloc_Preview.rules);
                DM_Widget_Yahoo_Geoloc_Preview.displayMap();
            }
        );
    }
};

DM_Widget_Yahoo_Geoloc_Preview.initialize();
