
/*
 * -------
 * :ATTRIBUTION NOTICE BEGINS
 *
 * The following JSMsg functions are:
 * 
 *    (C) Copyright 2002 - 2004, Creativyst, Inc.
 *               ALL RIGHTS RESERVED
 * 
 * For more information go to:
 *   http://www.Creativyst.com/Doc/Std/JSMsg/JSMsg.htm
 * or email:
 *            Support@Creativyst.com
 * 
 * Licensed under the Open Software License version 1.1
 *
 * END ATTRIBUTION NOTICE:
 * -------
 *
 * The following version token is 
 * required by aggregators
 * -------
 * JSMsgVersion:1.0a
 * -------
 *
 * Made by: JSMFeed.pl v1.0e
*/
/* JSCpragma:StartCompress
*/
/* These functions are free software; you can redistribute 
 * them and/or modify them under the terms of the Open 
 * Software License (OSL) version 1.1 as published by
 * the Open Source Initiative;
 * 
 * This program is distributed in the hope that it will 
 * be useful, but WITHOUT ANY WARRANTY; without even the 
 * implied warranty of MERCHANTABILITY or FITNESS FOR A 
 * PARTICULAR PURPOSE. See the Open Software License
 * version 1.1 for more details.
 * 
 * For the complete details of the Open Software License
 * please visit the Open Source Initiative website.
 *
 * 
 * These functions are part of a shared convention.
 * called JSMsg.  Please see the JSMsg document
 * for more details.
 *
 * www.creativyst.com/Doc/Std/JSMsg/JSMsg.htm
 *
 * -------------------------------------------
 * Parts of this code were automatically
 * generated and may contain copyrighted
 * content from other sources as well.
 * Such content may not be used without
 * first obtaining explicit permissions
 * from their sources.
 *
 *
*/

function nn_JSMsg() {

this.Title = Array([this.ShortListSize]);
this.Desc = Array([this.ShortListSize]);
this.Attrib = Array([this.ShortListSize]);
this.Link = Array([this.ShortListSize]);
this.Cat = Array([this.ShortListSize]);
this.DateN = Array([this.ShortListSize]);

this.MetaKeys = Array([6]);
this.MetaVals = Array([6]);



 this.ShortListSize = 17;
 this.BeenLoaded = 0;
 this.dispNumb;

 this.Msg = function(msgPart, msgOffset)
 {
    document.write( this.Get(msgPart, msgOffset) );
 }

 this.MsgDay = function(msgPart)
 {
    document.write( this.GetDay(msgPart) );
 }

 this.MsgN = function(msgPart, msgNumber)
 {
    document.write( this.GetN(msgPart, msgNumber) );
 }


 this.Get = function(msgPart, msgOffset)
 {
    if(!msgOffset) {
        msgOffset = 0;
    }
    if(!this.BeenLoaded) {
        this.BeenLoaded = 1;
        dispNumb = 
           this.getRandInt(this.ShortListSize);
    }
    return( this.GetN(msgPart, (dispNumb + msgOffset)) );
 }

 this.GetMsgN = function()
 {
	return(this.ShortListSize);
 }

 this.GetDay = function(msgPart)
 {
    var d = new Date();
    var x = d.getDate();
    return( this.GetN(msgPart, x) );
 }


 this.GetN = function(msgPart, msgNumber)
 {
    return( this.GetNCore(msgPart, msgNumber) );
 }

 this.GetNCore = function(msgPart, msgNumber)
 {
    var myTmp;

    if(!msgPart) {
        msgPart = "Body";
    }
    if(!msgNumber) {
        msgNumber = 0;
    }

    if(msgNumber >= this.ShortListSize) {
        msgNumber = msgNumber % this.ShortListSize;
    }

    if(  this.ok(msgPart,"Type") ) {
        return(this.Type[msgNumber]);
    }
    if(  this.ok(msgPart,"Title") ) {
        return(this.Title[msgNumber]);
    }
    if(  this.ok(msgPart, "Desc Description Content") ) {
        return(this.Desc[msgNumber]);
    }
    if(  this.ok(msgPart,"Body") ) {
        return(this.Body[msgNumber]);
    }
    if(  this.ok(msgPart, "Attrib Attribute Source") ) {
        return(this.Attrib[msgNumber]);
    }
    if(  this.ok(msgPart, "Author") ) {
        if(!this.Author[msgNumber]) {
            return(this.Attrib[msgNumber]);
        }
        return(this.Author[msgNumber]);
    }

    if(  this.ok(msgPart,"DayN Day2N Day") ) {
        myTmp = this.DateN[msgNumber];
        if(myTmp.length) { 
          myTmp = myTmp.substr(6,2);
          if(  this.ok(msgPart,"Day2N") ) {
            return(myTmp);
          }
          if(myTmp.charAt(0) == "0") {
            return(myTmp.substr(1,1))
          }
          return(myTmp);
        }
    }
    if(  this.ok(msgPart, "MonthN Month2N") ) {
        myTmp = this.DateN[msgNumber];
        if(myTmp.length) {
          myTmp = myTmp.substr(4,2)
          if(  this.ok(msgPart,"Month2N") ) {
            return(myTmp);
          }
          if(myTmp.charAt(0) == "0") {
            return(myTmp.substr(1,1))
          }
          return(myTmp);
        }
    }
    if(  this.ok(msgPart, "Year2N Year4N YearN Year") ) {
        if(this.DateN[msgNumber].length) {
          if(  this.ok(msgPart,"Year2N") ) {
            return(this.DateN[msgNumber].substr(2,2));
          }
          return(this.DateN[msgNumber].substr(0,4));
        }
    }

    if(  this.ok(msgPart,"Time") ) {
      myTmp = this.DateN[msgNumber];
      return(myTmp.substr(8,6));
    }
    if(  this.ok(msgPart,"Hour2N") ) {
      myTmp = this.DateN[msgNumber];
      return(myTmp.substr(8,2));
    }
    if(  this.ok(msgPart,"Minute2N") ) {
      myTmp = this.DateN[msgNumber];
      return(myTmp.substr(10,2));
    }

    if(  this.ok(msgPart,"Link") ) {
        return(this.Link[msgNumber]);
    }
    if( this.ok(msgPart,"LinkTitle") ) {
        if(this.MetaMsg(msgPart,"Link") && this.MetaMsg(msgPart,"Title") ) {
          if( !this.Link[msgNumber] ) {
              return(this.Title[msgNumber]);
          }

          if( !this.Title[msgNumber] ) {
            this.Title[msgNumber] =  this.Link[msgNumber];              
          }
          myTmp = '<A TARGET="_blank" \n'; 
          myTmp = myTmp + 'HREF="' + this.Link[msgNumber] + '">\n';
          myTmp = myTmp + this.Title[msgNumber] + '</A>\n';

          return(myTmp);

        }
        if( this.MetaMsg(msgPart,"Title") ) {
          return(this.Title[msgNumber]);
        }
        if( this.MetaMsg(msgPart,"Link") ) {
          if( this.Link[msgNumber] ) {
            myTmp = "<A TARGET=\"_blank\" \n"; 
            myTmp = myTmp + "HREF=\"" + this.Link[msgNumber] + "\">\n";
            myTmp = myTmp + this.Link[msgNumber] + "</A>\n";
            return(myTmp);
          }
        }
        return("");
    }
    if( this.ok(msgPart,"Cat Category Subject") ) {
        return(this.Cat[msgNumber]);
    }
    if( this.ok(msgPart,"Thumb") ) {
        return(this.Thumb[msgNumber]);
    }
    if( this.ok(msgPart,"Alt") ) {
        return(this.Alt[msgNumber]);
    }

    return("");
 }




 this.getRandInt = function(RandSz)
 {
    var t, t2, t3;

    t = 0;
    while(t < .000001) {
        t = Math.random();
        t = Math.abs(t);
    }
    t2 = t * 1000000;
    t2 = Math.round(t2);
    t3 = t2 % RandSz;
    return(t3);
 }



 this.ok = function(a, b)
 {
    var t, t2;

    if(!this.is(a,b)) {
        return(0);
    }
    return(this.MetaMsg(a));
 }

 this.is = function(a, b)
 {
    var t, t2;

    t = a + " ";
    t2 = b + " ";
    t2 = t2.toUpperCase();
    t = t.toUpperCase();

    if(t2.indexOf(t) == -1) {
        return(0);
    }
    return(1);
 }


 this.MetaMsg = function(msgCmd)
 {
    var i,l;

    if( this.is(msgCmd, "Title LinkTitle Desc Description Attrib Source Link LinkTitle Cat Category SubjectDayN Day2N MonthN Month2N Year2N Year4N YearN Year Time Hour2N Minute2N ") ) {
         return(1);

    }
    else if( this.is(msgCmd, "MetaCount") ) {
        return(17);
    }
    else {
        if(this.MetaKeys) {
            l = this.MetaKeys.length;
            for(i = 0;i < l;i++) {
                if(this.MetaKeys[i] == msgCmd) {
                    return(this.MetaVals[i]);
                }
            }
        }
        return(0);
    }
 }

     

}

nn = new nn_JSMsg();

/* how slow is the with statement */

with( nn ) {
/* Meta values
*/
MetaKeys[0] = "MetaCopyright";
MetaVals[0] = "Copyright (c) 2010 Yahoo! Inc. All rights reserved.";
MetaKeys[1] = "MetaTitle";
MetaVals[1] = "Yahoo! News: Technology News";
MetaKeys[2] = "MetaLink";
MetaVals[2] = "http://news.yahoo.com/technology";
MetaKeys[3] = "MetaLinkTitle";
MetaVals[3] = "<A HREF=\"http://news.yahoo.com/technology\" CLASS=\"JSMsg\">Yahoo! News: Technology News</A>";
MetaKeys[4] = "MetaUpdateDate";
MetaVals[4] = "20100209023429";
MetaKeys[5] = "MetaDesc";
MetaVals[5] = "Technology News";


/* content vaues:
*/
Title[0] = "Electronic Arts shares dive on weak outlook \n    (AP)\n";
Desc[0] = "&#60;p>&#60;a href=\"http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100209/ap_on_hi_te/us_earns_electronic_arts\">&#60;img src=\"http://d.yimg.com/a/p/ap/20100208/capt.88435f1e8b8b49cca6bac02d4800c50f.earns_electronic_arts_caps105.jpg?x=130&y=86&q=85&sig=VnMeaKsaARtJjtvBRocGAw--\" align=\"left\" height=\"86\" width=\"130\" alt=\"Wii and PlayStation 3 versions of Madden NFL 10, an Electronic Arts game, are shown at Best Buy in Mountain View, Calif., Monday, Feb. 8, 2010. Electronic Arts Inc. is showing a smaller net loss in its last quarter even though its video game sales declined. (AP Photo/Paul Sakuma)\" border=\"0\" />&#60;/a>AP - A disappointing outlook from Electronic Arts Inc. sent shares of the video game publisher sharply lower Monday, a sign that significant cost-cuts and layoffs have not ended the company&#039;s slump.&#60;/p>&#60;br clear=\"all\"/>";
Attrib[0] = "AP";
Link[0] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100209/ap_on_hi_te/us_earns_electronic_arts";
Cat[0] = "technology";
DateN[0] = "20100209000530";

Title[1] = "Security chip that does encryption in PCs hacked \n    (AP)\n";
Desc[1] = "&#60;p>&#60;a href=\"http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100208/ap_on_hi_te/us_tec_crypto_chip_cracked\">&#60;img src=\"http://d.yimg.com/a/p/ap/20100208/capt.bb8c38bc45bc4994b775bc0c76c90608.crypto_chip_hacked_vajm201.jpg?x=130&y=116&q=85&sig=PGt_.g8L6PVZpkelR.4IIQ--\" align=\"left\" height=\"116\" width=\"130\" alt=\"In this Tuesday, Feb. 2, 2010 photo, Chris Tarnovsky poses for photos after speaking at the Black Hat Briefings in Arlington, Va. Tarnovsky figured out a way to break chips that carry a &#039;Trusted Platform Module,&#039; or TPM, designation. Such chips are billed as the industry&#039;s most secure and are estimated to be in as many as 100 million personal computers and servers, according to market research firm IDC. (AP Photo/Jacquelyn Martin)\" border=\"0\" />&#60;/a>AP - Deep inside millions of computers is a digital Fort Knox, a special chip with the locks to highly guarded secrets, including classified government reports and confidential business plans. Now a former U.S. Army computer-security specialist has devised a way to break those locks.&#60;/p>&#60;br clear=\"all\"/>";
Attrib[1] = "AP";
Link[1] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100208/ap_on_hi_te/us_tec_crypto_chip_cracked";
Cat[1] = "technology";
DateN[1] = "20100208203139";

Title[2] = "MySpace Music experiments with audio ads \n    (AP)\n";
Desc[2] = "AP - Hoping to boost revenue, MySpace Music has begun experimenting with audio advertisements that users must hear if they want to listen to music for free online.";
Attrib[2] = "AP";
Link[2] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100208/ap_on_hi_te/us_tec_techbit_myspace_music_audio_ads";
Cat[2] = "technology";
DateN[2] = "20100208234653";

Title[3] = "Chinese police shut down hacker training business \n    (AP)\n";
Desc[3] = "AP - Police in central China have shut down a hacker training operation that openly recruited thousands of members online and provided them with cyberattack lessons and malicious software, state media said Monday.";
Attrib[3] = "AP";
Link[3] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100208/ap_on_bi_ge/as_china_hacking";
Cat[3] = "business";
DateN[3] = "20100208082644";

Title[4] = "Google cuts fee to break Nexus One contract \n    (AP)\n";
Desc[4] = "AP - Google Inc. has lowered by $200 the fee it charges customers who break a standard two-year contract for its new Nexus One phone on the T-Mobile USA Inc. network.";
Attrib[4] = "AP";
Link[4] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100209/ap_on_hi_te/us_tec_google_phone_fee";
Cat[4] = "technology";
DateN[4] = "20100209022245";

Title[5] = "PayPal halts certain payment transactions in India \n    (AP)\n";
Desc[5] = "AP - The online payments service PayPal has taken the unusual step of suspending many transactions in India for more than a week.";
Attrib[5] = "AP";
Link[5] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100207/ap_on_hi_te/us_tec_paypal_india";
Cat[5] = "technology";
DateN[5] = "20100207022543";

Title[6] = "China plans online gambling crackdown \n    (Reuters)\n";
Desc[6] = "Reuters - China plans to crack down on the online gambling industry, including the banks and websites that support it, the Ministry of Public Security said in a statement posted on its website.";
Attrib[6] = "Reuters";
Link[6] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/nm/20100209/wr_nm/us_china_internet_gambling";
Cat[6] = "technology";
DateN[6] = "20100209023429";

Title[7] = "Control Your Nokia N900 With Sony&#39;s Sixaxis Controller \n    (PC World)\n";
Desc[7] = "PC World - We recently stumbled across a hack that allowed the Nokia N900 to run Mac OS X. Now another mod has surfaced, but this time it&#39;s all about gaming.";
Attrib[7] = "PC World";
Link[7] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/pcworld/20100208/tc_pcworld/controlyournokian900withsonyssixaxiscontroller";
Cat[7] = "technology";
DateN[7] = "20100208215900";

Title[8] = "Nuance Communications narrows 1Q loss \n    (AP)\n";
Desc[8] = "AP - Speech-recognition software maker Nuance Communications Inc. said Monday it narrowed its loss in the fiscal first quarter as revenue in the company&#039;s two largest divisions, health care and dictation, and mobile and enterprise, increased.";
Attrib[8] = "AP";
Link[8] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100209/ap_on_bi_ge/apfn_us_earns_nuance_communications";
Cat[8] = "business";
DateN[8] = "20100209021047";

Title[9] = "TiVo: Doritos&#39; &#39;House Rules&#39; Ad Wins Super Bowl \n    (PC Magazine)\n";
Desc[9] = "PC Magazine - Doritos&#39; ad featuring a tough-as-nails kid slapping some sense into his mother&#39;s date stole the show as the most-watched Super Bowl ad, according to data collected by the TiVo &quot;Stop Watch&quot; service.";
Attrib[9] = "PC Magazine";
Link[9] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/zd/20100208/tc_zd/248204";
Cat[9] = "technology";
DateN[9] = "20100208101733";

Title[10] = "EA in the red for 12th quarter in a row \n    (AFP)\n";
Desc[10] = "&#60;p>&#60;a href=\"http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/afp/20100209/bs_afp/lifestyleusvideogamesearningscompanyea\">&#60;img src=\"http://d.yimg.com/a/p/afp/20100209/capt.photo_1265682622298-1-0.jpg?x=130&y=86&q=85&sig=DXeGjDEfrI8EMcuLUIoP0Q--\" align=\"left\" height=\"86\" width=\"130\" alt=\"A fair-goer plays a computer game at an Electronic Arts-developed game at a computer convention. US videogame giant Electronic Arts was unable to fight its way out of the red over the Christmas holidays, and has posted a net loss for the 12th consecutive quarter.(AFP/File/Barbara Sax)\" border=\"0\" />&#60;/a>AFP - US videogame giant Electronic Arts was unable to fight its way out of the red over the Christmas holidays, and has posted a net loss for the 12th consecutive quarter.&#60;/p>&#60;br clear=\"all\"/>";
Attrib[10] = "AFP";
Link[10] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/afp/20100209/bs_afp/lifestyleusvideogamesearningscompanyea";
Cat[10] = "business";
DateN[10] = "20100209023336";

Title[11] = "Rumor: Core i7 Coming Soon to MacBook Pro? \n    (PC World)\n";
Desc[11] = "PC World - Rumors are hinting that an upgrade to Apple&#39;s MacBook Pro notebook line could be coming in the near future. The rumor comes courtesy of French site Nowhere Else, which claims that Apple will reveal updated Macbook Pro&#39;s featuring Intel&#39;s newest Core i7 chips. &#39;";
Attrib[11] = "PC World";
Link[11] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/pcworld/20100209/tc_pcworld/rumorcorei7comingsoontomacbookpro";
Cat[11] = "technology";
DateN[11] = "20100209005400";

Title[12] = "SAP CEO Abruptly Resigns; Co-CEOs Will Take Over \n    (NewsFactor)\n";
Desc[12] = "NewsFactor - Leading business-software maker SAP AG (NYSE: SAP) on Monday announced a strategic shift in the corporate suite. Léo Apotheker has resigned as CEO and member of the SAP executive board, effective immediately. The abrupt decision came as part of a &quot;mutual agreement&quot; with the company&#39;s supervisory board not to extend Apotheker&#39;s contract as a member of the executive board.";
Attrib[12] = "NewsFactor";
Link[12] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/nf/20100208/tc_nf/71539";
Cat[12] = "technology";
DateN[12] = "20100208212614";

Title[13] = "Intel, IBM roll out new computer network chips \n    (AFP)\n";
Desc[13] = "&#60;p>&#60;a href=\"http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/afp/20100209/bs_afp/usitinternetchipcompanyintelibm\">&#60;img src=\"http://d.yimg.com/a/p/afp/20100209/capt.photo_1265682085872-1-0.jpg?x=130&y=82&q=85&sig=i.WQclW0BQmYKUZXX1zHog--\" align=\"left\" height=\"82\" width=\"130\" alt=\"US technology titans IBM and Intel have rolled out powerful new computer chips designed for businesses continually demanding more from networks and data centers.(AFP/File/John Macdougall)\" border=\"0\" />&#60;/a>AFP - US technology titans IBM and Intel have rolled out powerful new computer chips designed for businesses continually demanding more from networks and data centers.&#60;/p>&#60;br clear=\"all\"/>";
Attrib[13] = "AFP";
Link[13] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/afp/20100209/bs_afp/usitinternetchipcompanyintelibm";
Cat[13] = "business";
DateN[13] = "20100209022719";

Title[14] = "Summary Box: New attack shows security chip hole \n    (AP)\n";
Desc[14] = "AP - CRACKING THE UNCRACKABLE: A former U.S. Army computer-security specialist has found a way to break into a type of chip that protects the most important secrets inside many personal computers.";
Attrib[14] = "AP";
Link[14] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/ap/20100208/ap_on_hi_te/us_tec_crypto_chip_cracked_summary_box";
Cat[14] = "technology";
DateN[14] = "20100208205433";

Title[15] = "InfoWorld review: Windows on the Mac \n    (InfoWorld)\n";
Desc[15] = "InfoWorld - Why choose between Windows 7 and Snow Leopard when you can have both? A Mac with virtualization software is a great platform for running Mac OS X, Windows, Linux, or other Intel-based operating systems, all at the same time. There&#39;s also Mac OS X&#39;s native Boot Camp, but it only supports Windows and doesn&#39;t give you access to Mac OS X without rebooting.";
Attrib[15] = "InfoWorld";
Link[15] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/infoworld/20100208/tc_infoworld/112060";
Cat[15] = "technology";
DateN[15] = "20100208110000";

Title[16] = "Apple iPad Price Cut: Blunder or Brilliance? \n    (PC World)\n";
Desc[16] = "PC World - If Apple is really considering price cuts on its just-introduced iPad, the best advice is to make them before launch, not after.";
Attrib[16] = "PC World";
Link[16] = "http://us.rd.yahoo.com/dailynews/rss/tech/*http://news.yahoo.com/s/pcworld/20100209/tc_pcworld/appleipadpricecutblunderorbrilliance";
Cat[16] = "technology";
DateN[16] = "20100209003700";

} // end with block
