odoo.define('lefilament_tdb.dashboard_year', function (require) {

	var core = require('web.core');
	var formats = require('web.formats');
	var Model = require('web.Model');
	var session = require('web.session');
	var Widget = require('web.Widget');

	var QWeb = core.qweb;

	var _t = core._t;
	var _lt = core._lt;

	var YearDashboardView = Widget.extend({
	    template: 'YearDashboard',

	    events: {
	        'click .ca_target': 'target_clicked',
	    },

	    init: function() {
	      var result = this._super.apply(this, arguments);
	      return result;
	    },

	    willStart: function() {
	        var deferred = new jQuery.Deferred();
	        var self = this;
	        this.values = {};
	        this.progess = 0
	        new Model('lefilament.dashboard')
	            .call('retrieve_datas_dashboard', [])
                .then(function(results) {
                    self.values = results;
                    self.progress = results.facture / results.target;
                    deferred.resolve();
                });
	          return jQuery.when(this._super.apply(this, arguments),deferred);
	    },

	    start: function() {
	    	self = this;

	    	ctx = this.$el.find('#progressbar')[0];

	    	var bar = new ProgressBar.Circle(ctx, {
	    		color: '#ED6A5A', //FFEA82
	    		easing: 'easeInOut',
	    		strokeWidth: 5,
	    		trailWidth: 1,
	    		step: function(state, circle) {
				    value = self.progress*100
				    circle.setText(
				    	'<span class="ca_target">'+
				    	self.values.target.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' € </span><br />'
				    	+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' %');
				},
	    	});
			bar.text.style.fontFamily = '"Raleway", Helvetica, sans-serif';
			bar.text.style.fontSize = '2rem';
			bar.text.style.color = '#73879C';
			// this.$el.find('.progressbar-text').css('opacity',self.progress)
			bar.text.style.textAlign = 'center';
			bar.animate(self.progress);

	    },

	    render_monetary: function(value) {
	        value = value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €';
	        return value;
	    },
	    render_monetary_color: function(value) {
	        if (value >= 0)
	          value = '<span class="positive">'+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €</span>';
	        else
	          value = '<span class="negative">'+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €</span>';
	        
	        return value;
	    },

	    target_clicked: function(ev){
	        var self = this;
	        id = this.session.uid;

	        var context = {
              'user_id': self.session.uid,
	        }
	        var action = ({
	            type: 'ir.actions.act_window',
	            res_model: 'res.company',
	            res_id: id,
	            view_type: 'form',
	            view_mode: 'form',
	            views: [[false, 'form']],
	            target:'current',
	            context: context
	        })
	        this.do_action(action);
	    },

	});

	core.action_registry.add('lefilament_tdb.dashboard_year', YearDashboardView);


});