//Grasshopper Blog JavaScript
//Author: Scott Lanning
$(document).ready(function(){
	checkComments();	
	mobileClicks();
});
function testPattern(value, pattern){
	var regExp = new RegExp(pattern,"");
	return regExp.test(value);	
}
function checkComments(){
	$("#commentform").submit(function(){
	
		var checkAuthor = true;
		var checkEmail = true;
		var checkComments = true;
		
		if($("#author").size() && $("#email").size())
		{	
			//checks if name is filled out
			if($.trim($("#author").val()) == "")
			{
				$("label[for='author']").css("color","#DC2128");
				$("#form-error").show();
				checkAuthor = false;
			}
			else{
				$("label[for='author']").css("color","#666");
				$("#form-error").hide();
				checkAuthor = true;
				
			}
			//checks if properly formed email address
			var emailValue = $("#email").val();
			var emailPattern = testPattern(emailValue,"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])");
			if(!emailPattern)
			{
				$("label[for='email']").css("color","#DC2128");
				$("#form-error").show();
				checkEmail = false;
			}
			else{
				$("label[for='email']").css("color","#666");
				$("#form-error").hide();
				checkEmail = true;
			}
			//checks if comment is filled out
			if($.trim($("#comment").val()) == "")
			{
				$("label[for='comment']").css("color","#DC2128");
				$("#form-error").show();
				checkComments = false;
			}
			else{
				$("label[for='comment']").css("color","#666");
				$("#form-error").hide();
				checkComments = true;
			}
		}
		else{
			//checks if comment is filled out
			if($.trim($("#comment").val()) == "")
			{
				$("label[for='comment']").css("color","#DC2128");
				$("#form-error").show();
				checkComments = false;
			}
			else{
				$("label[for='comment']").css("color","#666");
				$("#form-error").hide();
				checkComments = true;
			}
		}
		if(!checkAuthor || !checkEmail || !checkComments)
		{
			return false;
		}
		else{
			return true;
		}
	});
}
function mobileClicks(){
	
	//preventing default action doesnt seem to work with jquery touchable
	$("li.search > a, li.cat-arch > a, #searchsubmit").attr("href","javascript:void(0);");
	
	//enables touch on selected elements
	var searchIcon = $("li.search > a").Touchable();
	var categoryIcon = $("li.cat-arch > a").Touchable();
	var searchSubmit = $("#searchsubmit").Touchable();
	
	//search anchor submits search box
	searchSubmit.bind('tap',function(e,touch){
		$("#searchform").submit();	
	});
	
	//hide/show search field
	searchIcon.bind('tap',function(e,touch){
		
		if($(".show-search").size())
		{
			$(".show-search").removeClass("show-search");
		}
		else{
			$("#globalNav").remove();
			$(".show-category").removeClass("show-category");
			$(this).parent().addClass("show-search");
			$("div.sidebar, div.content, header > div").addClass("show-search");
		}
	});
	//hide/show categories and archives
	categoryIcon.bind('tap',function(e,touch){
		
		if($(".show-category").size())
		{
			$(".show-category").removeClass("show-category");
			$("#globalNav").remove();
		}
		else{
			$(".show-search").removeClass("show-search");
			
			var globalNav = '<li id="globalNav">' + 
								'<h3 class="widget-title">Explore Grasshopper</h3>' +
								'<ul>' +
									'<li><a href="http://grasshopper.com">Grasshopper.com</a></li>' +
									'<li><a href="http://grasshopper.com/blog">Blog</a></li>' +
									'<li><a href="http://grasshopper.com/how-it-works-and-features">How it Works</a></li>' +
									'<li><a class="mobileSignup" href="http://grasshopper.com/signup">Pricing &amp; Signup</a></li>' +
								'</ul>' +
							'</li>';
			$(".xoxo").prepend(globalNav);
			$(this).parent().addClass("show-category");
			$("div.sidebar, div.content, header > div").addClass("show-category");
		}
	});	
}
