/* gallery
 * @author by Le Yang
 * @date : 2010 November 22nd
 */

var Gallery = {
	setup : function(obj){
		var ul_obj = $('#thumbs > ul.thumbs');
		var li_obj = $('#thumbs > ul.thumbs > li');
		var slide_obj = $('#slideshow');
		
		//#0 init
		li_obj.not(':first-child').hide()
		
		// #1 create pager
		ul_obj.after(Gallery.getPager(li_obj));
		// #2 create slideshow
		slide_obj.html(Gallery.getSlider(0, li_obj));
		// #3 create sub slideshow
		$('#slideshow a.advance-link').append(Gallery.getSubslider(0, li_obj));
		
		// #4 pager event handler
		Gallery.pagerHandler(li_obj, slide_obj);
		
		// #5 sub pager event handler

		Gallery.subpagerHandler(0, li_obj);
	},
	
	subpagerHandler : function(index, li_obj){
		$('#slideshow a.advance-link em').each(function(i){
			$(this).bind('click', function(){
				var image_src = li_obj.eq(index).children('img').eq(i).attr('src');
				$('#slideshow a.advance-link').find('img').attr('src', image_src);
				$('#slideshow a.advance-link em').removeClass('current');
				$(this).addClass('current');
			});
		});
	},
	
	

	
	
	pagerHandler : function(li_obj, slide_obj){
		$('.pagination').children('a').bind('click', function(){
			var index = parseInt($(this).attr('title'));
			slide_obj.html(Gallery.getSlider(index - 1, li_obj));
			$('#slideshow a.advance-link').append(Gallery.getSubslider(index - 1, li_obj));
			li_obj.hide();
			li_obj.eq(index - 1).show();
			$('.pagination').children('a').removeClass('current');
			$(this).addClass('current');
			Gallery.subpagerHandler(index - 1, li_obj);
			
			
			return false;
		});
	},
	
	getSubslider : function(index, li_obj){
		var img_per_project = li_obj.eq(index).children('img');
		var img_number_per_project = img_per_project.length;
		var square_html = '';
		if (img_number_per_project == 1){
			square_html = '';
		}
		else {
			for (var n = 0; n < img_number_per_project; n++){
				if (n == 0)
					square_html += '<em class="current"></em>';
				else 
					square_html += '<em></em>';
			
			}
		}
		var html = '<span class="square">'+ square_html +'</span>';
		return html;
	},
	
	getSlider : function(index, li_obj){
		var title = li_obj.eq(index).children('a.thumb').attr('title');
		var image_src = li_obj.eq(index).children('img').eq(0).attr('src');
		
		var slider_html = '<span class="image-wrapper current" style="opacity: 1;"><a href="#'+ parseInt(index + 1) +'" title="'+ title +'" class="advance-link"><img alt="'+ title +'" src="'+ image_src +'" /></a></span>';
		return slider_html;
	},
	
	getPager : function(li_obj){
		
		var sum = li_obj.length;
		var pager_html = '';
		for (var i = 1; i <= sum; i++){
			if (i == 1){
				pager_html += '<a title="'+ i +'" class="current" href="#">'+ i +'</a>';
			}
			else {
				pager_html += '<a title="'+ i +'" href="#">'+ i +'</a>';
			}
			
		}
		var html = '<div class="bottom pagination">'+ pager_html +'</div>';
		return html;
	}
}


//call
var obj = $('#gallery');
if (obj.length > 0){
	Gallery.setup(obj);
}

