﻿Ext.namespace("TISolution.Model");

TISolution.Model.PontoEstudo = Ext.extend(Object, (function() {
    var monkeyMarkerUrl = "resource/images/monkey.png";
    var treeMarkerUrl = "resource/images/tree.png";
    var videoMarkerUrl = "resource/images/video.png";

    return {
        serverData: null,
        visible: false,
        marker: null,

        constructor: function(_pontoEstudo) {
            this.serverData = _pontoEstudo;
        },

        SetVisible: function(value) {
            if (this.visible != value) {
                this.visible = value;
                if (this.visible)
                    this.marker = TISolution.Default.GetMapManager().createMarker(this.GetMakerUrl(),
                    this.serverData.Longitude, this.serverData.Latitude, this.GetHtmlContent(), this.GetSize());
                else
                    TISolution.Default.GetMapManager().removeMarker(this.marker);
            }
        },

        GetHtmlContent: function() {            
            switch (this.serverData.Tipo) {
                case 'r': return TISolution.Model.BalloonTemplate.GetTreeTemplate(this.serverData);
                case 'm': return TISolution.Model.BalloonTemplate.GetMonkeyTemplate(this.serverData);                
                case 'v': return TISolution.Model.BalloonTemplate.GetVideoTemplate(this.serverData);
            }
        },
      
        
        GetSize: function()
        {
             switch (this.serverData.Tipo) {
                case 'm': return new OpenLayers.Size(400, 400);
                case 'r': return new OpenLayers.Size(400, 260);
                case 'v': return new OpenLayers.Size(510, 420);
            }            
        },
        

        GetMakerUrl: function() {
            switch (this.serverData.Tipo) {
                case 'm': return monkeyMarkerUrl;
                case 'r': return treeMarkerUrl;
                case 'v': return videoMarkerUrl;
            }
        }
    };
})());



