/*
DEFINE GLOBAL CONSTANTS/INITIAL VALUES
*/
var offsetTop = 1;
var speed = 500;
var currentSpace = "home_space";
var MAX_WIDTH = 1800;
var VIEWABLE_HEIGHT = 400;
var fullSize = false;
var win,viewable,subnavButtons,htmlContainer,navigation,nav_ul,flashHeader,leftOverlay,rightOverlay,overlay, offsetLeft;
var introEnded=false;
var portfolioVisible=false;
var caseStudiesVisible = false;
function scrollCanvas(el){
	var newSpace = $(el).attr('space');
	if (newSpace != currentSpace) {
		$('.subspace_viewable').scrollTo( 0 );
		$('.person_what_matters').scrollTo( 0 );
		$('.subnav_master_button').click();
		var newSpot = $('#'+newSpace);
		viewable.stop();
		viewable.scrollTo(newSpot,{duration:speed, offset:{left:offsetLeft, top:offsetTop},onAfter:function(){
			var delay = 1000;
			newSpot.find('.subnav_button').each(function(){
				var but = $(this);
				setTimeout(function(){
					but.attr('src',but.attr('hoversrc'));
					$('#' + but.attr('id')+'_arrow').css({visibility:'visible'});	
									},delay);
				setTimeout(function()
				{						
					if ($('#'+but.attr('subnav')).attr('selected') != but.attr('id'))
					{
						but.attr('src',but.attr('origsrc'));
						$('#' + but.attr('id')+'_arrow').css({visibility:'hidden'});
										
					}
				},delay+500);
					
				delay+=500;
			});
		}});
		newSpot.children('.overlay').remove();
		$('#'+currentSpace).append('<div class="overlay"><div><img src="images/overlay_color.png" width="100%" height="100%" class="inner_overlay" /></div></div>');
		currentSpace = newSpace;
	}
}
	
/*ADDS FUNCTIONALITY TO NAVIGATION WITHING THE SPACES CONTROLLED BY MAIN NAVIGATION*/
function internalSubNavs(){
	subnavButtons.bind('mouseover', function(e){
		var subnav = $('#' + $(this).attr('subnav'));
		if ($(this).attr('id') !=  subnav.attr('selected')){
			$(this).attr('src', $(this).attr('hoversrc'));
			$('#' + $(this).attr('id')+'_arrow').css({visibility:'visible'});
		}
	});
	subnavButtons.bind('mouseleave', function(e){
		var subnav = $('#' + $(this).attr('subnav'));
		if ($(this).attr('id') !=  subnav.attr('selected')){
			$(this).attr('src',$(this).attr('origsrc'));
			$('#' + $(this).attr('id')+'_arrow').css({visibility:'hidden'});
		}
	});
	subnavButtons.bind('click', function(e){
		e.preventDefault();
		var subnav = $('#' + $(this).attr('subnav'));
		if (subnav.attr('selected') != $(this).attr('id')){
			$(this).attr('src', $(this).attr('hoversrc'));
			$('#' + $(this).attr('id')+'_arrow').css({visibility:'visible'});
			var selected = $('#' + subnav.attr('selected'));
			selected.attr('src', selected.attr('origsrc'));
			$('#' + selected.attr('id') + '_arrow').css({visibility:'hidden'});
			subnav.attr('selected', $(this).attr('id'));
			$('#' + subnav.attr('id') + '_subspace').stop();
			$('#' + subnav.attr('id') + '_subspace').scrollTo('#' + $(this).attr('id') + '_subspace', {duration:speed});
		}
	});
	$('.subnav_master_button').bind('click', function(e){
		e.preventDefault();
		var subnav = $('#' + $(this).attr('subnav'));
		if (subnav.attr('selected') != $(this).attr('id')){
			var selected = $('#' + subnav.attr('selected'));
			selected.attr('src', selected.attr('origsrc'));
			$('#' + selected.attr('id') + '_arrow').css({visibility:'hidden'});
			subnav.attr('selected', $(this).attr('id'));
			$('#' + subnav.attr('id') + '_subspace').stop();
			$('#' + subnav.attr('id') + '_subspace').scrollTo('#' + $(this).attr('id') + '_subspace', {duration:speed});
		}
	});
	subnav = $('#all_we_do_subnav');
	makeAllWeDoButtons();
}

function zoomed(){
	if ($('.subspace_text').css('font-size')==='16px'){
		return false;
	}
	else{
		return true;
	}
}

function scrollablePage(){
	/*		DEFINE VARIABLES TO AVOID REPEATING SELECTOR CALLS		*/
	win = $(window);
	viewable = $('#viewable');
	subnavButtons = $('.subnav_button');
	htmlContainer = $('#html_container');
	navigation = $('#navigation');
	nav_ul = $('#nav_ul');
	flashHeader = $('#flash_header');
	leftOverlay = $('#left_overlay');
	rightOverlay = $('#right_overlay');
	overlay = $('#overlay');
	
	/*ADD FUNCTIONALITY TO MAIN NAVIGATION BUTTONS*/
	$('.button img:first-child').click(function(e){
		e.preventDefault();
		var portfolioWasVisible = false;
		if (portfolioVisible){
			hideWork();
			portfolioWasVisible = true;
		}
		if (caseStudiesVisible){
			hideCaseStudies();
			$('#case_studies').click();	
		}
		var parentId = $(this).parent().attr('id');
		
		if (parentId == nav_ul.attr('selected')){
			$('#'+currentSpace).find('.subnav_master_button').click();
		}
		else if (parentId == nav_ul.attr('selected') && parentId=='work_button' && portfolioWasVisible)
			flashHeaderMovie.gotoWork();
		else if (parentId !=  nav_ul.attr('selected')){
			scrollCanvas($(this).parent());
			var selected = $('#'+nav_ul.attr('selected')+' img:first-child');
			selected.attr('src', selected.attr('origsrc'));
			nav_ul.attr('selected',$(this).parent().attr('id'));
			switch(parentId){
				case 'home_button':
					flashHeaderMovie.gotoHome();
					return;
				case 'all_we_do_button':
					flashHeaderMovie.gotoAllWeDo();
					return;
				case 'people_button':
					flashHeaderMovie.gotoPeople();
					return;
				case 'work_button':
					flashHeaderMovie.gotoWork();
					return;
				case 'case_studies_button':
					flashHeaderMovie.gotoCaseStudies();
					return;
				case 'contact_button':
					flashHeaderMovie.gotoContact();
					return;
				case 'careers_button':
					flashHeaderMovie.gotoCareers();
					return;
			}
		}
	});
	
	internalSubNavs();	//INITIALIZE SUBNAVIGATION
	
	/*MAKE MAIN WINDOW SCROLL TO TOP-LEFT (REQUIRED SINCE SOME BROWSERS DON'T REFRESS AFTER SCROLLTO*/
	$.scrollTo( 0 );
	$('.subspace_viewable').scrollTo( 0 );
	$('.person_what_matters').scrollTo( 0 );
	$('#people_subspace_viewable').scrollTo( 0 );
	positionElements(null);
	
	viewable.css({height:VIEWABLE_HEIGHT});
	win.resize(positionElements);
}

function positionElements(e){
	offsetLeft = -(win.width()-850)/2;
	if (win.width()>MAX_WIDTH){
		viewable.css({width:MAX_WIDTH}); 
		offsetLeft = -(MAX_WIDTH-850)/2;
	}else{
		viewable.css({width:'100%'});
		$('#flash_header_master').css({width:'100%'});
	}
	viewable.scrollTo("#"+currentSpace,{offset:{left:offsetLeft,top:offsetTop}});
	var nav_ml = -offsetLeft-323-ieFix;
	navigation.css({'margin-left':nav_ml});
}