// JavaScript Document
jQuery(document).ready(function() {
	intScroller();
});
function intScroller(){
	jQuery("div.gallery_scroll_cont").scroller({amount:4});
	
	galleryPageSeparatorOf = jQuery(".gallery .counter .pages").html();
	totalImages = jQuery("#thumbholder li").length;
	currentImage = 1;
	descBar = jQuery('div.gall_desc_bg');
	subtitle = descBar.find('div.subtitle:first');
	imgInfo = descBar.find('div.img_info:first');
	
	var thumbLnk = jQuery('#thumbholder li a');
			
	thumbLnk.click(
		function(){
			changeImg( jQuery(this) );
			return false;	
		}
	);
	
	if(arabic){ thumbLnk.filter(':last').click(); }
	else { thumbLnk.filter(':first').click(); }
	
	jQuery('#nextImg').click(
		function(){
			cur = jQuery('#thumbholder li a.active');
			if (jQuery('#thumbholder li').index( cur.parent() ) == totalImages - 1 ) {return false;}
			changeImg( jQuery('#thumbholder li a.active').parent().next().find('a') );
			return false;
		}
	)
	jQuery('#prevImg').click(
		function(){
			cur = jQuery('#thumbholder li a.active')
			if (jQuery('#thumbholder li').index( cur.parent() ) == 0 ) {return false;}
			changeImg( cur.parent().prev().find('a') );
			return false;
		}
	)
	
} // end intScroller

function UpdateGalleryCounter(){
	jQuery(".gallery .counter .pages").html(currentImage +' '+ galleryPageSeparatorOf +' ' + totalImages);
}

jQuery.fn.scroller = function(opts){
	return this.each(function(){
		var defaults = {
			amount: 4,
			container: jQuery(this).find('ul.items'),
			speed: 200,
			next: '.nextPage',
			prev: '.prevPage',
			items: 'li',
			disabledPrev: true,
			maxScroll: 0,
			moveNext: false,
			movePrev: false
			
		}
		var o = jQuery.extend({},defaults,opts);
		var t = jQuery(this);
		var items = o.container.find(o.items);
		var totalItems = items.length;
		var maxScroll = items.outerWidth(true) * totalItems;
		var size = o.container.find(o.items+':first').outerWidth(true) * o.amount;
		
		var xLimit = maxScroll + size;
		var next = t.find(o.next);
		var prev = t.find(o.prev);
		
		if ( o.disabledPrev ) {
			if (arabic) {next.addClass('disabled')}
			else {prev.addClass('disabled');}
		}
		if ( totalItems <= o.amount ) {prev.addClass('disabled');next.addClass('disabled');}
		o.container.css({width:maxScroll+'px'});
		
		next.click(function(){
			scrollitems('-',jQuery(this));
			return false;
		});
		prev.click(function(){
			scrollitems('',jQuery(this));
			return false;
		});
		
		var scrollitems = function(d, e) {
			if ( e.hasClass('disabled') || o.container.is(':animated') ){return;}
			if(arabic){direction = '+'} else {direction = '-'}
			var newPos = o.container.position().left+parseInt(d+size);
			o.container.animate({left:newPos},o.speed,function(){
				curPos = o.container.position().left;
				if ( curPos >= 0) {prev.addClass('disabled');next.removeClass('disabled');}
				else if ( curPos <= disableNext() ){next.addClass('disabled');prev.removeClass('disabled');}
				else {prev.removeClass('disabled'); next.removeClass('disabled'); }
			});
			
			function disableNext(){
				if(arabic){
					return -parseInt(maxScroll-size-10);
				} else {
					return -maxScroll+size;
				}
			}
		}
		
		if( o.moveNext ){ scrollitems('-',next); }
		if( o.movePrev ){ scrollitems('',prev); }
		
	});
}

function changeImg(t){
	var url = t.attr("href");
	var speed = 500;
	var imgTitle = t.parent().find('h3').text();
	var imgDesc = t.parent().find('p.desc').text();
	var wrap = jQuery('#image_wrap');
	var mainImg = jQuery('#mainImg');
	
	wrap.fadeIn(speed,function(){
		mainImg.attr("src", url);
	});
	
	var img = new Image();

	img.onload = function() {
		wrap.fadeOut(speed,function(){
			subtitle.html(imgTitle);
			imgInfo.html(imgDesc);
			moveSlider();
		});
		jQuery('#thumbholder').find('li a.active').removeClass('active');
		//if (jQuery('#thumbholder li').index( t.parent() ) == 0 ) {next.addClass('disabled');}
		t.addClass('active');
		
	};
	
	var moveSlider = function(){
		var li = t.parent();
		var curX = (li.position().left) + li.outerWidth();
		var slider = jQuery('#thumbholder');
		var sliderX = -(slider.position().left);
		//console.log('thumb x: '+curX+' slider X: '+parseInt(sliderX+680));
		
		if( curX > parseInt(sliderX+680) ) {
			//console.log('next');
			jQuery("div.gallery_scroll_cont").scroller({moveNext:true,disabledPrev:false});
		}
		if( curX < parseInt(sliderX) ) {
			//console.log('prev');
			jQuery("div.gallery_scroll_cont").scroller({movePrev:true,disabledPrev:false});
		}
	}
	
	img.src = url;
}
