function ValidateEmail(email) { var e = /^[a-z][a-z-_0-9\.]+@[a-z-_=>0-9\.]+\.[a-z]{2,3}$/i; return e.test( email ); }

function FormAlert(message, color) {
	$('#form_message').html(message);
	$('#form_message').css("color",  color);
	$('#form_message').animate( { height: 'show' }, 300, 'linear', 
		function() {
			if(FormAlert.timer) clearTimeout(FormAlert.timer); 
			FormAlert.timer = setTimeout( "$('#form_message').animate( { height: 'hide' }, 300, 'linear'); FormAlert.timer=null;", 8000 ); 
	} );
}

function FormValidateItemEmpty(item, item_name)
{
	if (item.value == "") {
		FormAlert("The "+item_name+" field is empty.",'#700000');
		item.focus();
		return false;
	}
	return true;
}

function FormAjaxPost(url, parameters, success_message, fail_message) {
	$('#form_submit').attr("disabled", "disabled");
	FormAlert( 'Operation in progress ...', '#700070' );
	$.ajax({ type: "POST", url: url, data: parameters, 
		success: function(msg){
			if(msg == "0") FormAlert( success_message, '#000070' );
				else FormAlert( fail_message, '#700000');
			setTimeout( "$('#form_submit').removeAttr('disabled'); document.forms['main_form'].reset();", 5000);
		},
		error: function(xhr, ajaxOptions, thrownError){ NewsletterAlert( fail_message , '#F00000');  setTimeout( "$('#form_submit').removeAttr('disabled');", 3000); }
	});
	return true;
}

function NewsletterAlert(message, color) {
	$('#newsletter_message').html(message);
	$('#newsletter_message').css("color",  color);
	$('#newsletter_message').animate( { height: 'show' }, 300, 'linear', 
		function() {
			if(NewsletterAlert.timer) clearTimeout(NewsletterAlert.timer); 
			NewsletterAlert.timer = setTimeout( "$('#newsletter_message').animate( { height: 'hide' }, 300, 'linear'); NewsletterAlert.timer=null;", 8000 ); 
	} );
}

function NewsletterPopUp(url) {
	if ((!NewsletterPopUp.h) || (NewsletterPopUp.h.close))
		NewsletterPopUp.h = window.open(url, 'newsletter_popup', 'width=400px,height=200px,toolbar=0,resizable=0,scrollbars=yes');
			else NewsletterPopUp.h.document.location.href=url; 
	NewsletterPopUp.h.focus(); 
	return true;
}

function NewsletterAjaxRequest(url, parameters) {
	NewsletterAlert( 'Operation in progress ...', '#700070' );
	$.ajax({ type: "POST", url: url, data: parameters, 
		success: function(msg){
				if(msg == "1") NewsletterAlert( 'You were already subscribed :)', '#000070' );
				else if(msg == "2") NewsletterAlert( 'Success! Thanks for subscribing!', '#000070' );
				else if(msg == "10") NewsletterAlert( 'Unsubscription completted', '#000070' );
				else if(msg == "11") NewsletterAlert( 'Invalid email address', '#700000' );
				else NewsletterAlert( 'There was a problem with the request try again later.', '#700000');
			},
		error: function(xhr, ajaxOptions, thrownError){ NewsletterAlert( 'There was a problem with the request try again later.', '#700000'); }
	});
	return true;
}

function ValidateNewsLetterFormAndOpenPopUp(form, url)
{
	if (form.YMP0.value == "") { 
		NewsletterAlert("The email field is empty.",'#700000');
		form.YMP0.focus();
		return false;
	}

	if(!ValidateEmail( form.YMP0.value )) {
		NewsletterAlert("The address typed doesn't look like a valid email address, please check it and try again.",'#700000');
		form.YMP0.focus();
		return false; 
	}

	if( !NewsletterAjaxRequest(url, "submit=submit&YMP0=" + encodeURIComponent( form.YMP0.value ) ) ) return NewsletterPopUp(url); 
	return false; 
}

