
var dateIndices=new Array();var browseIndices=new Array();var standAloneLimiters=new Array();var FROM="from";var TO="to";var ALL_DATES="0";var BETWEEN="4";var OPERATOR_OR="OR";var rowNumberForPreviousSearches=0;var limiterFieldObject="";var browseWindow;var limiterFieldControl;var inputFieldControl;var limiterChoosen=false;function populateDateIndicesArray(formObj){if(formObj!=null){var dateIndexCollection=formObj.dateIndices;if(isValidObject(dateIndexCollection)&&isValidObject(dateIndexCollection.length)){for(var d=0;d<dateIndexCollection.length;d++){dateIndices[d]=dateIndexCollection[d].value;}}else if(isValidObject(dateIndexCollection)){dateIndices[0]=dateIndexCollection.value;}}}
function populateStandaloneLimitersArray(formObj){if(formObj!=null){var standaloneLimiterCollection=formObj.standAloneLimiters;if(isValidObject(standaloneLimiterCollection)&&isValidObject(standaloneLimiterCollection.length)){for(var d=0;d<standaloneLimiterCollection.length;d++){standAloneLimiters[d]=standaloneLimiterCollection[d].value;}}else if(isValidObject(standaloneLimiterCollection)){standAloneLimiters[0]=standaloneLimiterCollection.value;}}}
function isValidDateInformation(formObj){if(dateIndices.length>0){var index=dateIndices[0];var dropDownTest=formObj.elements[("dateLimiterValue("+index+")."+FROM+"Day")];if(null!=dropDownTest){var dateLimiter=new DateLimiter(formObj,index);var validFromDate=true;var validToDate=true;if(!dateLimiter.dateModesObj[0].checked){validFromDate=isValidDate(dateLimiter.fromDayVal,dateLimiter.fromMonthVal,dateLimiter.fromYearVal);if(!dateLimiter.toDayObj.disabled){validToDate=isValidDate(dateLimiter.toDayVal,dateLimiter.toMonthVal,dateLimiter.toYearVal);}}
return validFromDate&&validToDate;}}
return true;}
function isValidDate(day,month,year){if(year==""||year=='undefined'||year==null||day=="00"||month==""){return false;}
if(((month<1)&&(day>0))||(month>12)){return false;}
if(day<0||day>31){return false;}
if((month==4||month==6||month==9||month==11)&&(day==31)){return false;}
if(month==2){var leap=(year%4==0&&(year%100!=0||year%400==0));if(day>29||(day==29&&!leap)){return false;}}
return true;}
function validateDateRange(formObj,index){if(dateIndices.length>1){var index=dateIndices[0];var dateLimiter=new DateLimiter(formObj,index);var flag=0;if(!dateLimiter.fromDayObj.disabled&&!dateLimiter.toDayObj.disabled&&!dateLimiter.dateModesObj[0].checked){var fromDate=new Date(dateLimiter.fromYearVal,dateLimiter.fromMonthVal,dateLimiter.fromDayVal);var toDate=new Date(dateLimiter.toYearVal,dateLimiter.toMonthVal,dateLimiter.toDayVal);if(fromDate>toDate){return false;}}}
return true;}
function disableOrEnableDates(formObj,option,index){if(option.checked){if(option.value==ALL_DATES){modifyDate(formObj,index,true,FROM);modifyDate(formObj,index,true,TO);getElementById("anddate").className="dateselect-and disabled";}else if(option.value==BETWEEN){modifyDate(formObj,index,false,FROM);modifyDate(formObj,index,false,TO);getElementById("anddate").className="dateselect-and dateConjunction";}else{modifyDate(formObj,index,false,FROM);modifyDate(formObj,index,true,TO);getElementById("anddate").className="dateselect-and disabled";}}}
function modifyDate(formObj,index,disableFlag,type){var day="dateLimiterValue("+index+")."+type+"Day";var month="dateLimiterValue("+index+")."+type+"Month";var year="dateLimiterValue("+index+")."+type+"Year";if(disableFlag){formObj.elements[day].selectedIndex=0;formObj.elements[month].selectedIndex=0;formObj.elements[year].selectedIndex=0;}
formObj.elements[day].disabled=disableFlag;formObj.elements[month].disabled=disableFlag;formObj.elements[year].disabled=disableFlag;}
function DateLimiter(formObj,index){this.fromDay="dateLimiterValue("+index+")."+FROM+"Day";this.fromMonth="dateLimiterValue("+index+")."+FROM+"Month";this.fromYear="dateLimiterValue("+index+")."+FROM+"Year";this.toDay="dateLimiterValue("+index+")."+TO+"Day";this.toMonth="dateLimiterValue("+index+")."+TO+"Month";this.toYear="dateLimiterValue("+index+")."+TO+"Year";this.fromDayObj=formObj.elements[this.fromDay];this.fromMonthObj=formObj.elements[this.fromMonth]
this.fromYearObj=formObj.elements[this.fromYear]
this.toDayObj=formObj.elements[this.toDay];this.toMonthObj=formObj.elements[this.toMonth]
this.toYearObj=formObj.elements[this.toYear]
this.fromDayVal=this.fromDayObj.value
this.fromMonthVal=this.fromMonthObj.value
this.fromYearVal=this.fromYearObj.value
this.toDayVal=formObj.elements[this.toDay].value
this.toMonthVal=formObj.elements[this.toMonth].value
this.toYearVal=formObj.elements[this.toYear].value
this.DATE_INDEX=index;this.dateMode="dateLimiterValue"+"("+this.DATE_INDEX+").dateMode";this.dateModesObj=formObj.elements[this.dateMode];}
function initializeStandAloneLimiterArray(formObj){populateStandaloneLimitersArray(formObj);}
function standAloneLimitersSelected(formObj){var limiterSelected=false;for(var i=0;i<standAloneLimiters.length&&!limiterSelected;i++){var limiter=formObj.elements["limiterFieldValue("+standAloneLimiters[i]+")"];var limiterType=limiter!=null?limiter.type:"";for(var j=0;j<dateIndices.length;j++){var index=dateIndices[j];var dateMode="dateLimiterValue("+index+").dateMode";var dateModeObj=formObj.elements[dateMode];if(dateModeObj){for(k=1;k<dateModeObj.length;k++){if((dateModeObj[k].checked==true&&standAloneLimiters[i]==index)){limiterSelected=true;}}}}
if((limiter!=null)&&limiter.type==null&&standAloneLimitersArraySelected(limiter)){limiterSelected=true;}
if((limiterType=="checkbox")&&(limiter.checked==true)){limiterSelected=true;}else if((limiterType=="text")&&(trim(limiter.value)!="")){limiterSelected=true;}else if((limiterType=="select-one")&&(limiter.selectedIndex>0)){limiterSelected=true;}else if(limiterType=="select-multiple"&&limiter.selectedIndex>-1){var selections=limiter.options;for(var idx=0;idx<selections.length;idx++){if(selections[idx].selected&&selections[idx].value!=''){limiterSelected=true;}}}}
return limiterSelected;}
function standAloneLimitersArraySelected(limiters){var limiterSelected=false;for(var i=0;i<limiters.length;i++){var limiter=limiters[i];var limiterType=limiter!=null?limiter.type:"";if((limiterType=="checkbox")&&(limiter.checked==true)){limiterSelected=true;}else if((limiterType=="text")&&(trim(limiter.value)!="")){limiterSelected=true;}else if((limiterType=="select-one")&&(limiter.selectedIndex>0)){limiterSelected=true;}else if(limiterType=="select-multiple"&&limiter.selectedIndex>-1){var selections=limiter.options;for(var idx=0;idx<selections.length;idx++){if(selections[idx].selected&&selections[idx].value!=''){limiterSelected=true;}}}}
return limiterSelected;}
function doLimiterBrowse(){var href=this.href;var formObj=getDynamicSearchFormObj();var index=getParamValueInURL(href,"terms");var LIMITER_SUFFIX="_dynamicLimiterField";var searchType=formObj.searchType.value;var fieldId=index+LIMITER_SUFFIX;var inputField=getElementById(fieldId);limiterFieldObject=inputField;limiterChoosen=true;limiterFieldControl=inputField;var preselectOnLoad='';if((inputField.value!=null)&&(inputField.value.length>0)){preselectOnLoad='&preselectOnLoad=Y';}
var browseIndexUrl=href+"&searchType="+searchType+preselectOnLoad;openInChildWindow(browseIndexUrl,"galeChildWindow");return false;}
function doMultiLimiterBrowse(formObj,inputField,index,hide,show,returnVal,clearVal){toHide=hide;toShow=show;returnPulldown=returnVal;textToClear=clearVal;if(inputField.name==null){inputField=inputField[0];}
limitFormField=inputField.name;var productId=formObj.prodId.value;var usrGrp=formObj.userGroupName.value;var fn=inputField.value;var qt=index;fieldIndex=-1;var name=BROWSE_INDEX_SELECTIONS;browseWindow=window.open(BASIC_BROWSE_INDEX_URL+"&query="+fn+"&terms="+qt+"&rowIndex="+qt+"&fieldName="+name,"galeChildWindow","toolbar=no, directories=no, status=yes, location=no, resizable=yes, menubar=no, scrollbars=yes,width=700,height=450");}
function doBrowse(){var id=this.id;var temp=id.split("_");var inputRowNumber=temp[1];rowNumberForPreviousSearches=inputRowNumber;var formObj=getDynamicSearchFormObj();var indexFieldName="inputFieldName("+inputRowNumber+")";var inputValueName="inputFieldValue("+inputRowNumber+")";var index=formObj.elements[indexFieldName].value;var inputQueryTerms=formObj.elements[inputValueName].value;var searchType=formObj.searchType.value;limiterChoosen=false;inputFieldControl=formObj.elements[inputValueName];var suffix=inputRowNumber+index;var browseTerm=getBrowseTermFromCookie(suffix);var browseIndexUrl=this.href+"&query="+browseTerm+"&searchType="+searchType+"&rowIndex="+suffix;openInChildWindow(browseIndexUrl,"galeChildWindow");return false;}
function doPreviousSearches(){var id=this.id;var temp=id.split("_");rowNumberForPreviousSearches=temp[1];openInChildWindow(this.href+"&brwIdx=PS","galeChildWindow");return false;}
function setFieldValue(selectionValues){if(limiterChoosen){appendOR(limiterFieldControl,selectionValues);}else{appendOR(inputFieldControl,selectionValues);}}
function clearLimiter(){limiterFieldControl.value='';}
function getLimiter(){return limiterFieldControl.value;}
function appendOR(fieldObj,value){try
{appendOR1(fieldObj,value);}
catch(e)
{}
if(value.length>0){if(fieldObj.value.length==0){fieldObj.value=value;}else{fieldObj.value=fieldObj.value+OPERATOR_OR+value;var fieldValue=fieldObj.value;var fieldValues=fieldValue.split(OPERATOR_OR);var statusUpdate=false;for(var z=0;z<fieldValues.length;z++)
{if(!(fieldValues[z].startsWith("\"")&&fieldValues[z].endsWith("\"")))
{fieldValues[z]="\""+fieldValues[z]+"\"";statusUpdate=true;}}
if(statusUpdate)
{fieldObj.value=fieldValues.join(OPERATOR_OR);}}}}
String.prototype.startsWith=function(str)
{return(this.match("^"+str)==str)}
String.prototype.endsWith=function(str)
{return(this.match(str+"$")==str)}
function trim(stringValue){return stringValue.replace(/^\s*/,"").replace(/\s*$/,"");}
String.prototype.contains=function(t){return this.indexOf(t)>=0?true:false}
function appendOR1(fieldObj,value){if(value.length>0){try
{fieldObj.innerHTML='';}
catch(e)
{}
var spanIndex=fieldObj.id.substring(0,2);var existingValue=document.getElementById(spanIndex+"_dynamicLimiterField").value;existingValue=trim(existingValue);if(existingValue!=null)
{value=value+" OR "+existingValue;}
var splitVal=value.split('OR');var spanId=fieldObj.id+'_'+spanIndex;var spanIdClose=spanId+'_'+'Table';var spanId1=fieldObj.id;var tableView="<table id='"+spanId+"_Table' style='width:210px'><tbody>";for(var counts=0;counts<splitVal.length;counts++)
{var currentValue=trim(splitVal[counts]);if(currentValue==''||currentValue==' ')
{continue;}
var splitter=currentValue;if(currentValue.startsWith("\"")&&currentValue.startsWith("\""))
{splitter=currentValue.substring(1,currentValue.length-1);}
var primSplitter=splitter;if(splitter.contains("'"))
{primSplitter=splitter.replace("'","##");}
tableView=tableView+"<tr><td id=\"splitter"+counts+"\" class=\"caps\">"+splitter+"</td>"
+"<td><a onClick='removePub(this,\""+spanId+"_Table\",\""+spanId1+"\",\""+primSplitter+"\")'><img src=http://g.ggimg.com/gtx/images/btn_ic_delete.png border=0></a></td></tr>";}
tableView=tableView+'</tbody></table>';document.getElementById(spanId).innerHTML=tableView;if(spanIdClose="spanId+'_'+'Table'")
{document.getElementById(fieldObj.id).style.display="none";}
if(spanId.match('JN'))
{var userAgent=document.getElementById("headerInfo").innerHTML;if(userAgent.contains('MSIE 7.0'))
{document.getElementById("JN_dynamicLimiterField_JN").style.position='relative';document.getElementById("JN_dynamicLimiterField_JN").style.marginTop='2px';document.getElementById("JN_brwsInput").style.position='relative';document.getElementById("JN_brwsInput").style.height=document.getElementById("JN_dynamicLimiterField_JN_Table").offsetHeight;}
if(userAgent.contains('MSIE 6.0'))
{document.getElementById(spanId).innerHTML='<br />'+tableView;}}
else
{var userAgent=document.getElementById("headerInfo").innerHTML;if(userAgent.contains('MSIE 7.0'))
{document.getElementById("PC_dynamicLimiterField_PC").style.position='relative';document.getElementById("PC_dynamicLimiterField_PC").style.marginTop='2px';document.getElementById("PC_brwsInput").style.position='relative';document.getElementById("PC_brwsInput").style.height=document.getElementById("PC_dynamicLimiterField_PC_Table").offsetHeight;}}}}
function appendOR2(fieldObj,value){if(value.length>0){try
{fieldObj.innerHTML='';}
catch(e)
{}
var splitVal=value.split('OR');var spanIndex=fieldObj.id.substring(0,2);var spanId=fieldObj.id+'_'+spanIndex;var spanIdClose=spanId+'_'+'Table';var spanId1=fieldObj.id;var tableView="<table id='"+spanId+"_Table' style='width:400px'><tbody>";for(var counts=0;counts<splitVal.length;counts++)
{var currentValue=trim(splitVal[counts]);if(currentValue==''||currentValue==' ')
{continue;}
var splitter=currentValue;if(currentValue.startsWith("\"")&&currentValue.startsWith("\""))
{splitter=currentValue.substring(1,currentValue.length-1);}
var primSplitter=splitter;if(splitter.contains("'"))
{primSplitter=splitter.replace("'","##");}
tableView=tableView+"<tr><td id=\"splitter"+counts+"\" class=\"caps\">"+splitter+"</td>"
+"<td><a onClick='removePub(this,\""+spanId+"_Table\",\""+spanId1+"\",\""+primSplitter+"\")'><img src=http://g.ggimg.com/gtx/images/btn_ic_delete.png border=0></a></td></tr>";}
tableView=tableView+'</tbody></table>';document.getElementById(spanId).innerHTML=tableView;if(spanIdClose="spanId+'_'+'Table'")
{document.getElementById(fieldObj.id).style.display="none";}
if(spanId.match('JN'))
{var userAgent=document.getElementById("headerInfo").innerHTML;if(userAgent.contains('MSIE 7.0'))
{document.getElementById("JN_dynamicLimiterField_JN").style.position='relative';document.getElementById("JN_dynamicLimiterField_JN").style.marginTop='2px';document.getElementById("JN_brwsInput").style.position='relative';document.getElementById("JN_brwsInput").style.height=document.getElementById("JN_dynamicLimiterField_JN_Table").offsetHeight;}}
else
{var userAgent=document.getElementById("headerInfo").innerHTML;if(userAgent.contains('MSIE 7.0'))
{document.getElementById("PC_dynamicLimiterField_PC").style.position='relative';document.getElementById("PC_dynamicLimiterField_PC").style.marginTop='2px';document.getElementById("PC_brwsInput").style.position='relative';document.getElementById("PC_brwsInput").style.height=document.getElementById("PC_dynamicLimiterField_PC_Table").offsetHeight;}}}}
function getBrowseTermFromCookie(suffix){var cookieId=formCookieId("browseTerm",suffix);var browseTerm=getCookie(cookieId);if(browseTerm==null){return"";}
return browseTerm;}
function formCookieId(name,suffix){return name+"_"+suffix;}
function validateLimiters(formObj,event){if(!isValidDateInformation(formObj)){alert(INVALID_DATE_MSG);cancelEvent(event);return false;}
else if(!validateDateRange(formObj)){alert(INVALID_DATE_RANGE);cancelEvent(event);return false;}
else if(!validateLexileScore(formObj))
{alert(INVALID_LEXILE_SCORE);cancelEvent(event);return false;}
return true;}
function showMoreOptions(){getElementById("searchOptions").className="hide";this.className="hideSearchOptions hide";getElementById("searchForm-moreSearch").className="moreSearchOptions";getElementById("searchForm-moreSearch").style.display='';}
function hideMoreOptions(){getElementById("searchOptions").className="";this.className="moreSearchOptions hide";getElementById("searchForm-hideSearch").className="hideSearchOptions";}
function attachFieldBrowseEvent(){var anchorlinks=document.links;var fieldBrowseIdPattern="^browseField_.+_.+$";var fieldBrowseExp=new RegExp(fieldBrowseIdPattern);var prevIndexSuffix="__";for(var i=0;i<anchorlinks.length;i++){var anchorId=anchorlinks[i].id;if(fieldBrowseExp.test(anchorId)&&prevIndexSuffix==anchorId.substring(anchorId.length-prevIndexSuffix.length)){anchorlinks[i].onclick=doPreviousSearches;}else if(fieldBrowseExp.test(anchorId)){anchorlinks[i].onclick=doBrowse;}}}
function attachLimiterBrowseEvent(){var anchorlinks=document.links;var limiterBrowseIdPattern="^browseField_[a-zA-Z0-9]+$";var limiterBrowseExp=new RegExp(limiterBrowseIdPattern);for(var i=0;i<anchorlinks.length;i++){if(limiterBrowseExp.test(anchorlinks[i].id)){anchorlinks[i].onclick=doLimiterBrowse;}}}
function attachLimiterScriptEvents(){var hideOption=getElementById("searchForm-hideSearch");if(isValidObject(hideOption)){hideOption.onclick=showMoreOptions;}
var showOption=getElementById("searchForm-moreSearch");if(isValidObject(showOption)){showOption.onclick=hideMoreOptions;}
attachFieldBrowseEvent();attachLimiterBrowseEvent();try
{changeBrowseIndexValues();}
catch(e)
{}}
function changeBrowseIndexValues()
{var pto=document.getElementById("JN_dynamicLimiterField");if(pto!=null&&pto.value!=null)
{var publicationTitle=pto.value;appendOR2(pto,publicationTitle);}
var pso=document.getElementById("PC_dynamicLimiterField");if(pso!=null&&pso.value!=null)
{var publicationSubject=pso.value;appendOR2(pso,publicationSubject);}}
function validateLexileScore(formObj){var lexileScoreElems=formObj.elements["limiterFieldValue(LX)"];var lexileScoreField=null;if(lexileScoreElems!=null)
{var totNum=lexileScoreElems.length;if(totNum==null){lexileScoreField=lexileScoreElems;}else{for(var i=0;i<lexileScoreElems.length;i++)
{if(lexileScoreElems[i].type=="text")
{lexileScoreField=lexileScoreElems[i];}}}
if(trim(lexileScoreField.value)!="")
{var regEx1=new RegExp("^[0-9]{1,}$");var regEx2=new RegExp("^([0-9]{1,}-[0-9]{1,})$");var regEx3=new RegExp("^([0-9]{1,} to [0-9]{1,})$");var lexileScore=lexileScoreField.value;if(regEx1.test(lexileScore))
{return true;}
else if(regEx2.test(lexileScore))
{return true;}
else if(regEx3.test(lexileScore))
{return true;}
else
{return false;}}}
return true;}
function loadDateLimiter(minDate,maxDate)
{var myminDates=minDate.split("IST");var mymaxDates=maxDate.split("IST");var minYear=myminDates[1].substring(1,5);var maxYear=mymaxDates[1].substring(1,5);var giStartYear=parseInt(maxYear);var giEndYear=parseInt(minYear);document.cookie="startYear="+giStartYear;document.cookie="endYear="+giEndYear;}
function removePub(delRowIndex,tableId,disVal,selectedVal)
{if(selectedVal.contains('##'))
{selectedVal=selectedVal.replace("##","'");}
var textBoxId=tableId.substring(0,22);var oldValues=document.getElementById(textBoxId).value.split("OR");var newValues="";for(var h=0;h<oldValues.length;h++)
{if(trim(oldValues[h])!="\""+trim(selectedVal+"\""))
{if(newValues.length>0){newValues=newValues+"OR"+oldValues[h];}
else{newValues=newValues+oldValues[h];}}}
document.getElementById(textBoxId).value=trim(newValues);var pubTable=document.getElementById(tableId);pubTable.tBodies[0].deleteRow(delRowIndex.parentNode.parentNode.rowIndex);var rowslength=document.getElementById(tableId).rows.length;if(tableId!="spanId+'_'+'Table'"&&rowslength==0)
{document.getElementById(disVal).style.display="block";}
if(tableId.match('JN'))
{var userAgent=document.getElementById("headerInfo").innerHTML;if(userAgent.contains('MSIE 7.0'))
{if(document.getElementById("JN_brwsInput").offsetHeight>70){document.getElementById("JN_brwsInput").style.height=document.getElementById("JN_dynamicLimiterField_JN_Table").offsetHeight;}}}
else
{var userAgent=document.getElementById("headerInfo").innerHTML;if(userAgent.contains('MSIE 7.0'))
{if(document.getElementById("PC_brwsInput").offsetHeight>70){document.getElementById("PC_brwsInput").style.height=document.getElementById("PC_dynamicLimiterField_PC_Table").offsetHeight;}}}}
addWindowLoadEvent(attachLimiterScriptEvents);