/*------------------------------------------*/
/* Name: EMSNow.com News Feed */
/* Version: 1.0 */
/* Updated: Tuesday, December 7, 2004 */
/* Developer: Quadsimia (quadsimia.com) */
/* ------------------------- */
/* Permission granted to use this script in */
/* any application, provided this header is */
/* left intact. */
/*------------------------------------------*/
/* -----------------------------------------------------------
BASIC USAGE:
1. link to this javascript file on the EMSnow site in the header of your page.
2. call the emsNowNews() function from the area on your page where news is to appear.
That's it, for a basic news display.
ADVANCED USAGE:
The emsnowNews() function can be called with arguments to provide more control over the news feed.
The arguments are all optional.
emsNowNews([type [, width [, height [, style]]]]);
type = the type of news you're requesting:
'NA' = news analysis; 'BN' = breaking news; '' = both
width = the width of the news box
height = the height of the news box (if you set a height smaller than the news contents, it will scroll)
style = stylesheet to use. can be a local file or a remote URL:
'' = emsNowNews.css (installed on EMSNow's site); 'none' = no style applied
EXAMPLE:
To produce a box 300 pixels wide by 400 pixels high that contains only the News Analysis:
Put this line in the
of your document:
Put this line in the of your document:
---------------------------------------------------------------- */
// initialize these global variables for later use
var newsType;
var newsBoxWidth;
var newsBoxHeight;
var newsBoxId = 'emsNowNews';
var newsStyle;
var dirBase = 'http://www.emsnow.com/newsadop/';
// the main function - called directly from a web page
function emsNowNews(whichNews,boxWidth,boxHeight,style){
// set these global variables according to the user-specified arguments
newsType = whichNews;
newsBoxWidth = boxWidth;
newsBoxHeight = boxHeight;
newsStyle = style;
// create the news box and hide it until its data is loaded
document.write('');
var newsBox = document.getElementById('emsNowNews');
newsBox.style.display = 'none';
getEMSNow();
}
function applyStylesheet(style){
// determine which stylesheet (if any) to apply
if(!style) {
stylesheet = dirBase + 'emsNowNews.css'; // if no stylesheet was specified, use the default one
} else {
if(style == 'none') return; // don't use any stylesheet
if(style.substr(0,7) == 'http://') {
stylesheet = style;
} else if(style.substr(style.length-4,4) == '.css') {
stylesheet = style;
}
}
// create the style tag
var docHead = document.getElementsByTagName('head')[0];
var styleTag = document.createElement('link');
styleTag.setAttribute('rel','stylesheet');
styleTag.setAttribute('type','text/css');
styleTag.setAttribute('href',stylesheet);
// write the style tag to the page
docHead.appendChild(styleTag);
}
function getEMSNow(){
// which type of news are we requesting?
switch(newsType){
case 'BN':
sBN = showBreakingNews();
break;
case 'NA':
sNA = showNewsAnalysis();
break;
case 'NA+BN':
default:
sNA = showNewsAnalysis();
sBN = showBreakingNews();
break;
}
// add the EMSNow news content to its containing box
var newsBox = document.getElementById('emsNowNews');
newsBox.innerHTML = '
';
if (window.sNA) newsBox.innerHTML += sNA;
if (window.sBN) newsBox.innerHTML += sBN;
if (newsBoxWidth) newsBox.style.width = newsBoxWidth + 'px';
if (newsBoxHeight) newsBox.style.height = newsBoxHeight + 'px';
newsBox.style.display = 'block';
applyStylesheet(newsStyle);
}
// function to parse the "News Analysis" section
function showNewsAnalysis(){
// if the newsAnalysis array exists
if (window.newsAnalysis){
var na = '';
// the newsAnalysis array is defined externally
for(i=1; i' + newsAnalysis[i][1] + '
' + newsAnalysis[i][2] + '
';
}
// add the title and containing box
na = '
News Analysis
' + na + '
';
return na;
}
}
// function to parse the "Breaking News" section
function showBreakingNews(){
// if the breakingNews array exists
if (window.breakingNews){
var bn = '';
// the breakingNews array is defined externally
for(i=1; i' + breakingNews[i][1] + '';
}
// add the title and containing box
bn = '
Breaking News
' + bn + '
';
return bn;
}
}
// news data length, test: 53285
// test var dump:
// na: 16053 - 18646
// bn: 18696 - 20836
var newsAnalysis = new Array(); newsAnalysis[1] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=39949', 'Can Europe cut road deaths in half by next year?', 'Jul 03, 2009 - The European Union (E.U.) and the European Commission (E.C.) have adopted the admirable goal of cutting the number of deaths on the region's roads seen in 2001 in half by 2010.');
newsAnalysis[2] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=39950', 'Cheng Uei scores orders from Microsoft's Xbox machines', 'Jul 03, 2009 - Cheng Uei Precision Industry Co., Ltd. has taken orders for Xbox 360 game consoles from Microsoft Corp. In the second half of this year, Cheng Uei is expected to ship a maximum of one million units of the game consoles per month.');
newsAnalysis[3] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=39939', 'Ready for the surge? IC Insights' 2H09/1H09 forecast', 'Jul 02, 2009 - According to IC Insights' soon-to-be-released Mid-Year Update to The McClean Report, 2009 is forecast to be a "tale of two halves." ');
newsAnalysis[4] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=39938', 'Real-time traffic service revenue to boom over the next five years', 'Jul 02, 2009 - Real-time traffic information is emerging as a must-have feature in automotive navigation and telematics solutions, causing global revenue from service subscriptions to rise by nearly a factor of 18 during the period from 2008 to 2014.');
var breakingNews = new Array();
breakingNews[1] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=39951',
'Arrow Electronics' CEO to Ring the New York Stock Exchange Closing Bell');
breakingNews[2] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=39952',
'FlexTech Alliance awards contract to Uni-Pixel Displays');
breakingNews[3] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=39953',
'Quanta expected to ship over 3 million notebooks in June');
breakingNews[4] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=39954',
'Seika Machinery, Inc. features YJ Link Conveyor Systems');
breakingNews[5] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=39955',
'SMTA International Conference program finalised and registration now open');
breakingNews[6] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=39956',
'Ucamco announces sale of Integr8tor to Multicircuits (USA)');