var Subscribe = {
	form : null,
	siteurl : null,
	
	init : function(frm,siteurl) {
		window.addEvent('load', function() {
			Subscribe._init(frm,siteurl);
		});
	},
	
	_init : function(frm,siteurl) {
		this.form = $(frm);
		this.siteurl = siteurl;
		
		if (!this.form) return false;
                // Patchara - hacky way to by-pass AJAX submit, in order to get google conversion code working
		//this.form.addEvent('submit', this.submitSubscribe.bindWithEvent(this));
		
		this.form.txtSubscribeEmail.onfocus = function () {
			if (this.value == 'Your E-mail') {
				this.value = '';
			}
		};
		
		this.form.txtSubscribeEmail.onblur = function () {
			if (this.value == '') {
				this.value = 'Your E-mail';
			}
		};

		this.form.txtName.onfocus = function () {
			if (this.value == 'Your Name') {
				this.value = '';
			}
		};
		
		this.form.txtName.onblur = function () {
			if (this.value == '') {
				this.value = 'Your Name';
			}
		};
	},
	
	ValidateSubscribe : function () {
	    var intError = 0;
		var focus_field = null;
		
	
		if ((this.form.txtSubscribeEmail.value.search(/[^\s]/gi) == -1) || (this.form.txtSubscribeEmail.value == 'Your E-mail')) { 
			this.form.txtSubscribeEmail.className = "invalid";
		
			intError = 1;
			if (focus_field == null) focus_field = this.form.txtSubscribeEmail;
		}else if (this.form.txtSubscribeEmail.value.search(/^.+@[^\.].*\.[a-z]{2,}$/gi) == -1) {
			this.form.txtSubscribeEmail.className = "invalid";
		
			intError = 1;
			if (focus_field == null) focus_field = this.form.txtSubscribeEmail;
		}else {
			this.form.txtSubscribeEmail.className = "";
		}
		
		return (intError == 0);
	},
	
	submitSubscribe : function (event) {
		if (!window.ie) {
			event = new Event(event);
			event.preventDefault();
		}else {
		    event.cancelBubble = true;
		    event.returnValue = false;
		}
		
	    if (this.ValidateSubscribe()) {
			var request = new Request({
								'url' : this.siteurl + 'subscribe.php',
								'method' : 'post',
								'data' : 'txtSubscribeEmail=' + this.form.txtSubscribeEmail.value + '&txtName=' + this.form.txtName.value
							});

			request.addEvent('request', function() {
				$('frmSignup').set('html','<p>One moment please,your request is being processed</p>');
			}.bindWithEvent(request));

			request.addEvent('success', function() {
				$('frmSignup').set('html',this.response.text);
			}.bindWithEvent(request));

			request.addEvent('failure', function() {
				$('frmSignup').set('html',this.response.text);
			}.bindWithEvent(request));

			request.send();
			
			if (pageTracker != null) {
				pageTracker._trackPageview('/subscribe/');
			}			
	    }
	    return false;
	}
}