jQuery.fn.accessNews = function(settings) {
	settings = jQuery.extend({
        newsHeadline: "",
        newsSpeed: "normal",
		overblockWidth: 0
    }, settings);
    return this.each(function(i) {       
        aNewsSlider.init(settings,this);
    });
};
var aNewsSlider = {
    countLeft: 0,
	countLeft2: 0,
    animating: false,
	overblockWidth: 538,	
	isOverAnimating: false, // идентификатор что была анимация при наведении
	mouseInsideOvers: false,
	mouseInsideOversState: false,
	indexStart1:0, // 2loop
	indexEnd1:0,
	indexStart2:0,
	indexEnd2:0,
	
    init: function(s,p) {
		if( s.overblockWidth > 0 ) 
			aNewsSlider.overblockWidth = s.overblockWidth;
		
        itemLength = jQuery(".over-block",p).length;
        newsContainerWidth = itemLength * aNewsSlider.overblockWidth;
      	jQuery(".overflow",p).css("width" , newsContainerWidth);		
		aNewsSlider.indexEnd1 = itemLength - 1;
		aNewsSlider.indexEnd2 = itemLength - 1;
			
	
		jQuery(".right-arrow",p).click( function() {
			
			// rollover_fix
			jQuery(".overflow",p).stop();
			aNewsSlider.isOverAnimating = false;
			var mat = parseInt( jQuery(".overflow",p).css("left") );
			mat = mat % aNewsSlider.overblockWidth;
					
			if (aNewsSlider.animating == true) {return false;}
												 
      itemLength = jQuery(".over-block",p).length + 1;
      newsContainerWidth = itemLength * aNewsSlider.overblockWidth;			
			jQuery(".overflow",p).css("width" , newsContainerWidth);
			
			animateLeft = parseInt(jQuery(".overflow",p).css("left")) - aNewsSlider.overblockWidth + Math.abs(mat) - 1;	
			if( Math.abs(animateLeft) >  newsContainerWidth - aNewsSlider.overblockWidth*2){				
			jQuery(".overflow",p).append( '<div class="over-block">'+ jQuery(".over-block",p)[aNewsSlider.indexStart1+aNewsSlider.countLeft2].innerHTML +'</div>');
			aNewsSlider.countLeft2++;		
			} ///animateLeft = -1;
			
			if (aNewsSlider.animating == false) {
				aNewsSlider.animating = true;
				jQuery(".overflow",p).animate({left: animateLeft}, s.newsSpeed, function() {
					jQuery(this).css("left",animateLeft);
				});
				aNewsSlider.restoreAnimating();//aNewsSlider.animating = false;
			}
			
      return false;
    });
		
		
		
        jQuery(".left-arrow").click(function() {
				
				// rollover_fix
				jQuery(".overflow",p).stop();
				aNewsSlider.isOverAnimating = false;
				var mat = parseInt( jQuery(".overflow",p).css("left") );
				mat = mat % aNewsSlider.overblockWidth;			
				
				if (aNewsSlider.animating == true) {return false;}
				
				itemLength = jQuery(".over-block",p).length + 1;
	      newsContainerWidth = itemLength * aNewsSlider.overblockWidth;
				jQuery(".overflow",p).css("width" , newsContainerWidth);
				
				animateLeft = parseInt(jQuery(".overflow",p).css("left")) + aNewsSlider.overblockWidth + Math.abs(mat) -1;
							
				if( animateLeft > -1 ) 
				{
					animateLeft = -1;
					jQuery(".overflow",p).css("left","-" + aNewsSlider.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 (aNewsSlider.animating == false )
						{
								  aNewsSlider.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");
											}
									});
									//aNewsSlider.animating = false;
									aNewsSlider.restoreAnimating();
									return false;
						 }
             //}
            return false;
        });	

    },
	
	restoreAnimating: function() {
		window.setTimeout('aNewsSlider.animating = false;', 200);
	}

};

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
