projects = [
	{
		name: "www.bontune.com",
		spec: ["web", "app"],
		folder: "bontune",
		pages: ["1.png", "2.png", "3.jpg", "4.jpg", "5.jpg"/*, "6.jpg"*/, "7.jpg"]
	},
	{
		name: "www.lecturus.com",
		spec: ["web", "app", "branding"],
		folder: "lecturus",
		pages: ["1.png", "2.png", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg"]
	},
	{
		name: "www.unitedparents.com",
		spec: ["web"],
		folder: "united_parents",
		pages: ["1.png", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.png"]
	},
	// {
		// name: "www.mybitbot.com",
		// spec: ["ui", "web", "branding"],
		// folder: "bitbot",
		// pages: ["1.png", "2.jpg", "3.png", "4.png", "5.jpg", "6.jpg", "7.jpg", "8.jpg"/*, "9.jpg"*/, "10.jpg", "11.jpg"]
	// },
	{
		name: "www.blacksheepworld.com",
		spec: ["web"],
		folder: "black_sheep",
		pages: ["1.png", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg"]
	},
	{
		name: "charge",
		spec: ["ui"],
		folder: "charge",
		pages: ["1.png", "2.png", "3.png", "4.png", "5.png"]
	},
	{
		name: "asaf avidan & the mojos",
		spec: ["cd cover"],
		folder: "avidan",
		pages: ["1.png", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg"]
	},
	{
		name: "www.mypig.info",
		spec: ["app"],
		folder: "sit",
		pages: ["1.png", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]
	}
];
project_id = 0;
page_id = 0;
player_timer_id = 0;
player_speed = 2500;
regexp_url = /^www.*/;

$(function()
{
	$('#header #read_more').click(function()
	{
		var about_box = $('#about_box');
		// $('#header').toggleClass('header_spacing');
		
		if (about_box.is(':visible'))
		{
			about_box.hide();
			$(this).text('Read More +');
			$('#menu, #data').show();			
		}
		else
		{
			$('#menu, #data').hide();			
			$(this).text('Close -');
			about_box.show();
		}
	});
	
	//prepare all facebook likes
	var fb_div = $('#facebook');
	for (var i in projects)
	{
		var rnd = Math.floor(Math.random() * 1000000);
		var j = i >= 3 ? i-1 : i; //todo: remove this line after returning the bitbot project
		
		fb_div.append('<div id="fb_'+i+'" style="display:none"><fb:like href="http://www.roybarazani.com/index.php?project='+j+'" layout="button_count" show_faces="false" width="450"></fb:like></div>')
	}
	
	//handliing urls in the project meta area
	$('.url_link').live('click', function()
	{
		window.open('http://' + $('.url_link').text());
	});
	
	//setup player controls
	var controls = $('#player #controls');
	controls.find('#fback').click(function()
	{
		SetProject(project_id - 1);
		StopTimer();
	});
	controls.find('#fforward').click(function()
	{
		SetProject(project_id + 1);
		StopTimer();
	});
	controls.find('#back').click(function()
	{
		SetPage(page_id - 1);
		StopTimer();
	});
	controls.find('#forward').click(function()
	{
		SetPage(page_id + 1);
		StopTimer();
	});
	controls.find('#play').click(function()
	{
		if ($(this).hasClass('on'))
			StopTimer();
		else
			StartTimer();
	});

	//preloading images for faster navigation
    /*if (document.images)
    {
		preload_image_object = new Image();
		for (proj_id in projects)
			for (page_id in projects[proj_id].pages)
				preload_image_object.src = 'projects/' + projects[proj_id].folder + '/' + projects[proj_id].pages[page_id];
    }*/
	
	var ul = [];
	ul.push('<ul>');
	for (proj_id in projects)
		for (page_id in projects[proj_id].pages)
			ul.push('<li><img src="projects/' + projects[proj_id].folder + '/' + projects[proj_id].pages[page_id] + '"/></li>');
	ul.push('</ul>');
	
	$('#data').append(ul.join(''));

	$("#data").easySlider({
		// continuous: true,
		controlsShow: false,
		speed: 400
	});
		
	//select first project using GET
	var getProject = parseInt($.url.param("project"));
	if (!isNaN(getProject))
		project_id = getProject >= 3 ? getProject-1 : getProject; //todo: remove this line after returning the bitbot project

	SetProject(project_id);
	StartTimer();
});

//go to a certain project.
function SetProject(id, showLastImage)
{	
	if (id >= projects.length)
		id = 0;
	else if (id < 0)
		id = projects.length - 1;
		
	project_id = id;
	var proj = projects[id];
	page_id = showLastImage ? proj.pages.length - 1 : 0;
	
	//setting project header
	$('#nav').html('Project <span>' + (id + 1) + '</span>/' + projects.length + ' Page <span>' + (page_id + 1) + '</span>/' + proj.pages.length);
	
	//set facebook's like button
	$('#facebook').children().hide();
	$('#facebook #fb_'+id).show();
	
	//setting project metadata
	var meta = $('#project_meta tr');
	meta.html("");

	meta.append('<td class="c1' + (regexp_url.test(proj.name) ? ' url_link mouse_link' : '') + '">' + proj.name + '</td>');
	
	var first = true;
	for (var i = 0 ; i < proj.spec.length; i++)
	{
		if (!first)
			meta.append('<td class="space"></td>');
		first = false;
		
		meta.append('<td class="c2">' + proj.spec[i] + '</td>');
	}
	
	SetImage();
}
//go to certain page in the current project.
function SetPage(pid)
{
	var proj = projects[project_id];
	
	if (pid >= proj.pages.length)
	{
		//pid = 0;
		SetProject(project_id + 1);
		return;
	}
	else if (pid < 0)
	{
		//pid = proj.pages.length - 1;
		SetProject(project_id - 1, true);
		return;
	}	
	page_id = pid;
	
	//setting project header
	$('#nav').html('Project <span>' + (project_id + 1) + '</span>/' + projects.length + ' Page <span>' + (page_id + 1) + '</span>/' + proj.pages.length);
	
	SetImage();
}
//replaces image with fade effect.
function SetImage()
{
	var pos = 0;
	for (var i = 0; i < project_id; i++){
		pos += projects[i].pages.length;
	}
	pos += page_id;
	
	global_slider_animate(pos, false);
	
	// var data_div = $('#data_internal');
	// data_div.find('img').fadeOut('fast', function(){
		// var proj = projects[project_id];
		// data_div.find('img').attr('src', 'projects/' + proj.folder + '/' + proj.pages[page_id]).fadeIn('slow');
	// });
}
//Start the automatic player.
function StartTimer()
{
	clearTimeout(player_timer_id); //clear timer just in case "stop" was forgotten.
	
	player_timer_id = setTimeout(NextPage, player_speed * (page_id == 0 ? 2 : 1));
	$('#player #controls #play').addClass('on');
}
//Stop the automatic player.
function StopTimer()
{
	clearTimeout(player_timer_id);
	$('#player #controls #play').removeClass('on');
}
//goes to the next available page.
function NextPage()
{
	if (!$('#about_box').is(':visible')) //stops automatic sliding when the about box is opened.
	{
		var proj = projects[project_id];
		
		if (page_id < proj.pages.length - 1)
			SetPage(page_id + 1);		
		else
			SetProject(project_id + 1);
	}
	StartTimer();
}
