// $Id: l-and-co.js 245 2011-06-20 12:07:18Z nikolab $
var currentProject = 0;
var currentSlide = 0;
var projectChanged = false;
var changeTitle = true;

$(document).ready(function() {
	resizeWindow();
	$("a.bottom_navigation").html("");
});
	
function showProject(pos, duration, changeTitle, slide) {
	if (slide == undefined) slide = 1;
	currentSlide = slide;
	currentProject = pos;
	
	var slidesInProject = $("#primary_level div.secondary_level:eq(" + currentProject + ") li.second").length;
	$("p.page_info").html("Pages: "+(slide+1)+" of " + slidesInProject);

	$("#loader").removeClass("show");
	$("#primary_level").scrollTo( 'li.first:eq(' + currentProject + ')', {duration:duration, onAfter: function(){$("#primary_level div").scrollTo('li:eq('+slide+')');}});

	if (changeTitle) {
		$("h1.absolute_heading").fadeTo(100,0).delay(1000,function(){
			if (typeof(title) == 'undefined') heading = client[currentProject].replace(/-/g, " ");
			else heading = title[currentProject].replace(/-/g, " ");
			$("h1.absolute_heading").html("<span class='orange'>&amp;</span> " + heading);
			$("h1.absolute_heading").fadeTo(10,1);
		});
	}

	$("a.top_navigation").addClass('hidden');
	$("a.prev_navigation").removeClass('prev_inactive');
	if($("#primary_level div.secondary_level:eq(" + currentProject + ") li.second:eq(1)").length > 0) {
		$('a.bottom_navigation').removeClass('hidden');
	} else {
		$('a.bottom_navigation').addClass('hidden');
	}
	
	$("a.prev_navigation").html(prev[currentProject-1]);
	$("a.next_navigation").html(next[currentProject+1]);
	$("a.bottom_navigation").html("");
	
	if (changeCaption) showCaption(currentProject, currentSlide);
	
	if(currentProject == 0) $('a.prev_navigation').addClass('prev_inactive');
	else $('a.prev_navigation').removeClass('prev_inactive');
	
	if(currentProject + 1 == $("#primary_level ul.project_list li.first").length) $('a.next_navigation').addClass('next_inactive');
	else $('a.next_navigation').removeClass('next_inactive');

	if($('#main_menu li.selected a').html() != 'Archive' && $('#main_menu li li.selected a').html() != '- Studio' && $('#main_menu li li.selected a').html() != '- Articles' && $('#main_menu li.selected a').html() != 'About') {
		$('#main_menu li li.selected').removeClass('selected');
		var sel = $('#main_menu li li:eq(' + currentProject + ')').addClass('selected');
		sel.parent('ul').addClass('hold');
		if(!sel.is(':visible')) {
			sel.parent('ul').show('slow', function(){});
		}
		$('#main_menu ul:not(.hold):not(.s_archive)').hide('slow');
		$('#main_menu ul:not(:first)').removeClass('hold');
	} else if ($('#main_menu li.selected a').html() == 'Archive') {
		$('#main_menu li li.selected').removeClass('selected');
		var sel = $('#main_menu ul.s_archive li:eq(' + currentProject + ')').addClass('selected');
		sel.parent('ul').addClass('hold');
		if(!sel.is(':visible')) {
			sel.parent('ul').show('slow', function(){});
		}
	}
	
	if (slide != 0) $("a.top_navigation").css("display","block");
	else if (slide == slidesInProject) $("a.bottom_navigation").css("display","none");
	
	if (history.pushState) {
		if (nav == "articles") {
			window.history.pushState(" ", " ", "/articles/"+seotitles[pos]);
		} else if (nav == "archive") {
			window.history.pushState(" ", " ", "/archive/"+client[pos]);
		} else if (nav == "projects") {
			window.history.pushState(" ", " ", "/projects/"+client[pos]+"/"+seotitles[pos][slideID]);
		} else if (nav == "news") {
			window.history.pushState(" ", " ", "/news/"+ $(".s_news li.selected a").attr("rel")); 
		}
	}
}

function changeProject(inc, absolute, changeTitle) {
	pos = absolute ? inc : currentProject + inc;
	if (window.hasSlide==undefined) hasSlide = false;
	if (window.slideID==undefined) slideID = 0;
	var slide = $("#primary_level li.first:eq(" + pos + ") li.second:eq("+(slideID)+")");
	
	if(!slide.hasClass('loaded')) {
		slide.addClass("loaded");
		var image = $("#primary_level li.first:eq(" + pos + ") li.second:eq("+(slideID)+") img");
		$("#loader").addClass("show");
		image.attr('src', image.attr('rel'));
		image.load(function() { showProject(pos, absolute ? 0 : 700, changeTitle, slideID); } );
	} else {
		showProject(pos, absolute ? 0 : 700, changeTitle);
	}
	
	if (changeCaption) showCaption(pos, 0);
	
}

function showCaption(project, slide_num){
	if ( captions[project][slide_num] == "") {
		$("div.caption").css("display","none");
	} else {
		$("div.caption").html(captions[project][slide_num]).css("display","block");
	}
}


jQuery(function( $ ){

	window.scrollTo(0,1);
	
	$('a.prev_navigation').click(function(){
		var classList = $(this).attr('class').split(/\s+/);
		if (classList[1] != "prev_inactive") {
			change_title = true;
			changeProject(-1, 0, true);
		}
	});

	$('a.next_navigation').click(function(){
		var classList = $(this).attr('class').split(/\s+/);
		if (classList[1] != "next_inactive") {
			change_title = true;
			changeProject(1, 0, true);
		}
	});

	$('a.bottom_navigation').click(moveDown = function(){
		var slide = $("div.secondary_level:eq(" + currentProject  + ") li.second:eq(" + (currentSlide + 1) + ")");
		
		if (history.pushState) {
			if (nav == "archive") {
				window.history.pushState(" ", " ", "/archive/"+client[currentProject]+"/"+(seotitles[currentProject][currentSlide + 1]));
			} else if (nav == "projects") { 
				window.history.pushState(" ", " ", "/projects/"+client[currentProject]+"/"+(seotitles[currentProject][currentSlide + 1]));
			} else if (nav == "studio") {
				window.history.pushState(" ", " ", "/studio/");
			}
		}
		
		var slidesInProject = $("#primary_level div.secondary_level:eq(" + currentProject + ") li.second").length;
		if (changeCaption) showCaption(currentProject, (currentSlide+1));
		$("p.page_info").html("Pages: " + (currentSlide+2) + " of " + slidesInProject);
		
		if(!slide.hasClass('loaded')) {
			slide.addClass("loaded");
			var image = $("div.secondary_level:eq(" + currentProject  + ") li.second:eq(" + (currentSlide + 1) + ") img");
			$("#loader").addClass("show");
			image.attr('src', image.attr('rel'));
			image.load(function() {
				$("#loader").removeClass("show");
				$("div.secondary_level:eq("+ currentProject +")").scrollTo("li:eq(" + (currentSlide + 1) + ")", { duration:700 });
				if(++currentSlide + 1 == $("#primary_level div.secondary_level:eq(" + currentProject + ") li.second").length) {
					$('a.bottom_navigation').addClass('hidden');
					$("a.top_navigation").removeClass('hidden');
				} else {
					$('a.bottom_navigation').removeClass('hidden');
					$("a.top_navigation").removeClass('hidden');
				}
			});
		} else {
			$("div.secondary_level:eq("+ currentProject +")").scrollTo("li:eq(" + (currentSlide + 1) + ")", { duration:700 });
			if(++currentSlide + 1 == $("#primary_level div.secondary_level:eq(" + currentProject + ") li.second").length) {
				$('a.bottom_navigation').addClass('hidden');
				$("a.top_navigation").removeClass('hidden');
			} else {
				$('a.bottom_navigation').removeClass('hidden');
				$("a.top_navigation").removeClass('hidden');
			}
		}
	});

	$('a.top_navigation').click(moveUp = function(){
		var slide = $("div.secondary_level:eq(" + currentProject  + ") li.second:eq(" + (currentSlide - 1) + ")");
		
		if (history.pushState) {
			if (nav == "archive") {
				window.history.pushState(" ", " ", "/archive/"+client[currentProject]+"/"+(seotitles[currentProject][currentSlide - 1]));
			} else if (nav == "projects") { 
				window.history.pushState(" ", " ", "/projects/"+client[currentProject]+"/"+(seotitles[currentProject][currentSlide - 1]));
			} else if (nav == "studio") {
				window.history.pushState(" ", " ", "/studio/");
			}
		}
		
		var slidesInProject = $("#primary_level div.secondary_level:eq(" + currentProject + ") li.second").length;
		$("p.page_info").html("Pages: " + (currentSlide) + " of " + slidesInProject);
		if (changeCaption) showCaption(currentProject, (currentSlide-1));

		if(!slide.hasClass('loaded')) {
			slide.addClass("loaded");
			var image = $("div.secondary_level:eq(" + currentProject  + ") li.second:eq(" + (currentSlide - 1) + ") img");
			$("#loader").addClass("show");
			image.attr('src', image.attr('rel'));
			image.load(function() {
				$("#loader").removeClass("show");
				$("div.secondary_level:eq("+ currentProject +")").scrollTo("li:eq(" + (currentSlide - 1) + ")", { duration:700 });
				
				if(--currentSlide == 0) {
					$('a.top_navigation').addClass('hidden');
					$('a.bottom_navigation').removeClass('hidden');
				} else {
					$('a.top_navigation').removeClass('hidden');
					$("a.bottom_navigation").removeClass('hidden');
				}
			});
		} else {
			$("div.secondary_level:eq("+ currentProject +")").scrollTo("li:eq(" + (currentSlide - 1) + ")", { duration:700 });
			
			if(--currentSlide == 0) {
				$('a.top_navigation').addClass('hidden');
				$('a.bottom_navigation').removeClass('hidden');
			} else {
				$('a.top_navigation').removeClass('hidden');
				$("a.bottom_navigation").removeClass('hidden');
			}
		}

	});

	$('body *').bind('click', function(){ $('.filter_menu li.hover').removeClass('hover'); });
	
	$('.filter_menu li a').click(function(e){
		e.stopPropagation();
		$(this).parent().addClass('hover');
	});
		
	$('.filter_menu ul a').click(function(e) {
		e.stopPropagation();
		$('div.work_filter form input').val($(this).attr("id"));
	    $('div.work_filter form').submit();
	});

});

$(window).bind("resize", resizeWindow);

function resizeWindow( e ) {

        // Gather browser dimensions
        var browserwidth = $(window).width() - 186;
        var browserheight = $(window).height();
		normalHeight = 1112;
		normalWidth = 1733;
		minWidth = 400;
		minHeight = (normalHeight * minWidth) / normalWidth;
		
		var device = navigator.userAgent.toLowerCase();
		var phone = device.match(/(iphone|ipod|ipad)/);
		
		if (phone) {
			// correct all font sizes
			var ratio = browserwidth / browserheight; // my resolution 1.9
			var font_size = 18 * ratio; 
			$('.detail_text, .detail_text p, p.d_size, div.text, div.news_text, div.feedback_text a').css('font-size',(18 * ratio)+'px');
			//$('.absolute_heading').css('font-size',(20 * ratio)+'px');
			$('ul.bottom_works li div.text p, div.text span.small').css('font-size',(9 * ratio)+'px');
			$('ul.bottom_works li img').css('width',(100 * ratio)+'px');
			$('ul.bottom_works li div.text p').css('padding-left',(100 * ratio  +15)+'px' );
		}
		
		$("li.first").width(browserwidth).height(browserheight);
		$("ul.project_list_detail").width(browserwidth).height(browserheight);
		$("li.second").width(browserwidth).height(browserheight);
		
        if (browserwidth > browserheight) { 
            $("li.second img").not('.no-resize').width(browserwidth);
			 $("li.second img").not('.no-resize').height((normalHeight * browserwidth)/normalWidth);
			if (browserwidth < minWidth) {  $("li.second img").not('.no-resize').width(minWidth*2).height(minHeight*2);  }
			if (browserheight < minHeight) {  $("li.second img").not('.no-resize').width(minWidth*2).height(minHeight*2);  }

			if (((normalHeight * browserwidth)/normalWidth) <  browserheight) {
				 $("li.second img").not('.no-resize').width((normalWidth * browserheight) / normalHeight);
				 $("li.second img").not('.no-resize').height(browserheight);
				if (browserwidth < minWidth) {  $("li.second img").not('.no-resize').width(minWidth*2).height(minHeight*2);  }
				if (browserheight < minHeight) {  $("li.second img").not('.no-resize').width(minWidth*2).height(minHeight*2);  }
			}
        } else { // browserwidth < browserheight
				 $("li.second img").not('.no-resize').width((normalWidth * browserheight) / normalHeight);
				 $("li.second img").not('.no-resize').height(browserheight);
				if (browserwidth < minWidth) {  $("li.second img").not('.no-resize').width(minWidth*2).height(minHeight*2);  }
				if (browserheight < minHeight) {  $("li.second img").not('.no-resize').width(minWidth*2).height(minHeight*2);  }
		}

		// Make sure the image stays center in the window
         $("li.second img").not('.no-resize').css('margin-left', ((browserwidth - $("li.second img").width())/2));
         $("li.second img").not('.no-resize').css('margin-top', ((browserheight - $("li.second img").height())/2));
		
		// resize other elements
		$("a.middle").css('left', (browserwidth-165)/2 + 175 + 86);
		$("p.middle").css('left', (browserwidth-165)/2 + 175 + 86 - 40);
		if (nav == "projects" || nav == "archive" || nav == "articles" || nav == "news") {
			$("a.prev_navigation").css('left', (browserwidth-165)/2 + 175 + 86 - 220);
			$("a.next_navigation").css('right', (browserwidth-165)/2 + 175 - 67 - 220);
		}
		$("li.first").width(browserwidth).height(browserheight);
		$("ul.project_list_detail").width(browserwidth).height(browserheight);
		$("li.second").width(browserwidth).height(browserheight);
	
	$("#primary_level").scrollTo( 'li.first:eq(' + currentProject + ')');
	$("div.secondary_level:eq(" + currentProject + ")").scrollTo("li:eq(" + currentSlide + ")");

};


jQuery.fn.delay = function(time,func){
	this.each(function(){
		setTimeout(func,time);
	});
	return this;
}


