SlideShare a Scribd company logo
1 of 12
Download to read offline
20/20 | Investigative Journalism & News Magazine
"
newsbulletin.nbFooter = ""
//append widget header
$("#newsbulletin .midcontainer").append("");
$("#newsbulletin .midcontainer").append(newsbulletin.nbContainer);
$("#newsbulletin .midcontainer").append(newsbulletin.nbFooter);
newsbulletin.nbDiv = document.getElementById('nbItemContainer');
nbjsId = 0;
newsbulletin.load = function()
//alert(newsbulletin.baseloc+'/xmldata/newsbulletin?id=14528028twOverride=lpos='+newsbulletin.
lpos+'section='+nbjsId)
//to try and handle caching in webkit browsers
dynamicJS.load('newsBulletin'+nbjsId,
newsbulletin.baseloc+'/xmldata/newsbulletin?id=14528028twOverride=lpos='+newsbulletin.lpos2+
'section='+nbjsId);
//dynamicJS.load('newsBulletin','http://preview.abcnews.go.com/xmldata/newsbulletin?id=13564505'
);
//display items
newsbulletin.displayItems = function(nbItemObj)
//check if status update
this.isStatusUpdate = (nbItemObj.label == 'Status Update')?true:false;
//item type class
this.itemTypeClass = (this.isStatusUpdate)?'orange':'blue';
//bg position
this.itemBgPos = '100% 55%';
if(nbItemObj.bgPos != null)
this.itemBgPos = nbItemObj.bgPos;
//author image
this.nbItemStyle = '';
this.nbH4Class = 'class=nbheader';
this.nbH4Style = '';
this.nbItemStyleAuthor = '';
if(nbItemObj.authorimage != null nbItemObj.authorimage != '')
this.nbH4Style = ' style=width:210px;';
this.nbItemStyle = 'background:url('+nbItemObj.authorimage+') no-repeat bottom right'//+
this.itemBgPos;
this.nbItemStyleAuthor = ' nbItemContentsAuthor'
//title
this.title = '
'+nbItemObj.title+'
';
if(nbItemObj.link != null nbItemObj.link != '')
this.title = ''
//text
this.text = '';
this.textCapped = '';
this.morelink = 'More'
if(nbItemObj.text != null)
this.text = nbItemObj.text;
//if item is not expanded display capped text if applicable
if(nbItemObj.isExpanded != true)
if(nbItemObj.text.length 63)
this.textCapped = nbItemObj.text.substring(0, 63);
this.text = this.textCapped + '...';
if(this.isStatusUpdate)
this.text = this.textCapped + '... ' + this.morelink;
//social
this.social = '';
this.socialStyle = '';
this.authorBlock = '';
this.divider = '';
this.fb = '';
if(nbItemObj.authorfb != null nbItemObj.authorfb != '')
this.fb = ''
this.twitter = '';
if(nbItemObj.authortwitter != null nbItemObj.authortwitter != '')
this.twitter = ''
this.bio = '';
if(nbItemObj.authorbio != null nbItemObj.authorbio != '')
this.bio = ''+nbItemObj.author+''
this.authorBlock = '
'+this.bio+'
'
if(nbItemObj.author != null nbItemObj.author != '') this.twitter != '')
this.socialCustomStyle = '';
this.social = this.fb + this.twitter;
this.socialStyle = ' style="height:21px; padding: 2px 0px;' + this.socialCustomStyle + '"';
else
this.social = '';
this.textStyle = '';
if(nbItemObj.authorimage != null nbItemObj.authorimage != '')
this.textStyle = ' style=width:208px;';
else
this.categoryTag = '';
this.nbTextOverride = '';
this.rowTemp = ''+this.authorBlock+'
'+nbItemObj.date+'
'+this.title+'
'+this.text+'
'+this.social+'
';
if (nbItemObj.notes)
nbNotes = nbItemObj.notes;
nbNoteStr = '';
nbNoteDivider = '';
$.each(nbNotes, function(idx)
nbNote = nbNotes[idx];
this.noteAuthorBlock = '';
this.notefb = '';
if(nbNote.noteAuthor.facebook != null nbNote.noteAuthor.facebook != '')
this.notefb = ''
this.notetwitter = '';
if(nbNote.noteAuthor.twitter != null nbNote.noteAuthor.twitter != '')
this.notetwitter = ''
this.notebio = '';
if(nbNote.noteAuthor.bio != null nbNote.noteAuthor.bio != '')
this.notebio = ''+nbNote.noteAuthor.name+''
this.noteAuthorBlock = '
'+this.notebio+'
'
this.notesocial = '';
this.noteSocialStyle = '';
if(nbNote.noteAuthor.name != null nbNote.noteAuthor.name != '')else
this.notesocial = '';
if (idx == nbNotes.length-1)
nbNoteDivider = '';
this.nbNoteDiv = '
'+nbNote.noteHeadline+'
'+this.noteAuthorBlock+'
'+nbNote.noteOverview+'
'+this.notesocial+'
';
nbNoteStr += this.nbNoteDiv;
);
this.rowTemp += nbNoteStr;
return this.rowTemp;
function showMoreText(id)
//grab old item height
var oldItemHeight = $('#nbItem_'+id).height();
//retrieve the content from the array
$('#text_'+id).html(contentObject[id])
//store id a list of opened objects
fullTextList.push(id.toString());
var newContainerHeight = $("#nbItemContainer").height() + ($('#nbItem_'+id).height()-
oldItemHeight);
$("#nbItemContainer").css('height', newContainerHeight);
//reinitialize scroll
window.api.reinitialise();
lastNBObjStr = '';
function isNewData(data)
isNewTemp = false;
currNBObjStr = '';
$.each(data.updates, function(ind)
currNBObjStr = currNBObjStr + data.updates[ind].objId + data.updates[ind].date;
);
//console.log('x'+currNBObjStr);
//console.log('y'+lastNBObjStr);
if(currNBObjStr != lastNBObjStr)
isNewTemp = true;
else
//console.log('no refresh');
lastNBObjStr = currNBObjStr;
return isNewTemp;
isHeaderLinkLoaded = false; // flag to check if the header link is loaded
isShareLinkLoaded = false; // flag to check if the share link is loaded
isDoneLoading = false; // flag to check if the html is done loading in the jScrollPane
function newsBulletin(data)
if(data)
isNewDataFlag = isNewData(data);
if(isNewDataFlag)
//clear contents first
newsbulletin.nbDiv.innerHTML = '';
//console.log('refresh');
updates = data.updates;
headerLink = data.widgetLink;
shareLink = data.shareLink;
if (headerLink != '' headerLink != null !isHeaderLinkLoaded)
var twitterImg = " "
$("#newsbulletin .midcontainer .widget_head").append("");
$("#newsbulletin .midcontainer .widget_head .twitterLink a .twitterContent").append("" +
twitterImg + "");
isHeaderLinkLoaded = true;
//clear the author cutouts array
newsbulletin.authorCutouts = [];
// check to see if there is a height set for container, if so clear it
// prevents cacheing
var hasHeight = $('#nbItemContainer').attr('style');
if (typeof hasHeight != 'undefined')
$('#nbItemContainer').removeAttr('style');
$.each(updates, function(ind)
var itemDetails = new Object();
it = updates[ind];
//populate the itemDetails object
itemDetails.id = it.objId;
itemDetails.title = it.title;
itemDetails.objType = it.objType;
itemDetails.link = it.link;
itemDetails.date = it.date;
itemDetails.label = it.label;
itemDetails.author = it.author.name;
itemDetails.authorbio = it.author.bio;
itemDetails.authorfb = it.author.facebook;
itemDetails.authortwitter = it.author.twitter;
itemDetails.feed = it.feed;
itemDetails.category = it.category;
//set defaults if item is a status update
if(itemDetails.label == 'Status Update')
if(it.author.image == '')
it.author.image = 'http://a.abcnews.com/assets/images/abc_news_logo_84x84.png'
if(it.author.name == '')
itemDetails.author = 'ABC News'
itemDetails.authorfb = 'http://www.facebook.com/abcnews'
itemDetails.authortwitter = 'http://twitter.com/abc'
//only pass the author image if it's not displayed in any of the items yet
if($.inArray(it.author.image, newsbulletin.authorCutouts) == -1)
itemDetails.authorimage = it.author.image;
//add to ignore list
if(it.author.image != '' ($.inArray(it.author.image, newsbulletin.authorCutouts) == -1))
newsbulletin.authorCutouts.push(it.author.image);
if(it.text != '')
itemDetails.text = it.text;
else
itemDetails.bgPos = 'bottom right';
if (it.notes)
itemDetails.notes = it.notes;
//build a name value pair list of id/text
contentObject[itemDetails.id] = itemDetails.text
itemDetails.isExpanded = ($.inArray(itemDetails.id, fullTextList) -1) ? true : false;
//build markup
$("#nbItemContainer").append(newsbulletin.displayItems(itemDetails));
);
$("#nbItemContainer").append('');
//set the height of container div
$("#nbItemContainer").css('height',$("#nbItemContainer").height());
if (shareLink != '' shareLink != null !isShareLinkLoaded)
$("#newsbulletin .midcontainer .nbFooter").css("height":"35px", "border-top":"1px solid #d5d5d5",
"border-bottom":"border-bottom:1px solid #eaeaea");
$("#newsbulletin .midcontainer .nbFooter").append("");
isShareLinkLoaded = true;
if($.browser.msie)
if ($.browser.version .midcontainer .nbFooter").css("display":"none");
var timeoutId = setTimeout(function()
$("#newsbulletin .midcontainer .nbFooter").css("display":"block");
clearTimeout(timeoutId);
, 3000);
dynamicJS.unload('newsBulletin'+nbjsId,
newsbulletin.baseloc+'/xmldata/newsbulletin?id=14528028'+nbjsId);
isDoneLoading = true;
if ($.browser.webkit)
if(nbjsId .midcontainer .nbFooter").css("display":"none");
var timeoutId = setTimeout(function()
$("#newsbulletin .midcontainer .nbFooter").css("display":"block");
clearTimeout(timeoutId);
, 3000);
7500)
setInterval(
function()
window.api.getContentPane().html(
newsbulletin.load()
);
,
60000
);
setInterval(function()
// we could call "pane.jScrollPane(settings)" again but it is
// more convenient to call via the API as then the original
// settings we passed in are automatically remembered.
// Initialization of the container should be done after all the markup has been loaded
// since there is no listener that could be passed into reinitialise() for callback
if (isDoneLoading)
window.api.reinitialise();
isDoneLoading = false;
, 5000);
;
addOnload(newsbulletin.load());
http://abcnews.go.com/2020

More Related Content

What's hot

20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazineagonizingspeed722
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazinewrathfulmedal3110
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National Newscoldpoet326
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newswrathfulmedal3110
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newsmoz4
 
What Would You Do? With John Quinones
What Would You Do? With John QuinonesWhat Would You Do? With John Quinones
What Would You Do? With John Quinonesagonizingspeed722
 
Home and Garden | Home Improvement and Decorating Tips
Home and Garden | Home Improvement and Decorating TipsHome and Garden | Home Improvement and Decorating Tips
Home and Garden | Home Improvement and Decorating Tipsshortguidebook822
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazineagonizingspeed722
 
Nightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC NewsNightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC Newsabandoneddecoy407
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC Newsduraninmwsbnwel
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newsgreencontract5911
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazinewrathfulmedal3110
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC Newspainstakingsled66
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newsgreedycabin1256
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newsblogginatl1963
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazinesean3dunlap5
 

What's hot (20)

U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 
What Would You Do? With John Quinones
What Would You Do? With John QuinonesWhat Would You Do? With John Quinones
What Would You Do? With John Quinones
 
Home and Garden | Home Improvement and Decorating Tips
Home and Garden | Home Improvement and Decorating TipsHome and Garden | Home Improvement and Decorating Tips
Home and Garden | Home Improvement and Decorating Tips
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine
 
Nightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC NewsNightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC News
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC News
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC News
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 

Viewers also liked

Positioning a product or service
Positioning a product or servicePositioning a product or service
Positioning a product or serviceChristian Reich
 
Iniciación al Inbound Marketing de Extravaganza Communication
Iniciación al Inbound Marketing de Extravaganza Communication Iniciación al Inbound Marketing de Extravaganza Communication
Iniciación al Inbound Marketing de Extravaganza Communication Extravaganza Communication
 
Amelia The Brave (Old)
Amelia The Brave (Old)Amelia The Brave (Old)
Amelia The Brave (Old)Melanie Joe
 
Redes sociales
Redes socialesRedes sociales
Redes socialesdmendezr
 
2015 INTERNATIONAL ICT LEADING SEAGULLS
2015 INTERNATIONAL ICT LEADING SEAGULLS2015 INTERNATIONAL ICT LEADING SEAGULLS
2015 INTERNATIONAL ICT LEADING SEAGULLSdoctorsofbooks
 
Detailed plan of filming
Detailed plan of filmingDetailed plan of filming
Detailed plan of filmingAmyRyckaert
 
Izabela Cholewińska Prezentacja
Izabela Cholewińska PrezentacjaIzabela Cholewińska Prezentacja
Izabela Cholewińska PrezentacjaIzabela1991
 
Linkedn Presentation Oakton Community College
Linkedn Presentation Oakton Community CollegeLinkedn Presentation Oakton Community College
Linkedn Presentation Oakton Community CollegeDenis Curtin
 
SACME power point presentation
SACME power point presentationSACME power point presentation
SACME power point presentationJoshua Wagner
 
Redes sociales
Redes socialesRedes sociales
Redes socialesdmendezr
 
Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]
Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]
Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]Sully Urrego
 
Microsoft Advanced Threat Analytics - How it Works - Presented by Atidan
Microsoft Advanced Threat Analytics - How it Works - Presented by AtidanMicrosoft Advanced Threat Analytics - How it Works - Presented by Atidan
Microsoft Advanced Threat Analytics - How it Works - Presented by AtidanDavid J Rosenthal
 

Viewers also liked (20)

Positioning a product or service
Positioning a product or servicePositioning a product or service
Positioning a product or service
 
EL P.N.F.I
EL P.N.F.IEL P.N.F.I
EL P.N.F.I
 
Iniciación al Inbound Marketing de Extravaganza Communication
Iniciación al Inbound Marketing de Extravaganza Communication Iniciación al Inbound Marketing de Extravaganza Communication
Iniciación al Inbound Marketing de Extravaganza Communication
 
Amelia The Brave (Old)
Amelia The Brave (Old)Amelia The Brave (Old)
Amelia The Brave (Old)
 
Actividad nº 1
Actividad nº 1Actividad nº 1
Actividad nº 1
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
2015 INTERNATIONAL ICT LEADING SEAGULLS
2015 INTERNATIONAL ICT LEADING SEAGULLS2015 INTERNATIONAL ICT LEADING SEAGULLS
2015 INTERNATIONAL ICT LEADING SEAGULLS
 
WCPT poster
WCPT posterWCPT poster
WCPT poster
 
Mmmmm
MmmmmMmmmm
Mmmmm
 
Detailed plan of filming
Detailed plan of filmingDetailed plan of filming
Detailed plan of filming
 
Adec 1st month
Adec 1st monthAdec 1st month
Adec 1st month
 
Izabela Cholewińska Prezentacja
Izabela Cholewińska PrezentacjaIzabela Cholewińska Prezentacja
Izabela Cholewińska Prezentacja
 
Maria Crimi Speth
Maria Crimi SpethMaria Crimi Speth
Maria Crimi Speth
 
Biblia um porto_seguro
Biblia um porto_seguroBiblia um porto_seguro
Biblia um porto_seguro
 
Linkedn Presentation Oakton Community College
Linkedn Presentation Oakton Community CollegeLinkedn Presentation Oakton Community College
Linkedn Presentation Oakton Community College
 
SACME power point presentation
SACME power point presentationSACME power point presentation
SACME power point presentation
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]
Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]
Matrizdeidentificacindeactividades 141203135648-conversion-gate02 [reparado]
 
Microsoft Advanced Threat Analytics - How it Works - Presented by Atidan
Microsoft Advanced Threat Analytics - How it Works - Presented by AtidanMicrosoft Advanced Threat Analytics - How it Works - Presented by Atidan
Microsoft Advanced Threat Analytics - How it Works - Presented by Atidan
 

Similar to 20/20 | Investigative Journalism & News Magazine

World News Tonight With David Muir
World News Tonight With David MuirWorld News Tonight With David Muir
World News Tonight With David Muirblogginatl1963
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC Newspainstakingsled66
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC Newsmoaninglunatic320
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newsmoaninglunatic320
 
World News Tonight With David Muir
World News Tonight With David MuirWorld News Tonight With David Muir
World News Tonight With David Muirobsoletesermon471
 
What Would You Do? With John Quinones
What Would You Do? With John QuinonesWhat Would You Do? With John Quinones
What Would You Do? With John Quinonesmoaninglunatic320
 
Nightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC NewsNightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC Newsabandoneddecoy407
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC Newspainstakingsled66
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National Newsblogginatl1963
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazinedemonicrhythm3717
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newsagonizingspeed722
 
International News | World News
International News | World NewsInternational News | World News
International News | World Newswhisperingwhiz946
 

Similar to 20/20 | Investigative Journalism & News Magazine (14)

World News Tonight With David Muir
World News Tonight With David MuirWorld News Tonight With David Muir
World News Tonight With David Muir
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC News
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC News
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 
World News Tonight With David Muir
World News Tonight With David MuirWorld News Tonight With David Muir
World News Tonight With David Muir
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 
What Would You Do? With John Quinones
What Would You Do? With John QuinonesWhat Would You Do? With John Quinones
What Would You Do? With John Quinones
 
Nightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC NewsNightline: Late Evening News - ABC News
Nightline: Late Evening News - ABC News
 
Technology and Science News - ABC News
Technology and Science News - ABC NewsTechnology and Science News - ABC News
Technology and Science News - ABC News
 
U.S. News | National News
U.S. News | National NewsU.S. News | National News
U.S. News | National News
 
20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine20/20 | Investigative Journalism & News Magazine
20/20 | Investigative Journalism & News Magazine
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 
International News | World News
International News | World NewsInternational News | World News
International News | World News
 

20/20 | Investigative Journalism & News Magazine

  • 1. 20/20 | Investigative Journalism & News Magazine " newsbulletin.nbFooter = "" //append widget header $("#newsbulletin .midcontainer").append(""); $("#newsbulletin .midcontainer").append(newsbulletin.nbContainer); $("#newsbulletin .midcontainer").append(newsbulletin.nbFooter); newsbulletin.nbDiv = document.getElementById('nbItemContainer'); nbjsId = 0; newsbulletin.load = function() //alert(newsbulletin.baseloc+'/xmldata/newsbulletin?id=14528028twOverride=lpos='+newsbulletin. lpos+'section='+nbjsId) //to try and handle caching in webkit browsers dynamicJS.load('newsBulletin'+nbjsId, newsbulletin.baseloc+'/xmldata/newsbulletin?id=14528028twOverride=lpos='+newsbulletin.lpos2+ 'section='+nbjsId); //dynamicJS.load('newsBulletin','http://preview.abcnews.go.com/xmldata/newsbulletin?id=13564505' ); //display items newsbulletin.displayItems = function(nbItemObj) //check if status update this.isStatusUpdate = (nbItemObj.label == 'Status Update')?true:false; //item type class this.itemTypeClass = (this.isStatusUpdate)?'orange':'blue'; //bg position this.itemBgPos = '100% 55%'; if(nbItemObj.bgPos != null)
  • 2. this.itemBgPos = nbItemObj.bgPos; //author image this.nbItemStyle = ''; this.nbH4Class = 'class=nbheader'; this.nbH4Style = ''; this.nbItemStyleAuthor = ''; if(nbItemObj.authorimage != null nbItemObj.authorimage != '') this.nbH4Style = ' style=width:210px;'; this.nbItemStyle = 'background:url('+nbItemObj.authorimage+') no-repeat bottom right'//+ this.itemBgPos; this.nbItemStyleAuthor = ' nbItemContentsAuthor' //title this.title = ' '+nbItemObj.title+' '; if(nbItemObj.link != null nbItemObj.link != '') this.title = '' //text this.text = ''; this.textCapped = ''; this.morelink = 'More' if(nbItemObj.text != null) this.text = nbItemObj.text; //if item is not expanded display capped text if applicable if(nbItemObj.isExpanded != true) if(nbItemObj.text.length 63)
  • 3. this.textCapped = nbItemObj.text.substring(0, 63); this.text = this.textCapped + '...'; if(this.isStatusUpdate) this.text = this.textCapped + '... ' + this.morelink; //social this.social = ''; this.socialStyle = ''; this.authorBlock = ''; this.divider = ''; this.fb = ''; if(nbItemObj.authorfb != null nbItemObj.authorfb != '') this.fb = '' this.twitter = ''; if(nbItemObj.authortwitter != null nbItemObj.authortwitter != '') this.twitter = '' this.bio = ''; if(nbItemObj.authorbio != null nbItemObj.authorbio != '') this.bio = ''+nbItemObj.author+'' this.authorBlock = '
  • 4. '+this.bio+' ' if(nbItemObj.author != null nbItemObj.author != '') this.twitter != '') this.socialCustomStyle = ''; this.social = this.fb + this.twitter; this.socialStyle = ' style="height:21px; padding: 2px 0px;' + this.socialCustomStyle + '"'; else this.social = ''; this.textStyle = ''; if(nbItemObj.authorimage != null nbItemObj.authorimage != '') this.textStyle = ' style=width:208px;'; else this.categoryTag = ''; this.nbTextOverride = ''; this.rowTemp = ''+this.authorBlock+' '+nbItemObj.date+' '+this.title+' '+this.text+' '+this.social+'
  • 5. '; if (nbItemObj.notes) nbNotes = nbItemObj.notes; nbNoteStr = ''; nbNoteDivider = ''; $.each(nbNotes, function(idx) nbNote = nbNotes[idx]; this.noteAuthorBlock = ''; this.notefb = ''; if(nbNote.noteAuthor.facebook != null nbNote.noteAuthor.facebook != '') this.notefb = '' this.notetwitter = ''; if(nbNote.noteAuthor.twitter != null nbNote.noteAuthor.twitter != '') this.notetwitter = '' this.notebio = ''; if(nbNote.noteAuthor.bio != null nbNote.noteAuthor.bio != '') this.notebio = ''+nbNote.noteAuthor.name+'' this.noteAuthorBlock = ' '+this.notebio+' ' this.notesocial = ''; this.noteSocialStyle = ''; if(nbNote.noteAuthor.name != null nbNote.noteAuthor.name != '')else this.notesocial = ''; if (idx == nbNotes.length-1) nbNoteDivider = '';
  • 6. this.nbNoteDiv = ' '+nbNote.noteHeadline+' '+this.noteAuthorBlock+' '+nbNote.noteOverview+' '+this.notesocial+' '; nbNoteStr += this.nbNoteDiv; ); this.rowTemp += nbNoteStr; return this.rowTemp; function showMoreText(id) //grab old item height var oldItemHeight = $('#nbItem_'+id).height(); //retrieve the content from the array $('#text_'+id).html(contentObject[id]) //store id a list of opened objects fullTextList.push(id.toString()); var newContainerHeight = $("#nbItemContainer").height() + ($('#nbItem_'+id).height()- oldItemHeight); $("#nbItemContainer").css('height', newContainerHeight); //reinitialize scroll window.api.reinitialise(); lastNBObjStr = ''; function isNewData(data)
  • 7. isNewTemp = false; currNBObjStr = ''; $.each(data.updates, function(ind) currNBObjStr = currNBObjStr + data.updates[ind].objId + data.updates[ind].date; ); //console.log('x'+currNBObjStr); //console.log('y'+lastNBObjStr); if(currNBObjStr != lastNBObjStr) isNewTemp = true; else //console.log('no refresh'); lastNBObjStr = currNBObjStr; return isNewTemp; isHeaderLinkLoaded = false; // flag to check if the header link is loaded isShareLinkLoaded = false; // flag to check if the share link is loaded isDoneLoading = false; // flag to check if the html is done loading in the jScrollPane function newsBulletin(data) if(data) isNewDataFlag = isNewData(data); if(isNewDataFlag)
  • 8. //clear contents first newsbulletin.nbDiv.innerHTML = ''; //console.log('refresh'); updates = data.updates; headerLink = data.widgetLink; shareLink = data.shareLink; if (headerLink != '' headerLink != null !isHeaderLinkLoaded) var twitterImg = " " $("#newsbulletin .midcontainer .widget_head").append(""); $("#newsbulletin .midcontainer .widget_head .twitterLink a .twitterContent").append("" + twitterImg + ""); isHeaderLinkLoaded = true; //clear the author cutouts array newsbulletin.authorCutouts = []; // check to see if there is a height set for container, if so clear it // prevents cacheing var hasHeight = $('#nbItemContainer').attr('style'); if (typeof hasHeight != 'undefined') $('#nbItemContainer').removeAttr('style'); $.each(updates, function(ind) var itemDetails = new Object(); it = updates[ind]; //populate the itemDetails object itemDetails.id = it.objId; itemDetails.title = it.title; itemDetails.objType = it.objType;
  • 9. itemDetails.link = it.link; itemDetails.date = it.date; itemDetails.label = it.label; itemDetails.author = it.author.name; itemDetails.authorbio = it.author.bio; itemDetails.authorfb = it.author.facebook; itemDetails.authortwitter = it.author.twitter; itemDetails.feed = it.feed; itemDetails.category = it.category; //set defaults if item is a status update if(itemDetails.label == 'Status Update') if(it.author.image == '') it.author.image = 'http://a.abcnews.com/assets/images/abc_news_logo_84x84.png' if(it.author.name == '') itemDetails.author = 'ABC News' itemDetails.authorfb = 'http://www.facebook.com/abcnews' itemDetails.authortwitter = 'http://twitter.com/abc' //only pass the author image if it's not displayed in any of the items yet if($.inArray(it.author.image, newsbulletin.authorCutouts) == -1) itemDetails.authorimage = it.author.image; //add to ignore list if(it.author.image != '' ($.inArray(it.author.image, newsbulletin.authorCutouts) == -1)) newsbulletin.authorCutouts.push(it.author.image); if(it.text != '') itemDetails.text = it.text; else
  • 10. itemDetails.bgPos = 'bottom right'; if (it.notes) itemDetails.notes = it.notes; //build a name value pair list of id/text contentObject[itemDetails.id] = itemDetails.text itemDetails.isExpanded = ($.inArray(itemDetails.id, fullTextList) -1) ? true : false; //build markup $("#nbItemContainer").append(newsbulletin.displayItems(itemDetails)); ); $("#nbItemContainer").append(''); //set the height of container div $("#nbItemContainer").css('height',$("#nbItemContainer").height()); if (shareLink != '' shareLink != null !isShareLinkLoaded) $("#newsbulletin .midcontainer .nbFooter").css("height":"35px", "border-top":"1px solid #d5d5d5", "border-bottom":"border-bottom:1px solid #eaeaea"); $("#newsbulletin .midcontainer .nbFooter").append(""); isShareLinkLoaded = true; if($.browser.msie) if ($.browser.version .midcontainer .nbFooter").css("display":"none"); var timeoutId = setTimeout(function() $("#newsbulletin .midcontainer .nbFooter").css("display":"block"); clearTimeout(timeoutId); , 3000); dynamicJS.unload('newsBulletin'+nbjsId, newsbulletin.baseloc+'/xmldata/newsbulletin?id=14528028'+nbjsId); isDoneLoading = true; if ($.browser.webkit)
  • 11. if(nbjsId .midcontainer .nbFooter").css("display":"none"); var timeoutId = setTimeout(function() $("#newsbulletin .midcontainer .nbFooter").css("display":"block"); clearTimeout(timeoutId); , 3000); 7500) setInterval( function() window.api.getContentPane().html( newsbulletin.load() ); , 60000 ); setInterval(function() // we could call "pane.jScrollPane(settings)" again but it is // more convenient to call via the API as then the original // settings we passed in are automatically remembered. // Initialization of the container should be done after all the markup has been loaded // since there is no listener that could be passed into reinitialise() for callback if (isDoneLoading) window.api.reinitialise(); isDoneLoading = false; , 5000); ; addOnload(newsbulletin.load());