jQuery.fn.accessNewsTop = function(settings) {
    settings = jQuery.extend({
        newsHeadline: "",
        newsSpeed: 1000,
		overblockWidth: 0
    }, settings);
    return this.each(function(i) {
       
        aNewsSliderTop.init(settings,this);
    });
};
var aNewsSliderTop = {
    countLeft: 0,
    animating: false,
	overblockWidth: 261,
	isOverAnimating: false, // идентификатор что была анимация при наведении
	mouseInsideOvers: false,
	mouseInsideOversState: false,
	indexStart1:0, // 2loop
	indexEnd1:0,
	
    init: function(s,p) {
    s.newsSpeed = 1000;
		if( s.overblockWidth > 0 ) 
			aNewsSliderTop.overblockWidth = s.overblockWidth;
		
        itemLength = jQuery(".over-block",p).length;
        newsContainerWidth = itemLength * aNewsSliderTop.overblockWidth;
      	jQuery(".overflow",p).css("width" , newsContainerWidth);
		aNewsSlider.indexEnd1 = itemLength - 1;
		
		
		jQuery(".overflow",p).mousemove( function(e){		   
		   
		     //alert('cb_');
		    //var overPP = (e.clientX- (f_clientWidth()-970)/2 > aNewsSlider.overblockWidth + 30);
		   	if( aNewsSliderTop.mouseInsideOvers /*&& overPP == aNewsSlider.mouseInsideOversState*/) return;					  
			
			//jQuery(".overflow",p).stop();
			//aNewsSlider.isOverAnimating = false;			
			//if(overPP){				
				//jQuery(".right-arrow",p).mouseover();
				
				if( !aNewsSliderTop.isOverAnimating )
				{
					itemLength = jQuery(".over-block",p).length;
			        newsContainerWidth = itemLength * aNewsSliderTop.overblockWidth;			
					jQuery(".overflow",p).css("width" , newsContainerWidth);				
								
					// speed fix
					var totalNeedOver = ( (newsContainerWidth - Math.abs( parseInt( jQuery(".overflow",p).css("left"))) ) / newsContainerWidth) * itemLength*1.5;					
					
					animateLeft = 2*aNewsSliderTop.overblockWidth - newsContainerWidth - 1;
					if( Math.abs(  parseInt( jQuery(".overflow",p).css("left"))  ) >= Math.abs(animateLeft) ){
						 
						 
						for( i=0;i<itemLength;i++ ) {
							jQuery(".overflow",p).append( '<div class="over-block">'+ jQuery(".over-block",p)[aNewsSliderTop.indexStart1+aNewsSliderTop.countLeft].innerHTML +'</div>');
							aNewsSliderTop.countLeft++;
						}
						
						itemLength = jQuery(".over-block",p).length;
			        	newsContainerWidth = itemLength * aNewsSliderTop.overblockWidth;
						jQuery(".overflow",p).css("width" , newsContainerWidth);
						animateLeft = 2*aNewsSlider.overblockWidth - newsContainerWidth - 1;						
						// speed fix
						var totalNeedOver = ( (newsContainerWidth - Math.abs( parseInt( jQuery(".overflow",p).css("left"))) ) / newsContainerWidth) * itemLength*1.6;
												
					} ///animateLeft = -1;				
					
					jQuery(".overflow",p).animate({left: animateLeft},4000*totalNeedOver, "linear", function() {
						jQuery(this).css("left",animateLeft);
						aNewsSliderTop.isOverAnimating = aNewsSliderTop.mouseInsideOvers = false;
						jQuery(".overflow",p).mousemove();						
					});					
					
					aNewsSliderTop.isOverAnimating = true;
				}
				
			//}
			//else{
			//	jQuery(".left-arrow",p).mouseover();				
			//}
			aNewsSliderTop.mouseInsideOvers = true;
			//aNewsSlider.mouseInsideOversState = overPP;
		});
		
		jQuery(".overflow",p).bind("mouseleave", function(e){		   
			aNewsSliderTop.mouseInsideOvers = false;
			jQuery(".right-arrow",p).mouseout();						   
		});
		
		
		
		jQuery(".right-arrow",p).click( function() {
			// rollover_fix
			jQuery(".overflow",p).stop();
			aNewsSliderTop.isOverAnimating = false;
			var mat = parseInt( jQuery(".overflow",p).css("left") );
			mat = mat % aNewsSliderTop.overblockWidth;
			
			if (aNewsSliderTop.animating == true) {
	            return false;
			}
												 
        	itemLength = jQuery(".over-block",p).length + 1;
	        newsContainerWidth = itemLength * aNewsSliderTop.overblockWidth;
			jQuery(".overflow",p).css("width" , newsContainerWidth);
			//jQuery(".overflow",p).append( '<div class="over-block">'+ jQuery(".over-block",p)[aNewsSliderTop.countLeft].innerHTML +'</div>');			
			
			animateLeft = parseInt(jQuery(".overflow",p).css("left")) - aNewsSliderTop.overblockWidth + Math.abs(mat) - 1;
			//if( Math.abs(animateLeft) >  newsContainerWidth - aNewsSlider.overblockWidth*2) animateLeft = -1;			
			if( Math.abs(animateLeft) >  newsContainerWidth - aNewsSliderTop.overblockWidth*2){				
				jQuery(".overflow",p).append( '<div class="over-block">'+ jQuery(".over-block",p)[aNewsSliderTop.indexStart1+aNewsSliderTop.countLeft].innerHTML +'</div>');
				aNewsSliderTop.countLeft++;
			} ///animateLeft = -1;
			
			if (aNewsSliderTop.animating == false) {
				aNewsSliderTop.animating = true;
				jQuery(".overflow",p).animate({left: animateLeft}, s.newsSpeed, function() {
					jQuery(this).css("left",animateLeft);
				});
				aNewsSliderTop.restoreAnimating();//aNewsSliderTop.animating = false;
			}
			
            return false;
        });
		
		
		jQuery(".right-arrow",p).mouseover( function() {				
			/*if( !aNewsSliderTop.isOverAnimating )
			{
				itemLength = jQuery(".over-block",p).length;
				newsContainerWidth = itemLength * aNewsSliderTop.overblockWidth;
				
				animateLeft = 2*aNewsSliderTop.overblockWidth - newsContainerWidth - 1;
				jQuery(".overflow",p).animate({left: animateLeft}, 1800*itemLength, "linear", function() {
					jQuery(this).css("left",animateLeft);
				});
				
				aNewsSliderTop.isOverAnimating = true;
			}*/
		});	
		jQuery(".right-arrow",p).mouseout( function() {			
			if( aNewsSliderTop.isOverAnimating ) {
				jQuery(".overflow",p).stop();
				aNewsSliderTop.isOverAnimating = false;			
			}
		});	
		
		
		
		
		
        jQuery(".left-arrow",p).click(function() {
				
				if (aNewsSliderTop.animating == true) {
					return false;
				}
				
				itemLength = jQuery(".over-block",p).length + 1;
	        	newsContainerWidth = itemLength * aNewsSliderTop.overblockWidth;
				
				// rollover_fix
				jQuery(".overflow",p).stop();
				aNewsSliderTop.isOverAnimating = false;
				var mat = parseInt( jQuery(".overflow",p).css("left") ) % aNewsSliderTop.overblockWidth;
				
				
				animateLeft = parseInt(jQuery(".overflow",p).css("left")) + aNewsSliderTop.overblockWidth + Math.abs(mat) -1;
				//if( animateLeft > -1 ) animateLeft = -newsContainerWidth + aNewsSliderTop.overblockWidth*3 - 1;
				
				if( animateLeft > -1 ) 
				{
					animateLeft = -1;
					jQuery(".overflow",p).css("left","-" + aNewsSliderTop.overblockWidth + "px")
					
					jQuery(".overflow",p).html( '<div class="over-block">'+jQuery(".over-block",p)[aNewsSlider.indexEnd1].innerHTML + '</div>' + jQuery(".overflow",p).html());					
					aNewsSlider.indexStart1++;					
					//animateLeft = -newsContainerWidth + aNewsSlider.overblockWidth*3 - 1;					
				}
				
				
                //if ((animateLeft + parseInt(jQuery(".overflow",p).css("width"))) <= parseInt(jQuery(".overflow",p).css("width"))) {
                   // jQuery(".next",p).css("display","block");				
						if (aNewsSliderTop.animating == false )
						{
						  aNewsSliderTop.animating = true;  
						  jQuery(".overflow",p).animate({left: animateLeft}, s.newsSpeed, function() {
									jQuery(this).css("left",animateLeft);
									if (parseInt(jQuery(".overflow",p).css("left")) >= 0) {
												jQuery(".prev",p).css("display","none");
											}
									});
									//aNewsSliderTop.animating = false;
									aNewsSliderTop.restoreAnimating();
						 }
             //}
            return false;
        });	
		
		
		
		jQuery(".left-arrow",p).mouseover( function() {				
			/*if( !aNewsSliderTop.isOverAnimating ) 
			{
				itemLength = jQuery(".over-block",p).length;
				animateLeft = -1;
				
				var totalScroll = Math.round( Math.abs(  parseInt(jQuery(".overflow",p).css("left"))  ) / aNewsSliderTop.overblockWidth ) + 1;
					
				jQuery(".overflow",p).animate({left: animateLeft}, 2000*totalScroll, "linear", function() {
					jQuery(this).css("left",animateLeft);
				});				
				aNewsSliderTop.isOverAnimating = true;
			}*/
		});	
		jQuery(".left-arrow",p).mouseout( function() {			
			if( aNewsSliderTop.isOverAnimating ) {
				jQuery(".overflow",p).stop();
				aNewsSliderTop.isOverAnimating = false;
			}			
		});	
		
		
		
    },
	
	
	restoreAnimating:function() {
		window.setTimeout('aNewsSliderTop.animating = false;', 400);
	}
	
	
	
};

