﻿/*
 *
 * 数据交互
 */
 
 //获取URL参数
var getUrlPar = function() {
    String.prototype.getQuery = function(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = this.substr(this.indexOf("\?") + 1).match(reg);
        if (r != null) return unescape(r[2]); return null;
    }

    var strHref = decodeURI(window.location.href);

    this.getPar = function(p) {
        var types = strHref.getQuery(p);
        if (types != null && types != "") {
            return types.replace("#", "");
        }
        else {
            return types;
        }
    }

    this.getUrlZ = function() {
        return strHref;
    }
    /*如果参数是URL地址 通过此方法获取*/
    this.xTod = function(p) {
        var types = strHref.getQuery(p);
        if (types != null && types != "") {
            types = types.replace(/\*/g, "&");
            return types.replace("#", "");
        }
        else {
            return types;
        }
    }
}


 //获取URL参数,id用于返回上一页面
var getUrlBack = function()
{
	String.prototype.getQuery = function(name) { 
　　var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 
　　var r = this.substr(this.indexOf("\?")+1).match(reg); 
　　if (r!=null) return unescape(r[2]); return null; 
    } 
  
    var strHref = window.location.href.replace(/&/g,"*");
    
    this.getPar = function(p)
    {
         var types =  strHref.getQuery(p);
         return types;
    }
    
    this.getUrlZ = function()
    {
         return strHref;
    }
    
    this.xTod = function(v)
    {
         v = v.replace(/\*/g,"&");
         return v;
    }
    
}



//增加数据
var addData = function()
{
}
addData.addD = function(url,data,successFun,errErr)
{
    $.ajax({ url: url,
                 type:"post",           
                 dataType:"html",
                 data: data,
                 timeout:10000,
                 success:function(msg){   
                                      
                   successFun(msg);
                 },
                 error:function(msg){
                   errErr();
                 }
    });
 }


//获取数据
var getData = function()
{
}
getData.getD = function(url,data,successFun,errErr)
{

    $.ajax({ url: url,
                 type:"post",           
                 dataType:"html",
                 data: data,
                 timeout:10000,
                 success:function(msg){ 
                   eval("var data="+msg);                     
                   successFun(data);
                 },
                 error:function(msg){
                   errErr();
                 }
    });
}


//修改数据
var updateData = function()
{
    this.updateD = function(url,data,successFun,errErr)
    {
        $.ajax({ url: url,
                     type:"post",           
                     dataType:"html",
                     data: data,
                     timeout:10000,
                     success:function(msg){                      
                       successFun(msg);
                     },
                     error:function(msg){
                       errErr();
                     }
        });
     }
}

//编码转换
var repl = function()
{
    
}
repl.show = function(v)
{


    v = v.replace(/&quot;/g,"\"");
    v = v.replace(/&lt;/g,"<");
    v = v.replace(/&gt;/g,">");
    v = v.replace(/&deg;/g,"°");
    v = v.replace(/&prime;/g,"′");
    v = v.replace(/&uml;/g,"¨");
    v = v.replace(/&macr;/g,"ˉ");
    v = v.replace(/&sim;/g,"～");
    v = v.replace(/&oline;/g,"￣");
    v = v.replace(/&prime;/g,"′");
    v = v.replace(/&frasl;/g,"⁄");
    v = v.replace(/&acute;/g,"′");
    v = v.replace(/&hellip;/g,"…");
    v = v.replace(/&radic;/g,"√");
    return v;
}

repl.ins = function(v)
{
    v = v.replace(/\r\n/g,"");
    v = v.replace(/\n/g,"");
    v = v.replace(/<script[\s\S]?>/gi,"");
    v = v.replace(/<\/script>/gi,"");
    return v;
}

    /*分页数据请求*/
var frontGetdata = function(percount, url, ad, succFun, errFun) {

    this.pageindex = 1; //当前第几页
    this.datacount = 0; //总记录
    this.percount = percount; //每一页现实记录条数
    this.pagecount = 0; //总页数
    this.currentpage = 1; //当前的页数

    this.url = url; //请求地址
    this.ad = ad; //请求参数

    this.succFun = succFun;
    this.errFun = errFun;

    this.pagestyle = "normal"; //分页模式：normal,search



    this.getD = function(p) {
        this.pageindex = p;
        this.ad.page = p;
        this.ad.percount = this.percount;

        getData.getD(this.url, this.ad, this.succFun, this.errFun);

    }

    this.Get = function(item, pagebar, thisId) {


        var count = this.datacount;
        var perpage = this.percount;

        var currentpage = item;
        if (currentpage == null) {
            currentpage = 1;
        } else {
            currentpage = parseInt(currentpage);
        }
        this.currentpage = currentpage;

        var pagecount = Math.floor(count / perpage);
        if (perpage * pagecount != count) pagecount++; this.pagecount = pagecount;
        var pagestr = "";
        var breakpage = 9;
        var currentposition = 1;
        var breakspace = 2;
        var maxspace = 4;
        var prevnum = currentpage - currentposition;
        var nextnum = currentpage + currentposition;
        if (prevnum < 1) prevnum = 1;
        if (nextnum > pagecount) nextnum = pagecount;
        if (this.pagestyle == "normal") {
            pagestr += "<div class=\"type_bottem\"> <div class=\"type_bottem_01\">共 <span>" + count + "</span> 条信息   共 <span>" + pagecount + "</span> 页    ";
            if (currentpage == 1) {
                pagestr += "    <span style=\"color:#999\">首页</span>   <span style=\"color:#999\">上一页</span>     "
            }
            else {
                pagestr += "    <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(1);return false;\" >首页</a> <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(" + prevnum + ");return false;\" onclick=\"return false;\">上一页</a>    ";
            }
            pagestr += "    <a href=\"javascript:void(0)\" onclick=\"return false;\" style=\"color:#fc8000;\">" + currentpage + "</a>    ";
            if (currentpage == pagecount) {
                pagestr += "    <span style=\"color:#999\">下一页</span>   <span style=\"color:#999\">尾页</span>    ";
            }
            else {
                pagestr += "    <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(" + nextnum + ");return false;\" >下一页</a> <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(" + pagecount + ");return false;\">尾页</a>    ";
            }
            pagestr += "第</div><span class=\"type_in\"><input id=\"page_jump_input\" type=\"text\" value=\"" + currentpage + "\" maxlength=\"10\" /></span><div class=\"type_bottem_01\" style=\"width:80px; text-align:left\">页　<a href=\"javascript:void(0)\" onclick=\"" + thisId + ".page_jump(" + thisId + ");return false;\" >跳转</a></div></div>"
            $("#" + pagebar).attr("innerHTML", pagestr);
        }
        else if (this.pagestyle == "search") {
            pagestr = "<div class=\"type_bottem_01\">共 <span>" + pagecount + "</span> 页";
            if (currentpage == 1) {
                pagestr += "    <span style=\"color:#999\">首页</span>   <span style=\"color:#999\">上一页</span>     "
            }
            else {
                pagestr += "    <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(1);return false;\" >首页</a> <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(" + prevnum + ");return false;\" onclick=\"return false;\">上一页</a>    ";
            }
            pagestr += "    <a href=\"javascript:void(0)\" onclick=\"return false;\" style=\"color:#fc8000;\">" + currentpage + "</a>    ";
            if (currentpage == pagecount) {
                pagestr += "    <span style=\"color:#999\">下一页</span>   <span style=\"color:#999\">尾页</span>    ";
            }
            else {
                pagestr += "    <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(" + nextnum + ");return false;\" >下一页</a> <a href=\"javascript:void(0)\" onclick=\"" + thisId + ".data_get(" + pagecount + ");return false;\">尾页</a>    ";
            }
            pagestr += "第</div><span class=\"type_in\"><input id=\"page_jump_input\" type=\"text\" value=\"" + currentpage + "\" maxlength=\"10\" /></span><div class=\"type_bottem_01\" style=\"width:80px; text-align:left\">页　<a href=\"javascript:void(0)\" onclick=\"" + thisId + ".page_jump(" + thisId + ");return false;\" >跳转</a></div>"
            $("div[title='" + pagebar + "']").attr("innerHTML", pagestr);
        }
    }

    this.page_jump = function(thisId) {
        var page_jump_input = $("#page_jump_input").attr("value");
        if (isNaN(page_jump_input) || parseInt(page_jump_input) > parseInt(thisId.pagecount)) {
            $("#page_jump_input").attr("value", thisId.currentpage);
            alert("当前页数一共仅有" + thisId.pagecount + "页，请输入有效的页数。");
            $("#page_jump_input").focus();
            return;
        }
        else {
            thisId.data_get(page_jump_input);
        }
    }
    /*点击分页时候调用*/
    this.data_get = function(zhi) {
        this.getD(zhi);
    }
}
