(function($){
    //插件
    $.extend($,{
        //命名空间
        sortTable:{
            sort:function(tableId,Idx){
                var table = document.getElementById(tableId);
                var tbody = table.tBodies[0];
                var tr = tbody.rows;
         
                var trValue = new Array();
                for (var i=0; i<tr.length; i++ ) {
                    trValue[i] = tr[i];  //将表格中各行的信息存储在新建的数组中
                }
         
                if (tbody.sortCol == Idx) {
                    trValue.reverse(); //如果该列已经进行排序过了，则直接对其反序排列
                } else {
                    //trValue.sort(compareTrs(Idx));  //进行排序
                    trValue.sort(function(tr1, tr2){
                        var value1 = tr1.cells[Idx].innerHTML;
                        var value2 = tr2.cells[Idx].innerHTML;
                        return value1.localeCompare(value2);
                    });
                }
         
                var fragment = document.createDocumentFragment();  //新建一个代码片段，用于保存排序后的结果
                for (var i=0; i<trValue.length; i++ ) {
                    fragment.appendChild(trValue[i]);
                }
         
                tbody.appendChild(fragment); //将排序的结果替换掉之前的值
                tbody.sortCol = Idx;
            }
        }
    });      
})(jQuery);

function sortTable(table,idx){
    var otable=document.getElementById(table),
        otody=otable.tBodies[0],
        otr=otody.rows,
        tarr=[];
		if(otr.length==0){
			otr=$("#tableCon tbody tr");
		}
     for (var i = 0; i <otr.length; i++) {
           tarr[i]=otr[i];
     };
    // console.log(tarr);
     if(otody.sortCol==idx){
        tarr.reverse();
     }else{
        tarr.sort(function(tr1,tr2){
            var value1 = tr1.cells[idx].innerText; 
            var value2 = tr2.cells[idx].innerText; 
            if(!isNaN(value1)&&!isNaN(value2)){
               return value1-value2;
            }else{
              return value1.localeCompare(value2);
             }           
        })
     }
     var fragment = document.createDocumentFragment();
     for (var i = 0; i <tarr.length; i++) {
         fragment.appendChild(tarr[i]);
     };
     otody.appendChild(fragment);
     otody.sortCol=idx;
}  
//sortTable("tableCon");
//显示/隐藏
$(function(){
	//去掉display:inline-block,因为会影响筛选后结果会换行
		$("#graphToTable table tbody tr").each(function(){
			$(this).css("display","");
		});
	//隐列
	function  hide(cell){
	        obj  =  document.getElementById("tableCon");
	        //obj.style.display        =        "none";
	        //obj.rows[0].style.display  =  "none";        //隐藏第一行
	        for(i=0;i<obj.rows.length;i++)
	        {
	            obj.rows[i].cells[cell].style.display  =  "none";
	        }
	}
	
	//  显列
	function  show(cell){
	        obj  =  document.getElementById("tableCon");
	        for(i=0;i<obj.rows.length;i++)
	        {
	            obj.rows[i].cells[cell].style.display  =  "block";
	            obj.rows[i].cells[cell].style.display = '';
	        }
	}
	/*//选中显示并排序
	var sortCon=[];
	$(".show li").delegate(".checkBox","click",function(){
		var n=0;
		$("#thShow li .checkBox").each(function(){
			if(this.checked){
				n++;
			}
		});
		$(this).parent().data("sort",n);//表头可选时表头排序
		var cell=$(this).data("th");		
		if(this.checked){
			sortCon.push($(this).parent());
		    show(cell);
		}else{
			hide(cell);
		}
	})*/

	//单个点击时
	$(".show li").delegate(".checkBox","click",function(){
		var thead=[];
		var n=0;
		$("#thShow li .checkBox").each(function(){
			if(this.checked){
				n++;
				thead.push($(this).parent().text());
			}
		});
		if(n==$("#thShow li .checkBox").size()){
			$("#thShowDiv .checkAll").prop("checked",true);
		}else{
			$("#thShowDiv .checkAll").prop("checked",false);
		}
		var cell=$(this).data("th");
		if(this.checked){
		  //  show(cell);
		}else{
			//hide(cell);
		}
		_.MessageManager.fire("initTable",{theadTh:thead});
	});


	//全选时，判断是否隐藏还是显示
	$("#thShowDiv").delegate(".checkAll","click",function(){
		var thead=[];
		if(this.checked){
			$(".checkBox").prop("checked",true);
			$(".checkBox").each(function(){
				thead.push($(this).parent().text());
			});			
		}else{
			$(".checkBox").prop("checked",false);
		}
		_.MessageManager.fire("initTable",{theadTh:thead});	
	});

/*
	//全选时，判断是否隐藏还是显示
	$("#thShowDiv").delegate(".checkAll","click",function(){
		if(this.checked){
			$(".checkBox").prop("checked",true);
			$(".checkBox").each(function(){
				var cell=$(this).data("th");
				if(this.checked){
					show(cell);
				}else{
					hide(cell);
				}
			});			
		}else{
			$(".checkBox").prop("checked",false);
			$(".checkBox").each(function(){
				var cell=$(this).data("th");
				if(this.checked){
					show(cell);
				}else{
					hide(cell);
				}
			});	
		}	
	});*/

})
