//<![CDATA[

function newsletter_sr_httpreq() {
	var xhr = false;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xhr = false;
			};
		};
	};
	return xhr;
};

function newletter_sr_addretry() {

	var l = document.getElementById('newsletter_sr-loader');
	var o = document.getElementById('newsletter_sr-retry');
	var p = document.getElementById('newsletter_sr-requrl');
	var q = document.getElementById('newsletter_sr-register');
	if (o && p && q) {
		o.onclick = function () {
			q.innerHTML = '<img src="'+l.value+'" alt="" class="loader" />';
			var req = newsletter_sr_httpreq();
			req.onreadystatechange = function() {
				// onsuccess
				if (req.readyState == 4) {
					if (req.status  == 200) {
						q.innerHTML = req.responseText;
					}
					else
						q.innerHTML = "Error " + req.status;
				}
			}
			req.open( "GET", p.value+'&action=retry',  true);
			req.send(null);
			return false;
		}
	}
	return true;
}

function newletter_sr_register() {

	var req = newsletter_sr_httpreq();
	var l = document.getElementById('newsletter_sr-loader');
	var o = document.getElementById('newsletter_sr-register');
	var p = document.getElementById('newsletter_sr-requrl');
	var q = document.getElementById('newsletter_sr-email');

	if (l && o && p && q) {
		q.disabled = 'disabled';
		o.innerHTML =  o.innerHTML + '<img src="'+l.value+'" alt="" class="loader" />';
		req.onreadystatechange = function() {
			// onsuccess
			if (req.readyState == 4) {
				if (req.status  == 200) {
					o.innerHTML = req.responseText;
					newletter_sr_addretry();
				}
				else
					o.innerHTML = "Error " + req.status;
			}
		}
		req.open( "GET", p.value+'&action=email&email='+q.value,  true);
		req.send(null);
	}
}

window.onload = function () {
	sfHover();
	var o = document.getElementById('newsletter_sr-form');
	if (o) {
		o.onsubmit = function () {
			newletter_sr_register();
			return false;
		}
	}
};

//]]>

