function FeedMenu( sLinkSelector, sClass ){
    var jqoFeedMenu = jQuery('<span class="feed_menu"><div class="feed_menu_options"></div></span>');var jqoSelect = jqoFeedMenu.find('div');
    if( sClass ){ jqoFeedMenu.addClass( sClass ); }
    var defaults = { links: sLinkSelector || 'link[type*=rss],link[type*=atom]' };
    this.build = function( mFeedLinks ) {
    	mFeedLinks = mFeedLinks || defaults.links;
    	var oAtom = jQuery('<optgroup label="Atom Feeds"></optgroup>');var oRSS 	= jQuery('<div></div>'); var oAll    = [];
    	jQuery(mFeedLinks).each(
    		function(){
    			var sFeedType = jQuery(this).is('link[type*=rss]')? "rss" : jQuery(this).is('link[type*=atom]')?"atom":null;
    			var sFeedTitle= jQuery(this).is('link')? "Subscribe to '" + jQuery(this).attr('title') + "'" : jQuery(this).attr('title');
    			
    			var oOption = jQuery('<a></a>')
    					.html( sFeedTitle )
    					.attr('href', jQuery(this).attr('href') );
    			
    			if( sFeedType == 'rss' ) { oRSS.append(oOption); } else if ( sFeedType == 'atom' ) { oAtom.append(oOption); }
    			oAll.push(oOption);
    			
    		}
    	);
    	if ( oRSS.find('option').length > 1 ) { if( jQuery.browser.opera){ jqoSelect.append( oRSS.find('a') ); }else{ jqoSelect.append( oRSS ); } }	
    	if ( oAtom.find('option').length > 1 ) { if( jQuery.browser.opera){jqoSelect.append( oAtom.find('option') );}else{jqoSelect.append( oAtom );} } else { for( opt in oAll){jqoSelect.append( oAll[opt] );} }
    	jqoSelect
    		.blur( 	function(){if( jQuery.browser.msie || jQuery.browser.safari || jQuery.browser.opera ){ this.selectedIndex = -1;}jqoFeedMenu.removeClass('open'); })
    		.focus( function(){if( jQuery.browser.msie || jQuery.browser.safari || jQuery.browser.opera ){this.selectedIndex = -1;}jqoFeedMenu.addClass('open'); } )
    		.change(function(){if( jQuery.browser.msie || jQuery.browser.safari || jQuery.browser.opera ){var i = this.selectedIndex;this.selectedIndex = -1;if ( i > -1 ) {var o = this.options[i];this.selectedIndex = -1;document.location.href = jQuery(o).attr('value');}}})
    		.get(0).selectedIndex=-1;
    }
    this.write = function( mTarget ) { mTarget = mTarget || 'body';this.build();jQuery(mTarget).append( jqoFeedMenu ); }
}
