	
	var _maxForNav = 16;
	var _jsticker;
	var _newsCnt; // used as store for maximum amount of news items.	
	var _newsIndex = 1;	//init variable which will be used as pointer/index
	var _speed = 4000; //normal speed of news presentation in milliseconds
	var _clickDelay = 8000;	//delayed speed of presentation of story after user selects a dsitinct item.
	var _tweenSpeed = 400; //in/out alpha speed of transition. 
	var _newsTimer;	// variable/holder for timer event.
	var _wOffset = 161; // horizontal offset of main ul containing news/li items. Experiment to find best value. Differen pad/margin combo on el determines val.
	var _wSize = 300; //width to set li/news elements to for overflow to hide non-current choices.
	var _arr; //array to initially hold news items.
	
	if (!legacy){
	
		$(document).ready(function(){
			
			
			//alert("1");
			
			_jsticker = $('#jsticker');
			
			if ( $(_jsticker)!=null){
			
				$(_jsticker).css("opacity", 0.0);	
				_u = $('#news ul');
				_arr = $('#news ul li a');
				
				
				if ( _arr.length>0 ){		
					if (_arr.length<=_maxForNav){
						createControlItems(  );
					}else{
						createControlItemsNav(  );
					}
					setupNewsItems(  );			
					$("#control li a#nc_" + _newsIndex ).css("opacity", 1);	
					_newsTimer = setTimeout( 'changeNews()', _speed );			
				}else{
					
					if (_u.length>0){
						var feed = "";
						feed = $('#news ul').attr("rel");
						//alert("2 - " + feed);
						if (feed!=""){
							getExternalFeed(feed);
						}
					}
				}
			
			}
			
			
		
		});
	
	}
	
	function getExternalFeed(_feed){
		
		$.get(_feed, {}, buildExternalTicker);
		
	}
	
	function logger(_str){
		
		/*try{  
			
			console.log(_str);
			
		} catch(e) {}*/
		
		
	}
	
	function createLiElement( _obj ){
		
		var li = document.createElement("li");
		$(li).appendTo( $('#news ul') );
		
		var a = document.createElement("a");			
		//var blah = foo.replace(/\//g, "\\");
		//$(a).text( $(_obj).find("title").text().replace(/\//g, " / " ) );
		$(a).text( $(_obj).find("title").text() );
		$(a).attr( "title", $(_obj).find("title").text() );
		$(a).attr( "href", $(_obj).find("link").text() );
		$(a).attr( "target", "_blank" );
		$(a).appendTo( $(li) );/**/
		
		
	}
	
	function buildExternalTicker(_rss){
		
		//alert(items);
		
		var items = $(_rss).find("item");
		
		//alert(items);
		
		for (itemIterator=0; itemIterator<items.length; itemIterator++){
			
			createLiElement( items[itemIterator] );
			
		}
		
		_arr = $('#news ul li a');
			
		if ( _arr.length>0 ){		
			
			if (_arr.length<=_maxForNav){
				createControlItems(  );
			}else{
				createControlItemsNav(  );
			}
			setupNewsItems(  );			
			$("#control li a#nc_" + _newsIndex ).css("opacity", 1);	
			_newsTimer = setTimeout( 'changeNews()', _speed );
			
		}
		
		
		
	}
	
	function fadeInJSTicker(){
		
		$(_jsticker).animate( { opacity:1}, _tweenSpeed )	
		
	}
	
	function createControlItems(){
		
		var control_ul = document.createElement("ul");
		$(control_ul).attr("id", "control");
		$(control_ul).insertAfter( $("#jsticker #news") );
		
		for ( i=0; i<_arr.length; i++){
			
			var control_li = document.createElement("li");
			$(control_li).appendTo( $('#control') );
			
			var control_a = document.createElement("a");			
			$(control_a).text( (i+1) );
			$(control_a).attr("id", "nc_" + (i+1) );
			$(control_a).attr("href", "javascript:void(0);");
			//console.log( $( _arr[i] ).attr("title") );
			$(control_a).attr( "title", $( _arr[i] ).attr("title") );
			$(control_a).appendTo( $(control_li) );
			
			$(control_a).bind('mouseover', controlMouseOver );
			$(control_a).bind('mouseout', controlMouseOut );
			$(control_a).bind('mouseup', newsControlPress );
			
			$(control_a).css("opacity", 0.6);
			
			
		}
		
		var br = document.createElement("br");
		$(br).addClass("cleaner");
		$(br).insertAfter( $("#jsticker #control") );
		
		fadeInJSTicker();
		
	}
	
	function createControlItemsNav(){
		
		var navControl = document.createElement("div");
		$(navControl).attr("id", "navControl");
		$(navControl).insertAfter( $("#jsticker #news") );
		
		var leftNavControl = document.createElement("a");			
		$(leftNavControl).text("<");
		$(leftNavControl).attr("id", "leftNavControl");
		$(leftNavControl).attr("href", "javascript:void(0);");
		$(leftNavControl).attr( "title", "Back" );
		$(leftNavControl).appendTo( $(navControl) );
		$(leftNavControl).css("opacity", 0.6);	
		
		var spanNavControl = document.createElement("span");			
		$(spanNavControl).text( "1 / " + _arr.length );
		$(spanNavControl).appendTo( $(navControl) );		
		
		var rightNavControl = document.createElement("a");			
		$(rightNavControl).text(">");
		$(rightNavControl).attr("id", "rightNavControl");
		$(rightNavControl).attr("href", "javascript:void(0);");
		$(rightNavControl).attr( "title", "Forwards" );
		$(rightNavControl).appendTo( $(navControl) );
		$(rightNavControl).css("opacity", 0.6);	
		
		$(leftNavControl).bind('mouseover', controlMouseOver );
		$(leftNavControl).bind('mouseout', controlMouseOut );
		$(leftNavControl).bind('mouseup', navControlPrev );
		
		$(rightNavControl).bind('mouseover', controlMouseOver );
		$(rightNavControl).bind('mouseout', controlMouseOut );
		$(rightNavControl).bind('mouseup', navControlNext );
		
		var br = document.createElement("br");
		$(br).addClass("cleaner");
		$(br).insertAfter( $("#jsticker #navControl") );
		
		fadeInJSTicker();
		
	}
	
	function navControlPrev(){
		
		_newsIndex--;
		if (_newsIndex<1){
			_newsIndex = _arr.length;
		}
		
		//$("#navControl span").text( _newsIndex + " / " + _arr.length );
		
		clearTimeout( _newsTimer );
		activateNews();			
		_newsTimer = setTimeout( 'changeNews()', _speed );
		
	}
	
	function navControlNext(){
		
		_newsIndex++;
		if (_newsIndex>_arr.length){
			_newsIndex = 1;
		}	
		
		//$("#navControl span").text( _newsIndex + " / " + _arr.length );
		
		clearTimeout( _newsTimer );
		activateNews();			
		_newsTimer = setTimeout( 'changeNews()', _speed );
		
	}
	
	function controlMouseOver(evt){
		
		if ( _newsIndex != $(evt.target).attr("id").substring(3) ){			
			$(evt.target).css("opacity", 1);			
		}
		
	}
	
	function controlMouseOut(evt){
		
		if ( _newsIndex != $(evt.target).attr("id").substring(3) ){			
			$(evt.target).css("opacity", 0.6);				
		}
		
	}
	
	function changeNews(){
	
		clearTimeout( _newsTimer );
		
		_newsIndex++;
		if (_newsIndex>_arr.length){
			_newsIndex = 1;
		}
		
		activateNews();			
		_newsTimer = setTimeout( 'changeNews()', _speed );
			
	}
	
	function activateNews(){
	
		$("#navControl span").text( _newsIndex + " / " + _arr.length );
				
		$("#control li a").css("opacity", 0.6);
		$("#control li a#nc_" + _newsIndex ).css("opacity", 1);	
		
		$('#news ul').stop(true);
		
		$('#news ul')
		 .animate( { opacity:0}, _tweenSpeed )
         .animate( { marginLeft: (-(_wOffset*(_newsIndex-1)))+"px" } , 0 )
         .animate( { opacity:1 }, _tweenSpeed );
		
	}
	
	function newsControlPress(evt){
	
		clearTimeout( _newsTimer );
		
		//console.log(evt.target);
		
		if ( _newsIndex != $(evt.target).attr("id").substring( 3 ) ){			
			_newsIndex = $(evt.target).attr("id").substring( 3 );		
			activateNews();		
		}
		
		_newsTimer = setTimeout( 'changeNews()', _clickDelay );

	
	}
	
	function setupNewsItems( ){
	
		//alert("test");
		var _wMult = _wSize*_arr.length;		
		$("#news ul").width( _wMult  );
		//$("#news").css( "backgroundColor", "#CC0033" );
		$("#news").css( "maxHeight", "104px" );
		$("#news").css( "overflow", "hidden" );
		$("#news").css( "margin-bottom", "10px" );
		$("#news ul li").css("float", "left");		
		//$("#news ul li a").bind('click', function(){ alert("navigating to news story from ticker!"); return false; } );
		//$("#control li a").bind('click', function(){ return false; } );		
		//$("#control li a").bind('mouseup',newsControlPress);
				
	}	

