/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	*/
/*	File: 				main.js
/*	Description:		Contains all master javascript code.
/*	Target browsers:	IE6+, Mozilla/Firefox, Safari, Opera
/*	Author(s):			J. Jackson | jjackson@jplcreative.com
/*	Created: 			11.24.2009
/*	Last modified: 		11.24.2009
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++	*/

/* +++++ custom scripts +++++ */
/* +++++ require jquery 1.3.2 +++++++++++++++++++++++++++++++++++++++++ */
$(document).ready(function(){
    
	// all pages
	// select all text on search input fields
	$('#search, #refine-search').click( function() { $(this).select() })
	
	// interior pages
	// dynamically make sidebar and main content heights equal
	if ( $('body').hasClass('interior') ) {
		var differential = -38;
		var check_main = $('div#main').height();
		var check_sidebar = $('ul.sidebar').height();
		var new_height =  check_main + differential;
		
		// sidebar is shorter, make it match content height
		if (check_main > check_sidebar) { $('ul.sidebar').height(new_height) }
	}
	 
	// projects page
	// bind events for minimize/maximize search options
	$('#projects fieldset ul li a').click( function() {
		if ( $(this).attr('href') == '#basic') {
			$('#projects fieldset ul li.advanced').removeClass('max').addClass('min')
			$(this).parent().removeClass('min').addClass('max');
		}
		else if ( $(this).attr('href') == '#advanced') {
			$('#projects fieldset ul li.basic').removeClass('max').addClass('min')
			$(this).parent().removeClass('min').addClass('max');
		}
	});
	
	// hover events for sidebar
	// bind hover event to create dynamic class for nav list elements
	$('ul.sidebar li ul li').hover( function() { 
		$(this).addClass('hover');
	},
	function() { 
		$(this).removeClass('hover');
	});
	
	// create email subject, body copy and URL for email toolbar
	if ( $('.toolbar') ) {
		var href_str = "mailto: ?subject=A page from Modjeski and Masters&body=I thought this page from the Modjeski and Masters website might be of interest:%0A" + window.location;
		$('.toolbar .email a').attr('href',href_str);
	}
	
	// create registration overlay & form for security-enabled areas (insight)
	$('.login').click( function() { createOverlay('register') });
	$('.brand-promise a').click( function() { createOverlay('flash') });
	$('.timeline a').click( function() { createOverlay('timeline') });
	
	// bind search events
	// all pages
	$('#search').keypress( function(event) {
		if (event.keyCode == '13') {
			var search_string = $('#search').attr('value');
			search_site(search_string);
		}
		//else { return false }
	});
	$('#search-btn').click( function() {
		var search_string = $('#search').attr('value');
		search_site(search_string);
	});
	$('.submitresume').click( function() {
		_gaq.push(['_trackEvent', 'Emails', 'hrjobs@modjeski.com']);
	});
});

// search function
function search_site(search_string) {
	var redirect_url = 'http://' + window.location.hostname + '/search-results.aspx?' + search_string;
	window.location = redirect_url;
}

function createOverlay(type){
	// create elements, assign class, append to body
	var overlay = document.createElement("div");
	var scroll_position = $(window).scrollTop();
	var register_left = ($(window).width() / 2) - 245;
	var flash_left = ($(window).width() / 2) - 257;
	var register_top = ($(window).height() / 2) - 170 + scroll_position;
	var flash_top = ($(window).height() / 2) - 155 + scroll_position;
	var timeline_left = ($(window).width() / 2) - 481;
	var timeline_top = ($(window).height() / 2) - 274 + scroll_position;	
	$(overlay).addClass('overlay').width($(window).width() + 'px').height($(document).height() + 'px').css('top', '0px').appendTo('body');
	// hide sifr text & select elements
	$('.sifr *, select').fadeOut('fast', function(){
		// fade in overlay
		$(".overlay").fadeIn('fast', function(){
			// bind overlay removal events
			$('.overlay').click(function(){
				removeOverlay(type)
			});
			// determine overlay type
			
			switch(type)
			{
			case "timeline":
			  	// fade in flash video container
				$('.timeline-swf').css('left', timeline_left + 'px').css('top', timeline_top + 'px').fadeIn('slow');
				// assign flash content
				assignFlashTimeline();
			  break;
			case "flash":
				// fade in flash video container
				$('.brand-video').css('left', flash_left + 'px').css('top', flash_top + 'px').fadeIn('slow');
				// assign flash content
				assignFlash();
			  break;
			default:
				// registration form
				// bind cancel, submit button events
				$('.cancel').click(function(){
					removeOverlay(type)
				});
				// fade in registration form
				$('.register').css('left', register_left + 'px').css('top', register_top + 'px').fadeIn('slow');
				if (type == 'error') {
					$('.error').fadeIn();
				}
			}			
			/*if (type == 'timeline') {
				// fade in flash video container
				$('.timeline-swf').css('left', timeline_left + 'px').css('top', timeline_top + 'px').fadeIn('slow');
				// assign flash content
				assignFlash();
			}
			if (type == 'flash') {
				// fade in flash video container
				$('.brand-video').css('left', flash_left + 'px').css('top', flash_top + 'px').fadeIn('slow');
				// assign flash content
				assignFlash();
			}
			else {
				// registration form
				// bind cancel, submit button events
				$('.cancel').click(function(){
					removeOverlay(type)
				});
				// fade in registration form
				$('.register').css('left', register_left + 'px').css('top', register_top + 'px').fadeIn('slow');
				if (type == 'error') {
					$('.error').fadeIn();
				}
			}*/
		});
	});
}
function removeOverlay(type) {
	
	switch(type)
	{
	case "timeline":
		// fade flash video
		$('.timeline-swf').fadeOut('fast', function(){
			// fade & remove overlay from DOM
			$('.overlay').fadeOut('fast', function(){
				// show sifr text & select elements
				$('.sifr *, select').fadeIn('fast')
			});
			// destroy overlay & flash video
			$('.overlay').remove();
			$('.brand-video #flash-vid').remove();
			$('<div id="flash-vid"></div>').appendTo('.brand-video');
		});	
	  break;
	case "flash":	
		// fade flash video
		$('.brand-video').fadeOut('fast', function(){
			// fade & remove overlay from DOM
			$('.overlay').fadeOut('fast', function(){
				// show sifr text & select elements
				$('.sifr *, select').fadeIn('fast')
			});
			// destroy overlay & flash video
			$('.overlay').remove();
			$('.brand-video #flash-vid').remove();
			$('<div id="flash-vid"></div>').appendTo('.brand-video');
		});	
	  break;
	default:	
		// fade registration
		$('.register').fadeOut('fast', function(){
			// fade & remove overlay from DOM
			$('.overlay').fadeOut('fast', function(){
				// show sifr text & select elements
				$('.sifr *, select').fadeIn('fast')
			});
			// destroy overlay
			$('.overlay').remove();
		});
	}
	/*if (type == 'timeline') {
		// fade flash video
		$('.timeline-swf').fadeOut('fast', function(){
			// fade & remove overlay from DOM
			$('.overlay').fadeOut('fast', function(){
				// show sifr text & select elements
				$('.sifr *, select').fadeIn('fast')
			});
			// destroy overlay & flash video
			$('.overlay').remove();
			$('.brand-video #flash-vid').remove();
			$('<div id="flash-vid"></div>').appendTo('.brand-video');
		});
	}
	if (type == 'flash') {
		// fade flash video
		$('.brand-video').fadeOut('fast', function(){
			// fade & remove overlay from DOM
			$('.overlay').fadeOut('fast', function(){
				// show sifr text & select elements
				$('.sifr *, select').fadeIn('fast')
			});
			// destroy overlay & flash video
			$('.overlay').remove();
			$('.brand-video #flash-vid').remove();
			$('<div id="flash-vid"></div>').appendTo('.brand-video');
		});
	}	
	else {
		// fade registration
		$('.register').fadeOut('fast', function(){
			// fade & remove overlay from DOM
			$('.overlay').fadeOut('fast', function(){
				// show sifr text & select elements
				$('.sifr *, select').fadeIn('fast')
			});
			// destroy overlay
			$('.overlay').remove();
		});
	}*/
}
