Cufon.replace('h1', { fontFamily: 'HelveticaNeue' });
Cufon.replace('h2', { fontFamily: 'HelveticaNeue' });
Cufon.replace('p.email', { fontFamily: 'HelveticaNeue' });
Cufon.replace('p.phone', { fontFamily: 'HelveticaNeue' });
Cufon.replace('div.overlay h4', { fontFamily: 'HelveticaNeue' });
Cufon.replace('div.overlay p', { fontFamily: 'HelveticaNeue' });

$(document).ready( function(){
	/*-----
		Message Box
		-----*/
	$('input.name').focus( function(){
		if($(this).attr('value') == "Name"){
			$(this).attr('value','');
			$(this).css('color','#5F5B55');
		}
	});
	$('input.name').blur( function(){
		if($(this).attr('value') == ""){
			$(this).attr('value','Name');
			$(this).css('color','#9C9A95');
		}
	});
	$('input.email').focus( function(){
		if($(this).attr('value') == "Email"){
			$(this).attr('value','');
			$(this).css('color','#5F5B55');
		}
	});
	$('input.email').blur( function(){
		if($(this).attr('value') == ""){
			$(this).attr('value','Email');
			$(this).css('color','#9C9A95');
		}
	});
	$('textarea.message').focus( function(){
		if($(this).attr('value') == "Message"){
			$(this).attr('value','');
			$(this).css('color','#5F5B55');
		}
	});
	$('textarea.message').blur( function(){
		if($(this).attr('value') == ""){
			$(this).attr('value','Message');
			$(this).css('color','#9C9A95');
		}
	});

	function trim(stringToTrim) {
		return stringToTrim.replace(/^\s+|\s+$/g,"");
	}
	
	
	function validate(email) {
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if(reg.test(email) == false) {
			return false;
		}
		return true;
	}
	
	$('div.messagePanel a').click( function(){
		var formValid = true;
		if($('input.name').attr("value") == "" || $('input.name').attr("value") == "Name"){
			$('div.nameInput img').show();
			 formValid = false;
		} else {
			$('div.nameInput img').hide();
		}
		
		if($('input.email').attr("value") == "" || $('input.email').attr("value") == "Email"){
			$('div.emailInput img').show();
			formValid = false;
		} else {
			if(validate($('input.email').attr("value"))){
				$('div.emailInput img').hide();
			} else {
				$('div.emailInput img').show();
				formValid = false;
			}
		}
		if($('textarea.message').attr("value") == "" || $('textarea.message').attr("value") == "Message"){
			$('div.messageInput img').show();
			formValid = false;
		} else {
			$('div.messageInput img').hide();
		}
		if(!formValid){
			return false;
		}
		$.post("email.php", { name: $('input.name').attr("value"), email: $('input.email').attr("value"), message: $('textarea.message').attr("value") }, function(data){
			if(trim(data) == 'success'){
				$('div.messagePanel div.thankyou').fadeIn(500, function(){
					$('input.name').attr('value','Name');
					$('input.email').attr('value','Email');
					$('textarea.message').attr('value','Message');
					setTimeout("$('div.thankyou').fadeOut(500)", 5000);
				});
			} else {
				$('div.messagePanel div.error').fadeIn(500, function(){
					setTimeout("$('div.messagePanel div.error').fadeOut(500)", 5000);
				});
			}
		});
		return false;
	});
	
	/*-----
		Web Section
		-----*/
	// web thumbnails
	var allWebThumbs = $('div.web div.thumbs div.thumb a');
	// web largePhotos
	var allWebEnlarged = $('div.web div.largeImages div.enlarged');
	$(allWebThumbs).click( function(){
		var currentThumb = $(allWebThumbs).index($(this));
		//google tracking for web thumbs
		var pageTracker = _gat._getTracker("UA-20458638-1");
        pageTracker._trackPageview('/webDesignThumbnails'+currentThumb);

		$(this).addClass('loading');

		$(allWebEnlarged[currentThumb]).children('img').load( function(){
			$(this).show();
			$(allWebEnlarged[currentThumb]).show('fade', 500, function(){
				adjustHeight();
			});										
		}).attr('src', 'images/web/fullsize/'+ $(allWebEnlarged[currentThumb]).attr('title') +'.jpg');
		
		return false;
	});
	
	$('div.enlarged a, div.enlarged img').click( function(){
		$('div.enlarged img').attr('src', '');
		$('div.thumbs div.thumb a').removeClass('loading');
		$('div.enlarged:visible').hide('fade', 500, function(){
			adjustHeight();
		});
		return false;
	});
	
	/*-----
		Main Navigation
		-----*/
	var loadingNewSection = false;
	var allMainNavLi = $('ul.mainNav li');
	var allMainNavLinks = $('ul.mainNav li a');
	var allSections = $('div.web, div.print, div.userExperience');
	$(allMainNavLinks).click( function(){
		if(!loadingNewSection && !$(this).parent('li').hasClass('selected')){
			$('body').addClass('changing');
			loadingNewSection = true;
			$('a.loading').removeClass('loading');
			var currentSection = $(allMainNavLinks).index($(this));
			//google tracking for web thumbs
			var pageTracker = _gat._getTracker("UA-20458638-1");
        	pageTracker._trackPageview('/tabs'+currentSection);
			$('div.leftColumn div.left > div:visible').css('filter', 'alpha(opacity=100)').animate({ opacity: 0 }, 500, function(){
				$(this).addClass('hide');
				$(allMainNavLi).removeClass('selected');
				$(allSections[currentSection]).removeClass('hide');
				$(allMainNavLi[currentSection]).addClass('selected');
				$(allSections[currentSection]).css('filter', 'alpha(opacity=0)').animate({ opacity: 1 }, 500, function(){
					$('body').removeClass('changing');
					loadingNewSection = false;
					$('div.enlarged').hide();
					adjustHeight();
				});
			});
		}
		
		return false;
	});
	
	/*-----
		Print Section
		-----*/
	// print thumbnails
	var allPrintThumbs = $('div.print div.thumbs div.thumb a');
	// print largePhotos
	var allPrintEnlarged = $('div.print div.largeImages div.enlarged');
	$(allPrintThumbs).click( function(){
		var currentThumb = $(allPrintThumbs).index($(this));
		//google tracking for web thumbs
		var pageTracker = _gat._getTracker("UA-20458638-1");
        pageTracker._trackPageview('/printThumbnails'+currentThumb);
        
		$(this).addClass('loading');

		$(allPrintEnlarged[currentThumb]).children('img').load( function(){
			$(this).show();
			$(allPrintEnlarged[currentThumb]).show('fade', 500, function(){
				adjustHeight();
			});										
		}).attr('src', 'images/print/fullsize/'+ $(allPrintEnlarged[currentThumb]).attr('title') +'.jpg');
		
		return false;
	});
	$('div.print div.enlarged a').click( function(){
		$('div.print div.enlarged:visible').hide('fade', 500, function(){
			adjustHeight();
			return false;
		});
	});
	
	/*-----
		User Experience Section
		-----*/
	// print thumbnails
	var allUXThumbs = $('div.userExperience div.thumbs div.thumb a');
	// print largePhotos
	var allUXEnlarged = $('div.userExperience div.largeImages div.enlarged');
	$(allUXThumbs).click( function(){
		var currentThumb = $(allUXThumbs).index($(this));
		//google tracking for web thumbs
		var pageTracker = _gat._getTracker("UA-20458638-1");
        pageTracker._trackPageview('/uxThumbnails'+currentThumb);
		$(this).addClass('loading');

		$(allUXEnlarged[currentThumb]).children('img').load( function(){
			$(this).show();
			$(allUXEnlarged[currentThumb]).show('fade', 500, function(){
				adjustHeight();
			});										
		}).attr('src', 'images/ux/fullsize/'+ $(allUXEnlarged[currentThumb]).attr('title') +'.jpg');

		return false;
	});
	$('div.userExperience div.enlarged a').click( function(){
		$('div.userExperience div.enlarged:visible').hide('fade', 500, function(){
			adjustHeight();
		});
		return false;
	});
	
	/*----
		Adjust Window Height
		----*/
	adjustHeight = function(){
		var tallestHeight = 0;
		var leftColumnHeight = $('div.leftColumn').innerHeight($('div.left').innerHeight()+60).innerHeight();
		var rightColumnHeight = $('div.rightColumn').innerHeight($('div.right').innerHeight()+60).innerHeight();
		var popUpHeight = $('div.enlarged:visible').innerHeight() != null ? $('div.enlarged:visible').innerHeight()+260 : 0;
		
		if(leftColumnHeight > rightColumnHeight){
			tallestHeight = leftColumnHeight;
		} else {
			tallestHeight = rightColumnHeight;
		}
		if(popUpHeight > tallestHeight){
			tallestHeight = popUpHeight;
		}
		if($(window).height()>tallestHeight){
			tallestHeight = $(window).height();
		}
		$('div.leftColumn').innerHeight(tallestHeight);
		$('div.rightColumn').innerHeight(tallestHeight);
		
	}
	$(window).resize(function() {
		adjustHeight();
	});
	adjustHeight();
});
