function ArticleIndex() { this.scripts = new Array(); this.stories = new Array(); this.searches = new Array(); this.countSearches = new Array(); this.articles = new Array(); if(typeof ArticleIndex._initialized == "undefined") { //Function used to add filters // type = search type // cat = category // start = start of results // end = end of results ArticleIndex.prototype.addFilter = function(type,cat,start,count) { var arIndex = this.scripts.length - 1; if(arIndex < 0)arIndex = 0; this.scripts.push(new Filter(type,cat,start,count)); }; ArticleIndex.prototype.addSearch = function(query,start,count,searchOrder) { var arIndex = this.searches.length - 1; if(arIndex < 0)arIndex = 0; this.searches.push(new Search(query,start,count,searchOrder)); }; ArticleIndex.prototype.loadFilter = function()//Function used to load ajax calls from object 'Filter' { for(var i = 0; i < this.scripts.length; i++) { this.extractViewResults(this.scripts[i].loadAjax()); } }; ArticleIndex.prototype.loadSearch = function()//Function used to load ajax calls from object 'Filter' { for(var i = 0; i < this.searches.length; i++) { this.extractSearchResults(this.searches[i].loadAjax()); } }; ArticleIndex.prototype.getPagesCount = function(x) { if(this.searches.length == 0) return 0; if(this.countSearches.length == 0)this.loadCountSearch(); var total = 0; for(var i = 0; i < this.countSearches.length; i++) { total += this.countSearches[i]; } return (Math.ceil(total/x)); }; ArticleIndex.prototype.getCurrentPage = function(x,start)//items, start { if(this.searches.length == 0) return 0; return (Math.floor(start/x) + 1); }; ArticleIndex.prototype.loadCountSearch = function()//Function used to load ajax calls from object 'Search' { for(var i = 0; i < this.searches.length; i++) { eval(this.searches[i].loadCountAjax()); var str = new String(searchElements); this.countSearches.push(parseInt(str)); searchElements = null; } }; ArticleIndex.prototype.loadStoriesArticles = function()//Function used to load ajax calls from object 'Search' { for(var i = 0; i < this.stories.length; i++) { var article = new Article(this.stories[i].viewDocID); eval(article.loadAjax()); this.articles.push(new ArticleSearchArticleObject(articleResult.DocID,articleResult.Title,articleResult.Summary,articleResult.ArticleAuthorName,articleResult.PageDate,articleResult.Issue,articleResult.Section,articleResult.Subsection,articleResult.Categories,articleResult.Geography,articleResult.Companies,articleResult.Breadcrumbs,articleResult.Headline,articleResult.IntroText,articleResult.RelatedItems,articleResult.RelatedTopics,articleResult.InarticleResultSection,articleResult.Events,articleResult.People,articleResult.MetaKeywords,articleResult.MetaDescription,articleResult.StoryAccess,articleResult.UserName,articleResult.LinkTitles,articleResult.LinkTypes,articleResult.LinkAddresses,articleResult.LinkInfos,articleResult.Attachments,articleResult.ToolsOrderEnable,articleResult.Body)); articleResult = null; } }; ArticleIndex.prototype.loadStoryArticle = function(docID)//Function used to load ajax calls from object 'Search' { var article = new Article(docID); var str = article.loadAjax(); if(str.indexOf('articleResult') != -1) { eval(str); return(new ArticleSearchArticleObject(articleResult.DocID,articleResult.Title,articleResult.Summary,articleResult.ArticleAuthorName,articleResult.PageDate,articleResult.Issue,articleResult.Section,articleResult.Subsection,articleResult.Categories,articleResult.Geography,articleResult.Companies,articleResult.Breadcrumbs,articleResult.Headline,articleResult.IntroText,articleResult.RelatedItems,articleResult.RelatedTopics,articleResult.InarticleResultSection,articleResult.Events,articleResult.People,articleResult.MetaKeywords,articleResult.MetaDescription,articleResult.StoryAccess,articleResult.UserName,articleResult.LinkTitles,articleResult.LinkTypes,articleResult.LinkAddresses,articleResult.LinkInfos,articleResult.Attachments,articleResult.ToolsOrderEnable,articleResult.Body)); } else { return null; } }; //Function used to extract results from ajax call // funcStr = text response from ajax call ArticleIndex.prototype.extractViewResults = function(funcStr) { eval(funcStr); if(typeof viewResults == "object" && viewResults.length > 0) { for(var i = 1; i < viewResults.length; i++) { this.stories.push(new ArticleFilterObject(viewResults[i].viewDocID,viewResults[i].viewTitle,viewResults[i].viewSummary,viewResults[i].viewArticleAuthorName,viewResults[i].viewPageDate,viewResults[i].viewIssue,viewResults[i].viewSection,viewResults[i].viewStoryAccess,viewResults[i].viewParentID,viewResults[i].viewCategories,viewResults[i].viewGeography,viewResults[i].viewCompanies,viewResults[i].viewTreePath)); } } viewResults = null; }; ArticleIndex.prototype.extractSearchResults = function(funcStr) { eval(funcStr); if(this.arrayLoaded(searchResults)) { for(var x in searchResults) { var start = parseInt(x); break; } for(var i = start; i < searchResults.length; i++) { this.stories.push(new ArticleSearchObject(searchResults[i].viewDocID,searchResults[i].viewTitle,searchResults[i].viewSummary,searchResults[i].viewArticleAuthorName,searchResults[i].viewPageDate,searchResults[i].viewIssue,searchResults[i].viewSection,searchResults[i].viewCategories,searchResults[i].viewGeography,searchResults[i].viewCompanies,searchResults[i].viewTreePath)); } } searchResults = null; }; ArticleIndex.prototype.arrayLoaded = function(aArray) { if(!(aArray instanceof Array))return false; for(var x in aArray) { var start = parseInt(x); break; } if(!aArray[start].viewDocID)return false; return true; }; ArticleIndex.prototype.recreateViewResults = function() { viewResults = new Array(); for(var i = 0; i < this.stories.length; i++) { viewResults.push(this.stories[i].copy()); } var oText = document.createElement('textarea'); oText.id = 'displayBox'; oText.setAttribute('rows','100'); oText.setAttribute('cols','80'); document.getElementById('edDeskBody').appendChild(oText); var str = ""; for(var i =0; i < viewResults.length; i++) { str += '\n' + unescape(viewResults[i].viewPageDate) + " " + unescape(viewResults[i].viewSection); } document.getElementById('displayBox').value = '\n\n' + str; }; //Function to sort stories in chronological order // storiesCount = number of items to be stores in variable 'stories' ArticleIndex.prototype.sortStories = function(storiesCount) { var tempArray = new Array(); //tempArray.push(this.stories[0]); for(var i = 0; i < this.stories.length; i++) { tempArray.push(this.stories[i]); } for(var i = 0; i < tempArray.length; i++) { //sortStr += '\n\n' + i + ' '; for(var n = i + 1 ; n < tempArray.length; n++) { var curDate = this.createDate(tempArray[i].viewPageDate); var newDate = this.createDate(tempArray[n].viewPageDate); //alert(curDate.toString() + " " + newDate.toString()); if(newDate > curDate) { var tempStory = tempArray[i]; tempArray[i] = tempArray[n]; tempArray[n] = tempStory; //sortStr += '| i:' + i + ' n:' + n; } } } if(storiesCount > tempArray.length) { var count = tempArray.length; } else { var count = storiesCount; } this.stories = new Array(); for(var i = 0; i < count; i ++) { this.stories.push(tempArray[i].copy()); } }; ArticleIndex.prototype.sortStoriesTitle = function(storiesCount) { for(var i = 0; i < this.stories.length; i++) { for(var n = i + 1 ; n < this.stories.length; n++) { var curTitle = unescape(this.stories[i].viewTitle); var newTitle = unescape(this.stories[n].viewTtile); if(newTitle > curTitle) { var tempStory = this.stories[i].copy(); this.stories[i] = this.stories[n]; this.stories[n] = tempStory; } } } }; ArticleIndex.prototype.createDate = function(aDate) { var arDate = (unescape(aDate)).split('/'); return new Date(Date.UTC(arDate[2],((parseFloat(arDate[1])) - 1).toString(),arDate[0])); }; } ArticleIndex._initialized = true; } // mimic viewResults function ArticleFilterObject(viewDocID,viewTitle,viewSummary,viewArticleAuthorName,viewPageDate,viewIssue,viewSection,viewStoryAccess,viewParentID,viewCategories,viewGeography,viewCompanies,viewTreePath) { this.viewDocID=viewDocID; this.viewTitle=viewTitle; this.viewSummary=viewSummary; this.viewArticleAuthorName=viewArticleAuthorName; this.viewPageDate=viewPageDate; this.viewIssue=viewIssue; this.viewSection=viewSection; this.viewStoryAccess=viewStoryAccess; this.viewParentID=viewParentID; this.viewCategories=viewCategories; this.viewGeography=viewGeography; this.viewCompanies=viewCompanies; this.viewTreePath=viewTreePath; if(typeof ArticleFilterObject._initialized == "undefined") { ArticleFilterObject.prototype.copy = function() { return new ArticleFilterObject(this.viewDocID,this.viewTitle,this.viewSummary,this.viewArticleAuthorName,this.viewPageDate,this.viewIssue,this.viewSection,this.viewStoryAccess,this.viewParentID,this.viewCategories,this.viewGeography,this.viewCompanies,this.viewTreePath); }; } ArticleFilterObject._initialized = true; } function ArticleSearchObject(viewDocID,viewTitle,viewSummary,viewArticleAuthorName,viewPageDate,viewIssue,viewSection,viewCategories,viewGeography,viewCompanies,viewTreePath) { this.viewDocID=viewDocID; this.viewTitle=viewTitle; this.viewSummary=viewSummary; this.viewArticleAuthorName=viewArticleAuthorName; this.viewPageDate=viewPageDate; this.viewIssue=viewIssue; this.viewSection=viewSection; this.viewCategories=viewCategories; this.viewGeography=viewGeography; this.viewCompanies=viewCompanies; this.viewTreePath=viewTreePath; if(typeof ArticleSearchObject._initialized == "undefined") { ArticleSearchObject.prototype.copy = function() { return new ArticleSearchObject(this.viewDocID,this.viewTitle,this.viewSummary,this.viewArticleAuthorName,this.viewPageDate,this.viewIssue,this.viewSection,this.viewCategories,this.viewGeography,this.viewCompanies,this.viewTreePath); }; } ArticleSearchObject._initialized = true; } function ArticleSearchArticleObject(DocID,Title,Summary,ArticleAuthorName,PageDate,Issue,Section,Subsection,Categories,Geography,Companies,Breadcrumbs,Headline,IntroText,RelatedItems,RelatedTopics,InThisSection,Events,People,MetaKeywords,MetaDescription,StoryAccess,UserName,LinkTitles,LinkTypes,LinkAddresses,LinkInfos,Attachments,ToolsOrderEnable,Body) { this.DocID=DocID; this.Title=Title; this.Summary=Summary; this.ArticleAuthorName=ArticleAuthorName; this.PageDate=PageDate; this.Issue=Issue; this.Section=Section; this.Subsection=Subsection; this.Categories=Categories; this.Geography=Geography; this.Companies=Companies; this.Breadcrumbs=Breadcrumbs; this.Headline=Headline; this.IntroText=IntroText; this.RelatedItems=RelatedItems; this.RelatedTopics=RelatedTopics; this.InThisSection=InThisSection; this.Events=Events; this.People=People; this.MetaKeywords=MetaKeywords; this.MetaDescription=MetaDescription; this.StoryAccess=StoryAccess; this.UserName=UserName; this.LinkTitles=LinkTitles; this.LinkTypes=LinkTypes; this.LinkAddresses=LinkAddresses; this.LinkInfos=LinkInfos; this.Attachments=Attachments; this.ToolsOrderEnable=ToolsOrderEnable; this.Body=Body; if(typeof ArticleSearchArticleObject._initialized == "undefined") { ArticleSearchArticleObject.prototype.copy = function() { return new ArticleSearchArticleObject(this.DocID,this.Title,this.Summary,this.ArticleAuthorName,this.PageDate,this.Issue,this.Section,this.Subsection,this.Categories,this.Geography,this.Companies,this.Breadcrumbs,this.Headline,this.IntroText,this.RelatedItems,this.RelatedTopics,this.InThisSection,this.Events,this.People,this.MetaKeywords,this.MetaDescription,this.StoryAccess,this.UserName,this.LinkTitles,this.LinkTypes,this.LinkAddresses,this.LinkInfos,this.Attachments,this.ToolsOrderEnable,this.Body); }; } ArticleSearchArticleObject._initialized = true; }