//global variables
var rows;
var scroll = false;

function getImageHeight(){
	var ret;
	switch(rows){
		case 2:
			ret = 285;
			break;
		case 3:
			ret = 431;
			break;
		case 4:
			ret = 575;
			break;
		default:
			ret = 719;
			break;
	}
	return ret;
}

function getImageWidth(){
	var ret;
	switch(rows){
		case 2:
			ret = 507;
			break;
		case 3:
			ret = 764;
			break;
		case 4:
			ret = 1021;
			break;
		case 5:
			ret = 1278;
			break;
	}
	return ret;
}

function getId(id){
	return id.substring(4,id.length);
}

function adjustImageSize(){
	$('.article').each(function(){
		var path = $(this).find('img').attr('src');
		if(path != null){
			path = path.substring(0,path.indexOf('_') + 1) + rows + '.jpg';
			$(this).find('img').attr('src',path);
			$(this).find('.articleimg').width(getImageWidth());
			$(this).find('.articleimg').height(getImageHeight());
		}else{
			switch(rows){
				case 2:
					$(this).find('iframe').attr('width',507);
					$(this).find('iframe').attr('height',285);
					break;
				case 3:
					$(this).find('iframe').attr('width',764);
					$(this).find('iframe').attr('height',430);
					break;
				case 4:
					$(this).find('iframe').attr('width',1021);
					$(this).find('iframe').attr('height',575);
					break;
				case 5:
					$(this).find('iframe').attr('width',1278);
					$(this).find('iframe').attr('height',719);
					break;
			}
		}
	});
	checkScrolls();
}

function setLayout(){
	if($(window).width() > 797) {
		$('#header').width($(window).width() - 20);
		$('#bgheader').width($(window).width() - 20);
		$('#bgheader').stop().fadeTo(0,0.75);
		if($(window).width() - 270 > 1548) $('#wall').width(1300);
		else $('#wall').width($(window).width() - 270);
		rows = Math.floor(($(window).width() - 20 - 250) / 257);
		if(rows > 5) rows = 5;
	}else{
		$('#header').width(787);
		$('#bgheader').width(787);
		$('#bgheader').stop().fadeTo(0,0.75);
		$('#wall').width(537);
		rows = 2;
	}
	adjustImageSize();
	if($('#wall').find('.article').size() != 0){
		$('#wall').find('.articletitle').width(getImageWidth());
		$('#wall').find('.articletext').width(getImageWidth());
	}
	checkScrolls();
}

function setupWall(){
	$('.item').hover(overItem,outItem);
	$('.item').click(clickItem);
}

function setupLogo(){
	$('#titlebutton').click(function(){
		if($('#wall').find('.article').size() != 0){
			closeArticle();
		}
	});
}

function overItem(){
	$('#wall').find('.item').each(function() {
		$(this).stop().fadeTo(500,1.0);			 
    });
	$(this).append('<div class="itemtitle">'+$('#invisible').find('#article'+getId($(this).attr('id'))).find('.articletitle').html()+'</div>');
	//$(this).find('.itemtitle').offset({top: $(this).offset().top + $('#header').height() + $('#wall').find('.article').height(),left: $(this).offset().left});
	$(this).find('img').stop().fadeTo(200,0.6);
}

function outItem(){
	$(this).find('img').stop().fadeTo(500,1.0);
	$('#wall').find('.itemtitle').remove();
}

function clickItem(){
	var hadArticle = false;
	var previousHeight = $(document).scrollTop();
	var previousArticleHeight = $('#wall').find('.article').height(); 
	if($('#wall').find('.article').size() != 0){
		removeArticle();
		hadArticle = true;
	}
	if($('#wall').height() < $(window).height()){
		$('#end').height(20 + $(window).height() - $('#wall').height());
	}
	placeArticle(getId($(this).attr('id')));
	setupWall();
	if(hadArticle){
		$(window).scrollTo(previousHeight + ($('#wall').find('.article').height() - previousArticleHeight),0,{duration:0,onAfter:function(){
			$(window).scrollTo(0,0,{duration:1000});
		}});
	}else{
		$(window).scrollTo($('#wall').find('.article').height() + previousHeight,{axis:'y',duration:0,onAfter:function(){ 
			$(window).scrollTo(0,0,{duration:1000,onAfter:function(){
				$('#end').height(20);														
			}}); 
		}});
	}
}

function placeArticle(id){
	$('#wall').html('<div class="article">'+$('#invisible').find('#article'+id).html()+'</div>'+$('#wall').html());
	$('#wall').find('.articletitle').width(getImageWidth());
	$('#wall').find('.articletext').width(getImageWidth());
	$('#wall').find('.articleimg').width(getImageWidth());
	$('#wall').find('.articleimg').height(getImageHeight());
	$('#wall').find('.articleclose').click(closeArticle);
	checkScrolls();
}

function closeArticle(){
	if($(document).height() - $('#wall').find('.article').height() < $(window).height()){
		$('#end').height(20 + $(window).height() - ($(document).height() - $('#wall').find('.article').height()));
	}
	$(window).scrollTo($('#wall').find('.article').height(),{axis:'y',duration:1000,onAfter:function(){ 
		removeArticle();
		$('#end').height(20);
		$(window).scrollTo(0,{axis:'y',duration:0});
		checkScrolls();
	}});
}

function removeArticle(){
	$('#wall').find('.article').remove();
}

function checkScrolls(){
	if($(document).height() > $(window).height() && !scroll){
		$('#header').width($('#header').width() - 15);
		$('#bgheader').width($('#bgheader').width() - 15);
		$('#wall').width($('#wall').width() - 15);
		scroll = true;
	}
	if($(document).height() <= $(window).height() && scroll){
		$('#header').width($('#header').width() + 15);
		$('#bgheader').width($('#bgheader').width() + 15);
		$('#wall').width($('#wall').width() + 15);
		scroll = false;
	}
}

$(document).ready(function(){
	setLayout();
	setupWall();
	setupLogo();
});

$(window).resize(function() {
	setLayout();
});
