$(document).ready(function(){	
	 var options = {  
		beforeSubmit:  shownlRequest,  // pre-submit callback 
		success:       shownlResponse,  // post-submit callback 
		url: 'includes/newsletter.php',
		type: 'post',
		dataType: 'html'
	};
 
    // bind to the form's submit event 
    $('#newsletterform').submit(function() { 
		$(this).ajaxSubmit(options); 
        return false; 
    })
	
	$("#nlname").focus(function(){
		if ((($(this).val()) && ($(this).val() == 'enter your name'))){
			$(this).val('');
		}else if ($(this).val() == 'Required...'){
			$(this).val('');
		}
	});
	
	$("#nlname").blur(function(){
		if (!$(this).val())
			$(this).val('enter your name');
	});
	
	$("#nlemail").focus(function(){
		if ((($(this).val()) && ($(this).val() == 'your e-mail address'))){
			$(this).val('');
		}else if ($(this).val() == 'Required...'){
			$(this).val('');
		}
	});
	
	$("#nlemail").blur(function(){
		if (!$(this).val())
			$(this).val('your e-mail address');
	});
	
	$("#nlclear").click(function(){
		$('#newsletterform').clearForm();
	});
	
	$("#nlsubmit").click(function(){
		$('#newsletterform').submit();
	});
	
	
});

function shownlRequest(formData, jqForm, options) {  
	
	var name 	 = $("#nlname");
	var email 	 = $("#nlemail");
	
	if (!name.val() || name.val() == 'enter your name'){
		name.val('Required...');
		return false;
	}
	
	if (!email.val()){
		email.val('Required...');
		return false;
	}else if(echeck(email.val())==false){
		email.val('Required...');
		return false;
	}
	
	$.blockUI({ 
		message: '<span id="processing"><img border="0" src="images/loading.gif" align="absmiddle" /> Processing Newsletter Subscription...</span>', 
		css: { 
			border: 'none',
			padding: '15px',
			backgroundColor: '#ffffff',
			'-webkit-border-radius': '10px', 
			'-moz-border-radius': '10px', 
			opacity: .8, 
			color: '#000000',
			width: '30%',
			top:   '40%',
			left:  '35%',
			textAlign:'center',
			cursor: 'wait',
			border:'3px solid #aaa'
		} 
	});
	
    return true; 
}

function shownlResponse(responseText, statusText)  { 
	if(responseText == 'success'){
		$.blockUI({ 
			message: '<span id="thanks">Thank you for your subscription</span>', 
			css: { 
				border: 'none',
				padding: '15px',
				backgroundColor: '#ffffff',
				'-webkit-border-radius': '10px', 
				'-moz-border-radius': '10px', 
				opacity: .8, 
				color: '#000000',
				width: '30%',
				top:   '40%',
				left:  '35%',
				textAlign:'center',
				cursor: 'wait',
				border:'3px solid #aaa'
			} 
		});
		setTimeout($.unblockUI, 2000);
	}else{
		$.blockUI({ 
			message: '<span id="thanks">Error occured, please try again later...</span>', 
			css: { 
				border: 'none',
				padding: '15px',
				backgroundColor: '#ffffff',
				'-webkit-border-radius': '10px', 
				'-moz-border-radius': '10px', 
				opacity: .8, 
				color: '#000000',
				width: '30%',
				top:   '40%',
				left:  '35%',
				textAlign:'center',
				cursor: 'wait',
				border:'3px solid #aaa'
			} 
		});
		setTimeout($.unblockUI, 2000);
	} 
} 

function echeck(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;				
}