/*------------------------------------------*/
/* 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: 54266
// test var dump:
// na: 17024 - 19548
// bn: 19598 - 22207
var newsAnalysis = new Array(); newsAnalysis[1] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=33384', 'Compal to set up plants in Poland and Brazil', 'May 09, 2008 - With China's investment conditions turning unattractive, Compal Electronics Inc. plans to set up its new plants in Europe's Poland and South America's Brazil to reduce its excessive focus in China');
newsAnalysis[2] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=33383', 'Third-party DRAM module market to rebound in 2008', 'May 09, 2008 - Following a miserable 2007, the global DRAM module market is expected to rebound gradually in 2008 due to the projected recovery in the overall memory industry, iSuppli Corp. predicts');
newsAnalysis[3] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=33354', 'Compal to raise prices of NB PCs in Q2, 2008', 'May 08, 2008 - The Taiwan-based Compal Electronics Inc., has planned to raise quotations for the PCs in the second quarter of this year to reflect recent price hikes on raw materials');
newsAnalysis[4] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=33355', 'Samsung, Sony and Vizio in tight race for North American LCD-TV leadership', 'May 08, 2008 - Competition in the North American LCD-TV market intensified in the first quarter as the battle for the sales lead tightened up between the Top-3 brands, according to iSuppli Corp');
var breakingNews = new Array();
breakingNews[1] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33385',
'Component placement with maximum flexibility');
breakingNews[2] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33386',
'DEK announces precision screens for PV cell production');
breakingNews[3] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33387',
'Indium announces sales expansion in the Pacific Region');
breakingNews[4] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33388',
'Kyzen to exhibit Metalnox M6314 at Eastec 2008');
breakingNews[5] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33390',
'MSI cuts into car electronics business');
breakingNews[6] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33391',
'Quanta sees revenues growth of 62.5% on year in April');
breakingNews[7] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33392',
'SMTA announce two free events to be featured at SMTAI2008');
breakingNews[8] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=33393',
'ZESTRON further expands its Asia/Pacific organization');