﻿var TEMP_HREF='<a href=\"#HREF#\" onclick=\"#function#\"   value=\"#value#\" >#pageNum#</a>';
var TEMP_HREF_PRE='<a href=\"#HREF#\" onclick=\"#function#\"   value=\"#value#\" >#pageNum#</a>';
var TEMP_HREF_NEXT='<a href=\"#HREF#\" onclick=\"#function#\"   value=\"#value#\" >#pageNum#</a>';
var PageCount=0;
var DataArray = new Array();
var CurrentPage=0;
var AnchorCount = 0;
var JumpCount=0;
var JumpParameter=0;
var IdType="showData";
var ServerSeconds = 0;
var ANNWidthMaxLength = 48;
var NewWidth = 25;
var TW = 0;
var Cofig_W = 36;
var defaultData = "<tr><td align=\"center\" colspan=\"5\" >暂无相关数据</td></tr>"
var start;



function initPagenations(){
        var start = new Date();
        secondsFromServer = parseInt($j.trim(getCurrentTime(timeURL)));
        secondFromCurrentPage = parseInt($j.trim($j("#hide").val()));
        if((secondsFromServer-secondFromCurrentPage)>0){
            ServerSeconds = secondsFromServer;
        }else{
            ServerSeconds = secondFromCurrentPage;
        }
        DataArray=getDataArray("dataInTable");
        CurrentPage = DataArray.length;
        
        if(CurrentPage == 0){
            printDefaultDate();
            return;
            
        }
        if(CurrentPage>0){
            
            domLength=CurrentPage;
            CurrentPage = 1;
            JumpParameter = 1;
            parameterForJumpCount=10;
            AnchorCount = DataCountTypeOne;
            PageCount = getPageCount(domLength,AnchorCount);
            JumpCount = getJumpParameter(PageCount,parameterForJumpCount);
            printData();
            printPageNum();
        }
        //showSeconds();
    }
    //When user click one page number .go to the current page
    function jumpTo(e){
        CurrentPage=$j(e).attr("value");
        printData();
        printPageNum(); 
   }
    // go to previous page
    function previous(){
        JumpParameter--;
        CurrentPage=(JumpParameter-1)*10+1;
        printData();
        printPageNum();        
        }
    //go to next page
    function next(){
        JumpParameter++;
        CurrentPage=(JumpParameter-1)*10+1;
        printData();
        printPageNum();        
    }
    //print 20 lines and Data high light
    function printData(){
        $j("#"+IdType).empty();
        var isShowNew;
        var maxChar;
        var width;
        for(var i=(CurrentPage-1)*AnchorCount;i<(CurrentPage*AnchorCount);i++){
            isShowNew = false;
            width = 0;
            maxChar = ANNWidthMaxLength;
            if(i<DataArray.length){
                var td = $j(DataArray[i]).find("td");
                var anchor = $j(td).find("a").eq(0);
                var title = $j(anchor).text();
                var titleLength = title.length;
                isShowNew = dataHighLight(DataArray[i],anchor);
                printOneLineData(i);
                
                if(isShowNew){
                    width = NewWidth;
                    maxChar = maxChar - 2;
                }
                
                if(titleLength > maxChar){
                    isExceedCharsLength(anchor,maxChar,width,title,titleLength);
                }else{
					if(width != 0){
						$j(anchor).append(showNew);
					}
				}
                
            }else{
                break;
            }   
        }
        
    }
    //print page Number
function printPageNum(){
    var content="";
    
    var divWidth;
    if(PageCount <= JumpParameter*10){
        divWidth = ((PageCount%10 == 0)? 10:PageCount%10) * 15;
        
        if(JumpParameter != 1){
            divWidth += 50;
        }
        if(JumpParameter != JumpCount){
            divWidth += 50;
        }
    }else{
        divWidth = 150;
        
        if(JumpParameter != 1){
            divWidth += 50;
        }
        if(JumpParameter != JumpCount){
            divWidth += 50;
        }
    }
    
    content += "<tr><td colspan=\"5\" align=\"center\" ><div align=\"center\" style=\"width:"+divWidth+"px\">";
    
    
    if(JumpParameter == 1){
        content+="";
    } else {
        content+="<div style=\"width:40px;float:left;height:16px;padding-top:2px;padding-right:3px\">"+TEMP_HREF_PRE.replace('#function#','previous()').replace('#value#',i).replace('#pageNum#',"\u4e0a\u4e00\u9875").replace('#HREF#','#'+(CurrentPage-10))+"</div>";
    }
    for(var i=(JumpParameter-1)*10+1;i<=JumpParameter*10;i++){
        if(i==CurrentPage){
            content+="<div  class=\"pagenation_selected\"><a href=\"#\">"+i+"</a></div>";
        }else{
            if(i<=PageCount){
                content+="<div  class=\"pagenation_unselected\">"+TEMP_HREF.replace('#function#','jumpTo(this)').replace('#value#',i).replace('#pageNum#',i).replace('#HREF#','#'+i)+"</div>";
            }else{
                break;
            }
        }    
    }
    if(JumpParameter == JumpCount){
        content+="";
    } else {
        content+="<div style=\"width:40px;float:left;height:16px;padding-top:2px;padding-left:3px;\">"+TEMP_HREF_NEXT.replace('#function#','next()').replace('#value#',i).replace('#pageNum#',"\u4e0b\u4e00\u9875").replace('#HREF#','#'+i)+"</div>";
    }
    content += "</div></td></tr>";
    content += "<tr><td height=\"13px\"></td></tr>"
    $j('#'+IdType).append(content);
    
}
//
$j(document).ready(function(){                   
    
    goToDetaiPage();
    
});
//go to page
function goToDetaiPage(){
    var myURL=window.location.href;
    var myCharpValue=myURL.split('#').length==2?myURL.split('#')[1]:null;
    if(myCharpValue&&myCharpValue>1){
        
        JumpParameter=(myCharpValue%10==0)?(myCharpValue/10):parseInt(myCharpValue/10)+1;
                CurrentPage=myCharpValue;
        jumpTo({value:myCharpValue});
        
        
    }
}
// return PageCount
function getPageCount(domLength,anchorTotal){
    if(domLength%anchorTotal==0){
        return domLength/anchorTotal;
    }else{
        return Math.floor(domLength/anchorTotal)+1;
    }
}
// return JumpCount
function getJumpParameter(pageTotal,parameterForJumpTotal){
    if(pageTotal%parameterForJumpTotal==0){
        return pageTotal/parameterForJumpTotal;
    }else{
        return Math.floor(pageTotal/parameterForJumpTotal)+1;
    }
}
// When the page does not has any date. print default Date
function printDefaultDate(){
        $j("#"+IdType).empty();
        $j("#"+IdType).prepend(defaultData); 
}
//print 1 line Data
function printOneLineData(i){
        $j("#"+IdType).append($j(DataArray[i]));
}
//make 1 page high light
function dataHighLight(tr,a){
    
    if((ServerSeconds-parseInt($j(tr).attr("value")))<(highlyDay*86400000)){
        
        //$j(a).next().show();
        return true;
    }
    return false;
}
//sequence for Array function
function sortByForTable(pre,aft){
    if($j.browser.mozilla){
        return $j(aft).attr('value')-$j(pre).attr('value');
     }
     return aft.value-pre.value;
}
//get the data Array
function getDataArray(idString){
    var rows=document.getElementById(idString).rows;
    var rowsArray=new Array();
    for(var i=0;i<rows.length;i++){
        rowsArray.push(rows[i]);
    }
    rowsArray.sort(sortByForTable);
    return rowsArray;
}
function reqPageForHt(url, success, error) {
    var CallParams = {};
    CallParams.type = "GET";
    CallParams.url = url;
    CallParams.success = success;
    if (error) {
    CallParams.error = error;
    }
    $j.ajax(CallParams);
}
// return seconds from URL Para
function getCurrentTime(URL){
    var servceTime="";
    $j.ajaxSetup({async: false});
    reqPageForHt(URL,
    function(data){
        var obj = $j(data).find('input');
        servceTime = $j(obj[0]).val();
        //process returen data page
   },
   function(request,settings,thrownError){
   }
  );
  $j.ajaxSetup({async: true});
  return servceTime;
}
/************************************************************/

//add for characters limited
function isExceedCharsLength(a,startWord,nw,title,titleLength,c){
    var isOut = true;
    $j(a).text(title.substring(0,startWord) + "...");
    $j(a).append(new_img);
    var f_w = $j(a).width();
    var last_w = 0;
    var s_w = 0;
    
    var new_img = "";
    
    if(nw != 0){
        new_img = showNew;
    }
    
    for(var i = (startWord + 1) ; i < (titleLength + 1) ; i++){
        $j(a).text(title.substring(0,i) + "...");
        $j(a).append(new_img);
        s_w = $j(a).width();
        //alert("f_w" + f_w+ "\ns_w:\t" + s_w +"\nnw:\t" +nw)
        if(f_w > s_w){
           $j(a).text(title.substring(0,i-1) + "...");
           $j(a).append(new_img);
           isOut = false;
           break;
        }else{
            f_w = s_w;
        }
    }
    if(isOut){
        $j(a).text(title);
		if(nw != 0){
			$j(a).append(new_img);
		}
    }
    
}

