﻿function checkSearch() {
    var q = document.getElementById('txtKeyWord');
    if (!q) return false;
    if (q.value == "多个关键词之间用空格隔开") {
        q.value = "";
    }
    var pubdate = document.getElementById('pubDate');
    if (!pubdate) return false;
    if (q.value == "" && pubdate.value == -1) {
        alert('请输入关键字或者选择发布时间。');
        return false;
    }
    var keyArr = q.value.split(' ');
    if (keyArr.length > 3) {
        alert('为了保证查询的速度请不要输入太多的关键字。');
        return;
    }
    document.getElementById('SF').submit();
}

var advSearch = function(con) {
    this.con = $(con);
    if (!this.con) return;
    var PageSize = 24;
    var pageindex = 1;
    var pagecount = 0;
    var totalitems = 0;
    var keyWord = decodeURIComponent(getUrlParam("txtKeyWord"));
    keyWord = keyWord.replace(/\+/ig, " ");
    var pubDate = decodeURIComponent(getUrlParam("pubDate"));
    if (pubDate == -1 && keyWord == "") {
        alert("参数错误!");
        this.con.innerHTML = "参数错误!";
        return;
    }
    if ($('txtKeyWord')) {
        if (keyWord == "")
            $('txtKeyWord').value = "多个关键词之间用空格隔开";
        else
            $('txtKeyWord').value = keyWord;
    }
    if ($('pubDate'))
        $('pubDate').value = pubDate;
    this.loadData = function(page) {
        var _page = page || 1;
        var x = new Ajax("HTML", con);
        x.post('control/doclists.asp', 'keyWord=' + encodeURIComponent(keyWord) + '&pubDate=' + encodeURIComponent(pubDate) + '&pageindex=' + _page, this.callback.bind(this));
    };
    this.callback = function(result) {
        if (!result) return;
        var data = null;
        eval('data=' + result);
        if (data == null) return;
        if (data.result == 0) {
            //$(con).innerHTML = result;           
            pageindex = data.data.pageindex || 1;
            pagecount = data.data.pagecount || 0;
            totalitems = data.data.total || 0;
            var resultData = data.data.items;
            this.analyseData(resultData);
        }
        else {
            alert(data.message);
            document.location.href = 'error.htm';
        }

    };
    this.analyseData = function(mydata) {
        if (!mydata) return;
        var arr = new Array();

        for (var i = 0; i < mydata.length; i++) {
            var item = mydata[i];
            if (i % 8 == 0) {
                arr.push('<div class="c7">');
                arr.push('<ul>');
            }
            arr.push('<li><span class="n1">·</span><a href="' + item.doclink + '" class="n2" target="_blank" title=' + item.doctitle + '>' + item.doctitle + '</a><span class="n4"><a target="_blank" title="' + item.jgname + '" href="zqdetail.asp?id=' + item.jgid + '">' + item.jgname + '</a></span><span class="n3">' + item.docpubtime + '</span></li>');

            if ((i + 1) % 8 == 0 && i > 0) {
                arr.push('</ul>');
                arr.push('</div>');
                arr.push('<div class="c4"></div>');
            }
        }
        arr.push('<div class="page1" id="pageControl"></div>');
        $(con).innerHTML = arr.join('');
        setTimeout(function() {
            this.pageControl = $('pageControl');
            if (this.pageControl) {
                this.getPageText(this.pageControl, pagecount, 1, pageindex, totalitems);
            }
        } .bind(this), 50);
    };
    this.getPageText = function(_con, _pgCount, _startPg, _curPg, _totalItem) {
        if (_curPg == 0) { _curPg = 1; }
        _pgCount = _pgCount || 1;
        var str = '';
        if (_curPg > _pgCount) _curPg = _pgCount;
        var curpos = parseInt(PageSize) * (parseInt(_curPg) - 1);
        var curpos1 = parseInt(parseInt(curpos) + parseInt(PageSize));
        if (curpos1 > parseInt(_totalItem)) curpos1 = parseInt(_totalItem);

        str = '<span id="advsearch_pginfo" class="pginfo"></span>';
        if (_curPg == _startPg) {
            str += ''; //'<a><<</a>';
        } else {
            //            str += '<a href="javascript:void(0)" id="btn_advsearch_first"  onfocus="this.blur()">第一页</a>';
            //            str += '&nbsp;';
            str += '<a href="javascript:void(0)" id="btn_advsearch_prev" onfocus="this.blur()" title="上一页"><<</a>';
        }
        //str += '&nbsp;';
        for (var i = _startPg; i <= _pgCount; i++) {

            if (i == _curPg) {
                str += '<a><strong>' + i + '</strong></a>';
                //str += '&nbsp;';
            } else if (i >= (_curPg - 3) && i <= (_curPg + 3)) {
                str += '<a href="javascript:void(0)" value="' + i + '" id="advsearch_page' + i + '" name="advsearch_pagectl" onfocus="this.blur()">' + i + '</a>';
                //str += '&nbsp;';
            } else if (i == (_curPg - 4) || i == (_curPg + 4)) {
                str += '...&nbsp;';
            }
        }
        if (_curPg == _pgCount) {
            str += ''; //'<a>>></a>';
            //            str += '&nbsp;';
            //            str += '最末页';
        } else {
            str += '<a href="javascript:void(0)" id="btn_advsearch_next" onfocus="this.blur()" title="下一页">>></a>';
            //            str += '&nbsp;';
            //            str += '<a href="javascript:void(0)" id="btn_advsearch_last" onfocus="this.blur()">最末页</a>';
        }
        str += '&nbsp;&nbsp;<input type="button" class="button" id="advsearch_goBtn" value="转到" title="转到"/>';
        str += '&nbsp;&nbsp;<input type="text" class="text" id="advsearch_pagenum" name="radvsearch_pagenum" value="' + _curPg + '" style="width:30px;" />';
        str += '&nbsp;&nbsp;共' + _pgCount + '页';
        _con.innerHTML = str;

        str = '';
        str += '当前显示的是：' + (curpos + 1) + ' - ' + curpos1 + '&nbsp;条记录&nbsp;&nbsp;<b>记录总数</b>[&nbsp;' + _totalItem + '&nbsp;]&nbsp;&nbsp;';
        if ($("advsearch_pginfo")) {
            $("advsearch_pginfo").innerHTML = str;
        }
        if ($("btn_advsearch_first")) {
            addEvent($("btn_advsearch_first"), 'click', this.chagePage(this, _startPg));
        }
        if ($("btn_advsearch_prev")) {
            addEvent($("btn_advsearch_prev"), 'click', this.chagePage.bind(this, _curPg - 1));

        }
        if ($("btn_advsearch_next")) {
            addEvent($("btn_advsearch_next"), 'click', this.chagePage.bind(this, _curPg + 1));

        }
        if ($("btn_advsearch_last")) {
            addEvent($("btn_advsearch_last"), 'click', this.chagePage.bind(this, _pgCount));
        }

        var pgitems = document.getElementsByName('advsearch_pagectl');
        if (pgitems.length > 0) {
            for (var i = 0; i < pgitems.length; i++) {
                addEvent(pgitems[i], 'click', this.chagePage.bind(this, parseInt(pgitems[i].getAttribute('value'))));
            }
        }
        if ($('advsearch_goBtn')) {
            addEvent($('advsearch_goBtn'), 'click', this.goToPage.bind(this));
        }
    };
    this.goToPage = function() {
        var _value = $("advsearch_pagenum").value || 1;
        if (isNaN(_value)) { return };
        this.chagePage(parseInt(_value));
    };
    this.chagePage = function(_pg) {
        curPage = _pg || 1;
        this.loadData(curPage);
        return false;
    }
    this.loadData(pageindex);

}

function newLoad() {
    var myS = new advSearch("searchresult");
}
