var DM_Widget_Yahoo_Geoloc_Preview = 
{
    currentElementId : null,
    rules : {
        'a.show_map_preview' : function(element)
        {
            element.onclick = function()
            {
                var widget = $('tools_container').firstChild;
                
                if(widget.className != 'dm_widget_yahoo_maps')
                {
                    DM_Widget_VideoTools.resetTools();
                    
                    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(560, 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 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);
                    if(widget.nextSibling.style.display != 'block')
                    {
                        toggleElement(widget.nextSibling);
                    }
                }
                else
                {
                    toggleElement(widget);
                    toggleElement(widget.nextSibling);
                }    
                return false; 
            };
        }
    },
    initialize : function ()
    {
        Event.onDOMReady(
            function() {
                EventSelectors.start(DM_Widget_Yahoo_Geoloc_Preview.rules);
            }
        );
    },
    prevPopup : null
};
DM_Widget_Yahoo_Geoloc_Preview.initialize();