$(document).ready(function(){
	
	$('#hb-contact-form').hide();
	setTimeout(function() { $('#hb-contact-form').fadeIn(1000); }, 1000);
	$('#membership').hide();
	$('#plain-text-placeholder').hide();
	
	$('#become-member').live('click', function(){
		
		var msg_text = $('#message-label').text(); 
		msg_text = msg_text.replace("*", "");  
		
		$('#message').css({'border': '1px solid #BBB'});
		$('#message-label').css({'color': 'black'}).html(msg_text);	
		
		var checked = $(this).attr('checked');
		
		if (checked) {
			$('#membership').slideDown(500);
		} else {
			$('#membership').slideUp(250);
			$('#street-address').css({'border': '1px solid #BBB'}).val("");
			$('#street-address-label').css({'color': 'black'});
			$('#zipcode').css({'border': '1px solid #BBB'}).val("");
			$('#zipcode-label').css({'color': 'black'});
			$('#postal-location').css({'border': '1px solid #BBB'}).val("");
			$('#postal-location-label').css({'color': 'black'});
		}
	});
	
	$('#news-letter').live('click', function(){
		
		var msg_text = $('#message-label').text();
		msg_text = msg_text.replace("*", "");
		
		$('#message').css({'border': '1px solid #BBB'});
		$('#message-label').css({'color': 'black'}).html(msg_text);
		
		var checked = $(this).attr('checked');
		
		if (checked) {
			$('#plain-text-placeholder').slideDown(120);
		} else {
			$('#plain-text-placeholder').slideUp(120);
			$('#plain-text').removeAttr('checked');
		}
	});
	
	$('#first-name').bind('focusout', function(){
		fn = $('#first-name').val();
		
		if (fn == "") {
			$('#first-name').css({'border': '2px dashed red'});
			$('#first-name-label').css({'color': 'red'});
		} else {
			$('#first-name').css({'border': '2px solid green'});
			$('#first-name-label').css({'color': 'green'});
		}
	});
	
	$('#last-name').bind('focusout', function(){
		ln = $('#last-name').val();
		
		if (ln == "") {
			$('#last-name').css({'border': '2px dashed red'});
			$('#last-name-label').css({'color': 'red'});
		} else {
			$('#last-name').css({'border': '2px solid green'});
			$('#last-name-label').css({'color': 'green'});
		}
	});
	
	$('#email').bind('focusout', function(){
		em = $('#email').val();
		
		var em_regex = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9-])+\.([a-zA-Z0-9]{2,4})+$/;
		
		if (!em.match(em_regex)) {
			$('#email').css({'border': '2px dashed red'});
			$('#email-label').css({'color': 'red'});
		} else {
			$('#email').css({'border': '2px solid green'});
			$('#email-label').css({'color': 'green'});
		}
	});
	
	$('#street-address').bind('focusout', function(){
		sa = $('#street-address').val();
		
		if (sa == "") {
			$('#street-address').css({'border': '2px dashed red'});
			$('#street-address-label').css({'color': 'red'});
		} else {
			$('#street-address').css({'border': '2px solid green'});
			$('#street-address-label').css({'border': 'green'});				
		}
	});
	
	$('#zipcode').bind('focusout', function(){
		zc = $('#zipcode').val();
		
		if (zc == "") {
			$('#zipcode').css({'border': '2px dashed red'});
			$('#zipcode-label').css({'color': 'red'});
		} else {
			$('#zipcode').css({'border': '2px solid green'});
			$('#zipcode-label').css({'color': 'green'});
		}
	});
	
	$('#postal-location').bind('focusout', function(){
		pl = $('#postal-location').val();
		
		if (pl == "") {
			$('#postal-location').css({'border': '2px dashed red'});
			$('#postal-location-label').css({'color': 'red'});
			correct = false;
		} else {
			$('#postal-location').css({'border': '2px solid green'});
			$('#postal-location-label').css({'color': 'green'});
		}
	});
	
	$('#submit').click(function(){
		
		var correct = true;
		
		var fn = $('#first-name').val();
		var ln = $('#last-name').val();
		var em = $('#email').val();
		
		if (fn == "") {
			$('#first-name').css({'border': '2px dashed red'});
			$('#first-name-label').css({'color': 'red'});
			correct = false;
		} else {
			$('#first-name').css({'border': '2px solid green'});
			$('#first-name-label').css({'color': 'green'});
		}
		
		if (ln == "") {
			$('#last-name').css({'border': '2px dashed red'});
			$('#last-name-label').css({'color': 'red'});
			correct = false;
		} else {
			$('#last-name').css({'border': '2px solid green'});
			$('#last-name-label').css({'color': 'green'});
		}
		
		var em_regex = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9-])+\.([a-zA-Z0-9]{2,4})+$/;
		
		if (!em.test(em_regex)) {
			$('#email').css({'border': '2px dashed red'});
			$('#email-label').css({'color': 'red'});
			correct = false;
		} else {
			$('#email').css({'border': '2px solid green'});
			$('#email-label').css({'color': 'green'});
		}
		
		var membership = $('#become-member').attr('checked');
		var newsletter = $('#news-letter').attr('checked');

		if (!membership && !newsletter) {
			var message = $('#message').val();
			var msg_text = $('#message-label').text();

			if (message == "") {
				$('#message').css({'border': '2px dashed red'});
				$('#message-label').css({'color': 'red'}).html(msg_text+" *");
				correct = false;
			} else {
				$('#message').css({'border': '2px solid green'});
				$('#message-label').css({'color': 'green'});
			}
		} else {
			$('#message').css({'border': '1px solid #BBB'});
			$('#message-label').css({'color': 'black'}).html(msg_text);
		}

		if (membership) {
			sa = $('#street-address').val();
			zc = $('#zipcode').val();
			pl = $('#postal-location').val();
			
			if (sa == "") {
				$('#street-address').css({'border': '2px dashed red'});
				$('#street-address-label').css({'color': 'red'});
				correct = false;
			} else {
				$('#street-address').css({'border': '2px solid green'});
				$('#street-address-label').css({'border': 'green'});				
			}
			
			if (zc == "") {
				$('#zipcode').css({'border': '2px dashed red'});
				$('#zipcode-label').css({'color': 'red'});
				correct = false;
			} else {
				$('#zipcode').css({'border': '2px solid green'});
				$('#zipcode-label').css({'color': 'green'});
			}
			
			if (pl == "") {
				$('#postal-location').css({'border': '2px dashed red'});
				$('#postal-location-label').css({'color': 'red'});
				correct = false;
			} else {
				$('#postal-location').css({'border': '2px solid green'});
				$('#postal-location-label').css({'color': 'green'});
			}
		}
		
		if (correct == false) {
			return false;
		} else {
			$('#hb-contact-form').fadeOut(700);
		}
	});
	
});

