var menu_not_touched = true;


var portfolio_image_number = 1;
var main_image_orients = [];
var home_slideshow_in_progress = false;
var home_slideshow_restart = false;
var waiting_studio_gallery;
var fade_out_finished = false;
var project_fade_out_finished = false;
var main_content_fade_finished = false;
var total_studio_image_number = 0;
var total_home_image_number = 0;
var studio_slide_timeout;
var home_slide_timeout;
var main_image_loaded = false;
var fade_action;
var sto_portfolio_fade_in;
var sto_studio_fade_in;
var sto_home_image_slideshow;
var sto_studio_image_slideshow;
var sto_video_fade_in;
var sto_new_project_image;
var sto_new_portfoilio_image;
var menu_click_ajax_call = null;








$(document).ready(function() {
	
	loading_sequence();

	menu_first_touch();
	menu_item_hover();
	portfolio_thumb_hover();
	sub_menu_button_hovers();
	project_thumb_hover();
	
	menu_item_closed_click();
	menu_item_open_click();
	
	portfolio_thumbs_click();
	
	portfolio_name_button();
	studio_name_button();
	video_name_button();
	
	
	project_thumb_click();
	
});

function stop_dead_all_timeouts() {
	
	portfolio_can_open = false;
	if (menu_click_ajax_call) {
			menu_click_ajax_call.abort();
	}
	
	window.clearTimeout(sto_portfolio_fade_in);
	window.clearTimeout(home_slide_timeout);
	window.clearTimeout(studio_slide_timeout);
	window.clearTimeout(sto_studio_fade_in);
	window.clearTimeout(sto_home_image_slideshow);
	window.clearTimeout(sto_studio_image_slideshow);
	window.clearTimeout(sto_video_fade_in);
	window.clearTimeout(sto_new_project_image);
	window.clearTimeout(sto_new_portfoilio_image);
	
}



// MAIN IMAGE LOAD FUNCTION




// SUB MENU FUNCTIONS


function studio_name_button() {
	stop_dead_all_timeouts();
	var fade_speed = 500;
	var content_fade_out_speed = 100;
	$('.studio_name_button:not(.just_red)').livequery('click', function() {
		var this_studio_num = parseFloat($(this).attr('ID').replace('studio_button_',''));
			window.clearTimeout(studio_slide_timeout);
			$('#studio_button_'+this_studio_num).siblings('.just_red').removeClass('just_red');
			$('#studio_button_'+this_studio_num).addClass('just_red');
			$('#ajax_space').fadeOut(fade_speed, function() { main_content_fade_finished = true; }); 
			studio_number = this_studio_num;
			var time_now = new Date();
			$.ajax({ url: "ajax/fetch_studio_slideshow.php?studio_id="+this_studio_num+"&dummy="+time_now, success: function (data) { studio_fade_in(data); } });
	});
}


function video_name_button() {
	stop_dead_all_timeouts();
	var fade_speed = 500;
	var content_fade_out_speed = 100;
	$('.video_name_button:not(.just_red)').livequery('click', function() {
			var this_video_num = parseFloat($(this).attr('ID').replace('video_button_',''));
			$('#video_button_'+this_video_num).siblings('.just_red').removeClass('just_red');
			$('#video_button_'+this_video_num).addClass('just_red');
			$('#ajax_space').fadeOut(fade_speed, function() { main_content_fade_finished = true; }); 
			video_number = this_video_num;
			var time_now = new Date();
			$.ajax({ url: "ajax/fetch_video.php?video_id="+this_video_num+"&dummy="+time_now, success: function (data) { video_fade_in(data); } });
	});
}


function portfolio_name_button() {
	stop_dead_all_timeouts();
	var fade_speed = 500;
	var content_fade_out_speed = 100;
	$('.portfolio_name_button:not(.just_red)').livequery('click', function() {
			var this_portfolio_num = parseFloat($(this).attr('ID').replace('portfolio_button_',''));
					$('#portfolio_button_'+this_portfolio_num).siblings('.just_red').removeClass('just_red');
					$('#portfolio_button_'+this_portfolio_num).addClass('just_red');
					$('#ajax_space').fadeOut(fade_speed, function() { main_content_fade_finished = true; }); 
					portfolio_number = this_portfolio_num;
					var time_now = new Date();
					$.ajax({ url: "ajax/fetch_portfolio.php?portfolio_id="+this_portfolio_num+"&dummy="+time_now, success: function (data) { portfolio_fade_in(data); } });
	});
}

// SUB MENU FUNCTIONS END


//  MAIN MENU FUNCTIONS

function menu_item_open_click() {
	
	var fade_speed = 500;
	var content_fade_out_speed = 100;
	$('.open').livequery('click', function() { 
		stop_dead_all_timeouts();
		//$('#ajax_space').stop();
		$('#ajax_space').fadeOut(fade_speed, function() { main_content_fade_finished = true; }); 
		if (typeof home_slide_timeout != 'undefined') {  window.clearTimeout(home_slide_timeout); }
		 if (typeof studio_slide_timeout != 'undefined') {  window.clearTimeout(studio_slide_timeout); }
		$(this).parent().find('.page_content').animate({opacity: 0.0},content_fade_out_speed);
		$(this).siblings('.page_content_outer').slideUp(fade_speed,'easeOutQuint');
		$(this).addClass('closed');
		$(this).removeClass('open');
		 var time_now = new Date();
		 $.ajax({ url: "ajax/fetch_home_slideshow.php?dummy="+time_now, success: function (data) { studio_fade_in(data, true); } });
		
		//var new_html = $.ajax({ url: "ajax/fetch_home_slideshow.php", async: false }).responseText;
		//$('#ajax_space').show();
		//$('#ajax_space').html(new_html);
		});
}




function menu_item_closed_click() {
	
		
		var fade_speed = 500;
		var content_fade_out_speed = 100;
		$('.closed').livequery('click', function() {
				//$('#window-info').html($('#window-info').html()+'Now');
					stop_dead_all_timeouts();
					 $('.open').css('color','#b9b9b9');
					  $('.closed').css('color','#b9b9b9');
					//$('#ajax_space').stop();
					 $('#ajax_space').fadeOut(fade_speed, function() { main_content_fade_finished = true;  $('#ajax_space').html(''); }); 
					 $('.just_red').removeClass('just_red');
					 $('.page_content').each(function(index) { $(this).children('.portfolio_name_button, .video_name_button, .studio_name_button').first().addClass('just_red');  });
					 if (typeof home_slide_timeout != 'undefined') {  window.clearTimeout(home_slide_timeout); }
					  if (typeof studio_slide_timeout != 'undefined') {  window.clearTimeout(studio_slide_timeout); }
					 // fades open content
					 $('.open').parent().find('.page_content').animate({opacity: 0.0},content_fade_out_speed);
					 $(this).siblings('.page_content_outer').slideDown(fade_speed,'easeOutQuint');
					 var my_this = $(this).parent();
					 setTimeout(function(){ fade_in_content(my_this);  }, fade_speed );
					 $('.open').siblings('.page_content_outer').slideUp(fade_speed,'easeOutQuint');
					 $('.open').addClass('closed');
					 $('.open').removeClass('open');
					 $(this).addClass('open');
					 $(this).css('color','#000000');
					 $(this).removeClass('closed');
					 menu_item_hover();
					 var time_now = new Date();
					 if ($(this).attr('ID')) {
							 var id_split = $(this).attr('ID').split("_");
							 if (id_split[0] == 'portfolio') { menu_click_ajax_call = $.ajax({ url: "ajax/fetch_portfolio.php?portfolio_id="+id_split[3]+"&dummy="+time_now, success: function (data) { portfolio_fade_in(data); } })  }
							 else if (id_split[0] == 'studio') {  menu_click_ajax_call = $.ajax({ url: "ajax/fetch_studio_slideshow.php?studio_id="+id_split[3]+"&dummy="+time_now, success: function (data) { studio_fade_in(data, false); } }); }
							 else if (id_split[0] == 'video') { menu_click_ajax_call = $.ajax({ url: "ajax/fetch_video.php?video_id="+id_split[3]+"&dummy="+time_now, success: function (data) { video_fade_in(data); } }); }
					 		else {  portfolio_image_number = 1;  studio_image_number = 1;  }
					 }
					 else {  portfolio_image_number = 1;  studio_image_number = 1;  }
			});
}


function portfolio_fade_in(data) {
	
	var fade_speed = 500;
	
		
			if (main_content_fade_finished == true) {
				
				$('#ajax_space').html(''); 
				$('#ajax_space').fadeIn(fade_speed); 
				
				$('#ajax_space').html(data); 
				
				$('#ajax_space').show(fade_speed, function() {
					$("div#makeMeScrollable").smoothDivScroll({ visibleHotSpots: "always" });
					$("div#makeMeScrollableVert").smoothDivScrollVert({visibleHotSpots: "always" });
				});
				
				main_content_fade_finished = false;
				
			}
			else {
				sto_portfolio_fade_in = setTimeout( function(){portfolio_fade_in(data)},100);
				
			}
	
	
	
}

function studio_fade_in(data, home) {
	var fade_speed = 500;
	var pause_time = 5000;
	if (main_content_fade_finished == true) {
		//var data_split = data.split('~~');
		$('#ajax_space').html(''); 
		$('#ajax_space').fadeIn(fade_speed); 
		$('#ajax_space').html(data); 
		$('#ajax_space').show(fade_speed, function() {
			
			//alert(total_studio_image_number);
			if (home) {
				total_home_image_number = ($('.home_image').length)-1;
				$('#home_image_0').css('margin-left','-15%');
				$('#home_image_0').animate({'opacity': '1.0', 'margin-left': '0px'},3000);
				
				home_slide_timeout =  setTimeout( function(){home_image_slideshow(0)},pause_time);
			}
			else {
			total_studio_image_number = ($('.studio_image').length)-1;	
			$('#studio_image_0').animate({'opacity': '1.0'},3000);
			studio_slide_timeout =  setTimeout( function(){studio_image_slideshow(0)},pause_time);
			
			}
			});
		main_content_fade_finished = false;
	}
	else {
		sto_studio_fade_in = setTimeout( function(){studio_fade_in(data)},100);
		
	}
}

function home_image_slideshow( home_image_number ) {
	var fade_speed = 500;
	var pause_time = 5000;
	var next_home_image_number = home_image_number+1;
	if ( next_home_image_number > total_home_image_number ) { 
		next_home_image_number = 0;
	}
	$('#home_image_'+home_image_number).animate({'opacity': '0.0'},fade_speed);
	sto_home_image_slideshow = setTimeout(function(){  $('#home_image_'+next_home_image_number).animate({'opacity': '1.0'},fade_speed);  }, fade_speed+100);
	home_image_number = next_home_image_number;
	home_slide_timeout = setTimeout( function(){home_image_slideshow(home_image_number)},pause_time);
	
}



function studio_image_slideshow( studio_image_number ) {
	var fade_speed = 500;
	var pause_time = 5000;
	var next_studio_image_number = studio_image_number+1;
	if ( next_studio_image_number > total_studio_image_number ) { 
		next_studio_image_number = 0;
	}
	$('#studio_image_'+studio_image_number).animate({'opacity': '0.0'},fade_speed);
	sto_studio_image_slideshow = setTimeout(function(){ $('#studio_image_'+next_studio_image_number).animate({'opacity': '1.0'},fade_speed);  }, fade_speed+100);
	studio_image_number = next_studio_image_number;
	studio_slide_timeout = setTimeout( function(){studio_image_slideshow(studio_image_number)},pause_time);
}

function video_fade_in(data) {
	var fade_speed = 500;
	if (main_content_fade_finished == true) {
		$('#ajax_space').html(''); 
		$('#ajax_space').fadeIn(fade_speed); 
		$('#ajax_space').html(data); 
		$('#ajax_space').show(fade_speed);
		main_content_fade_finished = false;
	}
	else {
		sto_video_fade_in = setTimeout( function(){video_fade_in(data)},100);
		
	}
}

function fade_in_content(my_this) {
	$(my_this).find('.page_content').animate({opacity: 1.0},1000, function() {
		$(this).css('filter', 'none');
	}); 
}

//  MAIN MENU FUNCTIONS  END

//  SWAPPING PROJECT IMAGE

function project_image_click(next_id, port_id) {
	window.clearTimeout(fade_action);
	project_fade_out_finished = false;  
	var selected_thumb_id = $('#p_'+port_id+'_'+next_id).attr('ID');
	var selected_thumb_id_split = selected_thumb_id.split('_');
	var project_item_id = selected_thumb_id_split[2];
	var portfolio_id = selected_thumb_id_split[1];
	fetch_project_image( project_item_id, portfolio_id );
	var find_item = $('#p_'+port_id+'_'+next_id);
	var element_index =  $('.scrollableAreaVert').children().children().index(find_item);
	$("div#makeMeScrollableVert").smoothDivScrollVert("moveToElement", "number", element_index-2);
	

	
}




function project_thumb_click() {
	$('.project_thumb_not_selected:not(.disabled)').livequery('click', function() {
		window.clearTimeout(fade_action);
		//$('.project_thumb_not_selected').each(function() {  $(this).css('cursor','wait'); $(this).addClass('disabled'); });
		project_fade_out_finished = false;  
		var selected_thumb_id = $(this).attr('ID');
		var selected_thumb_id_split = selected_thumb_id.split('_');
		var project_item_id = selected_thumb_id_split[2];
		var portfolio_id = selected_thumb_id_split[1];
		fetch_project_image( project_item_id, portfolio_id );
	
		
		
	});
}

function fetch_project_image( project_item_id, portfolio_id ) {
	var fade_speed = 300;
	$('#main_image_here_div').fadeOut(fade_speed, function() { 
			$('#main_image_here_div').html('');
			project_fade_out_finished = true;  
			
			});
	$.ajax({ url: "ajax/fetch_project_main_image.php?project_item_id="+project_item_id+"&portfolio_id="+portfolio_id, cache: false, success: function (data) { fade_up_new_project_image(data,project_item_id, portfolio_id); }});
}

function fade_up_new_project_image(data, project_item_id, portfolio_id ) {
	var fade_speed = 300;
	if (project_fade_out_finished) {
			var data_split = data.split('~~'); 
			
			$('#main_image_here_div').html(data_split[0]);
			if ($('img.pf_main_image_img').length > 0) {
					$('img.pf_main_image_img').load(function() { 
							
		  					$('#main_image_here_div').fadeIn(fade_speed);
					}); 
					sto_new_project_image = setTimeout( function(){ $('#main_image_here_div').fadeIn(fade_speed); },1500);
			}
			else {
					$('.project_video').ready(function() { 
							
							$('#main_image_here_div').fadeIn(fade_speed);
					});
					sto_new_project_image = setTimeout( function(){ $('#main_image_here_div').fadeIn(fade_speed); },1500); 
			}
			
		//	$('#main_image_here_div').fadeIn(fade_speed);
			$('.project_thumb_selected').removeClass('project_thumb_hovered');
			$('.project_thumb_selected').removeClass('pointer');
			$('.project_thumb_selected').addClass('project_thumb_not_selected');
			$('.project_thumb_selected').removeClass('project_thumb_selected');
			$('#p_'+portfolio_id+'_'+data_split[2]).addClass('project_thumb_selected');
			$('#p_'+portfolio_id+'_'+data_split[2]).removeClass('project_thumb_not_selected');
			project_fade_out_finished = false;
		//	$('.project_thumb_not_selected').each(function() {  $(this).css('cursor','auto'); $('.disabled').removeClass('disabled'); });
	}
	else {
		fade_action = setTimeout( function(){fade_up_new_project_image(data, project_item_id, portfolio_id)},500);
		
	}
	
}

//  SWAPPING PROJECT IMAGE END


//  SWAPPING MAIN PORTFOLIO IMAGES

function main_image_click(next_id, port_id) {
		window.clearTimeout(fade_action);
		fade_out_finished = false;
		$('.thumb_selected').removeClass('thumb_selected');
		$('#p_'+port_id+'_'+next_id).addClass('thumb_selected');
		$('#p_'+port_id+'_'+next_id).removeClass('altered_image');
		var new_main_source = $('#p_'+port_id+'_'+next_id).attr('src');
		var new_main_alt = $('#p_'+port_id+'_'+next_id).attr('alt');
		var new_id = $('#p_'+port_id+'_'+next_id).attr('id');
		var id_split = new_id.split('_');
		var item_id = id_split[2];
		var next_item_id = null;
	
		var portfolio_id = id_split[1];
		fetch_main_image(item_id,portfolio_id);
		var find_item = $('#p_'+port_id+'_'+next_id);
		var element_index =  $('#thumbs_row_inner_inner_'+port_id).children().index(find_item);
		$("div#makeMeScrollable").smoothDivScroll("moveToElement", "number", element_index-2);
		
		
}


function portfolio_thumbs_click() {
	$('.thumbs_row_inner_inner img, .thumbs_row_inner_inner_no_scroll img').livequery('click', function() {
		window.clearTimeout(fade_action);
		fade_out_finished = false;
		$('.thumb_selected').removeClass('thumb_selected');
		$(this).addClass('thumb_selected');
		$(this).removeClass('altered_image');
		var new_main_source = $(this).attr('src');
		var new_main_alt = $(this).attr('alt');
		var new_id = $(this).attr('id');
		var id_split = new_id.split('_');
		var item_id = id_split[2];
		var next_item_id = null;
	
		var portfolio_id = id_split[1];
		
		fetch_main_image(item_id,portfolio_id);
	});
}
 
function fetch_main_image(item_id,portfolio_id) {
	var fade_speed = 300;
	$('#portfolio_main_section').fadeOut(fade_speed, function() { fade_out_finished = true; });
	$('#image_title_'+portfolio_id).fadeOut(fade_speed, function() { fade_out_finished = true; });
	$.ajax({ url: "ajax/fetch_main_image.php?portfolio_item_id="+item_id+"&portfolio_id="+portfolio_id, async: false, success: function (data) { fade_up_new_image(data,portfolio_id); }});
}

function fade_up_new_image(data,portfolio_id) {
	var fade_speed = 300;
	data.toString();
	if (fade_out_finished) {
		var data_split = data.split('~~');
		$('#portfolio_main_section').html(data_split[0]);
		$('#image_title_'+portfolio_id).html(data_split[1]);
		
		if ($('img.pf_main_image_img').length > 0) {
		
					$('img.pf_main_image_img').load(function() { 
								
								$('#portfolio_main_section').fadeIn(fade_speed);
								$('#image_title_'+portfolio_id).fadeIn(fade_speed);
						}); 
					sto_new_portfoilio_image = setTimeout( function(){ $('#portfolio_main_section').fadeIn(fade_speed); $('#image_title_'+portfolio_id).fadeIn(fade_speed); },1500);	
						
		}	
		else {	
					$('.project_video').ready(function() { 
						
								$('#portfolio_main_section').fadeIn(fade_speed);
								$('#image_title_'+portfolio_id).fadeIn(fade_speed);
						}); 
				sto_new_portfoilio_image = setTimeout( function(){ $('#portfolio_main_section').fadeIn(fade_speed); $('#image_title_'+portfolio_id).fadeIn(fade_speed); },1500);			
						
		}
		//$('#portfolio_main_section').fadeIn(fade_speed);
		//$('#image_title_'+portfolio_id).fadeIn(fade_speed);
		$('.thumb_selected').removeClass('thumb_selected');
		$('#p_'+portfolio_id+'_'+data_split[2]).addClass('thumb_selected');	
		$("div#makeMeScrollableVert").smoothDivScrollVert({ visibleHotSpots: "always"});
		fade_out_finished = false;
	}
	else {
		//alert('I ran');
		fade_action = setTimeout( function(){fade_up_new_image(data, portfolio_id)},100);
		 //setTimeout( fade_up_new_image , 100, data, portfolio_id);	
	}
}

//  SWAPPING MAIN PORTFOLIO IMAGES END

// STARTUP

function loading_sequence() {
	var load_speed = 0;
	var menu_fade_delay = 500;
	setTimeout(function(){ red_line(); }, load_speed);
	setTimeout(function(){ menu_fade_in(); }, load_speed+menu_fade_delay);
	 var time_now = new Date();
	 main_content_fade_finished = true;
	 $.ajax({ url: "ajax/fetch_home_slideshow.php?dummy="+time_now, success: function (data) { studio_fade_in(data, true); } });
	
	/*
	var new_html = $.ajax({ url: "ajax/fetch_home_slideshow.php", async: false }).responseText;
	$('#ajax_space').show();
	$('#ajax_space').html(new_html);
	*/
}


function red_line() { 
	var fade_speed = 500;
	var move_speed = 2000;
	$('.red_line').fadeIn(fade_speed, function() { 
			$('.red_line').animate({bottom: '0%'},move_speed); 
			}); 
	}
	
function menu_fade_in() { 
	var fade_speed = 2000;
	$('.menu_item').animate({opacity: 1.0},fade_speed,function() {
			$(this).css('filter', 'none');
	}); 
}

function menu_first_touch() {
	$('.menu_outer').bind('mouseover mouseout', function(event) {
		 if (event.type == 'mouseover') { if (menu_not_touched) { $('.menu_item').css('color','#b9b9b9'); menu_not_touched = false; } }
	});
}


//  HOVERS

function project_thumb_hover() {
	$('.project_thumb_not_selected').live('mouseover mouseout', function(event) {
		 if (event.type == 'mouseover') {  $(this).addClass('pointer');  $(this).addClass('project_thumb_hovered'); } 
		 else {  $(this).removeClass('pointer');  $(this).removeClass('project_thumb_hovered');  }
	});
}

function menu_item_hover() {
	$('.open,.closed').unbind('mouseover mouseout');
	$('.closed').bind('mouseover mouseout', function(event) {
		  if (event.type == 'mouseover') { 
		  		$(this).css('color','#000000'); $(this).addClass('pointer');
				if (menu_not_touched) { $('.menu_item').not(this).css('color','#b9b9b9'); menu_not_touched = false; }
		  } 
		  else { $(this).css('color','#b9b9b9'); $(this).removeClass('pointer');}
		});
}

function portfolio_thumb_hover() {
	$('.thumbs_row_inner_inner img:not(.thumb_selected), .thumbs_row_inner_inner_no_scroll img:not(.thumb_selected)').live('mouseover mouseout', function(event) {
		  if (event.type == 'mouseover') { $(this).addClass('pointer');  $(this).addClass('thumbs_hover'); $(this).addClass('altered_image'); } 
		  else { $(this).removeClass('pointer');  $(this).removeClass('thumbs_hover'); $(this).removeClass('altered_image'); }
		});
}

function sub_menu_button_hovers() {
	$('.studio_name_button').bind('mouseover mouseout', function(event) {
		  if (event.type == 'mouseover') { $(this).addClass('pointer'); } else { $(this).removeClass('pointer'); }
		});
	$('.video_name_button').bind('mouseover mouseout', function(event) {
		  if (event.type == 'mouseover') { $(this).addClass('pointer'); } else { $(this).removeClass('pointer'); }
		});
	$('.portfolio_name_button').bind('mouseover mouseout', function(event) {
		  if (event.type == 'mouseover') { $(this).addClass('pointer'); } else { $(this).removeClass('pointer'); }
		});
}



