// JavaScript Document

//
var tips;

//
$(function(){
		   
	$('ul>li>h1').click(function(){
											   
		$('ul>li>p').slideUp('slow');
		
		$(this).siblings('p').slideDown('slow');
	
	});
	
	$('ul>li>p').hide();
	
	tips = $('#validateTips');

});

//
function updateTips(t) {
	tips.text(t);
}

function checkLength(o,n,min,max) {

	if ( o.val().length > max || o.val().length < min ) {
		o.addClass('error');
		updateTips("Length of " + n + " must be between "+min+" and "+max+".");
		return false;
	} else {
		return true;
	}

}

function checkRegexp(o,regexp,n) {

	if ( !( regexp.test( o.val() ) ) ) {
		o.addClass('error');
		updateTips(n);
		return false;
	} else {
		return true;
	}

}

//
function contactForm(){

	var bValid = true;
	
	$('#name').removeClass('error');
	$('#email').removeClass('error');
	$('#phone').removeClass('error');
	$('#comments').removeClass('error');

	bValid = bValid && checkLength($('#name'),"name",1,128);
	
	bValid = bValid && checkRegexp($('#email'),/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Invalid Email eg. jonDoe@gmail.com");

	bValid = bValid && checkLength($('#comments'),"comments",1,2000);

	if (bValid) {
		$.getJSON('ajax.php',{'action':'contact', 'name':$('#name').val(), 'email':$('#email').val(), 'phone':$('#phone').val(), 'comments':$('#comments').val() },function(data){
			if(data.success == true){
				
				$('#contactForm').fadeOut('slow');
				$('#thankYou').fadeIn('slow');
				
			} else {
			
				updateTips('Error Submitting Contact Information');
										
			}
							
		});
	}

}

//
function quoteForm(){

	var bValid = true;
	
	$('#name').removeClass('error');
	$('#email').removeClass('error');

	bValid = bValid && checkLength($('#name'),"name",1,128);
	
	bValid = bValid && checkRegexp($('#email'),/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Invalid Email eg. jonDoe@gmail.com");

	if (bValid) {
		$.getJSON('ajax.php',{'action':'quote', 'name':$('#name').val(), 'email':$('#email').val(), 'phone':$('#phone').val(), 'address1':$('#address1').val(), 'address2':$('#address2').val(), 'city':$('#city').val(), 'state':$('#state').val(), 'zipCode':$('#zipCode').val(), 'how':$('#how').val(), 'eventType':$('#eventType').val(), 'eventDate':$('#eventDate').val(), 'deliveryDate':$('#deliveryDate').val(), 'product':$('#product').val(), 'quantity':$('#quantity').val(), 'details':$('#details').val(), 'hear':$('#hear').val() },function(data){
			if(data.success == true){
				
				$('#quoteForm').fadeOut('slow');
				$('#thankYou').fadeIn('slow');
				
			} else {
			
				updateTips('Error Submitting Quote Information');
										
			}
							
		});
	}

}
