var emailSubscribe = {
	myConn:      false, // the XMLHttpRequest

	init:	function(emailId, sbmtBtnId) {
	emailSubscribe.myConn = new XHConn();
	if (!emailSubscribe.myConn) return;
	
	var email = document.getElementById(emailId);
	var sbmtBtn = document.getElementById(sbmtBtnId);
	
	var fnWhenDone = function (oXML) {
		email.value="thank you!";
	};
	
	emailSubscribe.addEvent(email,'click',
		function(){
			email.focus();
  			email.select();
		});
		
	emailSubscribe.addEvent(sbmtBtn,'click',
		function(){
			var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (filter.test(email.value)) {
				var submittedEmail =  email.value;
				email.value="submitting...";
				/* if there's a value, trigger submitEmail */
				emailSubscribe.myConn.connect("../subscribe.php", "POST", "email="+submittedEmail, fnWhenDone);
             }
			else {
				email.value="enter valid email";
				email.focus();
  				email.select();
			}
		});
	},
	addEvent: function(obj, type, fn) {  // the add event function
    if (obj.addEventListener) obj.addEventListener(type, fn, false);
    else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() {
			obj["e"+type+fn](window.event);
		};
		obj.attachEvent("on"+type, obj[type+fn]);
	}
}
};

emailSubscribe.addEvent(window, 'load',
                     function(){
                       emailSubscribe.init('subscribeEmail','Subscribe');
                     });