(function($) {


    var methods = {
        init: function(options) {
             var $this = $(this)
            var obj = $(this).data('tooltip').obj

            if(obj.itme){
                $.each(obj.itme,function(index,value){
                    $this.append('<li id="'+value.id+'" data-url="'+value.url+'">'+value.name+'</li>')
                    $('#app').append('<iframe id="main-'+value.id+'" class="main" src="'+value.url+'"></iframe>')
                })
            }

            if (obj.default) {
                $this.find('li').eq(obj.default-1).css('color', '#fff').css('background-color', '#208ff9')
                $('.main').eq(obj.default-1).show()
                // $this.find('.sideline').css('left', obj.width ? (obj.default-1) * obj.width + 'px' : (obj.default-1) * 100 + 'px')
            }

        },
        
        slideMove: function() {
            var $this = $(this)
            var obj = $(this).data('tooltip').obj
            $this.find('li').on('click', function(e) {
                $this.find('li').css('color', '#666').css('background-color', '')
                var id = e.target.id
                $this.find('#'+id).css('color', '#fff').css('background-color', '#208ff9')
                // var left = obj.width ? ($(this).index() * obj.width) + 'px' : ($(this).index() * 100) + 'px'
                // $this.find('.sideline').animate({ 'left': left })
                // var url = e.target.getAttribute('data-url')
                $('.main').hide()
                $('#main-'+id).show()

                methods.changeUrl(id)
            })

        },

        changeUrl: function (id) {
            var currentIframeDom = $('#main-' + id).contents().get(0)
            var currentIframeHash = currentIframeDom 
                                        ? currentIframeDom.location.hash !== '#/' 
                                            ? currentIframeDom.location.hash 
                                            : '' 
                                        : ''
            var newUrl = window.location.protocol + '//' + window.location.host + window.location.pathname + '?' + 'nav' + '=' + id + currentIframeHash
            window.history.pushState({}, 0, newUrl) // 修改url(不刷新页面)
        }
    };

    $.fn.tooltip = function(method) {
        if (methods[method]) {
            // 不传参数
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            //   传对象参数
            if (method.type) {
                var $this = $(this);
                // 存储参数
                $(this).data('tooltip', {
                    target: $this,
                    obj: method
                });
                //  执行初始方法
                methods.init.apply(this, arguments);
                methods[method.type].apply(this, Array.prototype.slice.call(arguments, 1));

                return method.success ? method.success(this): null
            } else {
                return methods.init.apply(this, arguments);
            }
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.tooltip');
        }
    };

})(jQuery);