﻿// JScript File
if (RHPConsulting == null)
    var RHPConsulting = {};

// Chart Value Label ...
RHPConsulting.ChartValueLabel = function (chart, seriesToken) {

        // parent chart ...
        this._parentChart = chart;
        this._seriesToken = seriesToken;
        
        // xaml to instantiate ...
        var _xamlLabel = "";
        _xamlLabel += "<Canvas xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' x:Name='CanvasSeriesInformation{0}' Canvas.Top='360' Canvas.Left='475' Width='68' Height='26' Canvas.ZIndex='1'>";
        _xamlLabel += "<Rectangle Width='69' Height='23' Fill='#FF1B0707' Stroke='#FFFFFFFF' RadiusX='3' RadiusY='3' />";
        _xamlLabel += "<Rectangle Width='38' x:Name='RectangleValue{0}' Height='16' Fill='#FFFFFFFF' Stroke='#FFFFFFFF' RadiusX='3' RadiusY='3' Canvas.Left='27' Canvas.Top='4' />";
        _xamlLabel += "<TextBlock Width='24' x:Name='TextBlockValue{0}' Height='13' FontFamily='Arial' FontSize='9' Foreground='#FF040404' Text='25%' TextWrapping='Wrap' Canvas.Left='38' Canvas.Top='6'/>";
        _xamlLabel += "<TextBlock Width='24' x:Name='TextBlockSeriesNumber{0}' Height='13' FontFamily='Arial' FontSize='9' Foreground='#FFFFFFFF' TextWrapping='Wrap' Canvas.Left='10' Canvas.Top='6' Text='L1'>";
        _xamlLabel += "</TextBlock>";
        _xamlLabel += "</Canvas>";
        
        // format with values ...
        var _xaml = String.format(_xamlLabel, String.format("_{0}_L", this._seriesToken));
        
        // get host and create element ...
        var _host = this._parentChart.get_XamlContainer().GetHost();
        var _element = _host.content.createFromXaml(_xaml);
        
        // add to parents container ...
        this._parentChart.get_XamlContainer().children.add(_element);

}
RHPConsulting.ChartValueLabel.prototype = {

    // public properties ...
    get_Left : function() {
        var _controlName = this._parentChart.FormatPartName("CanvasSeriesInformation{0}", this._seriesToken, "L");
        var _canvas = this._parentChart.get_XamlContainer().findName(_controlName);
        return _canvas["Canvas.Left"];
    },
    set_Left : function(value) {
        var _controlName = this._parentChart.FormatPartName("CanvasSeriesInformation{0}", this._seriesToken, "L");
        var _canvas = this._parentChart.get_XamlContainer().findName(_controlName);
        _canvas["Canvas.Left"] = value;
    },
    get_Top : function() {
        var _controlName = this._parentChart.FormatPartName("CanvasSeriesInformation{0}", this._seriesToken, "L");
        var _canvas = this._parentChart.get_XamlContainer().findName(_controlName);
        return _canvas["Canvas.Top"];
    },
    set_Top : function(value) {
        var _controlName = this._parentChart.FormatPartName("CanvasSeriesInformation{0}", this._seriesToken, "L");
        var _canvas = this._parentChart.get_XamlContainer().findName(_controlName);
        _canvas["Canvas.Top"] = value;
    },
    set_LabelText : function(value) {
        var _controlName = this._parentChart.FormatPartName("TextBlockSeriesNumber{0}", this._seriesToken, "L");
        var _label = this._parentChart.get_XamlContainer().findName(_controlName);
        _label.Text = value;
    },
    get_LabelText : function() {
        var _controlName = this._parentChart.FormatPartName("TextBlockSeriesNumber{0}", this._seriesToken, "L");
        var _label = this._parentChart.get_XamlContainer().findName(_controlName);
        return _label.Text;
    },
    set_LabelTextColor : function(value) {
        var _controlName = this._parentChart.FormatPartName("TextBlockSeriesNumber{0}", this._seriesToken, "L");
        var _label = this._parentChart.get_XamlContainer().findName(_controlName);
        _label.Foreground = value;
    },
    get_LabelTextColor : function() {
        var _controlName = this._parentChart.FormatPartName("TextBlockSeriesNumber{0}", this._seriesToken, "L");
        var _label = this._parentChart.get_XamlContainer().findName(_controlName);
        return _label.Foreground;
    },
    set_LabelValue : function(value) {
        var _controlName = this._parentChart.FormatPartName("TextBlockValue{0}", this._seriesToken, "L");
        var _label = this._parentChart.get_XamlContainer().findName(_controlName);
        _label.Text = value;
    },
    get_LabelValue : function() {
        var _controlName = this._parentChart.FormatPartName("TextBlockValue{0}", this._seriesToken, "L");
        var _label = this._parentChart.get_XamlContainer().findName(_controlName);
        return _label.Text;
    }
}

