/********************************* news.js for EA.com code by Byron Tredwell (byron(AT)blastradius.com) *********************************/ //RSS NEWS FEED function writeNewsFeed(feedType,feedNum) { loadXMLDoc("/_includes/rss_conduit.jsp?feed="+feedType,feedType,function(){doNewsRSSReady(feedType,feedNum)},function(){doNewsRSSWait(feedType,feedNum)}); } function doNewsRSSWait(feedType,feedNum) { var newsBlock = getElm(feedType+"_"+feedNum); if(!newsBlock) return; var waitHTML = "
Loading XML...
" writeHTML(newsBlock,waitHTML); } function doNewsRSSReady(feedType,feedNum) { feedNum = parseInt(feedNum); var newsBlock = getElm(feedType+"_"+feedNum); if(!newsBlock) return; if(!xmlDocs[feedType]) return; var rssXML = xmlDocs[feedType].xml; if(!rssXML) return; clearElm(newsBlock); var rssItems = rssXML.getElementsByTagName("item"); var feedItemCount = 0; var newsItem = ""; for(var i=0; i < rssItems.length; i++) { var itemNode = rssItems[i]; var text = ""; var href = ""; for(var j=0; j < itemNode.childNodes.length; j++) { if(itemNode.childNodes[j].nodeName == "title") { text = getNodeValue(itemNode.childNodes[j]); } if(itemNode.childNodes[j].nodeName == "link") { href = getNodeValue(itemNode.childNodes[j]); } } if(text != "" && href != "") { newsItem += "
"+text+"
"; feedItemCount++; } if(feedItemCount >= feedNum) { break; } } writeHTML(newsBlock,newsItem); } //TITLE SITE NEWS / EVENTS HELPERS //init the scrolling for a news list function initNewsList(gridNum) { initScrollingComponent(gridNum); var comp = getElm("comp_"+gridNum); var contW = comp.offsetWidth; var lOne = getElm("news_all_"); var lTwo = getElm("news_community_"); lOne.style.width = (contW-(PADDING+SB_WIDTH)) +"px"; lTwo.style.width = (contW-(PADDING+SB_WIDTH)) +"px"; var lOne = getElm("listOneFirstChild_"+gridNum+"_0"); var lTwo = getElm("listTwoFirstChild_"+gridNum+"_0"); lOne.style.marginTop = "0px"; if(lTwo && typeof lTwo != "undefined"){ lTwo.style.marginTop = "0px"; } } function resetNewsListScroller(tab) { if(typeof nlScrollbar != "undefined" && firstLoad){ nlScrollbar.reset(tab.pane.id); showFirstArticle(tab) } firstLoad = true; } function showFirstArticle(tab){ sectionTab = tab.id.substring(5,tab.id.length-4); switch(sectionTab){ case "all": articleType = ""; break; case "easports": articleType = "generic"; break; case "community": articleType = "community"; break; default: articleType = ""; } newDataId = eval(articleType + "_firstItemDataId"); newDCR = eval(articleType + "_firstItemDCR"); shortDCR = newDCR.substring(13,newDCR.length-16); if(shortDCR.length>0){ if(shortDCR.substring(0,1) == "/"){ shortDCR = shortDCR.substring(1,shortDCR.length); } } newItemId = shortDCR + articleType + newDataId; getNewsArticle(newDCR, newDataId,newItemId); } function initNewsArticle(dataDCR,id) { var nac = getElm("newsArticleScrollContainer"); nac.style.top = PADDING+"px"; nac.style.height = (nac.parentNode.offsetHeight - (nac.offsetTop+(PADDING*2))) +"px"; nac.style.width = (nac.parentNode.offsetWidth) +"px"; var nal = getElm("newsArticleScroll"); var contW = nac.offsetWidth; nal.style.width = (contW-WIDTH_W_SCROLL) +"px"; naScrollbar = new scrollbar("naScrollbar","newsArticleScroll"); naScrollbar.sb.style.top = nac.style.top; getNewsArticle(dataDCR,id,""); } function getNewsArticle(dataDCR,id,itemId) { loadXMLDoc("/_includes/xml_news_events_article.jsp?dcr="+dataDCR+"&id="+id,dataDCR+"_"+id,function(){doNewsArticleReady(dataDCR,id,itemId)},function(){doNewsArticleWait(dataDCR,id)}); } function doNewsArticleWait() { var newsBlock = getElm("newsEventsArticle"); if(!newsBlock) return; var winScroll = getScrollTop(window); var readableTop = getOffsetProperty("newsEventsArticle","Top")-10; if(winScroll > readableTop) window.scrollTo(0,readableTop); var waitHTML = "
Loading XML...
" writeHTML(newsBlock,waitHTML); } function doNewsArticleReady(dataDCR,id,itemId) { var newsBlock = getElm("newsEventsArticle"); if(!newsBlock) return; var newsXML = xmlDocs[dataDCR+"_"+id].xml; if(!newsXML) return; //clearElm(newsBlock); //find the first ELEMENT_NODE node - its our root (IE will place a PROCESSING_INSTRUCTION_NODE in there) for(var i=0; i < newsXML.childNodes.length; i++) { if(newsXML.childNodes[i].nodeType == Node.ELEMENT_NODE) { newsXML = newsXML.childNodes[i]; break; } } var newsHTML = ""; for(var i=0; i < newsXML.childNodes.length; i++) { if(newsXML.childNodes[i].nodeType != Node.ELEMENT_NODE) continue; var HTMLtext = getNodeValue(newsXML.childNodes[i]); if(newsXML.childNodes[i].nodeName == "title") { newsHTML += "

"+HTMLtext+"

"; } if(newsXML.childNodes[i].nodeName == "subtitle") { newsHTML += "

"+HTMLtext+"

"; } if(newsXML.childNodes[i].nodeName == "type") { newsHTML += "
"+HTMLtext+"
"; } if(newsXML.childNodes[i].nodeName == "date") { newsHTML += "
"+HTMLtext+"
"; } if(newsXML.childNodes[i].nodeName == "body") { newsHTML += "
"+HTMLtext+"
"; } } writeHTML(newsBlock,newsHTML); naScrollbar.reset("newsArticleScroll"); if(itemId!="") hiliteHeadline(itemId) } function hiliteHeadline(itemId){ var headlineLink = getElm("headline_" + itemId); var teaserDiv = getElm("teaser_" + itemId); if(!headlineLink) return; headlineLink.className="on" teaserDiv.className="teaserOn"; if(currItem != "" && itemId != currItem){ getElm("headline_" + currItem).className = "off"; getElm("teaser_" + currItem).className = "teaser"; } currItem = itemId; }