﻿//const
var _RecordCount;
var _PageSize;
var _PageCount;
var _PageStep;
var _CurrentPage = 1;
var _PageCountForMasonry;
var _CurrentPageForMasonry = 1;
var _PageInfoComplete = false;

try{if(!(_RecordCount >= 0)){_RecordCount = 0;}}catch(ex){}
try{if(!(_PageSize >= 1)){_PageSize = 20;}}catch(ex){}
try{if(!(_PageCount >= 0)){_PageCount = 0;}}catch(ex){}
try{if(_PageStep <= 0){_PageStep = 1;}}catch(ex){}

var _ToPageBegin = true;

function CreateAjaxObj(url,method){
	var xmlHttp;
	if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}else{  xmlHttp = new XMLHttpRequest(); }
	xmlHttp.open(method,url,true);
	return xmlHttp;
}

/****************************************************
*
*
*           普通分页
*
*
*****************************************************/

function Ajax_GetPageHtmlText(EventObj,ToPageBegin) {
    var obj = $("#ajaxPageInfo");
    if(_PageCount <= 0)
    {
        obj.hide();
        return;
    }
    obj.show();
    var HtmlText = "";
    if(_CurrentPage > 1)
    {
        if(ToPageBegin)
        {
            HtmlText = "<a href=\"#PageBegin\" class=\"PageCh\" onclick=\"" + EventObj + "('Up',1);\">上一页</a><a href=\"#PageBegin\" class=\"PageCh\" onclick=\"" + EventObj + "('Page',1);\">首页</a>";
        }
        else
        {
            HtmlText = "<a href=\"javascript:" + EventObj + "('page',1);\" class=\"PageCh\">上一页</a><a href=\"javascript:" + EventObj + "('page',1);\" class=\"PageCh\">首页</a>";
        }
    }
    else
    {
        HtmlText = "<a class=\"PageDisabled\" disabled=\"disabled\">上一页</a><a class=\"PageDisabled\" disabled=\"disabled\">首页</a>";
    }
    var PageNumI = 1;
    if (_PageCount > 10) {
        if (_CurrentPage > 3) {
            if (_PageCount - _CurrentPage < 8) {
                PageNumI = _PageCount - 9;
            } else {
                PageNumI = _CurrentPage - 2;
            }
        }
    }

    for(var i=PageNumI;i < PageNumI + 10 && i <= _PageCount;i++) {
        if(i == _CurrentPage) {
            HtmlText = "<a class=\"PageNow PageEn\">" + i + "</a>" + HtmlText;
        }
        else
        {
            if(ToPageBegin)
            {
                HtmlText = "<a href=\"#PageBegin\" onclick=\"" + EventObj + "('Page'," + i + ");\" class=\"PageEn\">" + i + "</a>" + HtmlText;
            }
            else
            {
                HtmlText = "<a href=\"javascript:" + EventObj + "('Page'," + i + ");\" class=\"PageEn\">" + i + "</a>" + HtmlText;
            }
        }
    }
    if(_CurrentPage < _PageCount)
    {
        if(ToPageBegin)
        {
            HtmlText = "<a href=\"#PageBegin\" class=\"PageCh\" onclick=\"" + EventObj + "('Down',1);\">下一页</a>" + HtmlText;
        }
        else
        {
            HtmlText = "<a href=\"javascript:" + EventObj + "('Down',1);\" class=\"PageCh\">下一页</a>" + HtmlText;
        }
    } else {
        HtmlText = "<a class=\"PageDisabled\" disabled=\"disabled\">下一页</a>" + HtmlText;
    }
    //document.write(HtmlText);
    obj.html(HtmlText);
}

function PageData_Complete(result)
{
    try{$("#ajaxDataList").show();}
    catch(ex){}
    try{$("#ajaxPageInfo").show();}
    catch(ex){}
    try{$("#trList_Loading").hide();}
    catch(ex){}
    result = result.split("|||***|||");
    switch(result[0])
    {
        case "-1":
            location.reload();
            break;
        case "-2":
            
            $("#trList_Error").show();
            try{$("#ajaxPageInfo").hide();}
            catch(ex){}
            $("#tdList_Error_Text").html("传入参数错误...");
            break;
        case "0":
            try{$("#ajaxPageInfo").hide();}
            catch(ex){}
            try{$("#ajaxDataList").hide();}
            catch(ex){}
            $("#trList_Error").show();
            $("#tdList_Error_Text").html("没有找到任何数据...");
            break;
        default:
            try{$("#trList_Button").hide();}
            catch(ex){}
            $("#ajaxDataList").html(result[0]);
            try
            {
                if(result.length == 2)
                {
                    var _ScriptUrl = result[1].split(",");
                    for(var i=1;i<_ScriptUrl.length;i++)
                    {
                        var ScriptObj = document.createElement("script");
                        ScriptObj.src = _ScriptUrl[i];
                        document.body.appendChild(ScriptObj);
                    }
                }
            }
            catch(ex){}
            break;
    }
}

function PageData_Error()
{
    $("#tdList_Error_Text").html("读取数据出错...");
    $("#trList_Error").show();
    try{$("#ajaxPageInfo").hide();}
    catch(ex){}
    try{$("#ajaxDataList").show();}
    catch(ex){}
    try{$("#trList_Loading").hide();}
    catch(ex){}
    try{$("#trList_Button").hide();}
    catch(ex){}
}

// 分页数据显示
function PageInfo_Complete(result){
    try{
        var arrPageInfo = result.split(",")
        _RecordCount = arrPageInfo[0];
        _PageCount = arrPageInfo[1];
    }catch(ex){ }
    Ajax_GetPageHtmlText("Ajax_List_ToPage", _ToPageBegin);
}


//搜索分页翻页
function Ajax_List_ToPage(PageType, PageNo){
    if(PageType == "Up") {
        if(_CurrentPage > 1) {  _CurrentPage = _CurrentPage - 1; }
        else { alert('现在已经是第一页了'); return; }
    } else if(PageType == "Down") {
        if(_CurrentPage < _PageCount) { _CurrentPage = _CurrentPage + 1; }
        else { alert('现在已经是最后一页了'); return; }
    } else { _CurrentPage = PageNo; }
    Ajax_GetPageHtmlText("Ajax_List_ToPage", _ToPageBegin);
    Ajax_GetList(false);
}


/****************************************************
*
*
*           分页改进版(II)
*
*
*****************************************************/

function PageDataForII_Complete(result)
{
    result = result.split("|||***|||");
    switch(result[0])
    {
        case "-1":
            location.reload();
            break;
        case "-2":
            //错误
            try{$("#ajaxPageNoData").show();}
            catch(ex){}
            try{$("#ajaxPageLoading").hide();}
            catch(ex){}
            try{$("#ajaxPageData").hide();}
            catch(ex){}
            try{$("#ajaxPageInfo").hide();}
            catch(ex){}
            break;
        case "0":
            //没有找到数据
            try{$("#ajaxPageNoData").show();}
            catch(ex){}
            try{$("#ajaxPageLoading").hide();}
            catch(ex){}
            try{$("#ajaxPageData").hide();}
            catch(ex){}
            try{$("#ajaxPageInfo").hide();}
            catch(ex){}
            break;
        default:
            $("#ajaxPageData").html(result[0]);
            try
            {
                if(result.length == 2)
                {
                    var _ScriptUrl = result[1].split(",");
                    for(var i=1;i<_ScriptUrl.length;i++)
                    {
                        var ScriptObj = document.createElement("script");
                        ScriptObj.src = _ScriptUrl[i];
                        document.body.appendChild(ScriptObj);
                    }
                }
            }
            catch(ex){}
            try{$("#ajaxPageData").show();}
            catch(ex){}
            try{$("#ajaxPageButton").show();}
            catch(ex){}
            try{$("#ajaxPageInfo").show();}
            catch(ex){}
            try{$("#ajaxPageLoading").hide();}
            catch(ex){}
            break;
    }
}

// 分页数据显示
function PageInfoForII_Complete(result){
    try{
        var arrPageInfo = result.split(",")
        _RecordCount = arrPageInfo[0];
        _PageCount = arrPageInfo[1];
    }catch(ex){ }
    Ajax_GetPageHtmlTextForII("AjaxToPageForII", _ToPageBegin);
}

//搜索分页翻页
function AjaxToPageForII(PageType, PageNo, ToPageBegin){
    if(PageType == "Up") {
        if(_CurrentPage > 1) {  _CurrentPage = _CurrentPage - 1; }
        else { alert('现在已经是第一页了'); return; }
    } else if(PageType == "Down") {
        if(_CurrentPage < _PageCount) { _CurrentPage = _CurrentPage + 1; }
        else { alert('现在已经是最后一页了'); return; }
    } else { _CurrentPage = PageNo; }
    Ajax_GetPageHtmlTextForII("AjaxToPageForII", _ToPageBegin);
    Ajax_GetList(false);
    if(ToPageBegin)
    {
        try{$('html,body').animate({scrollTop: $('#PageBegin').offset().top}, 300);}
        catch(ex){}
    }
}

function Ajax_GetPageHtmlTextForII(EventObj,ToPageBegin) {
    var obj = $("#ajaxPageInfo");
    if(_PageCount <= 0)
    {
        obj.hide();
        return;
    }
    obj.show();
    var HtmlText = "";
    if(_CurrentPage > 1)
    {
        HtmlText = "<li class=\"liCN\" onclick=\"" + EventObj + "('Up',1," + ToPageBegin + ");\">上一页</li><li class=\"liCN\" onclick=\"" + EventObj + "('Page',1," + ToPageBegin + ");\">首页</li>";
    }
    else
    {
        HtmlText = "<li class=\"liCN liNO\">上一页</li><li class=\"liCN liNO\">首页</li>";
    }
    var PageNumI = 1;
    if (_PageCount > 8) {
        if (_CurrentPage > 3) {
            if (_PageCount - _CurrentPage < 6) {
                PageNumI = _PageCount - 7;
            } else {
                PageNumI = _CurrentPage - 2;
            }
        }
    }

    for(var i=PageNumI;i < PageNumI + 8 && i <= _PageCount;i++) {
        if(i == _CurrentPage) {
            HtmlText = "<li class=\"liSelect\">" + i + "</li>" + HtmlText;
        }
        else
        {
            HtmlText = "<li onclick=\"" + EventObj + "('Page'," + i + "," + ToPageBegin + ");\">" + i + "</li>" + HtmlText;
        }
    }
    if(_CurrentPage < _PageCount)
    {
        HtmlText = "<li class=\"liCN\" onclick=\"" + EventObj + "('Down',1," + ToPageBegin + ");\">下一页</li>" + HtmlText;
    } else {
        HtmlText = "<li class=\"liCN liNO\">下一页</li>" + HtmlText;
    }
    obj.html(HtmlText);
}


/****************************************************
*
*
*           瀑布流分页
*
*
*****************************************************/

function PageDataForMasonry_Complete(result)
{
    result = result.split("|||***|||");
    switch(result[0])
    {
        case "-1":
            location.reload();
            break;
        case "-2":
            //错误
            try{$("#ajaxPageNoData").show();}
            catch(ex){}
            try{$("#ajaxPageData").hide();}
            catch(ex){}
            try{$("#ajaxPageInfo").hide();}
            catch(ex){}
            break;
        case "0":
            //没有找到数据
            try{$("#ajaxPageNoData").show();}
            catch(ex){}
            try{$("#ajaxPageData").hide();}
            catch(ex){}
            try{$("#ajaxPageInfo").hide();}
            catch(ex){}
            break;
        default:
            try{$("#ajaxPageData").show();}
            catch(ex){}
            $("#ajaxPageData").append("<div id=\"ajaxPageData_cp_" + _CurrentPage + "\" style=\"display:none;\">" + result[0] + "<div>");
            $("#ajaxPageData_cp_" + _CurrentPage).fadeIn("normal");
            try
            {
                if(result.length == 2)
                {
                    var _ScriptUrl = result[1].split(",");
                    for(var i=1;i<_ScriptUrl.length;i++)
                    {
                        var ScriptObj = document.createElement("script");
                        ScriptObj.src = _ScriptUrl[i];
                        document.body.appendChild(ScriptObj);
                    }
                }
            }
            catch(ex){}

            $("#ajaxPageData").masonry("reload");
            
            //计算页码
            Ajax_GetPageHtmlTextForMasonry("AjaxToPageForMasonry", _ToPageBegin);
            
            _boolPageLoading = false;

            break;
    }
    $("#ajaxPageLoading").hide();
}

function PageInfoForMasonry_Complete(result){
    try{
        var arrPageInfo = result.split(",")
        _RecordCount = arrPageInfo[0];
        _PageCount = arrPageInfo[1];
        
        //计算伪页码
        _PageCountForMasonry = parseInt(_PageCount / _PageStep);
        if(_PageCount / _PageStep > _PageCountForMasonry)
        {
            _PageCountForMasonry++;
        }
        
        //重置页码
        _CurrentPage = 1;
        _CurrentPageForMasonry = 1;

    }catch(ex){ }
    _PageInfoComplete = true;
}

function AjaxToPageForMasonry(PageType, PageNo, ToPageBegin)
{
    if(PageType == "Up") {
        if(_CurrentPageForMasonry > 1) {
            _CurrentPageForMasonry--;
        }
        else { alert('现在已经是第一页了'); return; }
    }
    else if(PageType == "Down") {
        if(_CurrentPageForMasonry < _PageCountForMasonry) {
            _CurrentPageForMasonry++;
        }
        else { alert('现在已经是最后一页了'); return; }
    }
    else {
        _CurrentPageForMasonry = PageNo;
    }
    _CurrentPage = ((_CurrentPageForMasonry - 1) * _PageStep) + 1;
    Ajax_GetPageHtmlTextForMasonry("AjaxToPageForMasonry", _ToPageBegin);
    //清空原有内容
    $("#ajaxPageData").html("");
    $("#ajaxPageData").masonry("reload");
    Ajax_GetList(false);
    if(ToPageBegin)
    {
        try{$('html,body').animate({scrollTop: $('#PageBegin').offset().top}, 300);}
        catch(ex){}
    }
}

function Ajax_GetPageHtmlTextForMasonry(EventObj, ToPageBegin) {

    if(!_PageInfoComplete)
    {
        setTimeout("Ajax_GetPageHtmlTextForMasonry(\"" + EventObj + "\", " + ToPageBegin + ")", 50);
        return;
    }
    
    if(_CurrentPage % _PageStep != 0 && _CurrentPage != _PageCount)
    {
        //不用显示页码，直接返回
        return;
    }

    var obj = $("#ajaxPageInfo");
    if(_PageCountForMasonry <= 0)
    {
        obj.hide();
        return;
    }

    obj.show();
    var HtmlText = "";
    if(_CurrentPageForMasonry > 1)
    {
        HtmlText = "<li class=\"liCN\" onclick=\"" + EventObj + "('Up',1," + ToPageBegin + ");\">上一页</li><li class=\"liCN\" onclick=\"" + EventObj + "('Page',1," + ToPageBegin + ");\">首页</li>";
    }
    else
    {
        HtmlText = "<li class=\"liCN liNO\">上一页</li><li class=\"liCN liNO\">首页</li>";
    }
    var PageNumI = 1;
    if (_PageCountForMasonry > 8) {
        if (_CurrentPageForMasonry > 3) {
            if (_PageCountForMasonry - _CurrentPageForMasonry < 6) {
                PageNumI = _PageCountForMasonry - 7;
            } else {
                PageNumI = _CurrentPageForMasonry - 2;
            }
        }
    }

    for(var i = PageNumI; i < PageNumI + 8 && i <= _PageCountForMasonry; i++) {
        if(i == _CurrentPageForMasonry) {
            HtmlText = "<li class=\"liSelect\">" + i + "</li>" + HtmlText;
        }
        else
        {
            HtmlText = "<li onclick=\"" + EventObj + "('Page'," + i + "," + ToPageBegin + ");\">" + i + "</li>" + HtmlText;
        }
    }
    if(_CurrentPageForMasonry < _PageCountForMasonry)
    {
        HtmlText = "<li class=\"liCN\" onclick=\"" + EventObj + "('Down',1," + ToPageBegin + ");\">下一页</li>" + HtmlText;
    } else {
        HtmlText = "<li class=\"liCN liNO\">下一页</li>" + HtmlText;
    }

    obj.html(HtmlText);
}
