$(document).ready(function () {

	var screen_width = parseInt($(document).width());
	var screen_height = parseInt($(document).height());
	
	$('body').append($('#vid-modal'));
	$('body').append($('div.farm-modal'));
	$('body').append($('div.flickr-modal'));
    
    //Main nav dropdown menu actions
    $('ul.nav li').hover(
        function () {
            //show its submenu
            $('ul', this).slideDown(100);
 			$(this).addClass('current');
        },
        function () {
            //hide its submenu
            $('ul', this).slideUp(100);        
			$(this).removeClass('current');
        }
    );
    
    //handle click action when modal close button is clicked
    $('div.close-btn').click(function(){
    	var parent_modal = $(this).parent().attr('id');
    	$("#" + parent_modal).fadeOut('normal', function(){
    		$('#modal-bg').fadeOut();
    	});
    });
    
    //handle the Our farms modals 
    $('ul.the-farms li').click(function(){
    	var which_farm = $(this).attr('id').replace('farm-', '');
    	$('#modal-bg').css({height: screen_height, width: screen_width}).fadeIn('normal', function(){
    		$('#farm-modal-' + which_farm).css({top: 800 + "px"}).fadeIn();
    	});
    });
    
    //handle click events for flickr stream
    $("div.flickr ul.photos li img").click(function(){
    	var modal_id = $(this).attr('id').replace('photo_', '');
    	$('#modal-bg').css({height: screen_height, width: screen_width}).fadeIn('normal', function(){
    		$('#flickr-modal-' + modal_id).fadeIn();
    	});
    });
    
    //handle click events for sidebar video thumbnails to open video modals
    $("ul#vid-thumbs li, ul#vid-list li").click(function(){
    	var vid_elm_id = $(this).attr('id');
    	var scrolled_px = parseInt($(document).scrollTop());
    	var modal_height = $('#vid-modal').innerHeight()/2;
    	
		$('#vid-modal div.modal-wrapper iframe').attr('src', 'http://www.youtube.com/embed/' + vid_elm_id);
    	$('#modal-bg').css({height: screen_height, width: screen_width}).fadeIn('normal', function(){
    		$('#vid-modal').css({top: scrolled_px + modal_height}).fadeIn();
    	});		
    });
    
    $('form#newsletter-form').submit(function (e) {
        e.preventDefault();
        if(newsletterSignupValidate()) {
			$.getJSON(
	        this.action + "?callback=?",
	        $(this).serialize(),
	        function (data) {
	            if (data.Status === 400) {
	                alert("Error: " + data.Message);
	            } else { // 200
	                openThanksModal();
	            }
	        });
		}
    });
    
});//end document ready

// Check that email!
function isValidEmail(emailAddress)  {
    var pattern  = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
};

//checks to see if valid email has been entered
function emailValidate() {
	var is_valid  = true;
    
	if( !$("#email").val()  ||  ! isValidEmail($("#email").val()))  {
        is_valid  = false;
    }
    
    if( !is_valid ) {
    	$("div.email-bg").addClass('errors');
    } else {
    	$("div.email-bg").removeClass('errors');
    }
    
    return is_valid;
}

//validate first and last name 
function newsletterSignupValidate() {
	var is_valid = true;
	
	if( !$('#first-name').val()) {
		$('#first-name').addClass('errors').focus();
		is_valid = false;
	} else {
		$('#first-name').removeClass('errors');
	}
	 
	if ( !$('#last-name').val() ) {
		$('#last-name').addClass('errors').focus();
		is_valid = false;
	} else {
		$('#last-name').removeClass('errors');
	}
	
	
	return is_valid;
}



//open up the newsletter signup modal if an email is entered.
function openNewsletterModal() {
	var screen_width = $('body').width();
	var screen_height = $('body').height();
	
	if(emailValidate()) {
		$('#modal-bg').css({height: screen_height, width: screen_width}).fadeIn('normal', function(){
			$('#signup-modal').fadeIn('normal', function(){
				$("input#email-confirm").val($("input#email").val());
			});
		});
	}
}

//open up the thanks modal if the form gets submitted
function openThanksModal() {
	if(newsletterSignupValidate()) {
		$('#signup-modal').fadeOut('normal', function(){
			$('#thanks-modal').fadeIn('normal');
		});
	}
}

function validateMailForm() {
	
	var valid = true;
	
	if( !$('#name').val() ) {
		$('#name').addClass('errors');
		valid = false;
	} else {
		$('#name').removeClass('errors');
	}
	
	if( !$('#sender_email').val() || !isValidEmail($('#sender_email').val()) ) {
		$('#sender_email').addClass('errors');
		valid = false;	
	} else {
		$('#sender_email').removeClass('errors');
	}
	
	if( !$('#message').val() ) {
		$('#message').addClass('errors');
		valid = false;	
	} else {
		$('#message').removeClass('errors');
	}
	
	return valid;
	
}

function openFarmModal(id){
	var scrolled_px = parseInt($(document).scrollTop());
	var modal_height = $('#vid-modal').innerHeight()/2;
	$('#modal-bg').css({height: parseInt($(document).height()), width: parseInt($(document).width())}).fadeIn('normal', function(){
    		$('#farm-modal-' + id).css({top: 200 + "px", left: 310 + "px"}).fadeIn();
    	})
}
