function ieOrFireFox(ob){   
     if (ob.textContent != null)     
     return ob.textContent;     
     var s = ob.innerText;     
     return s.substring(0, s.length);     
}     
    
 
//排序 tableId: 表的id,iCol:第几列 ；order 初始排序顺序；dataType：iCol对应的列显示数据的数据类型 
function sortAble(tableId,iCol,order,dataType){     
    //var table = document.getElementById(tableId);     
    //var tbody = table.tBodies[0];     
    var tbody = document.getElementById(tableId); 

    var colRows = tbody.rows; 
 
    var aTrs = new Array;     
    //将将得到的列放入数组，备用     
    for (var i=0; i < colRows.length-1; i++) {     
         aTrs[i] = colRows[i+1];     
    }  
       
       
                                                 
 //判断上一次排列的列和现在需要排列的是否同一个。     
    if (tbody.sortCol == iCol) {     
        aTrs.reverse();     
    } else {     
     //如果不是同一列，使用数组的sort方法，传进排序函数     
         aTrs.sort(compareEle(iCol, dataType));  
       //根据order判断第一次为升序还是降序       
			if(order=="desc")
			aTrs.reverse();
            
    }              
    var oFragment = document.createDocumentFragment();     
                    
    for (var i=0; i < aTrs.length; i++) {     
        oFragment.appendChild(aTrs[i]);     
    }                     
    tbody.appendChild(oFragment);     
     //记录最后一次排序的列索引     
    tbody.sortCol = iCol;     
 }     
 //将列的类型转化成相应的可以排列的数据类型     
function convert(sValue, dataType) {     
     switch(dataType) {     
     case "int":     
         return parseInt(sValue);     
     case "float":     
         return parseFloat(sValue);     
     case "date":     
         return new Date(Date.parse(sValue));     
     default:     
         return sValue.toString();     
     }     
 }     
                  
 //排序函数，iCol表示列索引，dataType表示该列的数据类型，'date','int',....     
function compareEle(iCol, dataType) {     
    return  function (oTR1, oTR2) {     
         var vValue1 = convert(ieOrFireFox(oTR1.cells[iCol]), dataType);     
         var vValue2 = convert(ieOrFireFox(oTR2.cells[iCol]), dataType);     
         if (vValue1 < vValue2) {     
             return -1;     
         } else if (vValue1 > vValue2) {     
             return 1;     
         } else {     
             return 0;     
         }     
        };     
 }     


//页面排序函数，colname是要排序的排序图片name，colnum是要排序的列所在第几列 ***** 注意所有页面上排序的图片name都是"sort_img"
//datatype 有'int','float','date','string'
function sortBy(colid,colnum,datatype){ 


 //获取所有的排序图片
 var sort_img_all = document.getElementsByName("sort_img");
 var is_sort=0;//检查是否已经排序过
 for(var i=0;i<sort_img_all.length;i++){
 	//将其他排序状态清空
 	if(sort_img_all[i].id!=colid)
 	sort_img_all[i].src="/zsfx/images/sort.gif";
 	
 	//判断当前期次排序状态
 //如果是没排序或倒序，就按正序排，否则就按逆序
else if  ( (is_sort==0)&&(sort_img_all[i].src.indexOf("images/sort.gif")>-1 || sort_img_all[i].src.indexOf("images/sort_desc.gif")>-1) ){
 	sortAble('mytable',colnum,'asc',datatype);
 	sort_img_all[i].src="/zsfx/images/sort_asc.gif";
 	is_sort=1; 	
}
else if ( (is_sort==1)&&(sort_img_all[i].src.indexOf("images/sort.gif")>-1 || sort_img_all[i].src.indexOf("images/sort_desc.gif")>-1) ){
 	sort_img_all[i].src="/zsfx/images/sort_asc.gif";
}
else if ( (is_sort==0)&&(sort_img_all[i].src.indexOf("images/sort.gif")>-1 || sort_img_all[i].src.indexOf("images/sort_asc.gif")>-1) ){
 	sortAble('mytable',colnum,'desc',datatype);
 	sort_img_all[i].src="/zsfx/images/sort_desc.gif";
 	is_sort=1; 	
}
else if ( (is_sort==1)&&(sort_img_all[i].src.indexOf("images/sort.gif")>-1 || sort_img_all[i].src.indexOf("images/sort_asc.gif")>-1) ){
 	sort_img_all[i].src="/zsfx/images/sort_desc.gif";
}

}
 

	
}
