
function markAll(chkBox){var marklistDivs=document.getElementsBySelector("div.markItem");var elementCnt=marklistDivs.length;var markCnt=MARK_CNT;var pgCnt=PG_CNT;var totalMarked=markCnt-pgCnt+elementCnt;if(chkBox.checked==true){if(totalMarked<=50){updateMarkListCheckBoxes(chkBox);var markedURL=getMarkListURL();postRequest(markedURL);}else{alert(MARKLIST_ALL_ERR_MSG1+" "+MARKLIST_ALL_ERR_MSG2);chkBox.checked=false;return;}}else{updateMarkListCheckBoxes(chkBox);var markedURL=getMarkListURL();postRequest(markedURL);}
if(chkBox.id=="iteratorBar-selectAll_1"){getElementById("iteratorBar-selectAll_2").checked=chkBox.checked;}else{getElementById("iteratorBar-selectAll_1").checked=chkBox.checked;}}
var inCheckAll=false;function updateMarkListCheckBoxes(chkBox){inCheckAll=true;var marklistDivs=document.getElementsBySelector("div.markItem");for(var i=0;i<marklistDivs.length;i++){var element=marklistDivs[i].getElementsByTagName("INPUT")[0];if(chkBox.checked==true){element.checked=true;Toggle(element);}else{element.checked=false;Toggle(element);}}
inCheckAll=false;}
function getMarkListURL(){var markedInfo=getMarkListString();return getMarkListURLForMarkedInfo(markedInfo);}
function getMarkListString(){var element;var markedInfo="";var marklistDivs=document.getElementsBySelector("div.markItem");for(var i=0;i<marklistDivs.length;i++){var element=marklistDivs[i].getElementsByTagName("INPUT")[0];var markedString=element.value;if(element.checked==true){markedInfo+=prepareMarkedString(markedString,"1");}else{markedInfo+=prepareMarkedString(markedString,"0");}}
return markedInfo;}
function getMarkListURLForMarkedInfo(markedInfo){var timeNow=new Date();var qrystring=UPDATE_MARKLIST_LINK+"&markedString="+markedInfo;qrystring+="&a="+timeNow.getTime();return qrystring;}
function prepareMarkedString(dirtyMarkedString,updateStatus){var markedInfo="";markedInfo+=dirtyMarkedString.substring(0,dirtyMarkedString.indexOf('_'));dirtyMarkedString=dirtyMarkedString.substring(dirtyMarkedString.indexOf('_')+1);markedInfo+="_"+dirtyMarkedString.substring(0,dirtyMarkedString.indexOf('_'));dirtyMarkedString=dirtyMarkedString.substring(dirtyMarkedString.indexOf('_')+1);if(updateStatus=="1"){markedInfo+="_"+"1";}else{markedInfo+="_"+"0";}
markedInfo+="_"+dirtyMarkedString;markedInfo+="^";return markedInfo;}
function mark(chkbox){if(inCheckAll)return;var xmlhttp=getXmlHttpRequest();var isAllChecked=true;var marklistDivs=document.getElementsBySelector("div.markItem");for(var i=0;i<marklistDivs.length;i++){var element=marklistDivs[i].getElementsByTagName("INPUT")[0];if(element.checked==false){isAllChecked=false;break;}}
checkOrUncheckMarkAll(isAllChecked);var totalMarked=getTotalMarkedCount();var markedInfo="";if(chkbox.checked==true){if(totalMarked<=50){var markedURL=getMarkListURL();postRequest(markedURL);}else{alert(MARKLIST_ERR_MSG);chkbox.checked=false;checkOrUncheckMarkAll(false);return;}}else{var markedURL=getMarkListURL();postRequest(markedURL);}}
function markPageCheckBox(){markPage(this);}
function markPage(chkbox){var markCnt=MARK_CNT;var pgCnt=PG_CNT;var totalMarked=markCnt;var markedInfo="";if(chkbox.checked==true){if(totalMarked<50){var markedInfo=prepareMarkedString(chkbox.value,"1");var qrystring=getMarkListURLForMarkedInfo(markedInfo);postRequest(qrystring);totalMarked+=1;}else{alert("There are already 50 articles marked.");chkbox.checked=false;return;}}else{var markedInfo=prepareMarkedString(chkbox.value,"0");var qrystring=getMarkListURLForMarkedInfo(markedInfo);postRequest(qrystring);totalMarked-=1;}
if(chkbox.id=="iteratorBar-markDocument_1"){getElementById("iteratorBar-markDocument_2").checked=chkbox.checked;}else{getElementById("iteratorBar-markDocument_1").checked=chkbox.checked;}}
function getTotalMarkedCount(){var markCnt=MARK_CNT;var pgCnt=PG_CNT;var curCnt=getNoOfMarkedItem();var totalMarked=markCnt-pgCnt+curCnt;return totalMarked;}
function getNoOfMarkedItem(){var element;var curCnt=0;var marklistDivs=document.getElementsBySelector("div.markItem");for(var i=0;i<marklistDivs.length;i++){var element=marklistDivs[i].getElementsByTagName("INPUT")[0];if(element.checked==true){curCnt+=1;}}
return curCnt;}
function getMarkedItemCount(){var totalNumber=0;var spanObj=getElementById('totalNoOfItems');if(spanObj!=null){totalNumber=spanObj.innerHTML.replace(/<[^>]+>/g,'');totalNumber=totalNumber.replace("(","");totalNumber=trim(totalNumber.split("&nbsp;")[0]);totalNumber=totalNumber.replace(")","");if(isNaN(totalNumber)){totalNumber=0;}}
return totalNumber;}
function Toggle(whichRow){if(whichRow.checked){Highlight(whichRow);}
else{Unhighlight(whichRow);}}
function Highlight(whichRow){var resultsRow=null;if(whichRow.parentNode&&whichRow.parentNode.parentNode){resultsRow=whichRow.parentNode.parentNode;}
if(resultsRow){if(resultsRow.className=="resultsRow"){resultsRow.className="resultsRow highlight";}}}
function Unhighlight(whichRow){var resultsRow=null;if(whichRow.parentNode&&whichRow.parentNode.parentNode){resultsRow=whichRow.parentNode.parentNode;}
if(resultsRow){if(resultsRow.className=="resultsRow highlight"){resultsRow.className="resultsRow";}}}
function addToggleEvent(){var checkBoxElements=document.getElementsByTagName("checkbox");for(var i=0;i<checkBoxElements.length;i++){var chkBoxId=checkBoxElements[i].id;if(chkBoxId.match("resultsTable-markItem_")){checkBoxElements[i].onclick=Toggle;checkBoxElements[i].onclick=mark;}}}
function checkMarkedRecords(){var currentCount=getMarkedItemCount();if(currentCount<=0){alert(NO_RECORDS_MARKED_MSG);return false;}else{window.open(this.href,"galeChildWindow","toolbar=no, directories=no, status=no, location=no, resizable=yes, menubar=no, scrollbars=yes,screenX=50,screenY=50,top=50,left=50,width=750,height=550");return false;}}
function printMarkedRecords(){var currentCount=getMarkedItemCount();if(currentCount<=0){alert(NO_RECORDS_MARKED_MSG);return false;}else{window.open(this.href,"galeChildWindow","toolbar=no, directories=no, status=no, location=no, resizable=yes, menubar=yes, scrollbars=yes,screenX=50,screenY=50,top=50,left=50,width=750,height=550");return false;}}
function downloadDocument(){var markedItems=getNoOfMarkedItemForTab(this.href);if(markedItems<=0){alert(NO_RECORDS_DOWNLOAD_MSG);return false;}else{window.open(this.href,"galeChildWindow",'toolbar=no,resizable=yes,scrollbars=yes,width=650,height=500');return false;}}
function getNoOfMarkedItemForTab(url){var tabId=getParamValueInURL(url,"tabID");var bucketId=getParamValueInURL(url,"bucketId");var spanObj=getElementById(tabId+"_"+bucketId);var totalNumber=spanObj.innerHTML.replace(/<[^>]+>/g,'');totalNumber=totalNumber.replace("(","");totalNumber=trim(totalNumber.split("&nbsp;")[0]);totalNumber=totalNumber.replace(")","");if(isNaN(totalNumber)){totalNumber=0;}
return totalNumber;}
function closeRow(row){toClose=getElementById(row);toClose.style.display="none";}
function reduceCountByOne(spanId){var spanObj=getElementById(spanId);var totalNumber=spanObj.innerHTML.replace(/<[^>]+>/g,'');totalNumber=totalNumber.replace("(","");totalNumber=trim(totalNumber.split("&nbsp;")[0]);totalNumber=totalNumber.replace(")","");if(isNaN(totalNumber)){totalNumber=0;}else{--totalNumber;}
var parsedText=document.createTextNode(' '+totalNumber+' ');spanObj.innerHTML="";spanObj.appendChild(parsedText);spanObj.innerHTML="("+spanObj.innerHTML+"&nbsp;saved item(s))";}
function removeItemFromMarkList(){var elementId=this.id;var tempId=elementId.substring(elementId.indexOf("-")+1);var markListId="markList"+tempId;var tabListId=elementId.substring(elementId.indexOf("_")+1);var markRowId="markRow"+tempId;var hiddenObj=getElementById(markListId);var markedString=prepareMarkedString(hiddenObj.value,"0");var markedURL=getMarkListURLForMarkedInfo(markedString);postRequest(markedURL);reduceCountByOne(tabListId);reduceCountByOne('totalNoOfItems');var spanObj=getElementById('totalNoOfItems');var totalNumber=spanObj.innerHTML.replace(/<[^>]+>/g,'');if(isNaN(totalNumber)){totalNumber=0;}
closeRow(markRowId);adjustFollowingLabels(markRowId);}
function adjustFollowingLabels(rowId){var nextRowId=getNextRow(rowId);var nextRow=getElementById(nextRowId);while(nextRow!=null){linkArray=nextRow.getElementsByTagName("SPAN");for(i=0;i<linkArray.length;++i){var idAttribute=linkArray[i].getAttribute("ID");if("sequencenumber"==idAttribute){var newSequenceNumber=parseInt(linkArray[i].innerHTML)-1;linkArray[i].innerHTML=newSequenceNumber;}}
nextRowId=getNextRow(nextRowId);nextRow=getElementById(nextRowId);}}
function getNextRow(rowId){var rowParams=rowId.split("_");var nextRowNum=parseInt(rowParams[0].substring(7))+1;var nextRowId="markRow"+nextRowNum+"_"+rowParams[1]+"_"+rowParams[2];return nextRowId;}
function checkOrUncheckMarkAll(isChecked){var markAll_1=getElementById("iteratorBar-selectAll_1");if(markAll_1!=null){markAll_1.checked=isChecked;getElementById("iteratorBar-selectAll_2").checked=isChecked;}}
function attachToolsForMarkList(id,func){var obj=getElementById(id);if(obj!=null){var linkArray=obj.getElementsByTagName("a");if(linkArray.length>0){linkArray[0].onclick=func;}}}
function identifyIdOfRemoveItem(){var elements=document.links;for(var i=0;i<elements.length;i++){if(elements[i].id.match("remove-")){elements[i].onclick=removeItemFromMarkList;}}}
function addDownloadEvenForEachTab(){var downloadTabs=document.links;for(var i=0;i<downloadTabs.length;i++){if(downloadTabs[i].id.match("marklist_download")!=null){downloadTabs[i].onclick=downloadDocument;}}}
function attachEventsForCheckBox(){var chkBox_1=getElementById("iteratorBar-markDocument_1");if(chkBox_1!=null){chkBox_1.onclick=markPageCheckBox;var chkBox_2=getElementById("iteratorBar-markDocument_2");chkBox_2.onclick=markPageCheckBox;}}
function attachMarklistPageEvents(){attachToolsForMarkList("globalTools-email",checkMarkedRecords);attachToolsForMarkList("globalTools-print",printMarkedRecords);attachToolsForMarkList("markList-howToCiteMyMarkedItems",checkMarkedRecords);attachPopupForSelector("li.howToCiteLink",openGaleChildWindow);attachPopupForSelector("ul.libraryLinks",openGaleChildWindow);attachPopupForSelector("li.pdfLink",retrievePDFFromResultList);attachPopup("marklist-howToCite",checkMarkedRecords);attachEventsForCheckBox();addDownloadEvenForEachTab();addToggleEvent();identifyIdOfRemoveItem();}
addWindowLoadEvent(attachMarklistPageEvents);