/**
 ## Crafted by Stephan Florquin
 ## stephan.florquin@gmail.com
 ## http://shiver.fr
 **/

var CORE_options;

var CORE_initialized;
var CORE_bgsEnabled = false;
var CORE_bgsIndex = 0;
var CORE_bgsCache = new Array();
var CORE_bgsHovered;
var CORE_getTimer;

var CORE_lang;
var CORE_section;
var CORE_action;
var CORE_id;

var CORE_projects;
var CORE_projectImagesHeight = new Array();
var CORE_projectImagesWidth= new Array();
var CORE_projectFixedWidth;

var $CORE_updateParagraphs;
var CORE_updateID;
var CORE_updateIndex = 0;
var CORE_years;
var CORE_year;

var $CORE_updateImages;
var CORE_updateImagesIndex;

var $CORE_researches;

var CORE_researchesImagesIndex = new Array();

var CORE_BGS_WIDTH = 1680;
var CORE_BGS_HEIGHT = 1050;
var CORE_BGS_RATIO = CORE_BGS_WIDTH / CORE_BGS_HEIGHT;
var CORE_BGS_DELAY = 12000;

function CORE_init(options){
	$.fn.wait = function(time, type){
		time = time || 1000;
		type = type || 'fx';
		return this.queue(type, function(){
			var self = this;
			setTimeout(function(){
				$(self).dequeue();
			}, time);
		});
	};
	
	CORE_options = options;
	CORE_setupAJAXLinks();
	$.address.change(CORE_addressHandler);
	
	$(window).resize(CORE_resize);
	
	$('body').css('overflow', 'hidden');
	$('#bg1, #bg2').mousedown(function(){return false;});
	
	$('body').ajaxStop(function(){CORE_setupAJAXLinks(); CORE_updateLinks(CORE_action, CORE_id);});
	
	var $tooltip = $('<div class="tooltip" id="bgsTooltip"></div>');
	$('body').append($tooltip);
	
	var timeout;
	
	$('body').mousemove(function(event){
		if(timeout){
			$tooltip.fadeOut();
			clearTimeout(timeout);
		}
		
		timeout = setTimeout(function(){
			if(CORE_bgsEnabled){
				switch(event.target.id){
					case 'wrapper':
					case 'content':
					case 'bg1':
					case 'bg2':
						$tooltip.css('left', event.pageX - ($tooltip.width() + 20) * .5);
						$tooltip.css('top', event.pageY - 40);
						$tooltip.fadeIn();
					break;
				}
			}
		}, 1000);
	});
	
	$('body').click(function(event){
		if($tooltip.css('display') != 'none'){
			var bgIndex = CORE_bgsIndex ? CORE_bgsIndex : CORE_options.bgs.length;
			--bgIndex;
			if(CORE_bgsEnabled && CORE_options.bgsLink[bgIndex]){
				switch(event.target.id){
					case 'wrapper':
					case 'content':
					case 'bg1':
					case 'bg2':
						$.address.value(CORE_options.base + CORE_lang + '/projects/show/' + CORE_options.bgsLink[bgIndex]);
					break;
				}
			}
		}
	})
	
	$(window).load(function() {
		$('.topBlock').each(function() {
			
			var prevTop = -1;
			
			$('a', this).each(function() {
				var $this = $(this);
				var top = $this.position().top;
				if(prevTop >= 0 && top > prevTop){
					var $separator = $this.prev();
					if($separator.html() == ' / '){
						if($separator.position().top < top){
							$separator.replaceWith($('<br />'));
						}else{
							$separator.remove();
						}
					}
				}
				
				prevTop = top;
			});
		});
	});
	
	CORE_resize();
	
	var images = [
		'down.png',
		'down_active.png',
		'up.png',
		'up_active.png',
		'left.png',
		'left_active.png',
		'right.png',
		'right_active.png',
		'play.png',
		'play_active.png',
		'studiobw.png',
		'studiobw_active.png'
	]
	
	for (var i in images) {
		var image = new Image();
		image.src = CORE_options.base + 'media/design/' + images[i];
	};
}

function CORE_loadLeftNav(url, data){
	$('#leftNav').css('opacity', 0).load(url, data, function(){$(this).css('opacity', 1);});
}

function CORE_loadContent(url, data, noHide){
	url = url || $.address.value();
	
	if(url == '/') url = CORE_options.base + CORE_options.current;
	
	if(!noHide){
		$('#content').css('opacity', 0).load(url, data, function(){$(this).css('opacity', 1);});
	}else{
		$('#content').load(url, data);
	}
	
	$('#content').animate({scrollTop: 0}, 1);
}

function CORE_setupAJAXLinks(){
	$('a:not(.fr, .en, .noAjax, [href^=http], [href~=#], [href^=javascript:], [href^=mailto:])').unbind('click', CORE_clickHandler).click(CORE_clickHandler);
	$('a[rel^=video:]').click(function(){
		var url = $(this).attr('rel').substr(6);
		CORE_playVideo(url);
		return false;
	}).prepend('<div class="playVideo" />');
	CORE_resizeVideoLinks();
}

function CORE_clickHandler(){
	if(!$(this).hasClass('inactive')){
		$.address.value($(this).attr('href'));
	}
	
	return false;
}

function CORE_addressHandler(event){
	var baseGroups = CORE_options.base.split('/');
	var update = false;
	
	if(event.value == '/'){
		var groups = CORE_options.current.split('/');
		CORE_lang = groups[0];
		var controller = groups[1];
		var action = groups.length > 1 ? groups[2] : null;
		var id = groups.length > 2 ? groups[3] : null;
		update = CORE_initialized;
	}else{
		var groups = event.pathNames.slice(baseGroups.length - 2);
		CORE_lang = groups[0];
		var controller = groups[1];
		var action = groups.length > 1 ? groups[2] : null;
		var id = groups.length > 2 ? groups[3] : null;
		update = true;
	}
		
	if(controller && update){
		switch(controller){
			case 'projects':
				CORE_projectsHandler.apply(null, groups.slice(2));
				break;
			case 'updates':
				CORE_updatesHandler.apply(null, groups.slice(2));
				break;
			case 'members':
				CORE_membersHandler.apply(null, groups.slice(2));
				break;
			case 'clients':
				CORE_clientsHandler.apply(null, groups.slice(2));
				break;
			case 'about':
				CORE_aboutHandler.apply(null, groups.slice(2));
				break;
			case 'contact':
				CORE_contactHandler.apply(null, groups.slice(2));
				break;
			case 'research':
				CORE_researchHandler.apply(null, groups.slice(2));
				break;
		}
	}
		
	if(event.pathNames.length) {
		$('.fr').attr('href', CORE_options.base + 'fr/' + groups.slice(1).join('/'));
		$('.en').attr('href', CORE_options.base + 'en/' + groups.slice(1).join('/'));
	}
	
	if(controller == 'projects'/* || controller == 'clients'*/){
		CORE_disableBgs();
	} else {
		CORE_enableBgs();
	}
	
	if(controller != 'projects'){
		CORE_inProject = false;
	}
	
	CORE_section = controller;
	CORE_action = action;
	CORE_id = id;
	
	CORE_updateLinks(CORE_action, CORE_id);
	
	CORE_initialized = true;
}

function CORE_updateLinks(action, id){
	$('.sectionLink').removeClass('active');
	$('.' + CORE_section + 'Link').addClass('active');
	
	if(CORE_section){
		switch(CORE_section){
			case 'projects':
				if(action){
					$('.projectsLink').removeClass('active');
					switch(action){
						case 'tag':
							$('.tagLink').removeClass('active');
							$('.tagLink' + id).addClass('active');
							$('.chronoLink').removeClass('active');
							break;
						case 'chrono':
							$('.chronoLink').removeClass('active');
							$('.chronoLink' + id).addClass('active');
							$('.tagLink').removeClass('active');
							break;
						case 'show':
							$('.tagLink').removeClass('active');
							$('.chronoLink').removeClass('active');
							break;
					}
				}else{
					$('.tagLink').removeClass('active');
					$('.chronoLink').removeClass('active');
				}
				break;
			case 'updates':
				if(action){
					switch(action){
						case 'show':
							$('.updateLink').removeClass('active');
							$('.updateLink' + id).addClass('active');
							break;
					}
				}else {
					/*$('#updatesList dt:first a').addClass('active');
					$('#updatesList dd:first a').addClass('active');*/
				}
				break;
			case 'members':
				if(action){
					switch(action){
						case 'former':
							$('.formerMembersLink').addClass('active');
							break;
						default:
							$('.formerMembersLink').removeClass('active');
					}
				}else {
					/*$('#updatesList dt:first a').addClass('active');
					$('#updatesList dd:first a').addClass('active');*/
				}
				break;
			/*case 'clients':
				switch(action){
					case 'show':
						$('.folderLink').removeClass('active');
						$('.folderLink' + id).addClass('active');
						break;
				}
				break;*/
		}
	}else{
		$('.updatesLink').addClass('active');
	}
	
	if(CORE_section != 'projects'){
		$('.tagLink').removeClass('active');
		$('.chronoLink').removeClass('active');
	}

	$('dt a').unbind('mouseover', CORE_dtaMouseoverHandler).mouseover(CORE_dtaMouseoverHandler);
	$('dt a').unbind('mouseout', CORE_dtaMouseoutHandler).mouseout(CORE_dtaMouseoutHandler);
	$('dd a').unbind('mouseover', CORE_ddaMouseoverHandler).mouseover(CORE_ddaMouseoverHandler);
	$('dd a').unbind('mouseout', CORE_ddaMouseoutHandler).mouseout(CORE_ddaMouseoutHandler);
	
	$('a[href^=http]').attr('target', '_blank');
}

function CORE_dtaMouseoverHandler(){
	$(this).parent().next().find('a').addClass('hovered');
}

function CORE_dtaMouseoutHandler(){
	$(this).parent().next().find('a').removeClass('hovered');
}

function CORE_ddaMouseoverHandler(){
	$(this).parent().prev().find('a').addClass('hovered');
}

function CORE_ddaMouseoutHandler(){
	$(this).parent().prev().find('a').removeClass('hovered');
}

function CORE_projectsHandler(action, id){
	if(action){
		switch(action){
			case 'tag':
				CORE_showTag(id);
				if(CORE_section != 'projects' || CORE_action == 'show'){
					CORE_loadLeftNav(CORE_options.base + CORE_lang + '/projects/left_nav', {ajax: true});
				}
				break;
			case 'chrono':
				CORE_showChrono(id);
				if(CORE_section != 'projects' || CORE_action == 'show'){
					CORE_loadLeftNav(CORE_options.base + CORE_lang + '/projects/left_nav', {ajax: true});
				}
				break;
			case 'show':
				CORE_showProject(id);
				CORE_loadLeftNav(CORE_options.base + CORE_lang + '/projects/left_nav/' + id, {ajax: true});
				break;
		}
	}else{
		CORE_showProjects();
		if(CORE_section != 'projects' || CORE_action == 'show'){
			CORE_loadLeftNav(CORE_options.base + CORE_lang + '/projects/left_nav', {ajax: true});
		}
	}
}

function CORE_showProjects(){
	CORE_showTagOrChrono();
}

function CORE_showTagOrChrono(tag){
	if(CORE_action == 'show' || CORE_section != 'projects'){
		CORE_loadContent(null, {ajax: true});
	} else {
		var thumbnails = $('#projects a');
		
		if(tag){
			thumbnails.each(function() {
				var prevState = $(this).hasClass('active');
				if($(this).hasClass(tag)){
					$(this).addClass('active').removeClass('inactive');
				}else{
					$(this).addClass('inactive').removeClass('active');
				}
				if(prevState){
					$(this).find('img').css('opacity', 1);
				}else{
					$(this).find('img').css('opacity', .1);
				}
			});
		}else{
			thumbnails.each(function() {
				var prevState = $(this).hasClass('active');
				$(this).addClass('active').removeClass('inactive');
				if(prevState){
					$(this).find('img').css('opacity', 1);
				}else{
					$(this).find('img').css('opacity', .1);
				}
			});
		}
		
		var sorted = thumbnails.slice(0, thumbnails.length);
		
		sorted.sort(function(a, b) {
			var $a = $(a);
			var $b = $(b);
			
			if($a.hasClass('active')){
				if($b.hasClass('active')){
					return $a.attr('id') > $b.attr('id') ? -1 : 1;
				}else{
					return -1;
				}
			}else{
				if($b.hasClass('active')){
					return 1;
				}else{
					return $a.attr('id') > $b.attr('id') ? -1 : 1;
				}
			}
		});
		
		var random = new Array(thumbnails.length);
		
		for(var i = 0; i < random.length; i++){
			random[i] = i;
		}
		
		random.sort(function(a, b) {
			return Math.random() >= .5 ? 1 : -1;
		});
		
		for(i = 0; i < random.length; i++){
			var index = random[i];
			var thumb1 = $(thumbnails[index]);
			var thumb2 = $(sorted[index]);
			
			thumb2.wait(i / random.length * 1500).fadeTo(300, 0, CORE_updateProjectThumb(thumb2, index, tag)).wait(50).fadeTo(300, 1);
		}
		
		$('#content').animate({scrollTop: 0}, 1);
	}
}

function CORE_updateProjectThumb(thumb, index, tag)
{
	return function() {
		var x = (index % 5) * 150 + 'px';
		var y = parseInt(index / 5) * 110 + 'px';

		if(!tag || thumb.hasClass(tag)){
			$('img', thumb).css('opacity', 1);
		}else{
			$('img', thumb).css('opacity', .1);
		}
		
		thumb.css({
			'left': x,
			'top': y
		})
	};
}

function CORE_showTag(id){
	CORE_showTagOrChrono('tag' + id);
}

function CORE_showChrono(year){
	CORE_showTagOrChrono('year' + year);
}

function CORE_showProject(id){
	CORE_loadContent(null, {ajax: true});
}

function CORE_updatesHandler(action, id){
	if(CORE_section != 'updates'){
		CORE_loadLeftNav(CORE_options.base + CORE_lang + '/updates/left_nav', {ajax: true});
	}

	if(action){
		switch(action){
			case 'show':
				CORE_showUpdate(id);
				break;
		}
	}else{
		CORE_showUpdates();
	}
}

function CORE_showUpdate(id){
	CORE_loadContent(null, {ajax: true}, true);
}

function CORE_showUpdates(){
	CORE_loadContent(CORE_options.base + CORE_lang + '/updates', {ajax: true});
}

function CORE_membersHandler(action, id){
	if(!$('#membersList').length){
		CORE_loadLeftNav(CORE_options.base + CORE_lang + '/members/left_nav', {ajax: true});
	}
	CORE_loadContent(null, {ajax: true});
}

function CORE_showMembers(){
	CORE_loadLeftNav(CORE_options.base + CORE_lang + '/members/left_nav', {ajax: true});
	CORE_loadContent(null, {ajax: true});
}

function CORE_aboutHandler(){
	CORE_loadLeftNav(CORE_options.base + CORE_lang + '/about/left_nav', {ajax: true});
	CORE_loadContent(null, {ajax: true});
}

function CORE_contactHandler(){
	CORE_loadContent(null, {ajax: true});
	$('#leftNav').html('');
}

function CORE_researchHandler(){
	CORE_loadContent(null, {ajax: true});
	$('#leftNav').html('');
}

function CORE_clientsHandler(action, id){
	/*if(action){
		switch(action){
			case 'logout':
				CORE_logout(id);
				break;
			case 'show':
				CORE_showFolder(id);
				break;
		}
	}else{*/
		CORE_showClients();
	//}
}

/*function CORE_logout(){
	$.post(CORE_options.base + CORE_lang + '/clients/logout', null, function(){
		$.address.value(CORE_options.base + CORE_lang + '/clients');
		
		CORE_loadContent(null, {ajax: true});
	});
}*/

function CORE_showClients(){
	CORE_loadContent(null, {ajax: true});
	$('#leftNav').html('');
}

function CORE_showFolder(){
	CORE_loadContent(null, {ajax: true});
}

function CORE_resize(){
	var width = $(window).width();
	var height = $(window).height();
	var ratio = width / height;
	
	$('body').width(width);
	$('body').height(height);
	$('#content').height(height - 120);
	$('#content').width(width - 240);
	
	var $bgs = $('#bg1, #bg2');

	if(CORE_BGS_RATIO > ratio)
	{
		$bgs.width(height * CORE_BGS_RATIO + 20);
		$bgs.height(height);
		$bgs.css('left', (width - height * CORE_BGS_RATIO) * .5 + 10);
		$bgs.css('top', '0');
	}
	else
	{
		$bgs.width(width + 20);
		$bgs.height(width / CORE_BGS_RATIO);
		$bgs.css('left', '0');
		$bgs.css('top', (height - width / CORE_BGS_RATIO) * .5 + 10);
	}
	
	if(CORE_section == 'projects' && CORE_action == 'show'){
		CORE_resizeProject(width,height);
	}
	
	if(CORE_section == 'members'){
		CORE_resizeMembers(width,height);
	}
	
	CORE_resizeVideo(width, height);
	CORE_resizeVideoLinks();
	CORE_resizeUpdates(width, height);
}

function CORE_resizeUpdates(width, height){
	width = width || $('body').width();
	height = height || $('body').height();
	
	$('#updatesList').css('max-height', height - 215);
	
	if($('#updatesList').height() < height - 215) {
		$('#updatesLeft .prev, #updatesLeft .next').hide();
		CORE_scrollToUpdate(0);
	} else {
		$('#updatesLeft .prev, #updatesLeft .next').show();
	}
}

function CORE_resizeVideo(width, height){
	width = width || $('body').width();
	height = height || $('body').height();
	
	var $videoPlayer = $('#videoPlayer');
	
	if($videoPlayer.length){
		$videoPlayer.css({
			left: (width - 400) * .5,
			top: (height - 225) * .5
		});
	}
}

function CORE_resizeVideoLinks() {
	$('#updateExhibits .playVideo').each(function() {
		var $this = $(this);
		
		var $image = $this.next();
		
		$this.css({
			left: ($image.width() - 30) * .5,
			top: ($image.height() - 10) * .5
		});
	});
	$('#projectExhibits .playVideo').each(function() {
		var $this = $(this);
		
		var $image = $this.next();
		
		$this.css({
			left: ($image.width() - 50) * .5,
			top: ($image.height() - 50) * .5
		});
	});
}

function CORE_resizeProject(width,height){
	width = width || $('body').width();
	height = height || $('body').height();
	
	$exhibits = $('#projectExhibits img');
	
	if(!CORE_projectFixedWidth){
		$exhibits.each(function(i){
			if(width <= 1125){
				this.width = parseInt(width - 325);
			}else{
				this.width = parseInt(800 + (width - 1125) * .5);
			}
			this.height = parseInt(this.width * CORE_projectImagesHeight[i] / CORE_projectImagesWidth[i]);
		});
	}else{
		$exhibits.each(function(i){
			this.width = parseInt(Math.min(800, width - 325));
			this.height = parseInt(this.width * CORE_projectImagesHeight[i] / CORE_projectImagesWidth[i]);
		});
	}
	
	zoom = (width - 415) / 934;
	
	$('#projectLeft, #projectRight').css('width', Math.min(355, parseInt(zoom * 467)));
	
	$('#projectLeft').css('min-height', $('#projectRight').height());
	$('#projectRight').css('min-height', $('#projectLeft').height());
}

function CORE_resizeMembers(width,height){
	width = width || $('body').width();
	height = height || $('body').height();
	
	$members = $('#members');
	$members.width(Math.max(636, Math.min(width - 300, 840)));
}

function CORE_enableBgs(){
	if(!CORE_bgsEnabled){
		CORE_bgsEnabled = true;
		$('#bg1').fadeIn();
		CORE_nextBg();
	}
}

function CORE_disableBgs(){
	CORE_bgsEnabled = false;
	$('#bg1').fadeOut();
	$('#bg2').fadeOut();
	$('#bgsTooltip').hide();
	
	if(CORE_getTimer){
		clearTimeout(CORE_getTimer);
	}
}

function CORE_nextBg(){
	if(CORE_bgsEnabled){
		$('#bgsTooltip').html(CORE_options.bgsText[CORE_bgsIndex]);
		$content = $('#content');
		$content.css('overflow', 'hidden');
		$bg1 = $('#bg1');
		$bg2 = $('#bg2');
		$bg2.attr('src', $bg1.attr('src'));
		
		setTimeout(function() {
			$bg2.show();
			$bg1.attr('src', CORE_options.bgs[CORE_bgsIndex]);
			$bg2.fadeOut(1000, function(){
				$bg2.hide();
				$content.css('overflow', 'auto');
			});

				++CORE_bgsIndex;
				CORE_bgsIndex %= CORE_options.bgs.length;
				CORE_getTimer = setTimeout(CORE_nextBg, CORE_BGS_DELAY);

				if(CORE_bgsCache.length - 1 < CORE_bgsIndex){
					CORE_bgsCache[CORE_bgsIndex] = new Image();
					CORE_bgsCache[CORE_bgsIndex].src = CORE_options.bgs[CORE_bgsIndex];
				}
		}, 500);
	}
}

function CORE_initProjects(projects){
	CORE_projects = projects;
	
	$('#projects a').each(function(index) {
		var thumb = $(this);
		
		var x = (index % 5) * 150 + 'px';
		var y = parseInt(index / 5) * 110 + 'px';
		
		thumb.css('position', 'absolute');
		
		thumb.css({
			'left': x,
			'top': y
		});
	});
	
	$('#projects a').hover(function(){
		$this = $(this);
		
		if($this.hasClass('active')){
			CORE_showProjectInfo(projects[parseInt($this.attr('rel'))]);
		}
	}, function() {
			$('#projectsLeft').hide();
	});
}

function CORE_showProjectInfo(project){
	$('#projectsLeft').show();
	$('#projectTitle').html(project.title);
	$('#projectSubtitle').html(project.subtitle);
	$('#projectDate').html(project.date);
	$('#projectDesc').html(project.desc);
}

function CORE_initProject(fixedWidth){
	$('#projectExhibits img').each(function(i){
		CORE_projectImagesHeight[i] = $(this).attr('height');
		CORE_projectImagesWidth[i] = $(this).attr('width');
	});
	
	CORE_projectFixedWidth = fixedWidth;
	
	CORE_resizeProject();
}

function CORE_initUpdateParagraphs(){
	$CORE_updateParagraphs = $('#updateBody > p, #updateBody > ul, #updateBody > ol');
	
	if($CORE_updateParagraphs.length){
		CORE_showUpdateParagraph(0);
	}
}

function CORE_nextUpdate(){
	var $anchor = $('#update' + CORE_updateID);
	
	if($anchor.parent().next().next().length) {
		$('#updatesList').scrollTo($anchor.parent().next().next(), 1000);
		$.address.value($anchor.parent().next().next().find('a').attr('href'));
	} else {
		$('#updatesList').scrollTo($('#updatesLeft dt:first'), 1000);
		$.address.value($('#updatesLeft dl a:first').attr('href'));
	}
}

function CORE_prevUpdate(){
	var $anchor = $('#update' + CORE_updateID);
	
	if($anchor.parent().prev().length) {
		$('#updatesList').scrollTo($anchor.parent().prev().prev(), 1000);
		$.address.value($anchor.parent().prev().find('a').attr('href'));
	} else {
		$('#updatesList').scrollTo($('#updatesLeft dt:last'), 1000);
		$.address.value($('#updatesLeft dl a:last').attr('href'));
	}
}

function CORE_initUpdates(year, years){
	CORE_years = years;
	//CORE_showYear(year);
	CORE_resizeUpdates();
}

function CORE_showYear(year){
	$('#updatesList').scrollTo($('#updatesList a[rel=' + year + ']:first').parent(), 1000);
	$('#year').html(year);
	
	CORE_year = year;
}

function CORE_nextYear(){
	for (var i = CORE_years.length - 1; i >= 0; i--) {
		if(CORE_years[i] == CORE_year){
			break;
		}
	};
	
	if(i){
		CORE_showYear(CORE_years[i - 1]);
	}
}

function CORE_prevYear(){
	for (var i = CORE_years.length - 1; i >= 0; i--) {
		if(CORE_years[i] == CORE_year){
			break;
		}
	};
	
	if(i < CORE_years.length - 1){
		CORE_showYear(CORE_years[i + 1]);
	}
}

function CORE_scrollToUpdate(index)
{
	var $updates = $('#updatesList dt');
	//index = Math.max(0, Math.min($updates.length - 11, index));
	index = Math.max(0, Math.min(index, $updates.length - 1));
	
	var scrollTop = $('#updatesList').scrollTop();
	$('#updatesList').scrollTo($($updates[index]), 1000, {
		onAfter: function() {
			if(scrollTop != $('#updatesList').scrollTop()){
				CORE_updateIndex = index;
			}
		}
	});
}

function CORE_scrollUpdatesUp()
{
	CORE_scrollToUpdate(CORE_updateIndex - 5);
}

function CORE_scrollUpdatesDown()
{
	CORE_scrollToUpdate(CORE_updateIndex + 5);
}

function CORE_initUpdateImages(){
	$CORE_updateImages = $('#updateExhibits > img, #updateExhibits > a');
	
	if($CORE_updateImages.length){
		CORE_showUpdateImage(0);
	}
}

function CORE_showUpdateImage(index){
	CORE_updateImagesIndex = index;
	
	if(CORE_updateImagesIndex >= $CORE_updateImages.length)
	{
		CORE_updateImagesIndex = 0;
	} else if(CORE_updateImagesIndex < 0) {
		CORE_updateImagesIndex = $CORE_updateImages.length - 1;
	}
	
	$CORE_updateImages.each(function(i){
		if(i == CORE_updateImagesIndex){
			$this = $(this);
			$this.show();
			
		} else {
			$(this).hide();
		}
	});
	
	CORE_resizeVideoLinks();
}

function CORE_nextUpdateImage(){
	CORE_showUpdateImage(CORE_updateImagesIndex + 1);
}

function CORE_prevUpdateImage(){
	CORE_showUpdateImage(CORE_updateImagesIndex - 1);
}

function CORE_initMembers(members){
	var $tooltip = $('<div class="tooltip"></div>');
	$('#members').append($tooltip);
	
	$('#members a').hover(function(event){
		$this = $(this);
		var member = members[parseInt($this.attr('rel'))];
		var content = member.name;
		if(member.job.length) content += '<br/>' + member.job;
		if(member.email.length) content += '<br/>' + member.email;
		$tooltip.html(content);
		$tooltip.show();
		CORE_showMemberInfo(member);
	}, function(){
		$tooltip.hide();
		$('#memberDesc').hide();
		$('#membersList').show();
	});
	
	$('#members').mousemove(function(event){
		$tooltip.css('left', event.pageX + 20);
		$tooltip.css('top', event.pageY + 20);
	});
	
	CORE_resizeMembers();
}

function CORE_initFormerMembers(members){
	var $membersList = $('#membersList');
	
	if($('#former_members_1').height() > $('#leftNav').height()){
		$('#leftNav').height($('#former_members_1').height());
	}
	
	$('#former_members_2, #former_members_3').height($('#former_members_1').height());
}

function CORE_showMemberInfo(member){
	$('#membersList').hide();
	$('#memberDesc').show();
	$('#memberName').html(member.name);
	$('#memberJob').html(member.job);
	$('#memberBio').html(member.bio);
}

/*function CORE_initLogin(){
	$('#formo').submit(function(){
		CORE_loadContent(CORE_options.base + CORE_lang + '/clients/login', {
			ajax: true,
			__formo: 	$('#__formo').val(),
			username: 	$('#username').val(),
			password: 	$('#password').val()
		});
		
		return false;	
	});
	
	CORE_loadLeftNav(CORE_options.base + (CORE_lang || '') + '/clients/left_nav?ajax=true');
}*/

/*function CORE_initClients(){
	CORE_loadLeftNav(CORE_options.base + (CORE_lang || '') + '/clients/left_nav?ajax=true');
}

function CORE_initFolder(){
	if(!$('#fileInfo').length){
		CORE_loadLeftNav(CORE_options.base + (CORE_lang || '') + '/clients/left_nav?ajax=true');
	}
}*/

function CORE_playVideo(code){
	var $videoScreen = $('<div id="videoScreen" />');
	var $videoContainer = $('<div id="videoPlayer"><iframe src="http://player.vimeo.com/video/' + code + '?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0"></iframe></div>');
	$('body').append($videoScreen).append($videoContainer);	
	
	CORE_resizeVideo();
	CORE_disableBgs();
	$videoScreen.click(function() {
		$('#videoPlayer').remove();
		$videoScreen.remove();
		
		if(CORE_section == 'updates'){
			CORE_enableBgs();
		}
		return false;
	});
}

function CORE_initResearch(){
	$CORE_researches = $('.research');
	
	$CORE_researches.each(function(i) {
		if($('img', this).length){
			CORE_showResearchImage(i, 0);
			CORE_initResearchArrows(i);
		}
	});
}

function CORE_showResearchImage(researchIndex, index){
	CORE_researchesImagesIndex[researchIndex] = index;
	var $research = $CORE_researches[researchIndex];
	var $exhibits = $('img', $research);
	
	if(index >= $exhibits.length)
	{
		index = CORE_researchesImagesIndex[researchIndex]  = 0;
	} else if(index < 0) {
		index = CORE_researchesImagesIndex[researchIndex]  = $exhibits.length - 1;
	}
	
	$exhibits.each(function(i){
		if(i == index){
			$this = $(this);
			$this.show();
			
		} else {
			$(this).hide();
		}
	});
	
	CORE_resizeVideoLinks();
}

function CORE_nextResearchImage(researchIndex){
	CORE_showResearchImage(researchIndex, CORE_researchesImagesIndex[researchIndex] + 1);
}

function CORE_prevResearchImage(researchIndex){
	CORE_showResearchImage(researchIndex, CORE_researchesImagesIndex[researchIndex] - 1);
}

function CORE_initResearchArrows(researchIndex) {
	var $research = $CORE_researches[researchIndex];
	
	$('.prev', $research).click(function() {
		CORE_prevResearchImage(researchIndex);
		return false;
	});
	
	$('.next', $research).click(function() {
		CORE_nextResearchImage(researchIndex);
		return false;
	});
}

