var BookListData = function() {
   /*書籍清單資料類別*/
   this.strBkCode; /*報紙編號或雜誌ISSN碼*/
   this.strTitle; /*報紙名稱*/
   this.intYear; /*出版年份*/
   this.intMonth; /*出版月份*/
   this.arrBkSid = []; /*書籍流水號陣列*/
   this.arrDay = []; /*出版日陣列*/
   this.arrPhase = []; /*期別陣列*/
   this.intCount = 0; /*書籍數量*/
};
var BookCalendar = function() {
   /*書籍萬年曆BookCalendar類別 建構式*/
   this.now = new Date(); /*目前日期*/
   this.intCurYear = 1900; /*目前書籍出版年*/
   this.intCurMonth = 1; /*目前書籍出版月*/
   this.intCurDay = 1; /*目前書籍出版日*/
   this.objBookData = null; /*書籍清單資料*/
   this.intDays; /*顯示月份的日數*/
   this.strTargetId = "bookCalendarDiv";
};
BookCalendar.prototype.getDays = function(_intYear, _intMonth) {
   /*getDays方法，取得指定年月的日數，參數：intYear[年份]，intMonth[月份]*/
   if (_intMonth == 2) {
      if ((_intYear % 4) == 0) {
         return 29;
      } /*四年一閏月*/else {
         return 28;
      }
   } else {
      if (_intMonth < 8) {
         if ((_intMonth % 2) == 0) {
            return 30;
         } else {
            return 31;
         }
      } else {
         if ((_intMonth % 2) == 0) {
            return 31;
         } else {
            return 30;
         }
      }
   }
};
BookCalendar.prototype.create = function(_objBookList, _booHasClose) {
   /*create方法，產生書籍萬年曆HTML語法並寫入指定容器，參數：_objBookList[書籍清單物件]，_objElement[目標容器]，_booHasClose[是否有關閉按鈕]*/
   var _objTarget = $(this.strTargetId);
   if (_objTarget == null) {
      alert("target element is null。");
      return;
   }
   var i, j, _intIndex, _intRows = 5, _intCount = 1;
   var _strHtml, _strDisabled, _strClassName, _strItem, _strId;
   var _objDate = new Date(_objBookList.intYear, _objBookList.intMonth - 1, 1); /*顯示月份的第一天*/
   var _intFirstDay = _objDate.getDay() + 1;
   this.intDays = this.getDays(_objBookList.intYear, _objBookList.intMonth);
   this.objBookData = _objBookList;
   _strHtml = '';
   _strHtml = '<table width="252" border="0" cellpadding="0" cellspacing="1" class="calendar_body" >\n';
   _strHtml += '	<tr><td colspan="7" class="calendar_title">\n';
   _strHtml += '		<table width="100%" border="0" cellpadding="0" cellspacing="0">';
   _strHtml += '			<tr>\n';
   _strHtml += '				<td height="26" >' + _objBookList.strTitle + '<span class="txt05">(Past newspaper)</span></td>\n';
   _strHtml += '				<td width="34" align="right"><a href="javascript:;" onClick="ShowBookCalendar()"  style="display:' + (_booHasClose ? 'inline' : 'none') + '" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'closeCalendarImg\',\'\',\'/images/annotation/voice_close01a.gif\',1)"><img src="/images/annotation/voice_close01.gif" alt="Close" id="closeCalendarImg" name="closeCalendarImg" width="12" height="12" border="0"></a>&nbsp;</td>\n';
   _strHtml += '			</tr>\n';
   _strHtml += '		</table>\n';
   _strHtml += '	</td></tr>\n';
   _strHtml += '	<tr>\n';
   _strDisabled = ((this.now.getTime() - _objDate.getTime()) >= 31536000000) ? "disabled" : ""; /*判斷顯示月份與目前日期是否差距一年*/
   _strHtml += '		<td width="36" height="26" align="center" class="calendar_title"><input name="prevMonthBtn" type="button" class="calender_btn" id="bookCalendarPrevMonthBtn" value="＜" title="Previous month" ' + _strDisabled + '></td>\n';
   _strHtml += '		<td colspan="5" align="center" class="calendar_title">' + _objBookList.intYear.toString() + ' year ' + _objBookList.intMonth.toString() + ' month</td>\n';
   _strDisabled = ((_objBookList.intYear == this.now.getFullYear()) && (_objBookList.intMonth == (this.now.getMonth() + 1))) ? "disabled" : ""; /*判斷顯示月份是否為當月份*/
   _strHtml += '		<td width="36" align="center" class="calendar_title"><input name="nextMonthBtn" type="button" class="calender_btn" id="bookCalendarNextMonthBtn" value="＞" title="Next month" ' + _strDisabled + '></td>\n';
   _strHtml += '	</tr>\n';
   _strHtml += '	<tr align="center" bgcolor="#6699FF">\n';
   _strHtml += '		<td width="36" height="26" class="calendar_header01" >Sunday</td>\n';
   _strHtml += '		<td width="36" class="calendar_header02" >Monday一</td>\n';
   _strHtml += '		<td width="36" class="calendar_header02" >Tuesday</td>\n';
   _strHtml += '		<td width="36" class="calendar_header02" >Wednesday</td>\n';
   _strHtml += '		<td width="36" class="calendar_header02" >Thursday</td>\n';
   _strHtml += '		<td width="36" class="calendar_header02" >Friday</td>\n';
   _strHtml += '		<td width="36" class="calendar_header01" >Saturday</td>\n';
   _strHtml += '	</tr>\n';
   if (((this.intDays == 31) && (_intFirstDay >= 6)) || ((this.intDays == 30) && (_intFirstDay == 7))) {
      _intRows = 6;
   } else if ((this.intDays == 28) && (_intFirstDay == 1)) {
      _intRows = 4;
   }
   for (i = 0; i < _intRows; i++) {
      _strHtml += '	<tr align="center" bgcolor="#DDEAEA">\n';
      for (j = 1; j <= 7; j++) {
         if ((this.intCurYear == _objBookList.intYear) && (this.intCurMonth == _objBookList.intMonth) && (this.intCurDay == _intCount)) {
            _strClassName = "calendar_item_focus";
         } else if ((j == 1) || (j == 7)) {
            _strClassName = "calendar_item01";
         } else {
            _strClassName = "calendar_item02";
         }
         if (((i * 7 + j) >= _intFirstDay) && (_intCount <= this.intDays)) {
            _intIndex = this.findBook(_intCount);
            if (_intIndex != -1) {
               _strId = 'calendar_item_' + _intCount.toString();
               _strItem = '<a href="#" onClick=\'goBook("' + _objBookList.arrBkSid[_intIndex] + '");\' id="' + _strId + '_a" class="' + _strClassName + '">' + _intCount.toString() + '</a>';
               _strHtml += '		<td width="36" height="26" valign="middle" class="' + _strClassName + '" id="' + _strId + '">' + _strItem + '</td>\n';
            } else {
               _strItem = _intCount.toString();
               _strClassName += " calendar_none";
               _strHtml += '		<td width="36" height="26" valign="middle" class="' + _strClassName + '">' + _strItem + '</td>\n';
            }
            _intCount++;
         } else {
            _strHtml += '		<td width="36" height="26" valign="middle" class="calendar_none" >&nbsp;</td>\n';
         }
      }
      _strHtml += '	</tr>\n';
   }
   _strHtml += '</table>';
   _objTarget.innerHTML = _strHtml;
   this.setEventHandler();
};
BookCalendar.prototype.findBook = function(_intDay) {
   /*檢查指定日期是否有出版的書籍*/
   for (i = 0; i < this.objBookData.intCount; i++) {
      if (_intDay == this.objBookData.arrDay[i]) {
         return i;
      }
   }
   return -1;
};
BookCalendar.prototype.setEventHandler = function() {
   /*setEventHandler方法，建立書籍萬年曆相關事件*/
   var _objItem, _objPrevMonthBtn, _objNextMonthBtn;
   _objPrevMonthBtn = $("bookCalendarPrevMonthBtn");
   _objNextMonthBtn = $("bookCalendarNextMonthBtn");
   if (_objPrevMonthBtn != null && _objNextMonthBtn != null) {
      if (_objPrevMonthBtn.addEventListener) {
         _objPrevMonthBtn.addEventListener("click", bookCalendarPrevMonthBtn_OnClick, false);
         _objNextMonthBtn.addEventListener("click", bookCalendarNextMonthBtn_OnClick, false);
      } else if (_objPrevMonthBtn.attachEvent) {
         _objPrevMonthBtn.attachEvent("onclick", bookCalendarPrevMonthBtn_OnClick);
         _objNextMonthBtn.attachEvent("onclick", bookCalendarNextMonthBtn_OnClick);
      } else {
         _objPrevMonthBtn.onclick = bookCalendarPrevMonthBtn_OnClick;
         _objNextMonthBtn.onclick = bookCalendarNextMonthBtn_OnClick;
      }
   }
   for (var i = 0; i < this.objBookData.intCount; i++) {
      _objItem = $("calendar_item_" + this.objBookData.arrDay[i].toString());
      if (_objItem) {
         if (_objItem.addEventListener) {
            _objItem.addEventListener("mouseover", bookCalendarItem_OnMouseOver, false);
            _objItem.addEventListener("mouseout", bookCalendarItem_OnMouseOut, false);
         } else if (_objItem.attachEvent) {
            _objItem.attachEvent("onmouseover", bookCalendarItem_OnMouseOver);
            _objItem.attachEvent("onmouseout", bookCalendarItem_OnMouseOut);
         } else {
            _objItem.onmouseover = bookCalendarItem_OnMouseOver;
            _objItem.onmouseout = bookCalendarItem_OnMouseOut;
         }
      }
   }
};

var PeriodicalDataClass = function() {
   this.strBkCode = "";
   this.strTitle = "";
   this.arrBkSid = null;
   this.arrPhase = null;
   this.arrDate = null;
   this.arrCount = 0;
};

var PeriodicalClass = function() {
   this.strBkSid; /*目前書籍編號*/
   this.objBookData = null; /*期刊清單資料*/
   this.strTargetId = "bookPeriodicalDiv";
};

PeriodicalClass.prototype.create = function(_objBookList, _booHasClose, _strBkSid) {
   var _objTarget = $(this.strTargetId);
   if (_objTarget == null) {
      alert("target element is null。");
      return;
   }
   var _strHtml = "", _strId, i, _strClassName;
   this.objBookData = _objBookList;
   this.strBkSid = _strBkSid;

   _strHtml += '<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td align="center">';
   _strHtml += '<table border="0" cellspacing="0" cellpadding="0">';
   _strHtml += '<tr><td colspan="3">';
   _strHtml += '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
   _strHtml += '<tr><td style="background-image: url(/img/pw/pwlt.png); width: 127px;">';
   _strHtml += '</td><td style="background-image: url(/img/pw/pwt.png); height: 30px;" height="30" nowrap="nowrap" align="center">';
   _strHtml += '<div align="center" class="read02">';

   // Title
   _strHtml += _objBookList.strTitle;
   _strHtml += '<span class="txt06"> (1 year)</span></div></td><td style="background-image: url(/img/pw/pwrt.png); width: 127px;" align="right">';
   // Close Button
   _strHtml += '<a href="javascript:;" onclick="ShowBookPeriodical();"><img src="/img/pw/x_green.png" class="xButton"';
   _strHtml += ' onmouseover="this.src=\'/img/pw/x_orange.png\'" onmouseout="this.src=\'/img/pw/x_green.png\'" alt="Close" border="0" /></a>';
   _strHtml += '</td></tr></table></td></tr><tr>';
   _strHtml += '<td style="width: 5px; background-image: url(/img/pw/pwside.png); background-position: left bottom; background-repeat: no-repeat;background-color: White;">';
   _strHtml += '&nbsp;</td><td style="background-image: url(/img/pw/pwcenter.png); background-position: bottom; background-repeat: repeat-x; background-color: #EFEFF0;">';

   // Content - Start
   _strHtml += '<table border="0" cellpadding="0" cellspacing="0" class="calendar_body">';
   _strHtml += '<tr>';
   _strHtml += '<td width="200" nowrap height="26" align="center" class="history_head">Issue</td>';
   _strHtml += '<td width="150" nowrap align="center" class="history_head">Publish Date</td>';
   _strHtml += '</tr>';
   if ((_objBookList == null) || (_objBookList.intCount == 0)) {
      _strHtml += '<tr bgcolor=" #E8EEEE">';
      _strHtml += '<td nowrap align="center" class="history_list" colspan="2">~No data found~</td>';
      _strHtml += '</tr>';
   } else {
      for (i = 0; i < _objBookList.intCount; i++) {
         if (_objBookList.arrBkSid[i] == _strBkSid) {
            _strClassName = "history_focus";
         } else {
            _strClassName = "history_normal";
         }

         _strId = "pariodical_item_" + i.toString();
         _strHtml += '<tr id="' + _strId + '" class="' + _strClassName + '" onClick="goBook(\'' + _objBookList.arrBkSid[i] + '\');">';
         _strHtml += '<td nowrap class="history_list" align="center" id="' + _strId + '_a"><a href="#" style="width:100%" onClick=\'goBook("' + _objBookList.arrBkSid[i] + '");\'>' + _objBookList.arrPhase[i].toString() + '</a></td>';
         _strHtml += '<td nowrap class="history_list" align="center" id="' + _strId + '_b"><a href="#" style="width:100%" onClick=\'goBook("' + _objBookList.arrBkSid[i] + '");\'>' + _objBookList.arrDate[i] + '</a></td>';
         _strHtml += '</tr>';
      }
   }
   _strHtml += '</table>';
   // Content - End
   _strHtml += '</td>';
   _strHtml += '<td style="width: 5px; background-image: url(/img/pw/pwside.png); background-position: right bottom; background-repeat: no-repeat;background-color: White">';
   _strHtml += '&nbsp;</td></tr><tr>';
   _strHtml += '<td style="background-image: url(/img/pw/pwlb.png); background-position: left bottom; background-repeat: no-repeat;"></td>';
   _strHtml += '<td style="background-image: url(/img/pw/pwb.png); height: 13px;" height="30" width="100" nowrap="nowrap"></td>';
   _strHtml += '<td style="background-image: url(/img/pw/pwrb.png); background-position: right bottom; background-repeat: no-repeat;"></td>';
   _strHtml += '</tr></table>';

   _strHtml += '</td></tr></table>';

   _objTarget.innerHTML = _strHtml;
   //setPosition(_objTarget, NaN, 120);
   //this.setEventHandler();
};

PeriodicalClass.prototype.setEventHandler = function() {
   if (this.objBookData != null) {
      for (var i = 0; i < this.objBookData.intCount; i++) {
         _objItem = $("pariodical_item_" + i.toString());
         if (_objItem) {
            if (_objItem.addEventListener) {
               _objItem.addEventListener("mouseover", bookPeriodicalItem_OnMouseOver, false);
               _objItem.addEventListener("mouseout", bookPeriodicalItem_OnMouseOut, false);
            } else if (_objItem.attachEvent) {
               _objItem.attachEvent("onmouseover", bookPeriodicalItem_OnMouseOver);
               _objItem.attachEvent("onmouseout", bookPeriodicalItem_OnMouseOut);
            } else {
               _objItem.onmouseover = bookPeriodicalItem_OnMouseOver;
               _objItem.onmouseout = bookPeriodicalItem_OnMouseOut;
            }
         }
      }
   }
};

var goBook = function(_strBkSid) {
   location.href = "annotation.aspx?bksid=" + _strBkSid + "&pgcode=0&ancode=0";
};

var bookCalendarPrevMonthBtn_OnClick = function(e) {
   var _objBookData = objBookCalendar.objBookData;
   _objBookData.intMonth -= 1;
   if (_objBookData.intMonth < 1) {
      _objBookData.intYear -= 1;
      _objBookData.intMonth = 12;
   }
   GetBookListData(_objBookData.strBkCode, _objBookData.intYear, _objBookData.intMonth);
};
var bookCalendarNextMonthBtn_OnClick = function(e) {
   var _objBookData = objBookCalendar.objBookData;
   _objBookData.intMonth += 1;
   if (_objBookData.intMonth > 12) {
      _objBookData.intYear += 1;
      _objBookData.intMonth = 1;
   }
   GetBookListData(_objBookData.strBkCode, _objBookData.intYear, _objBookData.intMonth);
};
var bookCalendarItem_OnMouseOver = function(e) {
   var _objItem, _objItemA, _intDay, _objDate, _intType;
   if (typeof (event) == "undefined") {
      _objItem = e.target;
   } else {
      _objItem = event.srcElement;
   }
   _objItemA = $(_objItem.id + "_a");
   _intDay = parseInt(_objItem.id.split("_")[2], 10);
   _objDate = new Date(objBookCalendar.objBookData.intYear, objBookCalendar.objBookData.intMonth - 1, _intDay);
   _intType = ((_objDate.getDay() == 0) || (_objDate.getDay() == 6)) ? 1 : 2;
   if ((objBookCalendar.intCurDay == _intDay) && (objBookCalendar.intCurMonth == objBookCalendar.objBookData.intMonth) && (objBookCalendar.intCurYear == objBookCalendar.objBookData.intYear)) {
      _objItem.className = "calendar_item_focus";
      if (_objItemA) {
         _objItemA.className = "calendar_item_focus";
      }
   } else {
      _objItem.className = (_intType == 1) ? "calendar_item01_over" : "calendar_item02_over";
      if (_objItemA) {
         _objItemA.className = (_intType == 1) ? "calendar_item01_over" : "calendar_item02_over";
      }
   }
};
var bookCalendarItem_OnMouseOut = function(e) {
   var _objItem, _objItemA, _intDay, _objDate, _intType;
   if (typeof (event) == "undefined") {
      _objItem = e.target;
   } else {
      _objItem = event.srcElement;
   }
   _objItemA = $(_objItem.id + "_a");
   _intDay = parseInt(_objItem.id.split("_")[2], 10);
   _objDate = new Date(objBookCalendar.objBookData.intYear, objBookCalendar.objBookData.intMonth - 1, _intDay);
   _intType = ((_objDate.getDay() == 0) || (_objDate.getDay() == 6)) ? 1 : 2;
   if ((objBookCalendar.intCurDay == _intDay) && (objBookCalendar.intCurMonth == objBookCalendar.objBookData.intMonth) && (objBookCalendar.intCurYear == objBookCalendar.objBookData.intYear)) {
      _objItem.className = "calendar_item_focus";
      if (_objItemA) {
         _objItemA.className = "calendar_item_focus";
      }
   } else {
      _objItem.className = (_intType == 1) ? "calendar_item01" : "calendar_item02";
      if (_objItemA) {
         _objItemA.className = (_intType == 1) ? "calendar_item01" : "calendar_item02";
      }
   }
};

var ShowBookCalendar = function() {
   var _objDiv = $(objBookCalendar.strTargetId);
   if (_objDiv) {
      if (_objDiv.style.visibility == "hidden") {
         if (typeof (objAnnoViewer.ShowHideLinkIframe) == "function") {
            objAnnoViewer.ShowHideLinkIframe(0);
         }
         if (objBookCalendar.objBookData == null) {
            InitBookCalendar();
         }
         SetElementStyle("maskDiv", "visibility", "visible");
         _objDiv.style.visibility = "visible";
      } else {
         SetElementStyle("maskDiv", "visibility", "hidden");
         _objDiv.style.visibility = "hidden";
         if (typeof (objAnnoViewer.ShowHideLinkIframe) == "function") {
            objAnnoViewer.ShowHideLinkIframe(1);
         }
      }
   }
};

var ShowBookCalendar2 = function() {
   var _objDiv = $(objBookCalendar.strTargetId);
   if (_objDiv) {
      if (objBookCalendar.objBookData == null) {
         InitBookCalendar();
      }
   }
};

var bookPeriodicalItem_OnMouseOver = function(e) {
   var _objItem, _objItemA, _objItemB, _intId;
   if (typeof (event) == "undefined") {
      _objItem = e.target;
   } else {
      _objItem = event.srcElement;
   }
   _objItemA = $(_objItem.id + "_a");
   _objItemB = $(_objItem.id + "_b");
   _intId = parseInt(_objItem.id.split("_")[2], 10);
   if (objPeriodical.strBkSid == objPeriodical.objBookData.arrBkSid[_intId]) {
      _objItem.className = "history_focus";
   } else {
      _objItem.className = "history_focus";
   }
};

var bookPeriodicalItem_OnMouseOut = function(e) {
   var _objItem, _objItemA, _objItemB, _intId;
   if (typeof (event) == "undefined") {
      _objItem = e.target;
   } else {
      _objItem = event.srcElement;
   }
   _objItemA = $(_objItem.id + "_a");
   _objItemB = $(_objItem.id + "_b");
   _intId = parseInt(_objItem.id.split("_")[2], 10);
   if (objPeriodical.strBkSid == objPeriodical.objBookData.arrBkSid[_intId]) {
      _objItem.className = "history_focus";
   } else {
      _objItem.className = "history_normal";
   }
};

var ShowBookPeriodical = function() {
   var _objDiv = $(objPeriodical.strTargetId);
   if (_objDiv) {
      if (_objDiv.style.visibility == "hidden") {
         if (typeof (objAnnoViewer.ShowHideLinkIframe) == "function") {
            objAnnoViewer.ShowHideLinkIframe(0);
         }
         if (typeof (objAnnoViewer.ShowHideMask) == "function") {
            objAnnoViewer.ShowHideMask(1);
         }
         if (objPeriodical.objBookData == null) {
            InitPeriodical();
         }
         SetElementStyle("maskDiv", "visibility", "visible");
         _objDiv.style.visibility = "visible";
      } else {
         SetElementStyle("maskDiv", "visibility", "hidden");
         _objDiv.style.visibility = "hidden";
         if (typeof (objAnnoViewer.ShowHideLinkIframe) == "function") {
            objAnnoViewer.ShowHideLinkIframe(1);
         }
         if (typeof (objAnnoViewer.ShowHideMask) == "function") {
            objAnnoViewer.ShowHideMask(0);
         }
      }
   }
};

var ShowBookPeriodical2 = function() {
   var _objDiv = $(objPeriodical.strTargetId);
   if (_objDiv) {
      if (objPeriodical.objBookData == null) {
         InitPeriodical();
      }
   }
};

function GetBookListData(_strBkCode, _intYear, _intMonth) {
   if (!objAnnoViewer.booIsReady) {
      if (typeof (objAnnoViewer.ShowBeWaitDiv) == "function") {
         objAnnoViewer.ShowBeWaitDiv();
      } else {
      alert("Data download is not yet complete, please try later.");
      }
      return;
   }
   var _objDiv = $(objBookCalendar.strTargetId);
   if (_objDiv) {
      var _strHtml = '<table width="252" border="0" cellpadding="0" cellspacing="1" class="calendar_body" >\n';
      _strHtml += '	<tr><td colspan="7">\n';
      _strHtml += '		<table width="100%" border="0" cellpadding="0" cellspacing="0">';
      _strHtml += '			<tr class="calendar_title">\n';
      _strHtml += '				<td height="26" class="calendar_title"> ~ Loading data ~ </td>\n';
      _strHtml += '				<td width="34" align="center" class="calendar_title"><input type="button" class="calender_btn" value="X" title="Close" onclick="ShowBookCalendar()" style="display:' + (booBookCalendarHasClose ? 'inline' : 'none') + '"></td>\n';
      _strHtml += '			</tr>\n';
      _strHtml += '		</table>\n';
      _strHtml += '	</td></tr>\n';
      _strHtml += '	<tr>\n';
      _strHtml += '</table>';
      _objDiv.innerHTML = _strHtml;
   }
   if (typeof (objAnnoViewer.SetAnnoListDivBtn) == "function") {
      objAnnoViewer.SetAnnoListDivBtn(0);
   }
   objAnnoViewer.booIsReady = false;
   WS_Annotation.WM_GetBookCalendarData(_strBkCode, _intYear, _intMonth, objAnnoViewer.strPgSid, OnSuccess2, OnError, "BookCalendarData");
};

function GetPeriodicalData(_strBkCode, _intType) {
   if (!objAnnoViewer.booIsReady) {
      if (typeof (objAnnoViewer.ShowBeWaitDiv) == "function") {
         objAnnoViewer.ShowBeWaitDiv();
      } else {
      alert("Data download is not yet complete, please try later.");
      }
      return;
   }
   var _objDiv = $(objPeriodical.strTargetId);
   if (_objDiv) {
      var _strHtml = '<table width="250"  border="0" cellpadding="0" cellspacing="1" class="calendar_body">';
      _strHtml += '	<tr>';
      _strHtml += '	  <td colspan="2"><table width="100%"  border="0" cellspacing="0" cellpadding="0">';
      _strHtml += '	    <tr  class="history_title">';
      _strHtml += '	      <td height="26"  class="history_title"> ~ Loading data ~ </td>';
      _strHtml += '	      <td width="34" align="center"  class="history_title"><input name="Submit" type="button" class="calender_btn" value="X" title="Close" onClick="ShowBookPeriodical()"></td>';
      _strHtml += '	    </tr>';
      _strHtml += '	  </table></td>';
      _strHtml += '	</tr></table>';
      _objDiv.innerHTML = _strHtml;
   }
   if (typeof (objAnnoViewer.SetAnnoListDivBtn) == "function") {
      objAnnoViewer.SetAnnoListDivBtn(0);
   }
   objAnnoViewer.booIsReady = false;
   WS_Annotation.WM_GetPeriodicalListData(_strBkCode, _intType, objAnnoViewer.strPgSid, OnSuccess2, OnError, "BookPeriodicalData");
};

var objBookCalendar = new BookCalendar();
var objBookListData = null;
var objPeriodical = new PeriodicalClass();
var objPeriodicalData = null;
var booBookCalendarHasClose = true;
var InitBookCalendar = function() {
   var _intYear, _intMonth, _intDay, _objDate;
   _intYear = parseInt(objAnnoViewer.objBookData.strBkCode.substr(4, 4), 10);
   _intMonth = parseInt(objAnnoViewer.objBookData.strBkCode.substr(8, 2), 10);
   _intDay = parseInt(objAnnoViewer.objBookData.strBkCode.substr(10, 2), 10);
   _objDate = new Date(_intYear, _intMonth - 1, _intDay);
   objBookCalendar.intCurYear = _objDate.getFullYear();
   objBookCalendar.intCurMonth = _objDate.getMonth() + 1;
   objBookCalendar.intCurDay = _objDate.getDate();
   objBookListData = new BookListData();
   objBookListData.strBkCode = objAnnoViewer.objBookData.strBkCode.substr(0, 4);
   if (typeof (objAnnoViewer.objBookData.strTitle) != "undefined") {
      objBookListData.strTitle = objAnnoViewer.objBookData.strTitle;
   }
   objBookListData.intYear = _intYear;
   objBookListData.intMonth = _intMonth;
   GetBookListData(objAnnoViewer.objBookData.strBkCode.substr(0, 4), _intYear, _intMonth);
};
var InitPeriodical = function() {
   objPeriodicalData = new PeriodicalDataClass();
   GetPeriodicalData(objAnnoViewer.objBookData.strBkCode, objAnnoViewer.objBookData.intType);
};

