/*------------------------------------------*/
/* 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: 54470
// test var dump:
// na: 16124 - 18917
// bn: 18967 - 21749
var newsAnalysis = new Array(); newsAnalysis[1] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=41825', 'Acer ascends, Dell dives in 2009 PC Market', 'Mar 11, 2010 - Acer Inc. in 2009 came within a hair's breadth of supplanting Dell Inc. as the world's No.-2 PC maker, as the Taiwanese computer maker achieved leading growth among the world's Top-5 brands for the year, according to iSuppli Corp.');
newsAnalysis[2] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=41826', 'SEMI reports 2009 global semiconductor equipment sales of $15.92 Billion', 'Mar 11, 2010 - SEMI, the industry association for companies that supply manufacturing technology and materials to the world's chip makers, reported that worldwide sales of semiconductor manufacturing equipment totaled $15.92 billion in '09.');
newsAnalysis[3] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=41813', 'Nintendo surpasses Samsung as Top Consumer and Wireless MEMS Buyer', 'Mar 10, 2010 - Culminating a neck-and-neck race, Nintendo in 2009 surpassed Samsung to become the world's top purchaser of Microelectromechanical Systems (MEMS) used in consumer electronics products and cell phones, according to iSuppli Corp.');
newsAnalysis[4] = new Array( 'http://www.emsnow.com/npps/story.cfm?pg=story&id=41814', 'Sony's purchases of Taiwan-made electronic products to exceed US$10 B. in 2010', 'Mar 10, 2010 - Sony is going to raise its budget on outsourced electronic products made by Taiwanese contract suppliers to over US$10 billion, accounting for around 30% of the total, this year according to Sony Taiwan's newly installed chairman Naoki Aramaki.');
var breakingNews = new Array();
breakingNews[1] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41827',
'CTS Corporation declares quarterly dividend payable April 30');
breakingNews[2] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41828',
'DEK Solar to showcase pioneering PV3000 at AsiaSolar Energy Photovoltaic Exhibition and Forum');
breakingNews[3] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41829',
'Enhanced reflow cooling technology introduced by Rehm Thermal Systems');
breakingNews[4] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41830',
'Foxconn denies promises to invest in Kaohsiung Harbor');
breakingNews[5] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41831',
'New higher payload capacity for DENSO XR-Series Compact Gantry Robots');
breakingNews[6] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41832',
'Prime Minister of Estonia opened Elcoteq's new manufacturing facility in Tallinn');
breakingNews[7] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41833',
'SEHO introduces innovative process gas cleaning system for reflow soldering machines');
breakingNews[8] = new Array(
'http://www.emsnow.com/npps/story.cfm?pg=story&id=41834',
'ZESTRON sets 2010 goals, raises bar from 2009 record results');