function isValidEmail(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1){
	  return false;
	}
	
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	  return false;
	}
	
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	  return false;
	}
	
	if (str.indexOf(at,(lat+1))!=-1){
	  return false;
	}
	
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	  return false;
	}
	
	if (str.indexOf(dot,(lat+2))==-1){
	  return false;
	}
	
	if (str.indexOf(" ")!=-1){
	  return false;
	}
	
	return true;
}

jQuery(function(){
	jQuery('#subscribe-join').click(function(e){
	  e.preventDefault();
	  
	  if(jQuery('#subscribe-email').val() != '' && isValidEmail(jQuery('#subscribe-email').val())){
		jQuery.ajax({  
			type: 'POST',  
			url: jQuery('form#subscribe-subscribe').attr('action'),  
			data: jQuery('form#subscribe-subscribe').serialize(),  
			dataType: 'text',
			success: function(data, textStatus){
				data = eval('(' + data + ')');
				
				if(data.status == 'true' || data.status == true){
					jQuery('	div.errors').addClass('success');
					jQuery('div.subscribe div.errors').html('Thanks for subscribing');
					jQuery('div.subscribe input#subscribe-email').css('display','none');
					jQuery('div.subscribe img#subscribe-join').css('display','none');
				}
				else{
					jQuery('div.subscribe div.errors').removeClass('success');
					jQuery('div.subscribe div.errors').html('There was an error processing your subscription');
				}
			},
			error: function (XMLHttpRequest, textStatus, errorThrown){}
		}); 
	  }
	  else{
	  	jQuery('div.subscribe div.errors').removeClass('success');
	    jQuery('div.subscribe div.errors').html('You must enter a valid e-mail address');
	  }
	});  
	
	jQuery('#subscribe-join').mouseover(function(){
		jQuery(this).css('cursor','pointer');
	});
	
	jQuery('#subscribe-join').mouseout(function(){
		jQuery(this).css('cursor','default');
	});	
});