var windowHeight = $(window).height();
var mouse_is_inside = false;

var brName = BrowserDetect.browser;
var brVer = BrowserDetect.version;	

$(document).ready(function() {
	
	$('.noJs').hide();
	
	$('.menu, #displayContactForm, .sidebar .preload, .hideNav').show();
	
	if ( ( brName == 'Explorer' ) && ( brVer <= 7 ) ) {
		$('.menu').hide();
		return false;
	} else {
		$(window).scroll(function () { 
			menuHighlight();
		});
		setFooterHeight();
	}
	
	$('.hideNavBtn').click(function() {
		$('.hideNav, .sectionHeader').hide();
		$('.showNav').show();
		$('.collapseWrap').slideUp();
	});
	$('.showNavBtn').click(function() {
		$('.showNav').hide();
		$('.hideNav').show();
		$('.collapseWrap').slideDown('normal', function(){
			$('.sectionHeader').show();		
		});
	});

	$('#folioGrid li').each(function(){
		var captionId = $(this).attr('id');
		showHideCaption('#' + captionId);
	}); 
	
	$('.menu, .showNavWrap, #portfolio, ').hover(function(){ 
        mouse_is_inside=true; 
    }, function(){ 
        mouse_is_inside=false; 
    });
	
	$('body').mouseup(function(){ 
	    if(! mouse_is_inside) {
			destroyProjection();
		}
	});
  
});

function isInt(n){
   return n%1==0
}

function intval( string ) {
	return string.replace(/[^0-9]/g, '');
}

function isUrl(string) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(string);
}

var formErrors = new Array();

function setFooterHeight(){
	windowHeight = $(window).height();
	var baseHeight = $('.base .boundry').height();
	var footerheight = windowHeight - baseHeight;
	$('#contact').css('min-height',footerheight);	
}

function jumpTo(href, portfolio, folioId){
	if ( portfolio == true ) {
		if ( $(folioId).hasClass('disable') ) {
			return false;
		}
	}
	var destination = $(href).offset().top;
	var fixDestination = Math.floor(destination);
	$('.targetlocal').text(fixDestination);
	$("html:not(:animated),body:not(:animated)").animate({ scrollTop: fixDestination}, 500, function(){
		window.location.hash = href;
		if( this.nodeName == 'BODY' ){
		   	if ( portfolio == true ) {
				loadSlide(folioId);
			}
		}
	});
	return false;
}

function menuHighlight(){
	$('.collapse ul li a').removeClass('selected');
	var pageView = $(document).scrollTop();
	$('.curentlocal').text(pageView);
	windowHeight = $(window).height();
	setFooterHeight();
	if ( $('.section:eq(0)').offset().top > pageView ) {
		$('#homeBtn').addClass('selected');
		$('.menu, .showNav').css('position','absolute');
	} else {	
		$('.section').each(function(index) {
			$('.menu, .showNav').css('position','fixed');
			var sectionUpperParam = $(this).offset().top;
			var sectionLowerParam = $(this).offset().top + $(this).height();
			var sectionId = $(this).attr('id');
			var testInt = isInt(sectionUpperParam);
			//test if browser supports floating point.
			if ( testInt == true ) {
				if ( (pageView >= sectionUpperParam) && (sectionLowerParam > pageView) ) {
					$('#' + sectionId + 'Btn').addClass('selected');
				}
			} else {
				if ( (pageView >= Math.floor(sectionUpperParam)) && (Math.floor(sectionLowerParam)-1 > pageView) ) {
					$('#' + sectionId + 'Btn').addClass('selected');
				}
			}		
		});	
	}	
}

function validateForm() {
	$('.field').removeClass('error');
	if ( $('#formName').val() == '' ){
		formErrors.push("formName");	
	}
	if ( $('#formEmail').val() == '' ){
		formErrors.push("formEmail");	
	}
	if ( $('#formMsg').val() == '' ){
		formErrors.push("formMsg");	
	}
	if ( formErrors.length == 0 ){
		ajaxForm();
		return false;
	} else {
		var len = formErrors.length;
		for(var i=0; i<len; i++) {
			var value = formErrors[i];
			$('#' + value).parents('.field').addClass('error');
		}
		$('#errorMessageWrap').slideDown(300, function(){
			$('#msgStatus').html('<strong>Oops missed a bit!</strong> Make sure all the fields are filled in before you send.').fadeIn('fast');
		});
	}
	formErrors = new Array();
	return false;
}

function showHideCaption(target){
	$(target).hover(function(){
		$(target + ' .caption:not(:animated)').slideDown();
	}, function(){
		$(target + ' .caption').slideUp();
	});
}

function ajaxForm(){
	var name = $('#formName').val();
	var email = $('#formEmail').val();
	var msg = $('#formMsg').val();
	var site = $('#formSite').val();
	if ( site = '' ) {
		site = 'No site attached.';
	}

	var dataString = 'name='+ name + '&email=' + email + '&msg=' + msg + '&site=' + site;
	$.ajax({
		type: "POST",
		url: "/contact.php",
		data: dataString,
		success: function(html) {
			$('#errorMessageWrap').slideDown(300, function(){
				$('#msgStatus').fadeOut(350, function(){
					$(this).empty().append(html).fadeIn(350);
				});
			});
		}
	});
	return false;
}

function loadSlide(folioId){
	var portfolio = intval(folioId);
	var dataString = 'portfolio=' + portfolio;
	$(folioId + ' .preload').show();
	$.ajax({
		type: "POST",
		url: "/projection.php",
		data: dataString,
		success: function(html) {
			$('#projection').append(html).parents('#revealProjection').slideDown(450, function(){
				$('#projection').fadeIn(380);
				$(folioId + ' .preload').fadeOut(300);
			});
			showHideCaption('.example');
		}		
	});
	return false;
}

function destroyProjection(){
	$('#folioGrid li').removeClass('disable');
	$('#projection').fadeOut(380, function(){
		$('#revealProjection').slideUp(450);
		$('#projection').empty();
	});
	return false;
}
