$(document).ready(function() {
	/* subscription functions */
	if($('#subscribe').length) {
		$('input[name=your_name],input[name=your_email]').keypress(function(e) { if(e.which==13) { $('#subscribe-form').trigger("submit"); } });
		$('input[name=your_name]').focus(function() { if($(this).val()=='Your name') { $(this).val(''); } else { $(this).select(); } });
		$('input[name=your_email]').focus(function() { if($(this).val()=='Your email') { $(this).val(''); } else { $(this).select(); } });
		
		$('input[name=your_name]').blur(function() { if($(this).val()=='') { $(this).val('Your name'); } });
		$('input[name=your_email]').blur(function() { if($(this).val()=='') { $(this).val('Your email'); } });
		
		$('#subscribe-form').submit(function(e) {
			e.preventDefault();
			if(subValid()) {
				if(!processing) {
					submitSubscription();
				}
			}
		});
		
		$('#sub-btn a').click(function(e) {
			e.preventDefault();
			$("#subscribe-form").trigger("submit");
		});
	}
});

function subValid() {
	
	var isValid = true;
	
	//check name string
	var name_str = $('input[name=your_name]').val();
	if(name_str=='' || name_str == "Your name") {
		problem($('input[name=your_name]'));
		isValid = false;
	} else {
		$(".your_name_error").remove();
	}	
	//check email string
	var email_val = $('input[name=your_email]').val();
	if(email_val.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) {
		problem($('input[name=your_email]'));
		isValid = false;
	} else {
		$(".your_email_error").remove();
	}
	
	return isValid;	
}

function submitSubscription() {
	
	processing=true;
	$('#sub-btn a').css({'background-position':'0 -36px'});
	$.ajax({
		type:"get",
		url:"/assets/cm_subscribe.php",
		data: $('#subscribe-form').serialize(),
		success: function(r) {
			processing=false;
			if(r!='') { //we have a response
				if(r.substr(0,2)=='0:') {
					//fail?
				} else {
					$('#subscribe').css({'background-position':'bottom'});
					$('#subscribe form').fadeOut("fast");
					$('#subscribe p').fadeOut("fast",function(){
						$('#subscribe p').html("Thanks for <strong>subscribing</strong>.");
						$('#subscribe p').css({'font-size':'16px'});
						Cufon.replace('#subscribe p', { fontFamily: 'Helvetica Neue Lt Std Cnd 57' });
						Cufon.replace('#subscribe p strong', { fontFamily: 'Helvetica Neue Lt Std Bold Cnd 77' });
						$('#subscribe').stop().animate({'height':'43px'},300, function() {
							$('#subscribe p').fadeIn();
						});
					});
				}
			} else { //no response
				//fail
			}
		}
	});

}

/* validation error display */
function problem(el) {

	var err = $('<div class="'+$(el).attr('id')+'_error'+'"></div>');
	var elv = $(el).val();
	
	var it = $(el).offset().top;
	var il = $(el).offset().left;
	var iw = $(el).width();
	var ih = $(el).height()/2;
	
	
	err.css({'width':'16px','height':'16px','background':'url(/assets/img/v_fail.png)','position':'absolute','top':(it+ih)-2+'px','left':(il+iw-14)+'px'});
	$(err).mouseover(function() {
		elv = $(el).val();
		el.val($(el).attr('title'));
	});
	$(err).mouseout(function() {
		el.val(elv);
	});
	$('#subscribe').append($(err));
}

