var MASK_TRANSITION_SPEED = "fast";
var MASK_OPACITY = 0.7;

var screenWidth;
var screenHeight;
		
var modalHeight;  
var modalWidth;
		
var top;  
var left;

$(document).ready(function(){

	//            MODAL JS
	// add a <di> with id "mask"
	$("body").append('<div id = "mask"></div>');
	
	// create a click function for <h4> and resize the mask, fade in and show div content
	$('.modal > h4, #eventsPlayBtn, #videoPlayBtn, #consultPlayBtn, #ipPlayBtn ').click(function(){
		// set mask width and height to screen w/h
		screenWidth = $(window).width();
		screenHeight = $(window).height();
		
		modalHeight = $('.modal > div').outerHeight();  
    	modalWidth = $('.modal > div').outerWidth();
		
		top = (screenHeight - modalHeight)/2;  
    	left = (screenWidth - modalWidth)/2;
		
		$('#mask').width(screenWidth);
		$('#mask').height(screenHeight);
		$('#mask').fadeTo(MASK_TRANSITION_SPEED, MASK_OPACITY);
		//$('#videoWrapperEvent').css({'top' : top , 'left' : left}); 
		//$('#videoWrapperEvent').fadeIn(MASK_TRANSITION_SPEED);
	});
	
	$('#eventsPlayBtn').click(function(){
		
		$('#videoWrapperEvent').css({'top' : top , 'left' : left}); 
		$('#videoWrapperEvent').fadeIn(MASK_TRANSITION_SPEED);			
		
	});
	
	$('#videoPlayBtn').click(function(){
		
		$('#videoWrapperVideo').css({'top' : top , 'left' : left}); 
		$('#videoWrapperVideo').fadeIn(MASK_TRANSITION_SPEED);			
		
	});
	
	$('#consultPlayBtn').click(function(){
		
		$('#videoWrapperCreative').css({'top' : top , 'left' : left}); 
		$('#videoWrapperCreative').fadeIn(MASK_TRANSITION_SPEED);			
		
	});
	
	$('#ipPlayBtn').click(function(){
		
		$('#videoWrapperIP').css({'top' : top , 'left' : left}); 
		$('#videoWrapperIP').fadeIn(MASK_TRANSITION_SPEED);			
		
	});
	
	//create a close button close (aka fadeout) function
	$('.close').click(function(){

		$('#mask').fadeOut(MASK_TRANSITION_SPEED);
		$('.modal > .videoWrapper').fadeOut(MASK_TRANSITION_SPEED);
		stopVideo();
	});
	
	
	//create a mask close (aka fadeout) function
	$('#mask').click(function(){
		
		$(this).fadeOut(MASK_TRANSITION_SPEED);
		$('.modal > .videoWrapper').fadeOut(MASK_TRANSITION_SPEED);	
		stopVideo();
	});
	
	// function to pause the video when the modal is closed
	function stopVideo(){
		//alert('stopvideo is running');
		var eventsVideo = $('video').get(0);
		var videoVideo = $('video').get(1);
		var creativeVideo = $('video').get(2);
		var ipVideo = $('video').get(3);
		
		eventsVideo.pause();
		videoVideo.pause();
		creativeVideo.pause();
		ipVideo.pause();	
		
	};
	//           END MODAL JS

	//         NAVIGATION JS
	$(function() {
		
		$('#floatingNavWrapper').hide();
		
		$('#homeText a').click(function(){
			
			//var homeLeft = $('#home').position().left;
			var distanceToAnimate = $( $(this).attr('title') ).position().left + $('#home').position().left;
			var NAV_SPEED = .1;
			var TRANSITION_SPEED = 500;
			
			$('#contentWrapper').animate({
				left:  -distanceToAnimate,
				}, TRANSITION_SPEED
			);
			
			$('#floatingNavWrapper').show();
			
			$('#contentWrapper').scrollLeft($(this).attr('title'));
		});
	
		$('#floatingNavWrapper a').click(function(){
			var section = $(this).attr('title');
			
			var distanceToAnimate = $( section ).position().left;
			var NAV_SPEED = .1;
			var TRANSITION_SPEED = 500;
		
			
			$('#contentWrapper').animate({
				left:  -distanceToAnimate,
				}, TRANSITION_SPEED
			);
			
			if(section == '#home'){
				
				$('#floatingNavWrapper').hide();
				
			};
			
			$('#contentWrapper').scrollLeft(section);
		});
		//              END FLOATING NAVIGATION JS
				
		//              HOMEPAGE NAVIGATION JS
		$('#homeNav a').click(function(){
			
			var section = $(this).attr('title');
			
			var distanceToAnimate = $( section ).position().left;
			var NAV_SPEED = .1;
			var TRANSITION_SPEED = 500;
			
			$('#contentWrapper').animate({
				left:  -distanceToAnimate,
				}, TRANSITION_SPEED
			);
			
			
			$('#contentWrapper').scrollLeft(section);
		});
		//                END HOME NAVIGATION JS
		
		//              HOMEPAGE NAVIGATION JS
		$('.contactLink').click(function(){
			
			var section = "#contact"
			
			var distanceToAnimate = $( section ).position().left;
			var NAV_SPEED = .1;
			var TRANSITION_SPEED = 500;
			
			$('#contentWrapper').animate({
				left:  -distanceToAnimate,
				}, TRANSITION_SPEED
			);
			
			
			$('#contentWrapper').scrollLeft(section);
		});
		//                END HOME NAVIGATION JS

	});
	//                    END NAVIGATION JS
	
	$(".glow2").hover(function() { 
		$(this).animate({textShadow: "#6374AB 2px 2px 20px"});
	}, function() { 
		$(this).animate({textShadow: "#6374AB 0 0 0"});
	});
	
	$(".glow1").hover(function() { 
		$(this).animate({textShadow: "#6e6e6e 2px 2px 20px"});
	}, function() { 
		$(this).animate({textShadow: "#6e6e6e 0 0 0"});
	});
	
	//*****************
	// MORE FORM STUFF
	//*****************
	
	/*$form = $('form');
		$form.submit(function(){
			$.get($(this).attr('action'), $(this).serialize(), function(response){
			if(response){
				alert("Thank you! We will be in contact shortly." );
			}else{
				alert("There was an error");	
			}
		});
		return false;
	});*/
	
	
});	
	
	function clearMe(formfield){
	
	  if (formfield.defaultValue==formfield.value)
	
	   formfield.value = ""
	
	 }

	function validMoreThanOneCharacter (str, defaultVal) {

		if ((str.length > 1 ) || (str != defaultVal)) {

			return true;	

		} else {

			return false;

		}

	}

	function validateEmail(str){  

	   var emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]+$/;  

	   return emailPattern.test(str);

	 }

	function stripNonDigits (str) {

		var finalStr = "";

		for (var i=0; i < str.length; i++) {

			var char = 	str.charAt(i);

			if (!isNaN(char) && (char != " ") ) {

				finalStr = finalStr + char;
			}
		}
		return finalStr;
	}
	
	function validateForm () {
		
		// flag to keep track of validation status
		var validStatus = true;

		// reset all error class fields to non-error (aka, remove error class)
		$(".errorLabel").removeClass("errorLabel");
		$(".errorField").removeClass("errorField");
		$(".errorFieldTxtArea").removeClass("errorFieldTxtArea");

		// get the value of the first name field (more than one character)
		var n = $("#firstName").val();

		if (!validMoreThanOneCharacter(n, "")) {

			$("#nameLbl").addClass("errorLabel");
			$("#name").addClass("errorField");
			$("#name").removeClass("noError");
			
			validStatus = false;
		}
		
		// get the value of the last name field (more than one character)
		var n = $("#firstName").val();
		var l = $("#lastName").val();

		if (!validMoreThanOneCharacter(n, "First Name")) {

			$("#firstNameLbl").addClass("errorLabel");
			$("#firstName").addClass("errorField");
			$("#firstName").removeClass("noError");
			
			validStatus = false;
		}
		
		if (!validMoreThanOneCharacter(l, "Last Name")) {

			$("#lastNameLbl").addClass("errorLabel");
			$("#lastName").addClass("errorField");
			$("#lastName").removeClass("noError");
			
			validStatus = false;
		}

		// get the value of the email field

		var em = $("#email").val();

		if (!validateEmail(em)) {

			$("#emailLbl").addClass("errorLabel");
			$("#email").addClass("errorField");
			$("#email").removeClass("noError");

			validStatus = false;
		}

		// check email confirmation field using regular expression
		var ce = $("#confirmEmail").val();

		if (em != ce) {

			$("#confirmEmailLbl").addClass("errorLabel");
			$("#confirmEmail").addClass("errorField");
			$("#confirmEmail").removeClass("noError");

			validStatus = false;
		}

		// phone number validation (number at least 10 characters; strip anything else)
		var phone = $("#phoneNumber").val();

		if (stripNonDigits(phone).length < 10) {

			$("#phoneLbl").addClass("errorLabel");
			$("#phoneNumber").addClass("errorField");
			$("#phoneNumber").removeClass("noError");

			validStatus = false;
		}

		// msg text area
		var msg = $("#message").val();

		if (!validMoreThanOneCharacter(msg, "160 characters, maximum please!")) {

			$("#messageLbl").addClass("errorLabel");
			$("#message").addClass("errorFieldTxtArea");
			$("#message").removeClass("noErrorTA");

			validStatus = false;
		}
		
		if(!validStatus){
			return validStatus;
		}else{
			
			$form = $('form');
			$form.submit(function(){
				$.get($(this).attr('action'), $(this).serialize(), function(response){
					if(response){
						alert("Thank you! We will be in contact shortly." );
						document.getElementById('submit').disabled = true;
					}else{
						alert("There was an error");	
					}
				});
				return false;
			});
				
		};
	}

