Greasy Fork

Douban helper for SYSU

为豆瓣图书增加中大图书馆藏

当前为 2014-09-03 提交的版本,查看 最新版本

// ==UserScript==
// @name        Douban helper for SYSU
// @name:zh-CN  中大图书馆豆瓣助手
// @description 为豆瓣图书增加中大图书馆藏
// @author      Hanchy Hill
// @namespace   https://minhill.com
// @include     http://book.douban.com/subject/*
// @include     http://202.116.64.108:8080/apsm/recommend/recommend_nobor.jsp*
// @include     http://read.douban.com/ebook/*
// @require     http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @version     1.5.5
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_xmlhttpRequest
// @grant GM_openInTab
// @grant GM_deleteValue
// @grant GM_addStyle
// @grant GM_registerMenuCommand
// @icon        http://tb.himg.baidu.com/sys/portrait/item/3336cdf5d2af706879736963616c6a32
// ==/UserScript==


GM_addStyle("#ISBNLoading,#titleLoading { list-style-type:none; }");

var schoolList=["SYSU","SCUT","SCNU","GDUT","GDUFS","GZHTCM","GZHU","GZARTS","XHCOM"];

//个人选项设置
var prefs={
    school:"SYSU",
    studentID:"2333333",
    password:"Hello_Kitty",
    campus:"中山大学东校区",
    telephone:"13145201748",
    name:"小三",
    eMail:"[email protected]"
}


function LibMeta(schoolName){
    this.state=null;
    this.error=false;
    this.errorMsg=null;
    this.type=null;
    this.link=null;
    this.items=null;
    this.originUrl=null;
    this.school=schoolName;
}


function LibItem(school){
    this.bookName=null;
    this.author=null;
    this.bookIndex=null;
    this.publisher=null;
    this.pubDate=null;
    this.school=school;
    this.link=null;
    this.type="booklist";
}

function StoreItem(school){
    this.school=school;
    this.storeState=null;
    this.borrowTime=null;
    this.returnTime="";
    this.location=null;
    this.bookIndex=null;
    this.branch=null;
    this.link=null;
    this.type="store";
}



///////////////////////////豆瓣图书元信息///////////////////////////////////
bookMeta=(function(){
    if(location.href.indexOf('book')==-1){return null;}

    if(location.href.indexOf('douban.com/subject')!=-1){
        //执行豆瓣图书Func.
    
  var rawBookInfo=document.getElementById("info").innerHTML; //获取info块
  var author = document.querySelector("#info a"); //获取作者
  if (author){
    author = author.innerHTML.trim();

  }

  var title =document.querySelector('h1 span').textContent;
  var bracketIndex = title.indexOf("(");//去除括号,防止搜索进行子匹配操作
    if(bracketIndex!=-1){
        title=title.slice(0,bracketIndex);
    }

  var publisher = /出版社:<\/span>(.*)<br>/.exec(rawBookInfo);
  if (publisher !== null){
    publisher = publisher[1].trim();
  }

  var pubdate = /出版年:<\/span>(.*)<br>/.exec(rawBookInfo); 
  if (pubdate !== null){
    pubdate = /[\d]+/.exec(pubdate[1].trim());
    pubdate = pubdate[0];
  }

  var price = /定价:<\/span>(.*)<br>/.exec(rawBookInfo);
  if (price !== null){
    price = price[1].trim();
  }

  var isbn = /ISBN:<\/span>(.*)<br>/.exec(rawBookInfo);
  if (isbn !== null){
    isbn = isbn[1].trim();
  }
  var bookIndex = /统一书号:<\/span>(.*)<br>/.exec(rawBookInfo);
  if (bookIndex !== null){
    bookIndex = bookIndex[1].trim();
  }

  var rating = document.querySelector('#interest_sectl .rating_num').innerHTML.trim();
  if (!rating) {
    rating = '暂无评分';
  }
  }

  else if(location.href.indexOf('ebook')!=-1){
    var allNodes, isbn=null;
    allNodes = document.evaluate('//a[@itemprop="isbn"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);//获取isbn
    //alert(allNodes.snapshotItem(0));
    if(allNodes.snapshotItem(0)){
        isbn=allNodes.snapshotItem(0).innerHTML;
      //alert(isbn);
    }

    var title;
    allNodes = document.evaluate('//h1[@itemprop="name"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes.snapshotItem(0)){
        title=allNodes.snapshotItem(0).innerHTML;
      //alert(title);
    }

    var publisher;
    allNodes = document.evaluate('//span[@itemprop="publisher"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes.snapshotItem(0)){
        publisher=allNodes.snapshotItem(0).innerHTML;
      //alert(publisher);
    }

    var author;
    allNodes = document.evaluate('//span[@itemprop="author"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes.snapshotItem(0)){
        author=allNodes.snapshotItem(0).innerHTML;
      //alert(author);
    }

    var pubdate;
    allNodes = document.evaluate('//span[@itemprop="datePublished"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes.snapshotItem(0)){
        pubdate=allNodes.snapshotItem(0).innerHTML;
        pubdate=pubdate.slice(0,4);
      //alert(pubdate);
    }    

    var rating='暂无评分';
    var price="";
    var bookIndex="";
  }
//////////////////////ISBN转为旧格式///////////////////////////////////
  function ISBN10(isbn){
    if(isbn == null){
        return null;
    }
    else if(pubdate == null){

        return isbn;
    }


    var rawISBN=isbn.slice(3,12);

    var checkCode=0;//校验码
    for(i=0;i<9;i++){
        checkCode+=parseInt(rawISBN[i])*(10-i);
    }

    checkCode=11-checkCode%11;
    if(checkCode==10){checkCode="X";}


    var preCode="";
    publishDate=Number(pubdate.slice(0,4));
    if((publishDate)>=2007){//判断年份以检查是否需要加前缀和修正校验位
        preCode=isbn.slice(0,3)+"-";
        checkCode=isbn[12];
    }

    switch(rawISBN[1]){
    case '0':
        ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,3)+"-"+rawISBN.slice(3,9)+"-"+checkCode;
        break;
    case '1':
    case '2':
    case '3':
        ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,4)+"-"+rawISBN.slice(4,9)+"-"+checkCode;
        break;
    case '5':
    case '7':
        ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,5)+"-"+rawISBN.slice(5,9)+"-"+checkCode;
        break;
    case '4':
    case '8':
        ISBNold=preCode+rawISBN[0]+"-"+rawISBN.slice(1,6)+"-"+rawISBN.slice(6,9)+"-"+checkCode;
        break;
    default:
        ISBNold=rawISBN;
        break;
    }
    return ISBNold;
  }

var isbn10=ISBN10(isbn,pubdate);
/////////////////////////////////////////////////////////
  return{
    "title": title,
    "author": author,
    "publisher": publisher,
    "pubdate": pubdate,
    "price": price,
    "isbn": isbn,
    "bookIndex": bookIndex,
    "rating": rating,
    "isbn10": isbn10
  };
})();

//alert(bookMeta.isbn10);

function eBookMeta(){
    var allNodes, isbn;
    allNodes = document.evaluate('//a[@itemprop="isbn"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);//获取isbn
    if(allNodes){
        isbn=allNodes.snapshotItem(0).innerHTML;
      alert(isbn);
    }

    var title;
    allNodes = document.evaluate('//h1[@itemprop="name"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes){
        title=allNodes.snapshotItem(0).innerHTML;
      alert(title);
    }

    var publisher;
    allNodes = document.evaluate('//span[@itemprop="publisher"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes){
        publisher=allNodes.snapshotItem(0).innerHTML;
      alert(publisher);
    }

    var author;
    allNodes = document.evaluate('//span[@itemprop="author"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes){
        author=allNodes.snapshotItem(0).innerHTML;
      alert(author);
    }

    var pubdate;
    allNodes = document.evaluate('//span[@itemprop="datePublished"]',document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    if(allNodes){
        pubdate=allNodes.snapshotItem(0).innerHTML;
        pubdate=pubdate.slice(0,4);
      //alert(pubdate);
    }
}


//各学校元信息
var schoolInfo={
//中山大学
"SYSU":{
    name:"中山大学",
    anySearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=WRD&request=%s",
    anyForeianSearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=WRD&request=%s&local_base=ZSU09",
    isbnSearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=%s",
    isbnForeianSearchUrl:"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=%s&local_base=ZSU09",
    titleSearchUrl:"",
    abbrName:"中大",
    isGBK:false,
    recommendUrl:"http://202.116.64.108:8080/apsm/recommend/recommend_nobor.jsp"
},

//华南理工大学
"SCUT":{
    name:"华南理工大学",
    anySearchUrl:"http://202.38.232.10/opac/servlet/opac.go?CLANLINK=&CODE=&FIELD1=TITLE&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=%s&cmdACT=simple.list&libcode=",
    isbnSearchUrl:"http://202.38.232.10/opac/servlet/opac.go?CLANLINK=&CODE=&FIELD1=ISBN&MARCTYPE=&MODE=FRONT&ORGLIB=SCUT&PAGE=&RDID=ANONYMOUS&SCODE=&TABLE=&VAL1=%s&cmdACT=simple.list&libcode=",
    abbrName:"华理工",
    isGBK:false

},

//南中国一般大学
"SCNU":{
    name:"华南师范大学",
    abbrName:"华师",
    anySearchUrl:"http://202.116.41.246:8080/opac/openlink.php?sort=M_TITLE&orderby=ASC&title=%s",
    isbnSearchUrl:"http://202.116.41.246:8080/opac/openlink.php?isbn=%s&_m=1",
    isGBK:false
},

//广东工业大学
"GDUT":{
    name:"广东工业大学",
    abbrName:"广工",
    anySearchUrl:"http://222.200.98.171:81/searchresult.aspx?anywords=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL",
    isbnSearchUrl:"http://222.200.98.171:81/searchresult.aspx?isbn_f=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL",
    isGBK:true
},

//外语外贸大学
"GDUFS":{
    name:"广东外语外贸大学",
    abbrName:"广外",
    anySearchUrl:"http://opac.gdufs.edu.cn:8991/F/?find_code=WRD&request=%s&func=find-b",
    isbnSearchUrl:"http://opac.gdufs.edu.cn:8991/F/?func=find-b&find_code=ISB&request=%s&local_base=GWD01",
    isbnForeianSearchUrl:"http://opac.gdufs.edu.cn:8991/F/?func=find-b&find_code=ISB&request=%s&local_base=GWD09",
    isGBK:false

},

//广州中医药大学
"GZHTCM":{
  name:"广州中医药大学",
  abbrName:"广中医",
  anySearchUrl:"http://210.38.102.131:86/opac/openlink.php?sort=M_TITLE&orderby=ASC&title=%s",
  isbnSearchUrl:"http://210.38.102.131:86/opac/openlink.php?strText=%s&strSearchType=isbn",
  isGBK:false
},

//广州大学
"GZHU":{
    name:"广州大学",
    abbrName:"广大",
    anySearchUrl:"http://lib.gzhu.edu.cn:8080/bookle/?id=searchForm&displayPages=15&index=default&matchesPerPage=10&query=%s&searchPage=1&submit=Bookle%20%E6%90%9C%E7%B4%A2",
    isbnSearchUrl:"http://lib.gzhu.edu.cn:8080/bookle/?index=default&query=STANDARDNO%3A%28%s%29",
    isGBK:false
},

//广州美术学院gzarts
"GZARTS":{
    name:"广州美术学院",
    abbrName:"广美",
    anySearchUrl:"http://121.33.246.167/opac/searchresult.aspx?anywords=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL&ecx=0",
    isbnSearchUrl:"http://121.33.246.167/opac/searchresult.aspx?isbn_f=%s&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL&ecx=0",
    //http://121.33.246.167/opac/searchresult.aspx?isbn_f=7-02-000220-X&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL&ecx=0
    isGBK:true
},


//星海音乐学院
"XHCOM":{},

//广东药学院,由于编码问题和没提供ISBN检索,暂不支持//
}






/////////////////////豆瓣处荐购结束///////////////////////////////////////



//函数:提取isbn搜索元信息
var isbnFilter={
    //中山大学
    SYSU: {

        respond:function (reDetails,frameLocation) {
              var fullUrl = reDetails.finalUrl;
              if (reDetails.status !== 200&&reDetails.status !== 304){
                var msg = new LibMeta("SYSU");
                msg.state="error";
                msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");//后续版本再处理
                messageCatcher(msg,frameLocation);
                return;
              }
              //document.getElementById("footer").textContent=reDetails.responseText;
              if(reDetails.responseText.indexOf('indexpage')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
                  var msg = new LibMeta("SYSU");
                  msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
                  messageCatcher(msg,frameLocation);
                  return;
              }

                //document.getElementById("footer").textContent=reDetails.responseText;
                //var frame =document.createElement("div");
                //frame.innerHTML = reDetails.responseText;
                //alert(frame.innerHTML);
                if(reDetails.responseText.indexOf('Search Results')!=-1){
                    //alert("跳转到搜索页");
                    //var frame =document.createElement("div");
                //frame.innerHTML = reDetails.responseText;
                //document.getElementById("reviews").textContent=frame.innerHTML;          
                
                    titleFilter.SYSU.filter(reDetails.responseText,fullUrl,frameLocation);
                    
                }
                else{
                  isbnFilter.SYSU.filter(reDetails.responseText,frameLocation);

                }
                
                return;
        },


        filter:function(gettxt,frameLocation){


        getWhere = function(where,eBook,frameLocation){
            //alert(typeof where);
            GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : where[0],
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                var libra =document.createElement("div");
                libra.innerHTML = reDetails.responseText;
                getBookinfo(libra.innerHTML,eBook,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });

/////////////////回调函数馆藏位置获取////////////////////////////////////////
    getBookinfo = function(webText,eBook,frameLocation,finalUrl){
    var hasBook = true;
    webText = webText.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"");
    //alert(webText);

    ///防止无书籍的情况发生
    if(webText.indexOf('无匹配单册')!=-1){
        var msg = new LibMeta("SYSU");
        msg.state="recommend";
        messageCatcher(msg,frameLocation);
    }
    else{
    blockBook = webText.match(/OPAC注释(.*?)<\/tbody>/)[1];
    //alert(typeof blockBook);
    borrowItem = blockBook.match(/<tr>.*?<\/tr>/g);
    //alert(borrowItem[0]);
    var loan = new Array();

      for(k=0;k<borrowItem.length;k++){
      loan[k] = borrowItem[k].match(/<!--Loan.*?td1">(.*?)<\/td>.*?date.*?td1">(.*?)<\/td>.*?hour.*?td1>(.*?)<\/td>.*?Sub.*?nowrap="">(.*?)<\/td>/);
    /////借书类型/时间/到期/位置
      }
    }
    /////////////////

      /*/////////有电子书时//////////
        get_eBook = function(eBook){
          k=storeList.items.length;
          storeList.items[k]=new StoreItem("SYSU");         
          storeList.items[k].link=eBook;
          storeList.items[k].type="eBook";

          //bookStatus = '<ul class="ft pl more-after">'+
          //            '<li style="border: none">电子书位置:' + '<a href="'+ eBook +'" target="_blank">点击查看</a>'+ '</li>';
          //bookStatus += '</ul>';
          //allBook += bookStatus;
        }*/

    ///////////插入框架///////

        //var allBook = '<div class="gray_ad" id="sysulib"><h2>中大ISBN检索</h2>' +
        //              '<a href="'+ fullurl +'" target="_blank">前往图书馆查看这本书</a>'; 

      if(hasBook){
        //alert("hasBook");
        var storeList = new LibMeta("SYSU");
        storeList.state="store";
        storeList.items= new Array();


        for(s=0;s<borrowItem.length;s++){
            
           //bookStatus =   '<ul class="ft pl more-after"> ' +
           //               '<li style="border: none">单册状态:' + loan[s][1]+
           //               '<span style="position:relative; left:20px;">应还日期: ' + loan[s][2].replace(/<br>/,"") +'</span></li>' + 
                          //'<li style="border: none">到期: ' + loan[s][3] + '</li>' +
           //               '<li style="border: none">分馆: ' + loan[s][4] + '</li>' +
            //              '</ul>';
                          
                         
           //allBook += bookStatus;
           storeList.items[s]=new StoreItem("SYSU");
           storeList.items[s].storeState=loan[s][1];
           storeList.items[s].returnTime=loan[s][2].replace(/<br>/,"");
           storeList.items[s].branch=loan[s][4];
           storeList.items[s].link=finalUrl;

           //alert(allBook);      
        }
        //alert(storeList.items.length);
        if(eBook){
          //get_eBook(eBook);
          var itemsLength=storeList.items.length;
          storeList.items[itemsLength]=new StoreItem("SYSU");         
          storeList.items[itemsLength].link=eBook;
          storeList.items[itemsLength].type="eBook";
          storeList.items[itemsLength].storeState="电子书";
        };
      } 
      //alert(storeList.items.length);
      //return messageCatcher(storeList);
      messageCatcher(storeList,frameLocation);
      
        //allBook += '</div>' 
        //$('.aside').prepend(allBook);
    //////////////////////完成框架插入//////////////
          }
        }
        /////////////////////////////////////////////////////////

        str = gettxt;
        str = str.replace(/[ | ]*\n/g,''); //去除行尾空白
        str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行
        str = str.replace(/amp;/g,""); //去除URL转码
        //alert(str);


        ///获取一整块
        var eBook;
        eBook = null;
        if(str.match(/电子资源定位/)){
        //document.getElementById("footer").textContent=str;
        eBook = str.match(/电子资源定位.*?jpg.*?File Extension: url">(.*?)<\/a>/)[1];
        }
        if(!eBook&&str.indexOf("索书")==-1){
            var msg = new LibMeta("SYSU");
            msg.state="recommend";
            //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
        }
        str = str.match(/全部馆藏(.*?)所有单册借阅状态/g)
        //alert(typeof str[0]);
        var txt = str[0];
        txt = txt.match(/http:.*?sub_library=/);
        //alert(txt);
    // alert(eBook);
        getWhere(txt,eBook,frameLocation);
        //alert(txt);
        


//////////////////////////////////////////////


 
      }
    },
    //华南理工大学
    SCUT:{
      respond:function (reDetails,frameLocation) {
        if (reDetails.status !== 200&&reDetails.status !== 304){
          var msg = new LibMeta("SCUT");
          msg.state="error";
          msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");//后续版本再处理
          messageCatcher(msg,frameLocation);
          return;
          }
              //document.getElementById("footer").textContent=reDetails.responseText;
          if(reDetails.responseText.indexOf('无符合')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
            var msg = new LibMeta("SCUT");
            msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
          }

          //document.getElementById("reviews").textContent=reDetails.responseText;
          isbnFilter.SCUT.filter(reDetails.responseText,frameLocation);

      },
      filter:function(text,frameLocation){
        //http://202.38.232.10/opac/servlet/opac.go?SORTFIELD=CALLNO&SORTORDER=asc&bookid=413213&cmdACT=query.bookdetail&libcode=
        text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"");
        rowText = text.match(/javascript:book_detail.*?<\/tr>/g);
        //alert(rowText);

        var bookBlock = new Array();
        var bookDetail = new Array();
        for(s=0;s<rowText.length;s++){
          bookBlock[s] = rowText[s].match(/\((\d+\.?\d*)\)">(.*?)<\/a>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>.*?F">(.*?)<\/TD>/);
          //alert(bookBlock[s].length);
          bookBlock[s].shift();

        }

        var list = new LibMeta("SCUT");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<rowText.length;s++){
           list.items[s] = new LibItem("SCUT");
           list.items[s].link ="http://202.38.232.10/opac/servlet/opac.go?SORTFIELD=CALLNO&SORTORDER=asc&bookid="+bookBlock[s][0]+"&cmdACT=query.bookdetail&libcode=";
           list.items[s].bookName = bookBlock[s][1];
           list.items[s].author = bookBlock[s][2];
           list.items[s].publisher = bookBlock[s][3];
           list.items[s].bookIndex = bookBlock[s][6];
           list.items[s].pubDate = bookBlock[s][5];
        }

        //进一步获取馆藏
        GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : list.items[0].link,
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                //var libra =document.createElement("div");
                //document.getElementById("reviews").textContent=reDetails.responseText;
                getStoreFilter(reDetails.responseText,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });



        function  getStoreFilter(text,frameLocation,finalUrl){
          text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"");
          text=text.match(/id="queryholding".*?<\/table>/);
          var row;
          row=text[0].match(/<tr>.*?<\/tr>/g);
          //alert(row.length);
          row.shift();
          //alert(row[0]);

          var storeBlock = new Array();
          for(s=0;s<row.length;s++){
          storeBlock[s] = row[s].match(/"8%">(.*?)<\/td>.*?F">(.*?)<\/td.*?8%">(.*?)<\/td>.*?4%">(.*?)<\/td>.*?8%">(.*?)<\/td>.*?8%">(.*?)<\/td>.*?0%">(.*?)<\/td>/);
          //alert(bookBlock[s].length);
          storeBlock[s].shift();


        }

          var storeList = new LibMeta("SCUT");
          storeList.state="store";
          storeList.items= new Array();

          for(s=0;s<storeBlock.length;s++){
            storeList.items[s]=new StoreItem("SCUT");
            storeList.items[s].storeState=storeBlock[s][5].replace(/ /g,"");
            storeList.items[s].returnTime=storeBlock[s][6];
            storeList.items[s].branch=storeBlock[s][0];
            storeList.items[s].location = storeBlock[s][1];
            storeList.items[s].bookIndex = storeBlock[s][2];
            storeList.items[s].link = finalUrl;
          }
           messageCatcher(storeList,frameLocation);
           return;

        }

      }
    },

    //南中国一般大学
    SCNU:{      
      respond:function (reDetails,frameLocation) {
        if (reDetails.status !== 200&&reDetails.status !== 304){
          var msg = new LibMeta("SCNU");
          msg.state="error";
          msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");//后续版本再处理
          messageCatcher(msg,frameLocation);
          return;
          }
              //document.getElementById("footer").textContent=reDetails.responseText;
          if(reDetails.responseText.indexOf('没有')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
            var msg = new LibMeta("SCNU");
            msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
          }

          //document.getElementById("reviews").textContent=reDetails.responseText;
          isbnFilter.SCNU.filter(reDetails.responseText,frameLocation);

      },

      filter:function(text,frameLocation){
        //http://202.38.232.10/opac/servlet/opac.go?SORTFIELD=CALLNO&SORTORDER=asc&bookid=413213&cmdACT=query.bookdetail&libcode=
        text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/ /g,"").replace(/\r/g,"");
        rowText = text.match(/book_list_info.*?<img/);
        //alert(rowText.length);
        //document.getElementById("reviews").textContent=rowText;        

        var bookBlock = new Array();
        var bookDetail = new Array();
        for(s=0;s<rowText.length;s++){
          bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/);
          //alert(bookBlock[s].length);
          bookBlock[s].shift();
        }



        var list = new LibMeta("SCNU");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<rowText.length;s++){
           list.items[s] = new LibItem("SCNU");
           list.items[s].link ="http://202.116.41.246:8080/opac/item.php?marc_no="+bookBlock[s][0];
           list.items[s].bookName = bookBlock[s][1];
           list.items[s].author = bookBlock[s][5];
           list.items[s].publisher = bookBlock[s][6];
           list.items[s].bookIndex = bookBlock[s][2];
           //alert(list.items[s].bookName);
        }
        //messageCatcher(list,frameLocation);

        //进一步获取馆藏
        GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : list.items[0].link,
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                //var libra =document.createElement("div");
                //document.getElementById("reviews").textContent=reDetails.responseText;
                getStoreFilter(reDetails.responseText,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });



        function  getStoreFilter(text,frameLocation,finalUrl){
          text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,"");
          var row;
          row=text.match(/whitetext.*?left/g);
          //alert(row.length);
          //row.shift();
          //alert(row[0]);

          var storeBlock = new Array();
          for(s=0;s<row.length;s++){
            //alert(row[s].replace(/[ | ]*/g,''));
            storeBlock[s] = row[s].match(/"10%">(.*?)<\/td>.*?title="(.*?)">.*?20%">(.*?)<\/td>/);
            //alert(storeBlock[s].length);
            storeBlock[s].shift();
        }

          var storeList = new LibMeta("SCNU");
          storeList.state="store";
          storeList.items= new Array();

          for(s=0;s<storeBlock.length;s++){
            storeList.items[s]=new StoreItem("SCNU");
            storeList.items[s].storeState=storeBlock[s][2].replace(/ /g,"");
            //storeList.items[s].returnTime=storeBlock[s][2];
            storeList.items[s].branch=storeBlock[s][1];
            //storeList.items[s].location = storeBlock[s][1];
            storeList.items[s].bookIndex = storeBlock[s][0];
            storeList.items[s].link = finalUrl;
          }
           messageCatcher(storeList,frameLocation);
           return;

        }

      }
    },

    //广东工业大学
    GDUT:{
      respond:function (reDetails,frameLocation) {
        if (reDetails.status !== 200&&reDetails.status !== 304){
          var msg = new LibMeta("GDUT");
          msg.state="error";
          msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");
          messageCatcher(msg,frameLocation);
          return;
          }
              //document.getElementById("footer").textContent=reDetails.responseText;
          if(reDetails.responseText.indexOf('没有')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
            var msg = new LibMeta("GDUT");
            msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
          }

          //document.getElementById("reviews").textContent=reDetails.responseText;
          isbnFilter.GDUT.filter(reDetails.responseText,frameLocation);

      },
      filter:function(text,frameLocation){
        text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,"");
        rowText = text.match(/class="tb".*?<\/table>/);
        //alert(rowText.length);
        //document.getElementById("reviews").textContent=rowText;        

        var bookBlock = new Array();
        //var bookDetail = new Array();
        /*
        for(s=0;s<rowText.length;s++){
          bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/);
          //alert(bookBlock[s].length);
          bookBlock[s].shift();
        }
        */
        bookBlock[0]=rowText[0].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/);
        //alert(bookBlock[0].length);

        bookBlock[0].shift();
        var list = new LibMeta("GDUT");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<rowText.length;s++){
           list.items[s] = new LibItem("GDUT");
           list.items[s].link ="http://222.200.98.171:81/"+bookBlock[s][0];
           list.items[s].bookName = bookBlock[s][1];
           list.items[s].author = bookBlock[s][2];
           list.items[s].publisher = bookBlock[s][3];
           list.items[s].pubDate = bookBlock[s][4];
           //list.items[s].bookIndex = bookBlock[s][2];
           //alert(list.items[s].link);


                //进一步获取馆藏
        GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : list.items[0].link,
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                //var libra =document.createElement("div");
                //document.getElementById("reviews").textContent=reDetails.responseText;
                getStoreFilter(reDetails.responseText,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });

        function  getStoreFilter(text,frameLocation,finalUrl){
          text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,"");
          var row;
          row=text.match(/<tbody>.*?<\/tbody>/);
          row[0].replace(/ /g,"");
          //alert(row[0]);
          row = row[0].match(/<tr>.*?<\/tr>/g);
 
          //alert(row.length);
          //row.shift();
          //alert(row[0]);

          var storeBlock = new Array();
          for(s=0;s<row.length;s++){
            //alert(row[s].replace(/[ | ]*/g,''));
            //alert(row[s]);
            storeBlock[s] = row[s].match(/showLibInfo.*?'>(.*?)<\/a><\/td><td>(.*?)<\/td><td>(.*?)<\/td>.*?tbr.*?<td>.*?<td>(.*?)<\/td>/);
            //alert(storeBlock[s].length);
            storeBlock[s].shift();
        }

          var storeList = new LibMeta("GDUT");
          storeList.state="store";
          storeList.items= new Array();

          for(s=0;s<storeBlock.length;s++){
            storeList.items[s]=new StoreItem("GDUT");
            storeList.items[s].storeState=storeBlock[s][3];
            //storeList.items[s].returnTime=storeBlock[s][2];
            storeList.items[s].branch=storeBlock[s][0];
            //storeList.items[s].location = storeBlock[s][1];
            storeList.items[s].bookIndex = storeBlock[s][1];
            storeList.items[s].link = finalUrl;
          }
           messageCatcher(storeList,frameLocation);
           return;

        }




        }

      }
    },

    //外语外贸大学
    GDUFS:{
        respond:function (reDetails,frameLocation) {
              var fullUrl = reDetails.finalUrl;
              if (reDetails.status !== 200&&reDetails.status !== 304){
                var msg = new LibMeta("GDUFS");
                msg.state="error";
                msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");//后续版本再处理
                messageCatcher(msg,frameLocation);
                return;
              }
              //document.getElementById("footer").textContent=reDetails.responseText;
              if(reDetails.responseText.indexOf('indexpage')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
                  var msg = new LibMeta("GDUFS");
                  msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
                  messageCatcher(msg,frameLocation);
                  return;
              }

                //document.getElementById("footer").textContent=reDetails.responseText;
                //var frame =document.createElement("div");
                //frame.innerHTML = reDetails.responseText;
                //alert(frame.innerHTML);
                if(reDetails.responseText.indexOf('Search Results')!=-1){
                    //alert("跳转到搜索页");
                    //var frame =document.createElement("div");
                //frame.innerHTML = reDetails.responseText;
                //document.getElementById("reviews").textContent=frame.innerHTML;          
                
                    titleFilter.GDUFS.filter(reDetails.responseText,fullUrl,frameLocation);
                    
                }
                else{
                  isbnFilter.GDUFS.filter(reDetails.responseText,frameLocation);

                }
                
                return;
        },


        filter:function(gettxt,frameLocation){


        getWhere = function(where,eBook,frameLocation){
            //alert(typeof where);
            GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : where[0],
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                var libra =document.createElement("div");
                libra.innerHTML = reDetails.responseText;
                getBookinfo(libra.innerHTML,eBook,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });

/////////////////回调函数馆藏位置获取////////////////////////////////////////
    getBookinfo = function(webText,eBook,frameLocation,finalUrl){
    var hasBook = true;
    webText = webText.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"");
    //alert(webText);

    ///防止无书籍的情况发生
    if(webText.indexOf('无匹配单册')!=-1){
        var msg = new LibMeta("GDUFS");
        msg.state="recommend";
        messageCatcher(msg,frameLocation);
    }
    else{
    blockBook = webText.match(/OPAC注释(.*?)<\/tbody>/)[1];
    //alert(typeof blockBook);
    borrowItem = blockBook.match(/<tr>.*?<\/tr>/g);
    //alert(borrowItem[0]);
    var loan = new Array();

      for(k=0;k<borrowItem.length;k++){
      loan[k] = borrowItem[k].match(/<!--Loan.*?td1">(.*?)<\/td>.*?date.*?td1">(.*?)<\/td>.*?hour.*?td1>(.*?)<\/td>.*?Sub.*?nowrap="">(.*?)<\/td>/);
    /////借书类型/时间/到期/位置
      }
    }
    /////////////////

      /*/////////有电子书时//////////
        get_eBook = function(eBook){
          k=storeList.items.length;
          storeList.items[k]=new StoreItem("SYSU");         
          storeList.items[k].link=eBook;
          storeList.items[k].type="eBook";

          //bookStatus = '<ul class="ft pl more-after">'+
          //            '<li style="border: none">电子书位置:' + '<a href="'+ eBook +'" target="_blank">点击查看</a>'+ '</li>';
          //bookStatus += '</ul>';
          //allBook += bookStatus;
        }*/

    ///////////插入框架///////

        //var allBook = '<div class="gray_ad" id="sysulib"><h2>中大ISBN检索</h2>' +
        //              '<a href="'+ fullurl +'" target="_blank">前往图书馆查看这本书</a>'; 

      if(hasBook){
        //alert("hasBook");
        var storeList = new LibMeta("GDUFS");
        storeList.state="store";
        storeList.items= new Array();


        for(s=0;s<borrowItem.length;s++){
            
           //bookStatus =   '<ul class="ft pl more-after"> ' +
           //               '<li style="border: none">单册状态:' + loan[s][1]+
           //               '<span style="position:relative; left:20px;">应还日期: ' + loan[s][2].replace(/<br>/,"") +'</span></li>' + 
                          //'<li style="border: none">到期: ' + loan[s][3] + '</li>' +
           //               '<li style="border: none">分馆: ' + loan[s][4] + '</li>' +
            //              '</ul>';
                          
                         
           //allBook += bookStatus;
           storeList.items[s]=new StoreItem("GDUFS");
           storeList.items[s].storeState=loan[s][1];
           storeList.items[s].returnTime=loan[s][2].replace(/<br>/,"");
           storeList.items[s].branch=loan[s][4];
           storeList.items[s].link=finalUrl;

           //alert(allBook);      
        }
        //alert(storeList.items.length);
        if(eBook){
          //get_eBook(eBook);
          var itemsLength=storeList.items.length;
          storeList.items[itemsLength]=new StoreItem("GDUFS");         
          storeList.items[itemsLength].link=eBook;
          storeList.items[itemsLength].type="eBook";
          storeList.items[itemsLength].storeState="电子书";
        };
      } 
      //alert(storeList.items.length);
      //return messageCatcher(storeList);
      messageCatcher(storeList,frameLocation);
      
        //allBook += '</div>' 
        //$('.aside').prepend(allBook);
    //////////////////////完成框架插入//////////////
          }
        }
        /////////////////////////////////////////////////////////

        str = gettxt;
        str = str.replace(/[ | ]*\n/g,''); //去除行尾空白
        str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行
        str = str.replace(/amp;/g,""); //去除URL转码
        //alert(str);


        ///获取一整块
        var eBook;
        eBook = null;
        if(str.match(/电子资源定位/)){
        //document.getElementById("footer").textContent=str;
        eBook = str.match(/电子资源定位.*?jpg.*?File Extension: url">(.*?)<\/a>/)[1];
        }
        if(!eBook&&str.indexOf("索书")==-1){
            var msg = new LibMeta("GDUFS");
            msg.state="recommend";
            //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
        }
        str = str.match(/全部馆藏(.*?)所有单册/g)
        //alert(typeof str[0]);
        var txt = str[0];
        txt = txt.match(/http:.*?sub_library=/);
        //alert(txt);
    // alert(eBook);
        getWhere(txt,eBook,frameLocation);
        //alert(txt);
        


//////////////////////////////////////////////


 
      }
    },

    //广州中医药大学
    GZHTCM:{
      respond:function (reDetails,frameLocation) {
        if (reDetails.status !== 200&&reDetails.status !== 304){
          var msg = new LibMeta("GZHTCM");
          msg.state="error";
          msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");//后续版本再处理
          messageCatcher(msg,frameLocation);
          return;
          }
              //document.getElementById("footer").textContent=reDetails.responseText;
          if(reDetails.responseText.indexOf('没有')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
            var msg = new LibMeta("GZHTCM");
            msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
          }

          //document.getElementById("reviews").textContent=reDetails.responseText;
          isbnFilter.GZHTCM.filter(reDetails.responseText,frameLocation);

      },

      filter:function(text,frameLocation){
        //http://202.38.232.10/opac/servlet/opac.go?SORTFIELD=CALLNO&SORTORDER=asc&bookid=413213&cmdACT=query.bookdetail&libcode=
        text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/ /g,"").replace(/\r/g,"");
        rowText = text.match(/book_list_info.*?<img/);
        //alert(rowText.length);
        //document.getElementById("reviews").textContent=rowText;        

        var bookBlock = new Array();
        var bookDetail = new Array();
        for(s=0;s<rowText.length;s++){
          bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/);
          //alert(bookBlock[s].length);
          bookBlock[s].shift();
        }



        var list = new LibMeta("GZHTCM");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<rowText.length;s++){
           list.items[s] = new LibItem("GZHTCM");
           list.items[s].link ="http://210.38.102.131:86/opac/item.php?marc_no="+bookBlock[s][0];
           list.items[s].bookName = bookBlock[s][1];
           list.items[s].author = bookBlock[s][5];
           list.items[s].publisher = bookBlock[s][6];
           list.items[s].bookIndex = bookBlock[s][2];
           //alert(list.items[s].bookName);
        }
        //messageCatcher(list,frameLocation);

        //进一步获取馆藏
        GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : list.items[0].link,
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                //var libra =document.createElement("div");
                //document.getElementById("reviews").textContent=reDetails.responseText;
                getStoreFilter(reDetails.responseText,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });



        function  getStoreFilter(text,frameLocation,finalUrl){
          text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,"");
          var row;
          row=text.match(/whitetext.*?left/g);
          //alert(row.length);
          //row.shift();
          //alert(row[0]);

          var storeBlock = new Array();
          for(s=0;s<row.length;s++){
            //alert(row[s].replace(/[ | ]*/g,''));
            //alert(row[s]);
            storeBlock[s] = row[s].match(/"10%">(.*?)<\/td>.*?gif"\/>(.*?)<\/td>.*?20%">(.*?)<\/td>/);
            //alert(storeBlock[s].length);
            storeBlock[s].shift();
        }

          var storeList = new LibMeta("GZHTCM");
          storeList.state="store";
          storeList.items= new Array();

          for(s=0;s<storeBlock.length;s++){
            storeList.items[s]=new StoreItem("GZHTCM");
            storeList.items[s].storeState=storeBlock[s][2].replace(/ /g,"");
            //storeList.items[s].returnTime=storeBlock[s][2];
            storeList.items[s].branch=storeBlock[s][1];
            //storeList.items[s].location = storeBlock[s][1];
            storeList.items[s].bookIndex = storeBlock[s][0];
            storeList.items[s].link = finalUrl;
          }
           messageCatcher(storeList,frameLocation);
           return;

        }

      }

    },

    //广州大学
    GZHU:{
      respond:function (reDetails,frameLocation) {
        if (reDetails.status !== 200&&reDetails.status !== 304){
          var msg = new LibMeta("GZHU");
          msg.state="error";
          msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");//后续版本再处理
          messageCatcher(msg,frameLocation);
          return;
          }
              //document.getElementById("footer").textContent=reDetails.responseText;
          if(reDetails.responseText.indexOf('找不到')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
            var msg = new LibMeta("GZHU");
            msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
          }

          //document.getElementById("reviews").textContent=reDetails.responseText;
          isbnFilter.GZHU.filter(reDetails.responseText,frameLocation);

      },
      filter:function(text,frameLocation){
        text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/ /g,"").replace(/\r/g,"");
        rowText = text.match(/book_info>.*?<\/div>/g);
        //alert(rowText.length);
        //document.getElementById("reviews").textContent=rowText[0];  

        var bookBlock = new Array();
        var bookDetail = new Array();
        for(s=0;s<rowText.length;s++){
          bookBlock[s] = rowText[s].match(/href="(.*?)"target="_blank">(.*?)<\/a><span>(.*?)<\/span>.*?<h4>(.*?)&nbsp;/);
          //alert(bookBlock[s].length);
          bookBlock[s].shift();
        }

        var list = new LibMeta("GZHU");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<rowText.length;s++){
           list.items[s] = new LibItem("SCNU");
           list.items[s].link ="http://lib.gzhu.edu.cn:8080"+bookBlock[s][0];
           list.items[s].bookName = bookBlock[s][1];
           list.items[s].author = bookBlock[s][2];
           list.items[s].publisher = bookBlock[s][3];
           //list.items[s].bookIndex = bookBlock[s][2];
           //alert(list.items[s].bookName);
        }
        //messageCatcher(list,frameLocation);

        //进一步获取馆藏
        GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : list.items[0].link,
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                //var libra =document.createElement("div");
                //document.getElementById("reviews").textContent=reDetails.responseText;
                getStoreFilter(reDetails.responseText,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });

        function  getStoreFilter(text,frameLocation,finalUrl){
          text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,"");
          var row;
          text=text.match(/holdings_info_content.*?clear/);
          //alert(row.length);
          //row.shift();
          row = text[0].match(/<td>.*?<\/tr>/g);
          //alert(row.length);

          var storeBlock= new Array();
          for(s=0;s<row.length;s++){
            //row[s].shift();

            storeBlock[s] = row[s].match(/<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<a.*?<\/tr>/);
            //alert(storeBlock[s].length);
            storeBlock[s].shift();
        }

          var storeList = new LibMeta("GZHU");
          storeList.state="store";
          storeList.items= new Array();

          for(s=0;s<storeBlock.length;s++){
            storeList.items[s]=new StoreItem("GZHU");
            storeList.items[s].storeState=storeBlock[s][1];
            storeList.items[s].returnTime=storeBlock[s][3];
            storeList.items[s].branch=storeBlock[s][4];
            storeList.items[s].link=finalUrl;
            //storeList.items[s].location = storeBlock[s][1];
            //storeList.items[s].bookIndex = storeBlock[s][0];
          }
           messageCatcher(storeList,frameLocation);
           return;

        }



      }
    },

    //广州美术学院
    GZARTS:{
      respond:function (reDetails,frameLocation) {
        if (reDetails.status !== 200&&reDetails.status !== 304){
          var msg = new LibMeta("GZARTS");
          msg.state="error";
          msg.errorMsg="ISBN连接错误";
                //alert("ISBN连接错误");
          messageCatcher(msg,frameLocation);
          return;
          }
              //document.getElementById("footer").textContent=reDetails.responseText;
          if(reDetails.responseText.indexOf('没有')!=-1){
                  //alert("ISBN查无此书"); //增加荐购
            var msg = new LibMeta("GZARTS");
            msg.state="recommend";
                  //hasBook = false;
                  //recommendBook();
            messageCatcher(msg,frameLocation);
            return;
          }

          //document.getElementById("reviews").textContent=reDetails.responseText;
          isbnFilter.GZARTS.filter(reDetails.responseText,frameLocation);

      },
      filter:function(text,frameLocation){
        text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,"");
        rowText = text.match(/class="tb".*?<\/table>/);
        //alert(rowText.length);
        //document.getElementById("reviews").textContent=rowText;        

        var bookBlock = new Array();
        //var bookDetail = new Array();
        /*
        for(s=0;s<rowText.length;s++){
          bookBlock[s] = rowText[s].match(/marc_no=(\d+\.?\d*)">(.*?)<\/a>(.*?)<\/h3>.*?span>(.*?)<br>(.*?)<\/span>(.*?)<br\/>(.*?)<br\/>/);
          //alert(bookBlock[s].length);
          bookBlock[s].shift();
        }
        */
        bookBlock[0]=rowText[0].match(/(bookinfo.aspx\?ctrlno=\d+\.?\d*)".*?blank">(.*?)<\/a>.*?<td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/);
        //alert(bookBlock[0].length);

        bookBlock[0].shift();
        var list = new LibMeta("GZARTS");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<rowText.length;s++){
           list.items[s] = new LibItem("GZARTS");
           list.items[s].link ="http://121.33.246.167/opac/"+bookBlock[s][0];
           list.items[s].bookName = bookBlock[s][1];
           list.items[s].author = bookBlock[s][2];
           list.items[s].publisher = bookBlock[s][3];
           list.items[s].pubDate = bookBlock[s][4];
           //list.items[s].bookIndex = bookBlock[s][2];
           //alert(list.items[s].link);


                //进一步获取馆藏
        GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,
            url : list.items[0].link,
            //url : fullurl,//"http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=7101003044",
            onload : function (reDetails) {
                //var libra =document.createElement("div");
                //document.getElementById("reviews").textContent=reDetails.responseText;
                getStoreFilter(reDetails.responseText,frameLocation,reDetails.finalUrl);//回调函数馆藏位置获取
            }
        });

        function  getStoreFilter(text,frameLocation,finalUrl){
          text = text.replace(/[ | ]*\n/g,'').replace(/\n[\s| | ]*\r/g,'').replace(/amp;/g,"").replace(/\r/g,"").replace(/ /g,"");
          //document.getElementById("reviews").textContent=text;
          var row;
          row=text.match(/<tbody>.*?<\/tbody>/);
          row[0].replace(/ /g,"");
          //alert(row[0]);
          row = row[0].match(/<tr>.*?<\/tr>/g);
 
          //alert(row.length);
          //row.shift();
          //alert(row[0]);

          var storeBlock = new Array();
          for(s=0;s<row.length;s++){
            //alert(row[s].replace(/[ | ]*/g,''));
            //alert(row[s]);
            storeBlock[s] = row[s].match(/showLibInfo.*?'>(.*?)<\/a><\/td><td>(.*?)<\/td><td>(.*?)<\/td>.*?tbr.*?<td>.*?<td>(.*?)<\/td>/);
            //alert(storeBlock[s].length);
            storeBlock[s].shift();
        }
          var storeList = new LibMeta("GZARTS");
          storeList.state="store";
          storeList.items= new Array();

          for(s=0;s<storeBlock.length;s++){
            storeList.items[s]=new StoreItem("GZARTS");
            storeList.items[s].storeState=storeBlock[s][3];
            //storeList.items[s].returnTime=storeBlock[s][2];
            storeList.items[s].branch=storeBlock[s][0];
            //storeList.items[s].location = storeBlock[s][1];
            storeList.items[s].bookIndex = storeBlock[s][1];
            storeList.items[s].link=finalUrl;
          }
           messageCatcher(storeList,frameLocation);
           return;
        }

        }

      }
    },


    //星海音乐学院
    XHCOM:{},

    //广东药学院,由于编码问题和没提供ISBN检索,暂不支持//

}

//函数:提取title搜索元信息
var titleFilter={
    //中山大学
    SYSU:{

     respond:function(reDetails,frameLocation) {
              fullurl=reDetails.finalUrl;
              if (reDetails.status !== 200&&reDetails.status !== 304){
                var msg = new LibMeta("SYSU");

                msg.state = "error";
                msg.errorMsg = "搜索连接错误";
                messageCatcher(msg,frameLocation);
                ///error_log = "搜索连接错误";
                ///error_output(error_log,fullurl);
                ///alert("全字段搜索连接错误");
                return;
              }

              /*if(reDetails.responseText.indexOf('indexpage')!=-1){
                  var msg = new LibMeta();
                  msg.state = "error";
                  msg.errorMsg = "全字段查无此书";
                  ///hasBook = false;
                  ///error_output(error_log,fullurl);
                  messageCatcher(msg,frameLocation);
                  return;
              }*/
                //var frame =document.createElement("div");
                //frame.innerHTML = reDetails.responseText;
                if(reDetails.responseText.indexOf('Search Results')!=-1){
                    //alert("跳转到搜索页");
                    //titleFilter.SYSU.filter(frame.innerHTML,fullurl);
                    titleFilter.SYSU.filter(reDetails.responseText,fullurl,frameLocation);
                    return;
                }
                else if(reDetails.responseText.indexOf('记录数')!=-1||reDetails.responseText.indexOf('轮排')!=-1){
                    var msg = new LibMeta("SYSU");
                    msg.state = "error";
                    msg.errorMsg = "搜索页面跳转到了款目/轮排列表页面,<br>此页面无法获取图书详细信息。";
                    ///error_log = "搜索页面跳转到了记录数页面,此页面无法获取图书详细信息。";
                    ///error_output(error_log,fullurl);
                    messageCatcher(msg,frameLocation);
                    return;
                }
                else{

                    //error_log = "搜索页面跳转到馆藏,<br>如果ISBN查询无结果,说明其跳转到了错误的图书。";
                    //error_output(error_log,fullurl);
                    
                     isbnFilter.SYSU.filter(reDetails.responseText,frameLocation);
                     return;
                    //showisbn(frame.innerHTML,fullurl);
                  //return;
                  //alert("全字段跳转ISBN馆藏");//BUG处理,以后再说,基本检索
                  //
                }
      },

      filter:function (txt,urltext,frameLocation){

    str = txt;
    str = str.replace(/[ | ]*\n/g,''); //去除行尾空白
    str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行
    str = str.replace(/amp;/g,""); //去除URL转码
    //alert(str);
    //if(urltext.indexOf("ISB")){alert(str)};
    atxt= str.match(/col2>.*?<\/table>/g);
    //alert(atxt.length);
    //if(urltext.indexOf("ISB")){alert(atxt.length)};
    ///////获取图书馆书本元信息//////
    var bookDetail = new Array();//元信息数组
    atxt.shift();//去除整块信息中的多余信息

    for(s=0;s<atxt.length;s++){
       // bookDetail[s] = atxt[s].match(/a[ ]href="(.*?)">(.*?)<\/a>.*?"top">(.*?)<\/td>.*?"top">(.*?)<\/td>.*?"top">(.*?)<\/td>.*?"top">(.*?)<\/td>.*?sub_library=(.*?)<\/table>/).slice(1);
        // 超链接/ 书名 /作者 / 索引号/出版社 /年份 /藏书信息(由于有些书无馆藏,暂时不获取)
        //if(!bookDetail[s]){ //如果没有馆藏信息
            //alert(atxt[s]);
          bookDetail[s] = atxt[s].match(/a href=(.*?)>(.*?)<\/a>.*?top>(.*?)<td.*?top>(.*?)<tr>.*?top>(.*?)<td.*?top>(.*?)<tr>/).slice(1);
          // 超链接/ 书名 /作者 / 索引号/出版社 /年份 /
    }

      ////////框架//////////////////////////////////

        //hasBook = true;

      //if(hasBook){

       //判断URL类型
       if(urltext.indexOf('ISB')!=-1){
        var allBook = '<div class="gray_ad" id="sysulib"><h2>中大ISBN检索</h2>' +
                       '<a href="'+ urltext +'" target="_blank">前往图书馆查看这本书</a>'; 
       }
       else{
        var allBook = '<div class="gray_ad" id="sysulib"><h2>中大图书馆检索</h2>' +
                       '<a href="'+ urltext +'" target="_blank">前往图书馆查看这本书</a>';         
       }
       //alert(allBook);
        var display;
        var list = new LibMeta("SYSU");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<bookDetail.length;s++){
            if(s>4){
              display=" ;display : none";
            }
            else{
              display="";
            }

           //bookStatus =   '<ul class="ft pl more-after"> ' +
           // '<li style="border: none"><a href="'+bookDetail[s][0]+'"target="_blank">书名:' + bookDetail[s][1]+ '</a></li>' +
           //               '<li style="border: none'+display+'"><a >作者: ' + bookDetail[s][2] +'</a>' + 
           //               '<a style="position:relative; left:15px;">出版社:' + bookDetail[s][4] + '</a></li>' +
                          //'<li style="border: none'+display+'"><a >出版社: ' + bookDetail[s][4] + '</a></li>' +
                          //'<li style="border: none'+display+'"><a >年份: ' + bookDetail[s][5] + '</a></li>' +
           //               '</ul>';
                                                 
           //allBook += bookStatus;
           list.items[s] = new LibItem("SYSU");
           list.items[s].link = bookDetail[s][0];
           list.items[s].bookName = bookDetail[s][1];
           list.items[s].author = bookDetail[s][2];
           list.items[s].publisher = bookDetail[s][4];
           list.items[s].pubDate = bookDetail[s][5];

           //alert(list.items[s].bookName);
        }
        //alert(allBook);
        //allBook += '</div>' 
        messageCatcher(list,frameLocation);
        //判断URL
  
      ///////////////判断URL

      //} 
      ////////////插入框架结束//////////////
    }

    },
    //华南理工大学
    SCUT:{
      respond:function(){}
    },

    //南中国一般大学
    SCNU:{
      respond:function(){}
    },

    //广东工业大学
    GDUT:{
      respond:function(){}      
    },

    //外语外贸大学
    GDUFS:{
     respond:function(reDetails,frameLocation) {
              fullurl=reDetails.finalUrl;
              if (reDetails.status !== 200&&reDetails.status !== 304){
                var msg = new LibMeta("GDUFS");

                msg.state = "error";
                msg.errorMsg = "搜索连接错误";
                messageCatcher(msg,frameLocation);
                ///error_log = "搜索连接错误";
                ///error_output(error_log,fullurl);
                ///alert("全字段搜索连接错误");
                return;
              }

              /*if(reDetails.responseText.indexOf('indexpage')!=-1){
                  var msg = new LibMeta();
                  msg.state = "error";
                  msg.errorMsg = "全字段查无此书";
                  ///hasBook = false;
                  ///error_output(error_log,fullurl);
                  messageCatcher(msg,frameLocation);
                  return;
              }*/
                //var frame =document.createElement("div");
                //frame.innerHTML = reDetails.responseText;
                if(reDetails.responseText.indexOf('Search Results')!=-1){
                    //alert("跳转到搜索页");
                    //titleFilter.SYSU.filter(frame.innerHTML,fullurl);
                    titleFilter.GDUFS.filter(reDetails.responseText,fullurl,frameLocation);
                    return;
                }
                else if(reDetails.responseText.indexOf('记录数')!=-1||reDetails.responseText.indexOf('轮排')!=-1){
                    var msg = new LibMeta("GDUFS");
                    msg.state = "error";
                    msg.errorMsg = "搜索页面跳转到了款目/轮排列表页面,<br>此页面无法获取图书详细信息。";
                    ///error_log = "搜索页面跳转到了记录数页面,此页面无法获取图书详细信息。";
                    ///error_output(error_log,fullurl);
                    messageCatcher(msg,frameLocation);
                    return;
                }
                else{

                    //error_log = "搜索页面跳转到馆藏,<br>如果ISBN查询无结果,说明其跳转到了错误的图书。";
                    //error_output(error_log,fullurl);
                    
                     isbnFilter.GDUFS.filter(reDetails.responseText,frameLocation);
                     return;
                    //showisbn(frame.innerHTML,fullurl);
                  //return;
                  //alert("全字段跳转ISBN馆藏");//BUG处理,以后再说,基本检索
                  //
                }
      },

      filter:function (txt,urltext,frameLocation){

    str = txt;
    str = str.replace(/[ | ]*\n/g,''); //去除行尾空白
    str = str.replace(/\n[\s| | ]*\r/g,''); //去除多余空行
    str = str.replace(/amp;/g,""); //去除URL转码
    //alert(str);
    //if(urltext.indexOf("ISB")){alert(str)};
    atxt= str.match(/col2>.*?<\/table>/g);
    //alert(atxt.length);
    //if(urltext.indexOf("ISB")){alert(atxt.length)};
    ///////获取图书馆书本元信息//////
    var bookDetail = new Array();//元信息数组
    atxt.shift();//去除整块信息中的多余信息

    for(s=0;s<atxt.length;s++){
       // bookDetail[s] = atxt[s].match(/a[ ]href="(.*?)">(.*?)<\/a>.*?"top">(.*?)<\/td>.*?"top">(.*?)<\/td>.*?"top">(.*?)<\/td>.*?"top">(.*?)<\/td>.*?sub_library=(.*?)<\/table>/).slice(1);
        // 超链接/ 书名 /作者 / 索引号/出版社 /年份 /藏书信息(由于有些书无馆藏,暂时不获取)
        //if(!bookDetail[s]){ //如果没有馆藏信息
            //alert(atxt[s]);
          bookDetail[s] = atxt[s].match(/a href=(.*?)>(.*?)<\/a>.*?top>(.*?)<td.*?top>(.*?)<tr>.*?top>(.*?)<td.*?top>(.*?)<tr>/).slice(1);
          // 超链接/ 书名 /作者 / 索引号/出版社 /年份 /
    }

      ////////框架//////////////////////////////////

        //hasBook = true;

      //if(hasBook){

       //判断URL类型
       /*
       if(urltext.indexOf('ISB')!=-1){
        var allBook = '<div class="gray_ad" id="sysulib"><h2>中大ISBN检索</h2>' +
                       '<a href="'+ urltext +'" target="_blank">前往图书馆查看这本书</a>'; 
       }
       else{
        var allBook = '<div class="gray_ad" id="sysulib"><h2>中大图书馆检索</h2>' +
                       '<a href="'+ urltext +'" target="_blank">前往图书馆查看这本书</a>';         
       }
       //alert(allBook); */
        var display;
       
        var list = new LibMeta("GDUFS");////构造函数
        list.state="booklist";
        list.items= new Array();
        for(s=0;s<bookDetail.length;s++){
            if(s>4){
              display=" ;display : none";
            }
            else{
              display="";
            }

           //bookStatus =   '<ul class="ft pl more-after"> ' +
           // '<li style="border: none"><a href="'+bookDetail[s][0]+'"target="_blank">书名:' + bookDetail[s][1]+ '</a></li>' +
           //               '<li style="border: none'+display+'"><a >作者: ' + bookDetail[s][2] +'</a>' + 
           //               '<a style="position:relative; left:15px;">出版社:' + bookDetail[s][4] + '</a></li>' +
                          //'<li style="border: none'+display+'"><a >出版社: ' + bookDetail[s][4] + '</a></li>' +
                          //'<li style="border: none'+display+'"><a >年份: ' + bookDetail[s][5] + '</a></li>' +
           //               '</ul>';
                                                 
           //allBook += bookStatus;
           list.items[s] = new LibItem("GDUFS");
           list.items[s].link = bookDetail[s][0];
           list.items[s].bookName = bookDetail[s][1];
           list.items[s].author = bookDetail[s][2].replace(/<br>/,"").replace(/<br\/>/,"");
           list.items[s].publisher = bookDetail[s][4];
           list.items[s].pubDate = bookDetail[s][5];

           //alert(list.items[s].bookName);
        }
        //alert(allBook);
        //allBook += '</div>' 
        messageCatcher(list,frameLocation);
        //判断URL
  
      ///////////////判断URL

      //} 
      ////////////插入框架结束//////////////
    }

    },

    //广州中医药大学
    GZHTCM:{
      respond:function(){}
    },

    //广州大学
    GZHU:{
      respond:function(){}
    },

    //广州美术学院
    GZARTS:{
      respond:function(){}
    },


    //星海音乐学院
    XHCOM:{
      respond:function(){}
    },

    //广东药学院,由于编码问题和没提供ISBN检索,暂不支持//
}









//////////////////图书馆荐购页面Main//////////////////////////////////////

libMain = function(){
    
    if(GM_getValue('doubanTitle')){
      $('[name="Z13_TITLE"]').val(GM_getValue('doubanTitle','bookMeta.title'));
      $('[name="Z13_AUTHOR"]').val(GM_getValue('doubanAuthor','bookMeta.author'));
      $('[name="Z13_IMPRINT"]').val(GM_getValue('doubanPublisher','bookMeta.publisher'));
      $('[name="Z13_YEAR"]').val(GM_getValue('doubanPubdate','bookMeta.pubdate'));
      $('[name="Z13_ISBN_ISSN"]').val(GM_getValue('doubanIsbn','bookMeta.isbn'));
      $('[name="Z13_PRICE"]').val(GM_getValue('doubanPrice','bookMeta.price'));
      $('[name="Z68_NO_UNITS"]').val(2);
      $('[name="Z303_REC_KEY"]').val(helper.libraryId);
      $('[name="Z46_REQUEST_PAGES"]').val('豆瓣读书得分: '+ GM_getValue('doubanRating','bookMeta.rating'));
      GM_deleteValue('doubanTitle');
      GM_deleteValue('doubanAuthor');
      GM_deleteValue('doubanPublisher');
      GM_deleteValue('doubanPubdate');
      GM_deleteValue('doubanIsbn');
      GM_deleteValue('doubanPrice');
      GM_deleteValue('doubanRating');


  }
  
  //alert(GM_getValue('doubanTitle'));

}
///////////////////图书馆荐购页面结束//////////////////

///////////////////框架//////////////////
titleFrame=function(){
    var frame = document.createElement("div");

    frame.innerHTML=    /*'<ul class="tabmenu">'+
        '<li id="clickISBN"><a>'+schoolInfo[prefs.school].abbrName+'</a></li>'+
        '<li id="clickOtherISBN"><a>其他图书馆</a></li>'+
        '</ul>'+*/
        '<div id="libTitle" class="tab_content libBottom">'+'<h2>'+schoolInfo[prefs.school].abbrName+'图书馆全字段检索</h2>'+'</div>'+
        '<div id="otherTitle" class="tab_content libBottom" style="display:none"><p>本Tab为测试使用</div>';//+
        //'</div>';
    //frame.innerHTML='<h2>'+schoolInfo[prefs.school].abbrName+'图书馆ISBN检索</h2>';
    //frame.setAttribute("class","gray_ad");
    frame.setAttribute("class","tablist");
/*
    frame.innerHTML='<h2>'+schoolInfo[prefs.school].abbrName+'图书馆全字段检索</h2>';
    frame.setAttribute("class","gray_ad");
    frame.setAttribute("id","libTitle");
*/
    if(location.href.indexOf("ebook")!=-1){
        var aside=document.getElementsByTagName("aside")[0];
    }
    else{
        var aside=document.querySelector(".aside");        
    }

    aside.insertBefore(frame,aside.firstChild.nextSibling);
}
ISBNFrame=function(){


    function showOtherFrame(){

      document.getElementById("libISBN").style.display="none";
      document.getElementById("otherISBN").style.display="block";
      defineClass=this.getAttribute("data");
      this.setAttribute("class","blue");
      document.getElementById("clickISBN").setAttribute("class","");
      if(!defineClass){
        this.setAttribute("data","already");
        otherISBN();
      }



    }


    function showOriginFrame(){
      document.getElementById("libISBN").style.display="block";
      document.getElementById("otherISBN").style.display="none";
      this.setAttribute("class","blue");
      document.getElementById("clickOtherISBN").setAttribute("class","");
  }

    var frame = document.createElement("div");


    //'<div class="tablist">'+
    frame.innerHTML=    '<ul class="tabmenu">'+
        '<li id="clickISBN" class="blue"><a>'+schoolInfo[prefs.school].abbrName+'</a></li>'+
        '<li id="clickOtherISBN"><a>其他图书馆</a></li>'+
        '</ul>'+
        '<div id="libISBN" class="tab_content libTop">'+'<h2>'+schoolInfo[prefs.school].abbrName+'图书馆ISBN检索</h2>'+'</div>'+
        '<div id="otherISBN" class="tab_content libTop" style="display:none"><div id="mainOtherISBN"></div><div id="errorOtherISBN"></div></div>';//+
        //'</div>';
    //frame.innerHTML='<h2>'+schoolInfo[prefs.school].abbrName+'图书馆ISBN检索</h2>';
    //frame.setAttribute("class","gray_ad");
    frame.setAttribute("class","tablist");
    //frame.setAttribute("id","libISBN");
    if(location.href.indexOf("ebook")!=-1){
        var aside=document.getElementsByTagName("aside")[0];
    }
    else{
        var aside=document.querySelector(".aside");        
    }
    aside.insertBefore(frame,aside.firstChild);
    clickOther=document.getElementById("clickOtherISBN");
    clickOther.addEventListener("click",showOtherFrame,false);
    clickOther=document.getElementById("clickISBN");
    clickOther.addEventListener("click",showOriginFrame,false);


}


//////////////////////其它图书馆//////////////////////////////////

function otherISBN(){
    for(var key in schoolList){
      if(schoolList[key]!=prefs.school&&schoolList[key]!="XHCOM"){
        //alert(school);
        mineISBN(schoolList[key],"otherISBN");
      }
    }



} 
//////////////ISBN搜索xml获取//////////////////
mineISBN = function(school,frameLocation){

    if(frameLocation=="ISBN"){
          ISBNFrame();
    }
   
    if(bookMeta.isbn){
      var fullUrl="";
        switch(school){

          case "SCUT":
          case "SCNU":
          case "GZHU":
          case "GDUT":
          case "GZHTCM":
          case "GZARTS":
            fullUrl =schoolInfo[school].isbnSearchUrl.replace(/%s/,bookMeta.isbn10);
            //alert(fullurl);
            break;
          case "SYSU":
          case "GDUFS":

            if(bookMeta.isbn&&bookMeta.title.charCodeAt(0)<=122&&bookMeta.isbn[3]!=="7"){
             fullUrl=schoolInfo[school].isbnForeianSearchUrl.replace(/%s/,bookMeta.isbn);  
            }
            else{
              fullUrl=schoolInfo[school].isbnSearchUrl.replace(/%s/,bookMeta.isbn);        
            }
            break;
          default:
            break;
        }
        if(frameLocation=="ISBN"){
          //ISBNFrame();
          insertLoading(fullUrl);
        }
        frame = document.getElementById("libISBN");  //此处frame需要删除    
        //alert(fullUrl);

        GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,//异步获取
            //url : "http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=9787805985824",
            url : fullUrl,
            onload :function (reDetails){
         

              isbnFilter[school].respond(reDetails,frameLocation);
            }
        });
    
    }

    else{//无ISBN号的情况
        var msg = new LibMeta(school);
        msg.error=true;
        msg.state="error";
        msg.errorMsg = "无法获取ISBN号";

        messageCatcher(msg,frameLocation)

    }
}

function insertLoading(fullUrl){
        frame = document.getElementById("libISBN");
        frameLink = document.createElement("a");
        frameLink.setAttribute("target","_blank");
        frameLink.innerHTML="前往图书馆查看这本书";
        frameLink.setAttribute("href",fullUrl);
        frame.appendChild(frameLink);

        loadingFrame=document.createElement("div");
        loadingFrame.setAttribute("id","ISBNLoading");
        loadingFrame.innerHTML= '<li id="loadingSource"><a><img border="0" src="data:image/gif;base64,R0lGODlhCgAKAJEDAMzMzP9mZv8AAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAADACwAAAAACgAKAAACF5wncgaAGgJzJ647cWua4sOBFEd62VEAACH5BAUAAAMALAEAAAAIAAMAAAIKnBM2IoMDAFMQFAAh+QQFAAADACwAAAAABgAGAAACDJwHMBGofKIRItJYAAAh+QQFAAADACwAAAEAAwAIAAACChxgOBPBvpYQYxYAIfkEBQAAAwAsAAAEAAYABgAAAgoEhmPJHOGgEGwWACH5BAUAAAMALAEABwAIAAMAAAIKBIYjYhOhRHqpAAAh+QQFAAADACwEAAQABgAGAAACDJwncqi7EQYAA0p6CgAh+QQJAAADACwHAAEAAwAIAAACCpRmoxoxvQAYchQAOw=="> 努力加载中...</a></li>'

        frame.appendChild(loadingFrame);
}
/////////////////////////////////////////


//////////////书名搜索xml获取//////////////////
mineTitle = function(school){
    titleFrame();
        if(bookMeta.isbn&&bookMeta.title.charCodeAt(0)<=122&&bookMeta.isbn[3]!=="7"){
             var fullUrl=schoolInfo[school].anyForeianSearchUrl.replace(/%s/,bookMeta.title);
        }
        else{
             var fullUrl=schoolInfo[school].anySearchUrl.replace(/%s/,bookMeta.title);           
        }

        frame = document.getElementById("libTitle");
        loadingFrame=document.createElement("div");
        loadingFrame.setAttribute("id","titleLoading");
        loadingFrame.innerHTML= '<li id="loadingSource"><img border="0" src="data:image/gif;base64,R0lGODlhCgAKAJEDAMzMzP9mZv8AAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAADACwAAAAACgAKAAACF5wncgaAGgJzJ647cWua4sOBFEd62VEAACH5BAUAAAMALAEAAAAIAAMAAAIKnBM2IoMDAFMQFAAh+QQFAAADACwAAAAABgAGAAACDJwHMBGofKIRItJYAAAh+QQFAAADACwAAAEAAwAIAAACChxgOBPBvpYQYxYAIfkEBQAAAwAsAAAEAAYABgAAAgoEhmPJHOGgEGwWACH5BAUAAAMALAEABwAIAAMAAAIKBIYjYhOhRHqpAAAh+QQFAAADACwEAAQABgAGAAACDJwncqi7EQYAA0p6CgAh+QQJAAADACwHAAEAAwAIAAACCpRmoxoxvQAYchQAOw=="> 努力加载中...</li>'

              frameLink = document.createElement("a");
              frameLink.setAttribute("target","_blank");
              frameLink.innerHTML="前往图书馆查看这本书";
              frameLink.setAttribute("href",fullUrl);
              frame.appendChild(frameLink);
              frame.appendChild(loadingFrame);
                //alert(fullUrl);
        //alert(schoolInfo[school].isGBK);
        if(!schoolInfo[school].isGBK){
          GM_xmlhttpRequest({ //获取列表
            method : 'GET',
           synchronous : false,//异步获取
            //url : "http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=9787805985824",
            url : fullUrl,
            onload :function (reDetails){
              //var innerContent=document.createElement("div");
              
              titleFilter[school].respond(reDetails,"title");
            }
          });
        }
        else{
          GM_xmlhttpRequest({
            method: "POST",
            url: "http://yigewang.duapp.com/urlencode.php?m=ajax",
            data: "charset=GB2312&q="+bookMeta.title+"&type=encode",
            headers: {
              "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
              "Cookie": "BAEID=5F612DF6E06FBEA7ACF81CFD7974892C:FG=1"

            },
          onload: function(response) {
              //alert("text");
              if (response.status !== 200&&response.status !== 304){
                var msg = new LibMeta(school);
                msg.state="error";
                msg.errorMsg="无法获取远程GBK转码";
                messageCatcher(msg,frameLocation);
                return;
              }
                fullUrl=  schoolInfo[school].anySearchUrl.replace(/%s/,response.responseText);
                frameLink.setAttribute("href",fullUrl);
                //alert(fullUrl);
                GM_xmlhttpRequest({ //获取列表
                method : 'GET',
                synchronous : false,//异步获取
                //url : "http://202.116.64.108:8991/F/?func=find-b&find_code=ISB&request=9787805985824",
                url : fullUrl,
                onload :function (reDetails){
                  //var innerContent=document.createElement("div");
                  titleFilter[school].respond(reDetails,"title");
            }
          });
            }
        });

        }


}
/////////////////////////////////////////




///////////////ISBN插入框架//////////////////////////////
ISBNInsert=function(msg,frameLocation){
    var innerContent=document.createElement("div");
    innerContent.innerHTML= msg;
    switch(frameLocation){
        case "ISBN":
            loading =document.getElementById("ISBNLoading");
            loading.parentNode.removeChild(loading);
            frame = document.getElementById("libISBN");
            break;
        case "title":
            loading =document.getElementById("titleLoading");
            loading.parentNode.removeChild(loading);
            frame = document.getElementById("libTitle");
            break;
        case "otherISBN":
            frame = document.getElementById("mainOtherISBN");
            break;
        default:
            break;
    }
    
    frame.appendChild(innerContent);
}
///////////////Title插入框架//////////////////////////////
titleInsert=function(msg,frameLocation){

    var innerContent=document.createElement("div");
    innerContent.innerHTML= msg;
    switch(frameLocation){
        case "ISBN":
            loading =document.getElementById("ISBNLoading");
            loading.parentNode.removeChild(loading);
            frame = document.getElementById("libISBN");
            break;
        case "title":
            GM_addStyle("#libTitle { max-height: 350px;overflow: auto; }");
            loading =document.getElementById("titleLoading");
            loading.parentNode.removeChild(loading);
            frame = document.getElementById("libTitle");
            break;
        case "otherISBN":
            frame = document.getElementById("mainOtherISBN");
            break;
        default:
            break;
    }
    
    frame.appendChild(innerContent);
}

///////////////Title插入框架//////////////////////////////
errorInsert=function(msg,frameLocation,school){
    var innerContent=document.createElement("div");
    innerContent.innerHTML= msg;
    switch(frameLocation){
        case "ISBN":
            if(loading =document.getElementById("ISBNLoading")){
                loading.parentNode.removeChild(loading);
            }
            

            frame = document.getElementById("libISBN");
            break;
        case "title":
            loading =document.getElementById("titleLoading");
            loading.parentNode.removeChild(loading);
            frame = document.getElementById("libTitle");
            break;
        case "otherISBN":
            frame = document.getElementById("errorOtherISBN"); 
            if(!frame.textContent){
                frame.innerHTML+="以下院校查无此书: "
            }
            frame.innerHTML+=school+"&nbsp|&nbsp";           
        default:
            return;
    }
    
    frame.appendChild(innerContent);
}


//////////////豆瓣网页荐购获取/////////////////////////
recommendBook = function(frameLocation,school){
        var innerContent=document.createElement("div");
    
    switch(frameLocation){
        case "ISBN":
            loading =document.getElementById("ISBNLoading");
            loading.parentNode.removeChild(loading);
            frame = document.getElementById("libISBN");
            break;
        case "title":
            loading =document.getElementById("titleLoading");
            loading.parentNode.removeChild(loading);
            frame = document.getElementById("libTitle");
            break;
        case "otherISBN":
            frame = document.getElementById("errorOtherISBN"); 
            if(!frame.textContent){
                frame.innerHTML+="以下院校查无此书: "
            }
            frame.innerHTML+=schoolInfo[school].abbrName+" ";
            return;
        default:
            return;
    }
    
    
  function gotoRecommend(){
      //var bookMeta = helper.book.meta();
      //alert(bookMeta.bookIndex);

      GM_setValue('doubanTitle',bookMeta.title);
      GM_setValue('doubanAuthor',bookMeta.author);
      GM_setValue('doubanPublisher',bookMeta.publisher);
      GM_setValue('doubanPubdate',bookMeta.pubdate);
      GM_setValue('doubanIsbn',bookMeta.isbn||bookMeta.bookIndex);
      GM_setValue('doubanPrice',bookMeta.price);
      GM_setValue('doubanRating',bookMeta.rating);
      GM_openInTab(schoolInfo[prefs.school].recommendUrl);

  };

  var style = ('style="' +
                         'display: inline-block; ' +
                         'background: #33A057; ' +
                         'border: 1px solid #2F7B4B; ' +
                         'color: white; ' +
                         'padding: 1px 10px; ' +
                         'border-radius: 3px; ' +
                         'margin-right: 8px;" '
  );


  statBtn = ('<a href="#recform" id="recbtn" rel="modal:open"' + 
      style + '>荐购</a>' );

  var allBook = '<ul><li>ISBN查询无此书'+statBtn+'</li></ul>';
   
  innerContent.innerHTML= allBook;
  frame.appendChild(innerContent);

  button=document.getElementById("recbtn");
  if(button){
    button.addEventListener("click",gotoRecommend,false);    
  }


  
}

///////获取回调数据//////////////
messageCatcher=function(msg,frameLocation){
  switch(msg.state){
    case "store":
        var allBook="";
        var otherAbbr="";
        if(frameLocation.indexOf("other")!=-1){
          otherAbbr="院校:"+schoolInfo[msg.items[0].school].abbrName+" ";
        }
        for(s=0;s<msg.items.length;s++){       
           bookStatus =   '<ul class="ft pl more-after"> ' +
                          '<li style="border: none"><a href="'+msg.items[s].link+'" target="_blank">'+otherAbbr+'单册状态:' + msg.items[s].storeState+
                          '<span style="position:relative; ">  应还日期: ' + msg.items[s].returnTime +'</span></a></li>' + 
                          //'<li style="border: none">到期: ' + loan[s][3] + '</li>' +
                          '<li style="border: none">分馆: ' + msg.items[s].branch + '</li>' +
                          '</ul>';                        
           allBook += bookStatus;

           //alert(allBook);      
        }
        //alert(allBook);
        ISBNInsert(allBook,frameLocation);
        break;
    case "booklist":
        var display;
        var allBook = "";
        var otherAbbr="";
        if(frameLocation.indexOf("other")!=-1){
          otherAbbr="院校:"+schoolInfo[msg.items[0].school].abbrName+" ";
        }
        for(s=0;s<msg.items.length;s++){
            if(s>4){
              display=" ;display : none";
            }
            else{
              display="";
            }

           bookStatus =   '<ul class="ft pl more-after"> ' +
            '<li style="border: none"><a href="'+msg.items[s].link+'"target="_blank">'+otherAbbr+'书名:' + msg.items[s].bookName+ '</a></li>' +
                          '<li style="border: none'+display+'"><a >作者: ' + msg.items[s].author +'</a>' + 
                          '<a style="position:relative; left:0;">出版社:' + msg.items[s].publisher + '</a></li>' +
                          //'<li style="border: none'+display+'"><a >出版社: ' + bookDetail[s][4] + '</a></li>' +
                          //'<li style="border: none'+display+'"><a >年份: ' + bookDetail[s][5] + '</a></li>' +
                          '</ul>';
                                                 
           allBook += bookStatus;
        }
        //return allBook;
        titleInsert(allBook,frameLocation);
        break;
    case "recommend":
      //alert("recommend");
      recommendBook(frameLocation,msg.school);
      break;
    case "error":
        var bookStatus = '<ul class="ft pl more-after"> ' +
                     '<li style="border: none">' + msg.errorMsg+'</li>' +
                     '</ul>';
        //return bookStatus;
        //alert(msg.errorMsg);
        //alert(frameLocation);
        errorInsert(bookStatus,frameLocation,schoolInfo[msg.school].abbrName);
        break;
    default:
      alert("defalut");
      break;
  }

}
/////////////////////////////////




//////////////////图书馆荐购页面Main//////////////////////////////////////

libMain = function(){
    
    if(GM_getValue('doubanTitle')){
      $('[name="Z13_TITLE"]').val(GM_getValue('doubanTitle','bookMeta.title'));
      $('[name="Z13_AUTHOR"]').val(GM_getValue('doubanAuthor','bookMeta.author'));
      $('[name="Z13_IMPRINT"]').val(GM_getValue('doubanPublisher','bookMeta.publisher'));
      $('[name="Z13_YEAR"]').val(GM_getValue('doubanPubdate','bookMeta.pubdate'));
      $('[name="Z13_ISBN_ISSN"]').val(GM_getValue('doubanIsbn','bookMeta.isbn'));
      $('[name="Z13_PRICE"]').val(GM_getValue('doubanPrice','bookMeta.price'));
      $('[name="Z68_NO_UNITS"]').val(2);
      $('[name="Z303_REC_KEY"]').val(helper.libraryId);
      $('[name="Z46_REQUEST_PAGES"]').val('豆瓣读书得分: '+ GM_getValue('doubanRating','bookMeta.rating'));
      GM_deleteValue('doubanTitle');
      GM_deleteValue('doubanAuthor');
      GM_deleteValue('doubanPublisher');
      GM_deleteValue('doubanPubdate');
      GM_deleteValue('doubanIsbn');
      GM_deleteValue('doubanPrice');
      GM_deleteValue('doubanRating');


  }
  
  //alert(GM_getValue('doubanTitle'));

}
///////////////////图书馆荐购页面结束//////////////////


function popSetting(){
    var settingDiv = document.createElement("div");
    settingDiv.setAttribute("id","libSetting");
    document.getElementsByTagName("body")[0].appendChild(settingDiv);

    var h3 = document.createElement("h2");
    h3.innerHTML = "图书馆检索设置"
    document.getElementById("libSetting").appendChild(h3);
}

    GM_addStyle("#libSetting {background: linear-gradient(rgb(204, 204, 204), rgb(170, 170, 170)) repeat scroll 0 0 rgba(0, 0, 0, 0);border: 1px solid #aaa;box-shadow: 0 0 8px 2px #777;height: auto;left: calc(50% - 300px);min-height: 250px;padding: 0 20px 65px;position: fixed;top: 25%;width: 600px;z-index: 1000002;}");


GM_registerMenuCommand("图书馆检索设置", popSetting);
//////////////主函数//////////////////////////

if(location.href.indexOf('book')!=-1){

  GM_addStyle(".tablist {position:relative;}"+
".tab_content {position: relative;width:295px;margin-bottom:5px;max-height: 350px;overflow: auto;padding:15px 5px 15px 5px;border:1px solid #91a7b4;border-radius:3px;box-shadow:0 2px 3px rgba(0,0,0,0.1);font-size:1.2em;line-height:1.5em;color:#666;background:#F0F6FD;}"+
".tabmenu {position:absolute;bottom:100%;margin:0;}"+
  ".tabmenu li{display:inline-block;}"+
  ".tabmenu li a {display:block;padding:5px 10px;margin:0 10px 0 0;border:1px solid #91a7b4;border-radius:5px 5px 0 0;background:#e3f1f8;color:#333;text-decoration:none;}#libISBN div ul,#libTitle div ul,#otherISBN div ul,#otherTitle div ul{border-bottom: 1px dashed #ddd;}#errorOtherISBN{font-size:10px}.blue a{background:#37A !important;color:white !important;}.tab_content h2{color:#007722; font:15px/150% Arial,Helvetica,sans-serif;margin: 0 0 12px;}"+
".libTop{margin-top:30px;}");
  mineISBN(prefs.school,"ISBN");
  mineTitle(prefs.school);
}



if(location.href.indexOf('recommend_nobor')!=-1){
  libMain();//执行图书馆荐购页面主Func.
}