var isIE = false;
var credOpen = 0;
 var count = 1;
$(document).ready(function(){
	
	$('#creditos a').click(function() {
		var id = (projects[projectActual][0]);
		
		
		if($('#creditos li#item'+id+'').is(':visible')) {
			$('#creditos li#item'+id+'').slideUp('normal');
			$('#creditos li#item'+id+'').removeClass('active');
			$(this).text('+ Créditos');
		} else {
			$('#creditos li#item'+id+'').slideDown('normal');
			$('#creditos li#item'+id+'').addClass('active');
			$(this).text('- Créditos');
		}
		
		credOpen = 1;
	});

	isIE = $.browser.msie;
	$(document).pngFix(); 

	if (isIE){
		if($.browser.version!="8.0") {
			window.location = "http://www.estudiogrima.com/index/navegador"
		}
	}
	loadFirstProject();
	
	var slide = false;
	$('a#contato').click(function() {
		if(slide==true) {
			$('li.desc').slideUp();
			$('li.midia').slideUp();
			slide = false;
		} else {
			
			$('li.desc').slideDown();
			$('li.midia').slideDown();
			
			showDirectProject(1);
			slide = true;
		}
	});
	
	
	$('body').mousemove(function(e)
	{
		
		$('#home_stuff').fadeIn();
		$('p.copy').fadeIn();
		$('ul.translator').fadeIn();
	});
	
	
	$('.rss_home').click(function() {
		blancoButton($(this), "0px -28px", "");
	});
	
	$('.image_previous').click(function(e) {
		showPreviousImage();
		blancoButton($(this), "0px -28px", "");
		e.preventDefault();
	});
	
	$('.image_next').click(function(e) {
		showNextImage();
		blancoButton($(this), "0px -28px", "");
		e.preventDefault();
	});
	/**
	 * NAVEGAÇÃO DAS IMAGENS PELAS SETAS */
	 
	
	$('.project_previous').click(function(e) {
		var arrayImages = projects[projectActual][6].split('|');
		var total = (arrayImages.length);
		if(count>1) {
			count--;
			showPreviousImage();
			e.preventDefault();
			$('#image_data_navigation .image_number a').removeClass('active');
			$('#image_data_navigation .image_number a.'+count+'').addClass('active');
			
		} else {
			gotoImage(total-1);
			e.preventDefault();	
		}
	});
	
	$('.project_next').click(function(e) {
		
		var arrayImages = projects[projectActual][6].split('|');
		var total = (arrayImages.length);
		
		if(count<total-1) {
			count++;
			showNextImage();
			$('#image_data_navigation .image_number a').removeClass('active');
			$('#image_data_navigation .image_number a.'+count+'').addClass('active');
			
			e.preventDefault();
			if(count==(total)) {
			}
		} else {
			gotoImage(1);
			e.preventDefault();
		}
	});
	
	
	
	
	$('#project_navigation_previous').hover(
		function() {
			if(projectActual!=1) {
			$('.project_previous').show();
			}
			
		},
		function() {
			$('.project_previous').hide();
		});
	
	/*
	 * NAVEGAÇÃO */
	$('#project_navigation_next').hover(
		function() {
			if(projectActual!=1) {
			$('.project_next').show();
			}
		},
		function() {
			$('.project_next').hide();
	});
	
	
	$('#project_preload').flash({
		
		swf: 'swf/loadingAnim.swf',
		width: '50px',
		height: '50px',
		hasVersion: 8,
		flashvars: {},
		params: { wmode: 'transparent'}
	});
	
	$('a.media').media();

});



$(window).resize(function(){
	resizeImageSCut();
});
		
var imgCenter = "#image_center";
var imgLeft = "#image_left";
var imgRight = "#image_right";
var imgUp = "#image_up";
var imgDown = "#image_down";

function resizeImageSCut() {

	var navWidth = $(window).width();
	var navHeight = $(window).height();
	var navRatio = navWidth / navHeight;

	if ($('#main_image').width() > 1) picWidth = $('#main_image').width();
	if ($('#main_image').height() > 1) picHeight = $('#main_image').height();
	picRatio = picWidth / picHeight;
	
	if (navRatio > picRatio) {
		var newHeight = (navWidth / picWidth) * picHeight;
		var newWidth = navWidth;
	} else {
		var newHeight = navHeight;
		var newWidth = (navHeight / picHeight) * picWidth;
	}
	
	newTop = 0 - ((newHeight - navHeight) / 2);
	newLeft =  0 - ((newWidth - navWidth) / 2);

	$('#image_holder').css({height: navHeight, width: navWidth});
	$('#image_holder').css({visibility:"visible", display:"block"});
	
	$('.main_image').css({height: newHeight, width: newWidth});

	$(imgCenter).css({top: newTop, left: newLeft});
	$(imgLeft).css({top: newTop, left: newLeft-newWidth});
	$(imgRight).css({top: newTop, left: newLeft+newWidth});
	$(imgUp).css({top: newTop-newHeight, left: newLeft});
	$(imgDown).css({top: newTop+newHeight, left: newLeft});
	
	resizeElementsSCut();
}

function resizeElementsSCut() {
	var navWidth = $(window).width();
	var navHeight = $(window).height();
	
	var navProjectTop = (navHeight-$('#project_navigation .project_previous').height())/2;
	$('#project_navigation .project_previous').css("marginTop", navProjectTop+"px");
	$('#project_navigation .project_next').css("marginTop", navProjectTop+"px");
	
	var navProjectWidth = navWidth/2-100;
	$('#project_navigation_previous').width(navProjectWidth);
	$('#project_navigation_next').width(navProjectWidth);
	
	var preloadTop = (navHeight-40)/2;
	var preloadLeft = (navWidth-40)/2;
	
	$('#project_preload').css({top: preloadTop, left: preloadLeft});
	
	var videoTop = (navHeight-496)/2;
	var videoLeft = (navWidth-640)/2;
	$('#video').css({top: 0, left: 0});
}



function blancoButton(element, bckPos, bckPosBack) {
	element.css("backgroundPosition", bckPos);
	element.animate({opacity: 1}, "normal", function(){
		$(this).css("backgroundPosition", bckPosBack);
	});
}


function preloadImage(source, nextEvent) {
			
		$('#project_tapa').show();
		if (imageActual!=1 || !projects[projectActual][7]){
		    $('<img />').attr('src', source).load(function(){

				if (imageActual==1) projects[projectActual][7] = true;
				$(this).oneTime(500, "preload", nextEvent);
			});
		} else {
			$(this).oneTime(250, "preload", nextEvent);
		}
	//}
}

function preloadNext() {

	preloadActual++;
	if (preloadActual==projects.length) preloadActual = 1;
	preloadActual = getNextToPreload();
	if (preloadActual != -1)	{
	var source = getPreloadImageSourceActual();
		$('<img />').attr('src', source).load(function(){
			projects[preloadActual][7] = true;

			preloadNext();
		});
	}
}

function getNextToPreload() {
	if (!projects[preloadActual][7]) return preloadActual;
	else {
		var someToPreload = -1;
		for (var i=preloadActual; i<projects.length; i++){
			if (!projects[i][7]){
				someToPreload = i;
				break;
			}
		}
		if (someToPreload == -1){
			for (var i=1; i<preloadActual; i++){
				if (!projects[i][7]){
					someToPreload = i;
					break;
				}
			}
		}
		return someToPreload;
	}
}

function hideVideo() {
	var waitTime = 10;
	if (isVideo){
		waitTime = 1000;
		$('#video').stop().animate({top:"-500px"}, 1000, function(){
			$('#video').html('').hide();
		});
	}
	
	return waitTime;
}

function showVideo() {
	if (isVideo){
		
		
		var idVideo = projects[projectActual][6].split('|')[imageActual-1];
		
		var arrVideo = idVideo.split("VIDEO");
		idVideo = arrVideo[0];
				
		var videoSource = arrVideo[1];
		
		$('#video').html('<iframe width="'+$(window).width()+'" height="'+$(window).height()+'" src="http://www.youtube.com/embed/'+videoSource+'?rel=0&controls=0&autoplay=1&wmode=transparent&showinfo=0" frameborder="0" allowfullscreen></iframe>');
		
		var navHeight = $(window).height();
		var videoTop = (navHeight-500)/2;
		
		$('#video').stop().css("top", "-500px").css("left", "0").show();		
		$(this).oneTime(100, function() {
			$('#video').animate({top:"0px"}, 1000);
		});
	}
}


function hideProjectData() {
	if (isIE){
		$('#image_data').hide();
	} else {
		$('#image_data').stop().fadeTo('fast', 0);
	}
	$('#image_data_navigation').stop().fadeTo('fast', 0);
}

function showProjectData() {

	var idImage = projects[projectActual][0];
	var imageDataSource = imagePath+"proyecto_titulo_"+idImage+".png";
	var credToggle = projects[projectActual][9];
	var fundo = projects[projectActual][8];
	

	$('#creditos li.active').slideUp('normal');
	$('#creditos a').text('+ Créditos');
	$('#creditos li.active').removeClass('active');

	if(credToggle==1) {
		$('#creditos').show();	
	} else {
		$('#creditos').hide();	
	}
	
	if(fundo==1) {
		$('div#menu_home').addClass('dark');
		$('p.copy').addClass('dark');
		$('p.image_number').addClass('dark');
		$('#logo_imago a').addClass('dark');
		$('ul.translator').addClass('dark');
		
	} else {
		$('div#menu_home').removeClass('dark');
		$('p.copy').removeClass('dark');
		$('ul.translator').removeClass('dark');
		$('#logo_imago a').removeClass('dark');
		$('p.image_number').removeClass('dark');
	}
	
	
	var title = projects[projectActual][1];
	var desc = "";
		desc += projects[projectActual][2];
	var link = (projects[projectActual][3]=="")? "" : '<a href="'+projects[projectActual][5]+'" target="_blank">'+projects[projectActual][3]+'</a>';
	var numImages = parseInt(projects[projectActual][4]);
	
	$('#image_data p:eq(0)').html(desc);
	$('#image_data p:eq(1)').html(link);
	
	$('#image_data_navigation .image_number').html("");
	
	var arrayImages = projects[projectActual][6].split('|');
	
	/*
	 *
	 *
	 * PAGINAÇÃO */
	for(var i = 1; i<=numImages;i++) {
		if(i==1) {
			$('#image_data_navigation .image_number').append('<a class="'+i+' active" href="javascript:gotoImage('+i+');">'+i+'</a>');
		} else {
			$('#image_data_navigation .image_number').append('<a class="'+i+'" href="javascript:gotoImage('+i+');">'+i+'</a>');
		}
		
	}
	
	
	if (link=="") $('#image_data p:eq(1)').hide();
	else $('#image_data p:eq(1)').show();
	
	$('ul.menu_sublevel a#menu-'+idImage+'').after($('#image_data'));
	
	if (isIE){
		$('#image_data').show();
	} else {
		$('#image_data').show();
		
		
		
		$('#image_data').stop().css("opacity", 0).fadeTo('slow', 1);
	}
	
	if (numImages > 1){
		$('#image_data_navigation').show();
		$('#image_data_navigation').stop().css("opacity", 0).fadeTo('slow', 1);
	}

	toggleImagePrevious(true);
	toggleImageNext((numImages==1));
	
	if (isIE) resizeImageSCut();
}

function changeProjectImage() {
	var numImages = parseInt(projects[projectActual][4]);
	
	//$('#image_data_navigation .image_number').html("Image "+imageActual+" of "+numImages);
	
	toggleImagePrevious((numImages==1 || imageActual==1));
	toggleImageNext((imageActual==numImages));
}
/*
 * * *************************************/
function toggleImagePrevious(hideOrShow) {
	
		
		if (hideOrShow){
			$('.image_previous').css({cursor:"default", opacity:0.5, backgroundPosition:"0px 0px"});
			$('.image_previous').unbind("click").click(function() { return false; });
		} else {
			$('.image_previous').css({cursor:"pointer", opacity:1, backgroundPosition:""});
			$('.image_previous').unbind("click").click(function(e) {
				showPreviousImage();
				blancoButton($(this), "0px -28px", "");
				e.preventDefault();
			});
		}
	
}

function toggleImageNext(hideOrShow) {
	if (hideOrShow){
		$('.image_next').css({backgroundPosition:"0px 0px", cursor:"default", opacity:0.5});
		$('.image_next').unbind("click").click(function() { return false; });
	} else {
		$('.image_next').css({backgroundPosition:"", cursor:"pointer", opacity:1});
		$('.image_next').unbind("click").click(function(e) {
			showNextImage();
			blancoButton($(this), "0px -28px", "");
			e.preventDefault();
		});
	}
}


function getImageSourceActual(){
	
	var idImage = projects[projectActual][6].split('|')[imageActual-1];
	
	var imageSource = imagePath+idImage+".jpg";
	
	if (idImage.indexOf("VIDEO")!=-1){
		
		imageSource = imageSource.split("VIDEO")[0]+".jpg";
		
		isVideo = true;
	} else {
		isVideo = false;
	}
	
	return imageSource;
}

function getPreloadImageSourceActual(){

	var idImage = projects[preloadActual][6].split('|')[0];
	var imageSource = imagePath+idImage+".jpg";
	if (idImage.indexOf("VIDEO")!=-1) imageSource = imageSource.split("VIDEO")[0]+".jpg";
	
	return imageSource;
}

function loadFirstProject() {

	hideVideo();
	resizeElementsSCut();
	
	var imageSource = getImageSourceActual();
	
	preloadImage(imageSource, loadFirstProjectEnd);
}

function loadFirstProjectEnd() {
	var imageSource = getImageSourceActual();
	
	$(imgCenter)[0].src = imageSource;
	resizeImageSCut();
	showProjectData();
	showVideo();
	$('#image_holder').css({opacity:0}).fadeTo(1000, 1);
	
	if (!isIE) {
		projects[projectActual][7] = true;
		preloadNext();
	}
	
	$('#project_tapa').stop().fadeOut('slow');
}

function toggleLinkMenu(n) {
	$('ul.menu_sublevel li ul li').find('a').each(function(e) {
		var menu = $(this).attr('id');
		var atual = "menu-"+n;
		if(atual==menu) {
			$(this).attr('onClick','javascript:return false;');
		} else {
			$(this).removeAttr('onClick');
		}
	});
	

}

function showDirectProject(n) {
	imageActual = 1;
	var nP = 0;
	
	for (var i=1; i<projects.length; i++)	{
		
		if(projects[i][0]==n) nP = i;
		
	}
	count = 1;
	
	if (nP>projectActual){
		projectActual = nP-1;
		showNextProject();
	} else {
		projectActual = nP+1;
		showPreviousProject();
	}
	
	toggleLinkMenu(n);
}
   
function showNextProject() {

	hideProjectData();
	var waitTime = hideVideo();
	
	$(this).oneTime(waitTime, function() {
		
		projectActual += 1;
		
		if (projectActual == projects.length) 
		
		projectActual = 1;
	
		var imageSource = getImageSourceActual();
		
		preloadImage(imageSource, showNextProjectEnd);	
		
  	});
  	
  	if (isIE) $(imgCenter)[0].src = "assets/css/default/images/sp.gif";	
}
/*
 *
 * SHOW NEXT PROJECT */
function showNextProjectEnd() {

	var imageSource = getImageSourceActual();
	
	if (isIE) {
		$(imgCenter)[0].src = imageSource;
		showVideo();
	} else {
		var centerTopIni = $(imgCenter).position().top;
		var centerTopEnd = $(imgCenter).position().top - $(imgCenter).height();
		var downTopIni = $(imgDown).position().top;
		var downTopEnd = $(imgCenter).position().top;
		
		$(imgDown)[0].src = imageSource;
		
		$(imgCenter).animate({top:centerTopEnd}, 1000);
		$(imgDown).animate({top:downTopEnd}, 1000, function(){
			$(imgCenter)[0].src = imageSource;
			$(imgCenter).css({top:centerTopIni});
			$(imgDown).css({top:downTopIni});
			showVideo();
		});
	}
	showProjectData();
	
	$('#project_tapa').stop().fadeOut('slow');
}

function showPreviousProject() {

	hideProjectData();
	var waitTime = hideVideo();
	
	$(this).oneTime(waitTime, function() {
		projectActual -= 1;
		if (projectActual == 0) projectActual = (projects.length-1);
		imageActual = 1;
		
		var imageSource = getImageSourceActual();
		preloadImage(imageSource, showPreviousProjectEnd);
  	});
	
	if (isIE) $(imgCenter)[0].src = "css/css_img/sp.gif";
}

function showPreviousProjectEnd() {

	var imageSource = getImageSourceActual();

	if (isIE) {
		$(imgCenter)[0].src = imageSource;
		showVideo();
	} else {	
		var centerTopIni = $(imgCenter).position().top;
		var centerTopEnd = $(imgCenter).position().top + $(imgCenter).height();
		var upTopIni = $(imgUp).position().top;
		var upTopEnd = $(imgCenter).position().top;
		
		$(imgUp)[0].src = imageSource;
		
		$(imgCenter).animate({top:centerTopEnd}, 1000);
		$(imgUp).animate({top:upTopEnd}, 1000, function(){
			$(imgCenter)[0].src = imageSource;
			$(imgCenter).css({top:centerTopIni});
			$(imgUp).css({top:upTopIni});
			showVideo();
		});
	}
	
	showProjectData();
	
	$('#project_tapa').stop().fadeOut('slow');
}
/**
  * GOTO IMAGE */

function gotoImage(i) {
	
	var arrayImages = projects[projectActual][6].split('|');
	var total = (arrayImages.length);
	
	count = i;

	var waitTime = hideVideo();
	$('p.image_number a').removeClass('active');
	$('p.image_number a.'+i+'').addClass('active');
	$(this).oneTime(waitTime, function() {
		imageActual = i;
		//imageActual += 1;
		var imageSource = getImageSourceActual();	
		preloadImage(imageSource, showNextImageEnd);
		
  	});
  	
  	if (isIE) $(imgCenter)[0].src = "css/css_img/sp.gif";
}

function showNextImage() {
	var arrayImages = projects[projectActual][6].split('|');
	var total = (arrayImages.length);
	var waitTime = hideVideo();
	
	$(this).oneTime(waitTime, function() {
		imageActual += 1;
		var imageSource = getImageSourceActual();	
		
		preloadImage(imageSource, showNextImageEnd);
  	});
  	
  	if (isIE) $(imgCenter)[0].src = "css/css_img/sp.gif";
}

function showNextImageEnd() {
	var imageSource = getImageSourceActual();

	if (isIE) {
		$(imgCenter)[0].src = imageSource;
		showVideo();
	} else {
		var centerLeftIni = $(imgCenter).position().left;
		var centerLeftEnd = $(imgCenter).position().left - $(imgCenter).width();
		var rightLeftIni = $(imgRight).position().left;
		var rightLeftEnd = $(imgCenter).position().left;
		
		$(imgRight)[0].src = imageSource;
		
		$(imgCenter).animate({left:centerLeftEnd}, 1000);
		$(imgRight).animate({left:rightLeftEnd}, 1000, function(){
			$(imgCenter)[0].src = imageSource;
			$(imgCenter).css({left:centerLeftIni});
			$(imgRight).css({left:rightLeftIni});
			showVideo();
		});
	}
	
	changeProjectImage();
	
	$('#project_tapa').stop().fadeOut('slow');
}

function showPreviousImage() {

	var waitTime = hideVideo();
	
	$(this).oneTime(waitTime, function() {
		imageActual -= 1;
	
		var imageSource = getImageSourceActual();
		preloadImage(imageSource, showPreviousImageEnd);
  	});
  	
  	if (isIE) $(imgCenter)[0].src = "css/css_img/sp.gif";
}

function showPreviousImageEnd() {

	var imageSource = getImageSourceActual();
	
	if (isIE) {
		$(imgCenter)[0].src = imageSource;
		showVideo();
	} else {
		var centerLeftIni = $(imgCenter).position().left;
		var centerLeftEnd = $(imgCenter).position().left + $(imgCenter).width();
		var leftLeftIni = $(imgLeft).position().left;
		var leftLeftEnd = $(imgCenter).position().left;
		
		$(imgLeft)[0].src = imageSource;
		
		$(imgCenter).animate({left:centerLeftEnd}, 1000);
		$(imgLeft).animate({left:leftLeftEnd}, 1000, function(){
			$(imgCenter)[0].src = imageSource;
			$(imgCenter).css({left:centerLeftIni});
			$(imgLeft).css({left:leftLeftIni});
			showVideo();
		});
	}
	
	changeProjectImage();
	
	$('#project_tapa').stop().fadeOut('slow');
}

