/*
 * 
 * ImageScroller - a Image Horizental Scroll Viewer 
 * Version 0.1
 * @requires jQuery v1.2.1
 * 
 * Copyright (c) 2007 Luan
 * Email verycss-ok@yahoo.com.cn 
 * 
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Example:
 *   #viewer {height:100px; width:300px; clear:both; overflow:hidden; border:3px solid #e5e5e5;}
 *   #viewerFrame {width:505px; clear:both; padding:0;}
 *   #viewer img {width:90px; height:90px; margin:5px; display:inline; border:0;}
 *   #viewer a {display:block; float:left; width:100px; height:100px;}
 *   <script type="text/javascript">
 *   $(function(){
 *   	$("#viewer").imageScroller({
 *   	next:"btn1",
 *   	prev:"btn2",
 *   	frame:"viewerFrame",
 *   	width:100, 
 *   	child:"a",
 *   	auto:true
 *   	});	 
 *   });
 *   </script>
 *   <div id="viewer"><div id="viewerFrame">
 *   <a href=""><img src="pre1.jpg"></a>
 *   <a href=""><img src="pre2.jpg"></a>
 *   <a href=""><img src="pre3.jpg"></a>
 *   <a href=""><img src="pre4.jpg"></a>
 *   <a href=""><img src="pre5.jpg"></a>
 *   </div></div>
 *   <span id="btn1">prev</span><br/><span id="btn2">next</span>   
*/

jQuery.fn.imageScroller = function(params){
  //lightbox
	$('a.linkltbox').lightBox();
	   	
	var p = params || {
		next:"buttonNext",
		prev:"buttonPrev",
		frame:"viewerFrame",
		width:100,
		delaygo:150,
		midimage:false,
		opacityclick:0.2,
		child:"a",
		auto:true
	}; 
	var _btnNext = $("#"+ p.next);
	var _btnPrev = $("#"+ p.prev);
	var _imgFrame = $("#"+ p.frame);
	var _width = p.width;
	var _child = p.child;
	var _midimage = p.midimage;	
	var _opacityclick = p.opacityclick;
	var _delaygo = p.delaygo;
	var _auto = p.auto;
	var _itv;
  var _turn=1;
  
  //прокрутка
	var turnLeft = function(){
		_btnPrev.unbind("click",turnLeft);
		if(_auto) autoStop();	  
		_imgFrame.animate( {marginLeft:-(_width*_turn)}, _delaygo*_turn, '', function(){
		  for (i=1;i<=_turn;i++) {
    	  _imgFrame.find(_child+":first").appendTo(_imgFrame);
      }
			_imgFrame.css("marginLeft",0); 
			if (_midimage)
      {	
			  lightOn($('#scrollimages li:nth-child(3) a').attr('rel'));
			} 	
			_btnPrev.bind("click",turnLeft);	 	
			if(_auto) autoPlay();
		});
		 return false;
	};

  		  	
  //прокрутка	
	var turnRight = function(){
		_btnNext.unbind("click",turnRight);
		if(_auto) autoStop();
		
		last=_imgFrame.find(_child+":last").index();
		
		for (i=1;i<=_turn;i++) {
		  _imgFrame.find(_child+":eq("+last+")").clone(true).show().prependTo( _imgFrame );
		}    
		_imgFrame.css("marginLeft",-(_width*_turn));
		_imgFrame.animate( {marginLeft:0}, _delaygo*_turn ,'', function(){
		for (i=1;i<=_turn;i++) {
		  _imgFrame.find(_child+":last").remove();	
    }			
			_btnNext.bind("click",turnRight);
     if (_midimage)
     {	
		 	lightOn($('#scrollimages li:nth-child(3) a').attr('rel'));
     }			
			if(_auto) autoPlay(); 
		});
	  return false;
	};
	
	_btnNext.css("cursor","hand").click(turnRight);
	_btnPrev.css("cursor","hand").click(turnLeft);
	
  	
	var autoPlay = function(){
	 	_turn=1; 
	  _itv = window.setInterval(turnLeft, 4000);
	};
	var autoStop = function(){
		window.clearInterval(_itv);
	};
	if(_auto)	autoPlay();


//Если есть предосмотр, иначе lig    	
if (_midimage)
{	
  var nowim=$('.showimages a:first-child').attr('rel');
        
  $('#scrollimages li a').click(function() {
    numberim=$(this).attr('rel');	
 	  indexelem=$('#scrollimages li a[rel='+numberim+']').parent().index();


 		  _turn=1;      	  
 		if (indexelem==0) {
 		  _turn=2;
      _btnNext.click();
    }
 		else if (indexelem==1) { 
      _btnNext.click();
    }
 		else if (indexelem==3) {
      _btnPrev.click();    
    }
 		else if (indexelem==4) {
 		  _turn=2;    
      _btnPrev.click();     
    }        
       
    if (nowim!=numberim)
    {			
      Opacity(numberim);
    }    

    
    return false;
  });
}
else
{
  $('#scrollimages li a').click(function() {
   	if(_auto) autoStop();
  });
  
}

Opacity = function(numberim){ 
    $('#scrollimages li a img').removeClass('clickim');
    $('#scrollimages li a[rel!='+numberim+'] img').css("opacity",1.0);
    $('#scrollimages li a[rel='+numberim+'] img').css("opacity",_opacityclick); 
    $('#scrollimages li a[rel='+numberim+'] img').addClass('clickim');
}  
  
//меняем среднию картинке
lightOn = function(numberim){
    Opacity(numberim);
    $('.showimages a[rel='+nowim+']').fadeOut(200,function(){
    	//if(_auto) autoStop();
    	$('#photodescr').text($('.showimages a[rel='+numberim+']').attr('title'));
      $('.showimages a[rel='+numberim+']').fadeIn(200);
      nowim=numberim;
      //alert($('.showimages a[rel='+numberim+'] img').attr('title'));

  		//if(_auto) autoPlay();      
    }
    );
}

//opacity hover
$('#scrollimages li a').each(function() { 
$(this).hover(function() { 
    $(this).children('img').stop().animate({ opacity:_opacityclick }, 200); 
  },  
  function() {
    thisim=$(this).children('img'); 
    if (!(thisim.hasClass('clickim')))  {
      thisim.stop().animate({ opacity: 1.0 }, 200);
    }
  });
});

};
                


