
        // Assign handlers immediately after making the request,
        // and remember the jqxhr object for this request


/*
 * Stock
 * @author Gennadiy Ukhanov
 * @version 0.0.1
 */
(function(_global){
    /**
     * @namespace Stock
     * @name Stock
     */
    Stock = function() {
        this.jqxhr = null;
        this.module = $('.b-market-overview');
        this.result = {};
    };

    /**
     * @namespace Stock
     * @name Stock
     */
    Stock.prototype = {

        /**
         * @public
         */
        update : function(url) {
            this.jqxhr = $.getJSON(url, $.proxy(this,'success')).error($.proxy(this,'error'))
        },

        /**
         * @public
         */
        success : function(data) {
            var item = data[0]['elements'][0]['elements'];
            for(var i in item) {
                this.result[item[i]['name']] = item[i]['attributes']['data'];
            }
            this.build(this.result);
        },

        /**
         * @public
         */
        error : function() {
            this.module.find('.b-market-overview__preloader').removeClass('b-market-overview__preloader_icon_visible');
            this.module.find('.b-market-overview__status').text("Error data loading, please try again");
        },

        /**
         * @public
         */
        build : function(data) {


            this.module.find('.b-market-overview__preloader').fadeOut();

            if(data.change.substr(0,1) == "-") {
                this.module.find('.b-market-overview-data__icon').addClass('b-market-overview-data__icon_type_down').removeClass('b-market-overview-data__icon_type_up')
            } else {
                this.module.find('.b-market-overview-data__icon').addClass('b-market-overview-data__icon_type_up').removeClass('b-market-overview-data__icon_type_down')
            }

            if(data.last == "") {
                data.last = "N/A";
            }

            if(data.change == "") {
                data.change = "N/A";
            }

            if(data.perc_change == "") {
                data.perc_change = "N/A";
            }

            if(data.open == "") {
                data.open = "N/A";
            }

            if(data.high == "") {
                data.high = "N/A";
            }

            if(data.low == "") {
                data.low = "N/A";
            }

            if(data.exchange_closing == "") {
                data.exchange_closing = "N/A";
            }

            if(data.volume == "") {
                data.volume = "N/A";
            }

            this.module.find('.b-market-overview-data__current-value').text(data.last)
            this.module.find('.b-market-overview-data__cost-difference').text(data.change)
            this.module.find('.b-market-overview-data__percent-difference').text(data.perc_change)
            this.module.find('.b-market-overview-data__open-value').text(data.open)
            this.module.find('.b-market-overview-data__high-value').text(data.high)
            this.module.find('.b-market-overview-data__low-value').text(data.low)
            this.module.find('.b-market-overview-data__prious-close-value').text(data.exchange_closing)
            this.module.find('.b-market-overview-data__volume-value').text(data.volume)
        }

    }


})(window || this);

$(document).ready(function() {

    var _stock = new Stock();
        _stock.update('stock.php');
        
});



