(
        function ($) {
            function createView(cont, data) {
                $element[count].hide(); //<i class=" ace-icon ace-icon fa fa-plus smaller-75"></i>
                var divContainer = $('<table id="gg_' + $element[count].attr('id') + '" class=""><tr><td valign="top" ><div class="chosen-container chosen-container-multi " style="width:240px;max-height:150px;overflow:auto;"> <ul class=" gg chosen-choices"><li class="search-field"><input type="text" readonly="readonly"   class="default"  style="width: 144px;height:27px;"/></li></ul></div></td> <td valign="middle"> <span><input  type="text" name="addTxt" style="width:120px;display:none;" placeholder="输入规格、型号"  /><button type="button" class="btn tcbtn tcbutton-royal btn-sm" tag="0">添加</button><span></td></tr></table>');
                divContainer.find('.search-field').find('input').attr('placeholder', '请点击右边按钮添加');
                divContainer.find('button').attr('data_opt', cont);
                divContainer.find('button').eq(0).bind('click', function () {
                    if ($(this).attr('tag') == "0") {
                        divContainer.find('td').eq(1).find('input').eq(0).show();
                        divContainer.find('td').eq(1).find('input').eq(0).focus();
                        $(this).text('确定');
                        $(this).attr('tag','1');
                    }
                    else {
                        if (divContainer.find('td').eq(1).find('input').eq(0).val().length <= 0) {
                            divContainer.find('td').eq(1).find('input').eq(0).hide();
                            $(this).attr('tag', '0');
                            $(this).text('添加');
                            return;
                        }

                        var check = divContainer.find('.search-choice');
                        var exist = false;
                        for (var i = 0; i < check.length; i++) {
                            if ($(check[i]).find('span').eq(0).text() == divContainer.find('td').eq(1).find('input').eq(0).val()) {
                                exist = true;
                            }
                        }
                        if (exist) {
                            alert('已经存在' + divContainer.find('td').eq(1).find('input').eq(0).val());
                            divContainer.find('td').eq(1).find('input').eq(0).focus();
                            divContainer.find('td').eq(1).find('input').eq(0).select();
                            return;
                        }
                        var $lie = $('<li class="search-choice" style=" float:none;"><span></span><a class="search-choice-close" data-option="-1"></a></li>');
                        $lie.attr('data_opt', cont);
                        $lie.find('span').text(divContainer.find('td').eq(1).find('input').eq(0).val());
                        $lie.find('a').bind('click', function () {
                            $(this).parent().remove();
                            if (divContainer.find('.search-choice').length <= 0) {
                                divContainer.find('.search-field').show();
                            }
                            var all = divContainer.find('.search-choice');
                            var s = '[';
                            for (var i = 0; i < all.length; i++) {
                                s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",ID:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                            }
                            if (s.length > 1) {
                                s = s.substring(0, s.length - 1);
                            }
                            s += ']';
                            $element[$(this).parent().attr('data_opt')].attr('data', s);
                        });


                        $lie.find('span').bind('dblclick', function () {
                            $(this).parent().remove();
                            if (divContainer.find('.search-choice').length <= 0) {
                                divContainer.find('.search-field').show();
                            }
                            var all = divContainer.find('.search-choice');
                            var s = '[';
                            for (var i = 0; i < all.length; i++) {
                                s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",ID:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                            }
                            if (s.length > 1) {
                                s = s.substring(0, s.length - 1);
                            }
                            s += ']';
                            $element[$(this).parent().attr('data_opt')].attr('data', s);
                        });


                        divContainer.find('ul').append($lie);
                        var all = divContainer.find('.search-choice');
                        var s = '[';
                        for (var i = 0; i < all.length; i++) {
                            s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",ID:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                        }
                        if (s.length > 1) {
                            s = s.substring(0, s.length - 1);
                        }
                        s += ']';
                        $element[$(this).attr('data_opt')].attr('data', s);
                        if (divContainer.find('.search-choice').length > 0) {
                            divContainer.find('.search-field').hide();
                        }
                        divContainer.find('td').eq(1).find('input').eq(0).hide();
                        divContainer.find('td').eq(1).find('input').eq(0).val('');
                        $(this).attr('tag', '0');
                        $(this).text('添加');
                    }




//                    if (divContainer.find('td').eq(1).find('input').eq(0).is(':hidden')) {
//                        divContainer.find('td').eq(1).find('input').eq(0).show();
//                        divContainer.find('td').eq(1).find('input').eq(0).focus();
//                    }
//                    else {
//                        if (divContainer.find('td').eq(1).find('input').eq(0).val().length <= 0) {
//                            divContainer.find('td').eq(1).find('input').eq(0).hide();
//                            return;
//                        }
                        //                        var check = divContainer.find('.search-choice');
                        //                        var exist = false;
                        //                        for (var i = 0; i < check.length; i++) {
                        //                            if ($(check[i]).find('span').eq(0).text() == divContainer.find('td').eq(1).find('input').eq(0).val()) {
                        //                                exist = true;
                        //                            }
                        //                        }
                        //                        if (exist) {
                        //                            alert('已经存在' + divContainer.find('td').eq(1).find('input').eq(0).val());
                        //                            divContainer.find('td').eq(1).find('input').eq(0).focus();
                        //                            divContainer.find('td').eq(1).find('input').eq(0).select();
                        //                            return;
                        //                        }
                        //                        var $lie = $('<li class="search-choice" style=" float:none;"><span></span><a class="search-choice-close" data-option="-1"></a></li>');
                        //                        $lie.attr('data_opt', cont);
                        //                        $lie.find('span').text(divContainer.find('td').eq(1).find('input').eq(0).val());
                        //                        $lie.find('a').bind('click', function () {
                        //                            $(this).parent().remove();
                        //                            if (divContainer.find('.search-choice').length <= 0) {
                        //                                divContainer.find('.search-field').show();
                        //                            }
                        //                            var all = divContainer.find('.search-choice');
                        //                            var s = '[';
                        //                            for (var i = 0; i < all.length; i++) {
                        //                                s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",ID:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                        //                            }
                        //                            if (s.length > 1) {
                        //                                s = s.substring(0, s.length - 1);
                        //                            }
                        //                            s += ']';
                        //                            $element[$(this).parent().attr('data_opt')].attr('data', s);
                        //                        });


                        //                        $lie.find('span').bind('dblclick', function () {
                        //                            $(this).parent().remove();
                        //                            if (divContainer.find('.search-choice').length <= 0) {
                        //                                divContainer.find('.search-field').show();
                        //                            }
                        //                            var all = divContainer.find('.search-choice');
                        //                            var s = '[';
                        //                            for (var i = 0; i < all.length; i++) {
                        //                                s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",ID:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                        //                            }
                        //                            if (s.length > 1) {
                        //                                s = s.substring(0, s.length - 1);
                        //                            }
                        //                            s += ']';
                        //                            $element[$(this).parent().attr('data_opt')].attr('data', s);
                        //                        });


                        //                        divContainer.find('ul').append($lie);
                        //                        var all = divContainer.find('.search-choice');
                        //                        var s = '[';
                        //                        for (var i = 0; i < all.length; i++) {
                        //                            s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",ID:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                        //                        }
                        //                        if (s.length > 1) {
                        //                            s = s.substring(0, s.length - 1);
                        //                        }
                        //                        s += ']';
                        //                        $element[$(this).attr('data_opt')].attr('data', s);
                        //                        if (divContainer.find('.search-choice').length > 0) {
                        //                            divContainer.find('.search-field').hide();
                        //                        }
                        //                        divContainer.find('td').eq(1).find('input').eq(0).hide();
                        //                        divContainer.find('td').eq(1).find('input').eq(0).val('');
//                    }


                });


                $element[count].after(divContainer);
                $newElement.push(divContainer);
            }


            function setValue(data, controlname) {
                var ll = -1;
                for (var i = 0; i < $element.length; i++) {
                    if ($element[i].attr('id') == controlname) {
                        ll = i;
                    }
                }
                if (data.length > 0) {
                    $newElement[ll].find('.search-choice').remove();
                    $newElement[ll].find('.search-field').hide();
                }
                else {
                    $newElement[ll].find('.search-field').show();
                }
                for (var i = 0; i < data.length; i++) {
                    var $lie = $('<li class="search-choice" style=" float:none;"><span></span><a class="search-choice-close" data-option="-1"></a></li>');
                    $lie.attr('data_opt', ll);
                    $lie.find('span').text(data[i].txt);
                    $lie.find('a').attr('data-option', data[i].id);
                    $lie.find('a').bind('click', function () {
                        $(this).parent().remove();
                        if ($newElement[ll].find('.search-choice').length <= 0) {
                            $newElement[ll].find('.search-field').show();
                        }
                        var all = $newElement[ll].find('.search-choice');
                        var s = '[';
                        for (var i = 0; i < all.length; i++) {
                            s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",id:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                        }
                        if (s.length > 1) {
                            s = s.substring(0, s.length - 1);
                        }
                        s += ']';
                        $element[$(this).parent().attr('data_opt')].attr('data', s);
                    });

                    $lie.find('span').bind('dblclick', function () {
                        $(this).parent().remove();
                        if ($newElement[ll].find('.search-choice').length <= 0) {
                            $newElement[ll].find('.search-field').show();
                        }
                        var all = $newElement[ll].find('.search-choice');
                        var s = '[';
                        for (var i = 0; i < all.length; i++) {
                            s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",id:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                        }
                        if (s.length > 1) {
                            s = s.substring(0, s.length - 1);
                        }
                        s += ']';
                        $element[$(this).parent().attr('data_opt')].attr('data', s);
                    });

                    $newElement[ll].find('ul').append($lie);
                }

                var all = $newElement[ll].find('.search-choice');
                var s = '[';
                for (var i = 0; i < all.length; i++) {
                    s += '{ProSize:"' + $(all[i]).find('span').eq(0).text() + '",id:"' + $(all[i]).find('a').eq(0).attr('data-option') + '"},';
                }
                if (s.length > 1) {
                    s = s.substring(0, s.length - 1);
                }
                s += ']';
                $element[ll].attr('data', s);

            }
            function clear(count) {
                $newElement[count].find('.search-choice').remove();
                $newElement[count].find('.search-field').show();
                $element[count].attr('data', '[]');
            }

            var defaults = { data: '', controlename: '' };
            var $element = [];
            var $newElement = [];
            var alldefault = [];
            var count = 0;

            $.fn.TCAdd = function (options) {

                $element.push(this);
                alldefault.push($.extend(defaults, options));
                createView(count);
                count++;
            }
            $.fn.tcClearValue = function (names) {
                var ll = -1;
                for (var i = 0; i < $element.length; i++) {
                    if ($element[i].attr('id') == names) {
                        ll = i;
                    }
                }
                if (ll == -1) {
                    return;
                }
                clear(ll);
            }

            $.fn.TCSetValue = function (options) {
                setValue(options.data, options.controlename);
            }
        }
        )(window.jQuery);
