function msgmeSignupSubmit()
{
	var postData = gatherFields();
	var url = document.getElementById('msgmesignup_form').action;
	writeIframeMsgme(postData);
	
	return false;
}

function validateEmail(email)
{
	if(email == '' || !validateEmailFormat(email))
	{
		document.getElementById('msgmesignup_invalid_email').style.display = 'block';
		return false;
	}
	else
	{
		document.getElementById('msgmesignup_invalid_email').style.display = 'none';
		return true;
	}
}

function validateEmailFormat(elementValue){  
   var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
   return emailPattern.test(elementValue);  
 }

function validateSweepsForm()
{			
	var postData = gatherFields();
	if (postData != '')
	{
		writeIframeMsgme(postData, true);
	}
	
	return false;
}

function gatherFields()
{
	var signup = document.getElementById('msgmesignup_form');
	
	var postDataStr = '';
	
	for(var i = 0, len = signup.elements.length; i < len; i++)
	{		
		if(signup.elements[i].type == 'hidden' || 
				signup.elements[i].type == 'text' || 
				signup.elements[i].type == 'textarea' ||
				signup.elements[i].type == 'select' || 
				signup.elements[i].type  == 'select-one')
		{
			if(signup.elements[i].id == 'msgmesweeps_email' && signup.elements[i].value != '' )
			{
				if (!validateEmail(signup.elements[i].value))
				{
					postDataStr = '';
					break;
				}
			}
			
			postDataStr += signup.elements[i].name+'='+signup.elements[i].value+'&';
		}
		else if(signup.elements[i].type == 'checkbox' && signup.elements[i].checked)
		{
			postDataStr += signup.elements[i].name+'='+signup.elements[i].value+'&';
		}
		else if(signup.elements[i].type == 'radio' && signup.elements[i].checked)
		{
			postDataStr += signup.elements[i].name+'='+signup.elements[i].value+'&';
		}
	}

	return postDataStr;
}

function handleResponse(responseText)
{
	document.getElementById('msgmesignup_invalid_number').style.display = 'none';
	document.getElementById('msgmesignup_already_signed_up').style.display = 'none';
	document.getElementById('msgmesignup_signed_up').style.display = 'none';
	if (document.getElementById('msgmesignup_invalid_email') != null)
	{
		document.getElementById('msgmesignup_invalid_email').style.display = 'none';
	}
	
	if (document.getElementById('msgmesignup_sweepsmessage') != null)
	{
		document.getElementById('msgmesignup_sweepsmessage').style.display = 'none';
	}
	
	if(responseText == 'invalid_msisdn')
	{
		document.getElementById('msgmesignup_invalid_number').style.display = 'block';
	}
	else if(responseText == 'already_subscribed')
	{
		document.getElementById('msgmesignup_already_signed_up').style.display = 'block';
	}
	else if(responseText == 'success')
	{
		document.getElementById('msgmesignup_signed_up').style.display = 'block';
	}
	else if (responseText == 'msgmesignup_invalid_email')
	{
		document.getElementById('msgmesignup_invalid_email').style.display = 'block';
	}
	else if (responseText != '')
	{
		document.getElementById('msgmesignup_sweepsmessage').innerHTML = unescape(responseText);
		document.getElementById('msgmesignup_sweepsmessage').style.display = 'block';
	}
}

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	//req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

function writeIframeMsgme(postData, sweeps)
{
	var iframe = document.createElement("iframe");
	
	if(sweeps != undefined)
	{
		url = 'http://msgme.com/msgme_signup_widget_xd.php?sweeps=true&from='+window.location.hostname;
	}
	else
	{
		url = 'http://msgme.com/msgme_signup_widget_xd.php?from='+window.location.hostname;
	}
	
	
	url += '&postData='+escape(postData);
    iframe.src = url;
    iframe.style.display = "none";
    document.body.appendChild(iframe);
}

window.onload = function()
{
	//writeIframeMsgme();
}
