
var SuggestedReadings={DcrRegExArrayStr:null,EnableDebug:false,DcrFilterRegexArray:null,UserID:null,CategoryDirection:null,PopupDirection:null,WordCountSearchLength:0,WordCountThreshold:0,IgnoreWordCount:false,ModSearchAry:null,WordCountReturnResults:0,Position:null,IgnoreWords:new Array('the','you','and','for','are','this','that','from','said','your','with','not','than','their'),ReadingControl:"$('div[id$=_RelatedContentList]')",ReadingList:"$('div[id$=_panelRelatedContentList]')",ReadingTable:"$('table[id$=_tblButtonContainer]')",ReadingButton:"$('a[id$=_btnRelatedContent]')",PopupButton:"$('input[id$=_btnOpenPopup]')",ReadingTitle:"$('td[id$=_ReadingTitle]')",FindRegExWords:function(){var regExWordsArray=new Array();var bodyWords=document.getElementsByTagName('body')[0].innerHTML;var regExArray=this.DcrRegExArrayStr.split(',');if(bodyWords){for(var i=0;i<regExArray.length;i++){var re=new RegExp(regExArray[i],"gi");var myArray=bodyWords.match(re);if(myArray!=null&&myArray.length>0){var theWords=myArray.join(" ");regExWordsArray.push(theWords);}
else{regExWordsArray.push("");}}}
return regExWordsArray;},RenderContentList:function(){if(eval(this.ReadingButton).length==0)
eval(this.ReadingControl).slideDown("fast");if(this.Position=="ToolbarPopup")
$('#ToolbarSeparator').show();var filteringRegexArray=this.DcrFilterRegexArray.split(',');var theTitle=document.title;var allMetaKeywords=this.GetMetaKeywords().join(" ");var regExWordsArray=this.FindRegExWords();var freqFoundWords='';if(!this.IgnoreWordCount){var arrayFreqWords=this.GetPageBodyKeywords();var sl;if(this.WordCountReturnResults>arrayFreqWords.length){sl=arrayFreqWords.length;}
else{sl=this.WordCountReturnResults;}
var count=0;for(var i=0;i<arrayFreqWords.length;i++){var theWord=arrayFreqWords[i][1].toLowerCase();if(theWord.length>2){var ignore=SuggestedReadings.IgnoreWords.find(theWord);if(ignore.length==0){freqFoundWords+=theWord+' ('+arrayFreqWords[i][0]+') ';count++;if(count>=sl)break;}}}
if(this.EnableDebug){alert('Freq found words: \n'+freqFoundWords);}}
if(this.ModSearchAry!=null&&this.ModSearchAry.constructor==Array){for(var i=0;i<this.ModSearchAry.length;i++){var searchType=this.ModSearchAry[i].ModSearchId;DcrAjaxService.ParseAll(searchType,this.UserID,theTitle,allMetaKeywords,freqFoundWords,regExWordsArray,this.EnableDebug,window.location.toString(),this.OnSearchSucceeded,this.OnSearchFailed,searchType);}}},GetPageBodyKeywords:function(){var bodyWords=document.getElementsByTagName('body')[0].innerHTML;var filteringRegexArray=this.DcrFilterRegexArray.split(',');var regex=new RegExp("[\\r|\\n]?","gi");if(bodyWords){bodyWords=bodyWords.replace(regex,"");for(var j=0;j<filteringRegexArray.length;j++){var regex=new RegExp(filteringRegexArray[j],"gi");bodyWords=bodyWords.replace(regex,"");}
var div=document.createElement("div");div.innerHTML=bodyWords;bodyWords=div.innerText;var mtch=bodyWords.match(/\w+/g);var sl;if(this.WordCountSearchLength<0){sl=mtch.length;}
else{if(this.WordCountSearchLength>mtch.length){sl=mtch.length;}
else{sl=this.WordCountSearchLength;}}
var list=this.BuildWordCountList(mtch.slice(0,sl));var sortedList=list.sort(sortByCount);return sortedList;}
return"";},GetMetaKeywords:function(){var m=document.getElementsByTagName("META");var aryKeywords=new Array();for(var i=0;i<m.length;i++){var metaName=m[i].name;if(metaName.toLowerCase()=='Keywords'.toLowerCase()){aryKeywords.push(m[i].content);}}
return aryKeywords;},BuildWordCountList:function(content){var wordCtArray=new Array();var alreadyProcessed=new Array();for(var i=0;i<content.length;i++){if(isNumeric(content[i])!=true&&content[i].length>1){var word=content[i].toLowerCase();var ap=alreadyProcessed.find(word);if(ap.length==0){var tmp=content.find(word);if(tmp.length>=this.WordCountThreshold){var keywordEntry=new Array(tmp.length,word);wordCtArray.push(keywordEntry);}
alreadyProcessed.push(word);}}}
return wordCtArray;},DisplayControls:function(){var btn=eval(this.ReadingButton);var con=eval(SuggestedReadings.ReadingControl);eval(SuggestedReadings.ReadingTitle).css("display","block");if(btn.length>0){btn.show(function(){var btnLeft=btn.offset();con.css("position","absolute");con.width(($(window).width()*.6));var btnTop=eval(SuggestedReadings.ReadingTable);if(SuggestedReadings.Position=="UpperRightPopup"){con.css("top",btnTop.offset().top+btnTop.height());btn.unbind("click");btn.click(function(){con.css("left",btnLeft.left-con.width()+btn.width()+5);eval(SuggestedReadings.ReadingControl).slideDown('fast');});}else{if(con.height()>($(window).height()-100)){con.height($(window).height()-100);con.css("overflow","scroll");}
con.css("top",-con.height());btn.unbind("click");btn.click(function(){con.css("left",btnLeft.left-con.width()+btn.width()-20);eval(SuggestedReadings.ReadingControl).slideDown('fast');});}});$(document).click(function(){var c=eval(SuggestedReadings.ReadingControl);if(c.height()>10)
c.slideUp('fast');});}else{if(this.Position!="BottomNav")
con.width("230");eval(SuggestedReadings.ReadingControl).slideDown('fast');}},RenderHeaderRow:function(searchType){var hdrText='';var imgIconPath='';if(this.ModSearchAry!=null&&this.ModSearchAry.constructor==Array){for(var i=0;i<this.ModSearchAry.length;i++){if(searchType==this.ModSearchAry[i].ModSearchId){hdrText=this.ModSearchAry[i].ModName;imgIconPath=this.ModSearchAry[i].ModIconPath;}}}
var hdrCell=document.createElement("td");var hdrIconCell=document.createElement("td");hdrCell.innerHTML=hdrText;hdrCell.setAttribute("width","99%");hdrCell.style.padding='5px';hdrCell.style.whiteSpace='nowrap';hdrCell.style.textAlign='left';hdrCell.style.verticalAlign='middle';hdrCell.style.fontSize='13px';hdrCell.style.fontWeight='bold';hdrIconCell.innerHTML='<img src=\''+imgIconPath+'\' border=\'0\' />';hdrIconCell.setAttribute("width","1%");var hdrRow=document.createElement("tr");hdrRow.appendChild(hdrIconCell);hdrRow.appendChild(hdrCell);var tblBody=document.createElement("tbody");tblBody.appendChild(hdrRow);var hdrTable=document.createElement("table");hdrTable.setAttribute("width","100%");hdrTable.className="Dcr-ToolbarHeader";hdrTable.appendChild(tblBody);return hdrTable;},BuildContentListTable:function(json,searchType){if(json!=null&&json.constructor==Array&&json.length>0){var div=document.createElement("div");div.id=searchType;div.style.textAlign="left";div.style.borderBottom="1px solid #666e33";div.style.borderLeft="1px solid #666e33";div.style.borderRight="1px solid #666e33";div.appendChild(this.RenderHeaderRow(searchType));var tbl=document.createElement("table");var tblBody=document.createElement("tbody");var row1;if(this.PopupDirection=='Horizontal'){row1=document.createElement("tr");}
for(var i=0;i<json.length;i++){if(this.PopupDirection=='Vertical'){row1=document.createElement("tr");}
var url=json[i].U;var title=json[i].T;var snippet=json[i].S;var C1=document.createElement("td");C1.setAttribute("width",(100/json.length)+"%");C1.style.verticalAlign="top";C1.style.borderBottom="1px solid #e8e8e8";C1.className="Dcr-CategoryListContainer";C1.style.textAlign="left";C1.style.padding='10px';C1.innerHTML='<a href=\''+url+'\'><b>'+title+'</b></a><br/>'+snippet.replace('<br>','');if(this.EnableDebug)
C1.innerHTML+=" ("+json[i].Weight+")";row1.appendChild(C1);if(this.PopupDirection=='Vertical'){tblBody.appendChild(row1);}}
if(this.PopupDirection=='Horizontal'){tblBody.appendChild(row1);}
tbl.appendChild(tblBody);div.appendChild(tbl);var readingList=eval(this.ReadingList);readingList.append(div);tbl.setAttribute("width","100%");tbl.cellPadding=0;tbl.cellSpacing=0;if(this.PopupDirection=="Vertical"){if(this.CategoryDirection=="Horizontal"){div.style.paddingRight="20px";div.style.styleFloat="left";readingList.width((readingList.children().length*220)+"px");var height=0;$.each(readingList.children(),function(i,n){height+=$(n).height();});for(var i=0;i<4;i++){if(readingList.height()>=height)
readingList.width(readingList.width()+20+"px");}}}
this.DisplayControls();}},OnSearchSucceeded:function(result,searchType){var json=eval(result);if(json!=null&&json.constructor==Array&&json.length>0&&json[0].D&&json[0].D.length>0){var s="";for(var i=0;i<json[0].D.length;i++)
s+=json[0].D[i].Word+":"+json[0].D[i].Num+"\n";alert(s);}
SuggestedReadings.BuildContentListTable(json,searchType);},OnSearchFailed:function(error,searchType){if(SuggestedReadings.EnableDebug){alert('Failed! '+error.get_message());alert(error.get_stackTrace());}},ShowPopup:function(){eval(this.PopupButton).click();document.cookie='UserPreferenceClick=true';return false;}};$(document).ready(function(){SuggestedReadings.RenderContentList();});Array.prototype.find=function(searchStr){var returnArray=[];for(i=0;i<this.length;i++){if(typeof(searchStr)=='function'){if(searchStr.test(this[i])){returnArray.push(i);}}else{if(this[i].toLowerCase()===searchStr.toLowerCase()){returnArray.push(i);}}}
return returnArray;}
function sortByCount(a,b){return b[0]-a[0];}
function isNumeric(str){var objRegExp=/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;return objRegExp.test(str);}
