$(document).ready(function() {
    var width = 410;
    var height = 184;
    var left = parseInt(($(window).width()/2) - (width/2));
    var top = parseInt(($(window).height()/2) - (height/2));
	$.blockUI.defaults.css = {
		left: left,
		top: top,
		padding: '0',
		margin: '0'
	}
	$("#nlsubmit").css('cursor','pointer');
	$("#NLSubscription").css('cursor','pointer');
	$('#NLSubscription').click(function() {
		$('div.bcontent').unblock();
		$.unblockUI();
		$.blockUI({ 
			message: $("#nldiv"),centerY: false,css: { top: top, left: left } 
		});
		initBinding();
		$("#nlform").resetForm();
		$("#nlerror").hide();
		$("#nlname").removeClass('inputerror');$("#nlname").addClass('inputdefault');
		$("#nlemail").removeClass('inputerror');$("#nlemail").addClass('inputdefault');
		return false; 
	});

	$('#close').click(function() { 
		$.unblockUI(); 
		return false; 
	});
	
	 var nloptions = {  
		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 
	$('#nlform').submit(function() { 
		$(this).ajaxSubmit(nloptions); 
		return false; 
	});

});


function initBinding(){
	$('#close').click(function() {
		$.unblockUI();
	});
}

function showNLRequest(formData, jqForm, options) {  
	
	var nlname 	 = $("#nlname");
	var nlemail  = $("#nlemail");
	
	if (!nlname.val()){setnlError(nlname);return false;}else{clearnlError(nlname);}
	if (!nlemail.val()){
		setnlError(nlemail);
		return false;
	}else if(validateNLEmail(nlemail.val())==false){
		setnlError(nlemail);
		return false;
	}else{
		clearnlError(nlemail);
	}
	var image1 = $('<img border="0" />').attr('src', 'images/loading.gif');
	image1src = image1.attr('src');
	$('div.bcontent').block({ 
		message: '<span id="processing"><img border="0" src="'+image1src+'" align="absmiddle" hspace="6" />Processing E-Mail Form...</span>', 
		css: { 
			border: 'none',
			padding: '15px',
			backgroundColor: '#202834',
			'-webkit-border-radius': '10px', 
			'-moz-border-radius': '10px', 
			opacity: .8, 
			color: '#000000',
			width: '50%',
			top:   '40%',
			left:  '25%',
			textAlign:'center',
			cursor: 'wait',
			border:'3px solid #aaa'
		} 
	});
	
    return true; 
}

function showNLResponse(responseText, statusText)  { 
	if(responseText == 'success'){
		var valider = $('<img border="0" />').attr('src', 'images/valider.png');
		validersrc = valider.attr('src');
		$('div.bcontent').block({ 
			message: '<span id="thanks"><img border="0" src="'+validersrc+'" align="absmiddle" hspace="6" />Thank you for subscribing in our newsletter!</span>', 
			css: { 
				border: 'none',
				padding: '15px',
				backgroundColor: '#202834',
				'-webkit-border-radius': '10px', 
				'-moz-border-radius': '10px', 
				opacity: .8, 
				color: '#000000',
				width: '70%',
				top:   '40%',
				left:  '15%',
				textAlign:'center',
				cursor: 'wait',
				border:'3px solid #aaa'
			} 
		});
		setTimeout(unlockingMe, 2000);
	}else{
		var warning = $('<img border="0" />').attr('src', 'images/warning.png');
		warningsrc = warning.attr('src');
		$('div.bcontent').block({
			message: '<span id="thanks"><img border="0" src="'+warningsrc+'" align="absmiddle" hspace="6" />'+responseText+'</span>', 
			css: { 
				border: 'none',
				padding: '15px',
				backgroundColor: '#202834',
				'-webkit-border-radius': '10px', 
				'-moz-border-radius': '10px', 
				opacity: .8, 
				color: '#000000',
				width: '50%',
				top:   '40%',
				left:  '40%',
				textAlign:'center',
				cursor: 'wait',
				border:'3px solid #aaa'
			} 
		});
		setTimeout(unlockingMe, 2000);
	} 
} 

function unlockingMe(){
	$('div.bcontent').unblock();
	$.unblockUI();
}

function setnlError(obj){
	$("#nlerror").show();
	$("#nlerror").html("Required!");
	obj.removeClass('inputdefault');
	obj.addClass('inputerror');
	obj.focus();
}

function clearnlError(obj){
	$("#nlerror").hide();
	obj.removeClass('inputerror');
	obj.addClass('inputdefault');
}

function validateNLEmail(elementValue){
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailPattern.test(elementValue);
}
