/* ================================ +
		 	 [projectname]
 + ================================ */



/* 
** Made by: Thomas Lievestro
** Email:	info@lievestro.com
** Website:	www.lievestro.com
*/


/* ================================ +
              GENERAL
 + ================================ */
 
var checkHeightTO;
var gallery_number = 1;

function showItemsWhitTag(item){
	
	if($('#portfolio_items .portfolio_item.active').length == 0){
		var tag_id = $(item).attr('rel');
	
		$('#tags a').removeClass('active');
		$(item).addClass('active');
		
		$('.portfolio_item').addClass('hide').find('.portfolio_item_img img').animate({'opacity':'0.3'},700);
		$('#portfolio_items input').filter('.'+tag_id).parent().removeClass('hide').find('.portfolio_item_img img').stop().animate({'opacity':'1'},700);
		
		//unbind portfolio items (hufterproef)	
		$('.portfolio_item .portfolio_item_img').unbind().click(function(){			
			return false;
		});
			//bind portfolio items
		window.setTimeout(function(){
			bindPortfolioItems();	
		},700);
	}else{
		resetItems(true);
		window.setTimeout(function(){
			showItemsWhitTag(item);
		},1100 );
	}
}

function getDetails(item,time){ 
	var item 			= $(item).parent();
	var timeOutTime 	= 1500;
	var item_id 		= parseInt($(item).attr('id').split('_')[1]) ;
	var total_items 	= $('.portfolio_item').length;
	var array_1			= [1,4,7,10,13,16,19,22,25,28];
	var array_2			= [2,5,8,11,14,17,20,23,26,29];
	var array_3			= [3,6,9,12,15,18,21,24,27,30];
	var item_position 	= ($(item).css('top') == '0px' ? 1 : ($(item).css('top') == '120px' ? 2 : 3));
	var href 			= $('.portfolio_item_img a', item).attr('href');
	var id 				= href.split('/')[2];

	if(time != 0){
		//set window href 
	//	window.location.href = '#/'+href;
	}
	// set timeOutTime
	if($('.portfolio_item.active').length == 0){
		timeOutTime = 0;
	}

	//unbind portfolio items (hufterproef)	
	$('.portfolio_item .portfolio_item_img').unbind().click(function(){			
		return false;
	});
	

	if($('.portfolio_item_content',item).length == 0){
		//get content	
		$.ajax({
			type: "POST",
			url: "ajax/get_item_details.php",
			data: "id="+id+"",
			success: function(data){
				$(item).append(data);
			}
		});
	}
	
	
	
	window.setTimeout(function(){
	
		//animate item and add class active
		$(item).animate({'width':'320px'},500, function(){
			var height = (parseInt($('.portfolio_item_content',item).css('height')) + 240);
			$(item).animate({'height':height+'px'},{queue: false, duration: 500, complete: 
				function(){
					$(item).addClass('active'); 
					
					var imgs = $(".portfolio_item.active .portfolio_item_content a.img");
					if(imgs.length > 0 && imgs.attr('rel') == ''){
						//add fancybox
						$(".portfolio_item.active .portfolio_item_content a.img").attr('rel', 'gallery_'+gallery_number+'').fancybox({
							'titlePosition' 	: 'over',
							'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
								return '<span id="fancybox-title-over"> ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
							},
							'onComplete'	:	function() {
								$("#fancybox-wrap").hover(function() {
									$("#fancybox-title").show();
								}, function() {
									$("#fancybox-title").hide();
								});
							},
							overlayColor: '#fff'
						
						});
					}
					gallery_number++;					
				}
			});
		});
		
		$('img:first',item).animate({'width':'320px'},time, function(){
			$('img:first',item).animate({'height':'213px'},time );
		});
		
		//animate relative items
		if(item_position == 1){
			for(i=item_id; i<total_items; i++){
				if(jQuery.inArray((i - item_id), array_3) != -1 ){
					$('#item_'+(i)).animate({'left':'+=170px'},{queue: false, duration: time});
				}
				else if(jQuery.inArray((i - item_id), array_2) != -1 ){
					$('#item_'+(i)).animate({'left':'+=340px'},{queue: false, duration: time});
				}
				else if(jQuery.inArray((i - item_id), array_1) != -1 ){
					$('#item_'+(i)).animate({'left':'+=340px'},{queue: false, duration: time});
				}
			}
		}else if(item_position == 2){
			for(i=item_id; i<total_items; i++){
				if(jQuery.inArray((i - item_id), array_3) != -1 ){
					$('#item_'+(i)).animate({'left':'+=170px'},{queue: false, duration: time});
				}else if(jQuery.inArray((i - item_id), array_1) != -1 ){
					$('#item_'+(i)).animate({'left':'+=340px'},{queue: false, duration: time});
				}
			}
		}else if(item_position == 3){
			for(i=item_id; i<total_items; i++){
				if(jQuery.inArray((i - item_id), array_3) != -1 ){
					$('#item_'+(i)).animate({'left':'+=170px'},{queue: false, duration: time});
				}
			}
		}
	},timeOutTime);
	
	
	//bind portfolio items and scrollto portfolio item
	window.setTimeout(function(){
		bindPortfolioItems();	
		$.scrollTo( item, 500, {offset:-20});	
	},1500 + timeOutTime);
		
	checkHeightTO = window.setTimeout(function(){
		var height = (parseInt($('.portfolio_item_content',item).css('height')) + 240);
		if($(item).height() != height){
			$(item).animate({'height':height+'px'},{queue: false, duration: time, complete: 
				function(){
					if($(item).height() < 150){
						$(item).animate({'height':'2500px'},{queue: false, duration: time});
					}
				}
			});
		}
		
	},3000 + timeOutTime);
	
	

}

function resetItems(only,time){
	
	if($('.portfolio_item.active').length != 0){
		var item			= $('.portfolio_item.active');
		var item_id 		= parseInt($(item).attr('id').split('_')[1]) ;
		var total_items 	= $('.portfolio_item').length;
		var array_1			= [1,4,7,10,13,16,19,22,25,28];
		var array_2			= [2,5,8,11,14,17,20,23,26,29];
		var array_3			= [3,6,9,12,15,18,21,24,27,30];
		var item_position 	= ($(item).css('top') == '0px' ? 1 : ($(item).css('top') == '120px' ? 2 : 3));	
		
		if(time != 0){
			//set window href 
		//	window.location.href = '#';	
		}
		
		// stop checkHeightTO
		clearTimeout(checkHeightTO);

		//unbind portfolio items (hufterproef)	
		$('.portfolio_item .portfolio_item_img').unbind().click(function(){			
			return false;
		});
		
		//animate item and add class active
		$(item).animate({'height':'100px'},time, function(){
			
			$(item).animate({'width':'150px'},{queue: false, duration: time}).removeClass('active')

			//animate relative items
			if(item_position == 1){
				for(i=item_id; i<total_items; i++){
					if(jQuery.inArray((i - item_id), array_3) != -1 ){
						$('#item_'+(i)).animate({'left':'-=170px'},{queue: false, duration: time});
					}
					else if(jQuery.inArray((i - item_id), array_2) != -1 ){
						$('#item_'+(i)).animate({'left':'-=340px'},{queue: false, duration: time});
					}
					else if(jQuery.inArray((i - item_id), array_1) != -1 ){
						$('#item_'+(i)).animate({'left':'-=340px'},{queue: false, duration: time});
					}
				}
			}else if(item_position == 2){
				for(i=item_id; i<total_items; i++){
					if(jQuery.inArray((i - item_id), array_3) != -1 ){
						$('#item_'+(i)).animate({'left':'-=170px'},{queue: false, duration: time});
					}else if(jQuery.inArray((i - item_id), array_1) != -1 ){
						$('#item_'+(i)).animate({'left':'-=340px'},{queue: false, duration: time});
					}
				}
			}else if(item_position == 3){
				for(i=item_id; i<total_items; i++){
					if(jQuery.inArray((i - item_id), array_3) != -1 ){
						$('#item_'+(i)).animate({'left':'-=170px'},{queue: false, duration: time});
					}
				}
			}	
			
		});
		

		$('img:first',item).animate({'height':'100px'},time, function(){
			$('img:first',item).animate({'width':'150px'},time );
		});
		
		if(only){
			//bind portfolio items
			window.setTimeout(function(){
				bindPortfolioItems();		
			},1100 );
		}
		
	}
}


function bindPortfolioItems(){
	$('.portfolio_item:not(.active):not(.hide) .portfolio_item_img')
	.click(function(){
		resetItems(false,500);
		getDetails(this,500);			
		return false;
	});	
}




$(document).ready(function(){
	
	bindPortfolioItems();
	
	$('.portfolio_item .close')
	.click(function(){
		resetItems(true,500);
		return false;
	});
	
	$('#tags a')
	.click(function(){
		showItemsWhitTag(this);
		return false;
	});
	
	if($('.portfolio_item.active .portfolio_item_img').length > 0){
		getDetails($('.portfolio_item.active .portfolio_item_img'),0);		
	}else{
		//resetItems(false,0);
	}

});
