﻿MapItem = function(element) {
    MapItem.initializeBase(this, [element]);
    
    this._map = null;
}
MapItem.prototype = {
    initialize: function() {
        MapItem.callBaseMethod(this, 'initialize');
        
        $addHandlers(this.get_element(), {
            mouseover: this.activate,
            mouseout: this.deactivate
        }, this);
    },
    dispose: function() {
        $clearHandlers(this.get_element());

        MapItem.callBaseMethod(this, 'dispose');
    },
    activate: function() {
        if (this._map)
            this._map.deactivateAll();
        
        this.get_element().className = "mapItemSelected";
    },
    deactivate: function() {
        this.get_element().className = "mapItem";
    },

    //GET AND SET METHODS
    get_Map: function() {
        return this._map;
    },
    set_Map: function(value) {
        if (this._map !== value) {
            this._map = value;
            this._map.addToMap(this);
        }
    }
}

MapItem.registerClass("MapItem", Sys.UI.Control);
