
YAHOO.namespace ("rssBalloon");

YAHOO.rssBalloon.TOPRSSLINK = "StoryContent_MidPageNavigation_NewTopRssLink";

YAHOO.rssBalloon.isInitialized = false;
YAHOO.rssBalloon.columnName = null;

YAHOO.rssBalloon.init = function()
{
    YAHOO.rssBalloon.isInitialized = true;

    var RSSCOLUMN = "http://marketwatch.com/rss/columns/?column=";
    var RSSTOPSTORIES = "http://feeds.marketwatch.com/marketwatch/topstories/";
    var RSSDEFAULTTITLE = "Top Stories";
    var IMGLOC = "http://i.mktw.net/mw3/news/rssballoon_images/"

    var ctxY = YAHOO.util.Dom.getY(YAHOO.rssBalloon.TOPRSSLINK);
    var ctxX = YAHOO.util.Dom.getX(YAHOO.rssBalloon.TOPRSSLINK);
    ctxY += 10;
    ctxX -= 340;

    var backgroundConfig = { xy:[ctxX,ctxY], visible:true, width:"370px", iframe:false, zIndex:2};
    var contextConfig = { xy:[ctxX,ctxY], visible:true, width:"370px", iframe:false, zIndex:3};

    YAHOO.rssBalloon.overlayBackground = new YAHOO.widget.Overlay("overlayBackground", backgroundConfig);
    YAHOO.rssBalloon.overlayContext = new YAHOO.widget.Overlay("overlayContext", contextConfig );

    YAHOO.rssBalloon.overlayBackground.setHeader("<div class='overlayBackgroundhd'></div>");
    YAHOO.rssBalloon.overlayBackground.setBody("<div id='overlayrssSpace' class='overlayrssSpace'></div>");
    YAHOO.rssBalloon.overlayBackground.setFooter("<div class='overlayrssFt'></div>");
    YAHOO.rssBalloon.overlayBackground.render(document.body);

    YAHOO.util.Dom.addClass('overlayBackground', 'shown');

    var columnNameElement = document.getElementById(YAHOO.rssBalloon.TOPRSSLINK);
    var rssUrl = "";
    var rssFeedName = "";

    if(YAHOO.rssBalloon.columnName != null)
    {
        rssFeedName = YAHOO.rssBalloon.columnName;
        //most rss readers do not allow spaces; trying this as a work around
        YAHOO.rssBalloon.columnName = YAHOO.rssBalloon.columnName.replace(/ /g, "_");
        rssUrl = RSSCOLUMN + escape(YAHOO.rssBalloon.columnName);
    }
    else
    {
        rssFeedName = RSSDEFAULTTITLE;
        rssUrl = RSSTOPSTORIES;
    }

    //Button Obj Format - href, src, width, height, border, align
    yhooButton = new YAHOO.rssBalloon.button("http://us.rd.yahoo.com/my/atm/MarketWatch/MarketWatch/*http://add.my.yahoo.com/rss?url=" + rssUrl,"yahooRss.gif", 91, 17, 0, "middle");
    aolButton = new YAHOO.rssBalloon.button("http://feeds.my.aol.com/?url=" + rssUrl, "aolRss.gif",63,14,0,"middle");
    gatorButton = new YAHOO.rssBalloon.button("http://www.newsgator.com/ngs/subscriber/subext.aspx?url=" + rssUrl, "gator.gif",91,17,0,"middle");
    rojoButton = new YAHOO.rssBalloon.button("http://www.rojo.com/add-subscription?resource=" + rssUrl, "rojoRss.gif",91,17,0,"middle");
    msnButton = new YAHOO.rssBalloon.button("http://my.msn.com/addtomymsn.armx?id=rss&ut=" + rssUrl, "msnRss.gif",71,14,0,"middle");
    bloglinesButton = new YAHOO.rssBalloon.button("http://www.bloglines.com/sub/" + rssUrl, "bloglinesRss.gif",76,17,0,"middle");
    googleButton = new YAHOO.rssBalloon.button("http://fusion.google.com/add?feedurl=" + rssUrl, "googleRss.gif",104,17,0,"middle");     
    pageflakeButton = new YAHOO.rssBalloon.button("http://www.pageflakes.com/subscribe.aspx?url=" + rssUrl, "pageflakesRss.gif",116,17,0,"middle"); 

    YAHOO.rssBalloon.overlayContext.setHeader("<div class='hdmain'><div id='hdcloselink' class='hdcloselink'><a href='#' id='hdcloselinka'>close</a></div><div class='hdmaintitle'>Subscribe to " + rssFeedName + "</div></div>");
    YAHOO.rssBalloon.overlayContext.setBody( "<div class='bdsub'>Choose your favorite RSS reader below:</div><div class = 'bdbuttonrow1'><div class='bdbuttonfloat'><div class='bdbutton'><a href=" + yhooButton.href +"><img src=" + IMGLOC + yhooButton.src +" width="+ yhooButton.width +" height="+ yhooButton.height +" border="+ yhooButton.border +" align="+ yhooButton.align +" alt='Add to My Yahoo!'></a></div>" +
                   "<div class='bdbutton'><a href=" + aolButton.href +"><img src=" + IMGLOC + aolButton.src +" width="+ aolButton.width +" height="+ aolButton.height +" border="+ aolButton.border +" align="+ aolButton.align +" alt='Add to My AOL'/></a></div>" +
                   "<div class='bdbutton'><a href=" + gatorButton.href +"><img src=" + IMGLOC + gatorButton.src +" width="+ gatorButton.width +" height="+ gatorButton.height +" border="+ gatorButton.border +" align="+ gatorButton.align +" alt='Subscribe in NewsGator Online'/></a></div></div></div>" + // end button float - end row1
                   "<div class='bdbuttonrow2'><div class='bdbuttonfloat'><div class='bdbutton'><a href=" + rojoButton.href +"><img src=" + IMGLOC + rojoButton.src +" width="+ rojoButton.width +" height="+ rojoButton.height +" border="+ rojoButton.border +" align="+ rojoButton.align +" alt='Subscribe in Rojo'></a></div>" +
                   "<div class='bdbutton'><a href=" + msnButton.href +"><img src=" + IMGLOC + msnButton.src +" width="+ msnButton.width +" height="+ msnButton.height +" border="+ msnButton.border +" align="+ msnButton.align +" alt='Subscribe using MSN'></a></div>" +
                   "<div class='bdbutton'><a href=" + bloglinesButton.href +"><img src=" + IMGLOC + bloglinesButton.src +" width="+ bloglinesButton.width +" height="+ bloglinesButton.height +" border="+ bloglinesButton.border +" align="+ bloglinesButton.align +" alt='Subscribe with Bloglines' /></a></div></div></div>" + //end button float - end row2
                   "<div class = 'bdbuttonrow3'><div class='bdbuttonfloat'><div class='bdbutton'><a href=" + googleButton.href +"><img src=" + IMGLOC + googleButton.src +" width="+ googleButton.width +" height="+ googleButton.height +" border="+ googleButton.border +" alt='Add to Google'></a></div>"  +
                   "<div class='bdbutton'><a href=" + pageflakeButton.href +"><img src=" + IMGLOC + pageflakeButton.src +" width="+ pageflakeButton.width +" height="+ pageflakeButton.height +" border="+ pageflakeButton.border +" align="+ pageflakeButton.align +" alt='Add to Page Flakes'></a></div></div></div>" + //end button float - end row2
                   "<div class='bdendtext'>Paste this link into your favorite RSS desktop reader:</div>" +
                   "<div class='urltext'>" + rssUrl+ "</div>");
                   
    YAHOO.rssBalloon.overlayContext.setFooter("<div class='ftline'></div><div class='ftendtext'>See all the RSS MarketWatch offers:</div><div class='ftlink'><a href='http://marketwatch.com/rss/'>http://marketwatch.com/rss/</a></div>");                                                               
    YAHOO.rssBalloon.overlayContext.render(document.body);

    var closeLink = document.getElementById('hdcloselinka');
    YAHOO.util.Event.addListener(closeLink, 'click', YAHOO.rssBalloon.hideBalloon);
};


YAHOO.rssBalloon.setup = function ()
{
    var mainRssLink = document.getElementById(YAHOO.rssBalloon.TOPRSSLINK);
    YAHOO.util.Event.addListener(mainRssLink, 'click', YAHOO.rssBalloon.showBalloon);
};


YAHOO.rssBalloon.button = function (href, src, width, height, border, align)
{
    this.href=href;
    this.src=src;
    this.width=width;
    this.height=height;
    this.border=border;
    this.align = align;
}


YAHOO.rssBalloon.showBalloon = function(e)
{
    if (!YAHOO.rssBalloon.isInitialized)
    {
        YAHOO.rssBalloon.init();
    }
    else
    {
        YAHOO.rssBalloon.overlayBackground.show();
        YAHOO.rssBalloon.overlayContext.show();
    }

    YAHOO.util.Event.preventDefault(e);
}


YAHOO.rssBalloon.hideBalloon = function(e)
{
    YAHOO.rssBalloon.overlayContext.hide();
    YAHOO.rssBalloon.overlayBackground.hide();

    YAHOO.util.Event.preventDefault(e);
}


YAHOO.util.Event.onContentReady('__EVENTVALIDATION', YAHOO.rssBalloon.setup);
