/**
 * Created with JetBrains WebStorm.
 * User: dfwang
 * Date: 14-7-1
 * Time: 下午7:12
 * To change this template use File | Settings | File Templates.
 */
define(function (require, exports) {
    var commands = require('editor/assert/js/utils/commands').commands
    var AppContext = require('../../../../share/assert/js/appcontext').AppContext;
    var isUpdate = false;
    fabric.Img.prototype.showEditDialog = function (opt, finishcallback) {
        var _that = this, phtml = '', tablecot = null;
        //opt &&(this.path = opt);
        finishcallback && (this.callback = finishcallback);
        _that.callback.call(_that, {})
    }
    fabric.Img.prototype.showEditButton = function (_slide) {
        //opts [类型,是否是群组，是否支持动画]
        commands.usePropertyCtrlArea('image',false,true);

        //设置动画按钮位置
        //----------------------------------------------动画弹出框实现方式
//        var _b = $('#animate-btn');
//        for (var s = 0; s < _b.length; s++) {
//            $(_b[s]).remove();
//        }
//        var input = $('<a href="javascript:void(0)" unselectable="none"  type="button" value="动画" id="animate-btn" class="btn_common"  style="position: absolute;">动画</a>');
//        $('body').append(input);
//        var _that = this;
//
//        function getAbsoluteCoords(object) {
//            var _off = _slide._canvas.upperCanvasEl.getBoundingClientRect();
//            var _sin = Math.sin(object.angle/180*Math.PI);
//            var _tan = Math.cos(object.angle/180*Math.PI);
//
//            var _soffw = ((object.width * object.scaleX) +object.left)* DEFAULT_STAGE.scale;
//            var _soffh = (object.height + object.top) * DEFAULT_STAGE.scale;
//            var _angle = object.angle%360;
//            return {
//                left: _off.left + _soffw,
////                left: object.left + _slide._canvas._offset.left,
//                top: _off.top + _soffh,
//                width: object.width * object.scaleX * Number(DEFAULT_STAGE.scale),
//                height: object.height * DEFAULT_STAGE.scale,
//                angle: Math.ceil(_angle)
//            };
//        };
//        function setCss() {
//            var absCoords = getAbsoluteCoords(_that);
//            var _l = (absCoords.left - 60);
//            var _t = (absCoords.top - 30 - absCoords.height);
//            if (_l <= 10 || _l > window.outerWidth - 100 || _t <= 130) {
//                input.css('display', 'none');
//                return;
//            }
//            input.css('display', '');
//            input.css('left', _l + 'px');
//            input.css('top', _t + 'px');
//            input.css('-webkit-transform','rotate('+absCoords.angle+'deg)')
//        };
//
//        _that.on('moving', function () {
//            setCss();
//        });
//        _that.on('scaling', function () {
//            setCss();
//        });
//        _that.on('rotating', function () {
//            setCss();
//        });
//        $('#animate-btn').off();
//        $('#animate-btn').on('click', function (e) {
//            Global.isVariety = true;
//            Global.isEditing = true;
//            Global.CurrentSlide.c && Global.CurrentSlide.c._canvas.discardActiveObject();
//            _that.showAnimateDialog();
//        });
//        setCss();
//    }
//
//    fabric.Img.prototype.showAnimateDialog = function () {
//        isUpdate = false;
//        var isFadeInBtnChecked = false;
//        var slide = Global.CurrentSlide.c;
//        var aniInfo = slide.getAnimationInfo(this.id);
//        if (aniInfo) {
//            isUpdate = true;
//        }
//        var _self = this;
//
//        if ($('#modal-content')) {
//            $('#modal-content').remove();
//        }
//        var dlg = $('<div id="modal-content" style="padding-top: 75px;" class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog">' +
//            '<div class="modal-dialog">' +
//            '<div class="test_temp" style="width: 300px;height:220px;margin-left: 150px;">' +
//            '<div class="pop_tit">' +
//            '<span class="fl">动画设置</span>' +
//            '<div class="w_func fr"><a href="javascript:;" title="关闭" data-dismiss="modal" class="w_func_close"></a></div>' +
//            '</div>' +
//            '<div class="modal-body" style="height: 156px;">' +
//            '<div class="pop_con">' +
//            '<p class="pop_anim_con">' +
//            '<span id="btnNoAnimation" class="an_con_btn">' +
//            '<a href="#" title="无动画"><img src="share/assert/pop/images/ami-btn01.png" alt=""></a>' +
//            '<em>无动画</em>' +
//            '</span>' +
//            '<span id="btnFadeInAnimation" class="an_con_btn">' +
//            '<a href="#" title="淡入动画"><img src="share/assert/pop/images/ami-btn02.png" alt=""></a>' +
//            '<em>淡入动画</em>' +
//            '</span>' +
//            '</p>' +
//            '</div>' +
//            '</div>' +
//            '<div class="pop_btn_box">' +
//            '<a href="javascript:void(0)" class="pop_btn fr mrmt" id="btnFinish" title="完成"><span class="pop_btn_s2">完成</span></a>' +
//            '</div>' +
//            '</div>' +
//            '</div>' +
//            '</div>');
//        dlg.css("paddingTop", "75px");
//        $('body').append(dlg);
//
//        /**
//         * 关闭按钮
//         * 或使用modal('hide')关闭弹框时的回调
//         */
//        dlg.on('hidden.bs.modal', function (e) {
//            Global.isEditing = false;
//        });
//
//
//        /**
//         * 编辑完成
//         */
//        $("#btnFinish").click(function () {
//            var slide = Global.CurrentSlide.c;
//            if (isFadeInBtnChecked) {
//                aniInfo = {"id": _self.id, type: "fadeIn", "trigger": "mousedown", "attr": "opacity", "start": 0.02, "end": 1, "duration": 1000, "delay": 0};
//                slide.addAnimationInfo(aniInfo);
//            }else{
//                slide.delAnimationInfo(_self.id);
//            }
//            dlg.modal('hide');
//            setTimeout(function () {
//                dlg.remove();
//                $("body").find(".modal-backdrop.fade.in").remove();
//            }, 500);
//        });
//        dlg.modal({show: true, keyboard: false, backdrop: "static"});
//        if (isUpdate) {
//            if (aniInfo.type === "fadeIn") {
//                $("#btnFadeInAnimation").find("a").addClass("an_con_btn_checked");
//                isFadeInBtnChecked = true;
//            }
//        }else{
//            $("#btnNoAnimation").find("a").addClass("an_con_btn_checked");
//            isFadeInBtnChecked = false;
//        }
//
//        $("#btnNoAnimation").click(function(){
//            $(".pop_anim_con").find("a").removeClass("an_con_btn_checked");
//            $("#btnNoAnimation").find("a").addClass("an_con_btn_checked");
//            isFadeInBtnChecked = false;
//        });
//
//        $("#btnFadeInAnimation").click(function(){
//            $(".pop_anim_con").find("a").removeClass("an_con_btn_checked");
//            $("#btnFadeInAnimation").find("a").addClass("an_con_btn_checked");
//            isFadeInBtnChecked = true;
//        });
        //----------------------------------------------动画弹出框实现方式
    }

    fabric.Img.prototype.hidePropertyButton = function () {
        commands.usePropertyCtrlArea(null);
    }

    fabric.Img.prototype.hideEditButton = function () {
        this.off('moving');
        var _b = $('#animate-btn');
        for (var s = 0; s < _b.length; s++) {
            $(_b[s]).remove();
        }
        this.hidePropertyButton && this.hidePropertyButton();
    }
})