// JavaScript Document
// Requires: mootools-1.2-core-yc.js
function createInstance()
{
	var XMLHttp = false;
	
	if (window.XMLHttpRequest) 
	{
		return new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) 
	{
		var versionsArray = ['Msxml2.XMLHTTP.7.0',
			'Msxml2.XMLHTTP.6.0',
			'Msxml2.XMLHTTP.5.0',
			'Msxml2.XMLHTTP.4.0',
			'Msxml2.XMLHTTP.3.0',
			'Msxml2.XMLHTTP',
			'Microsoft.XMLHTTP'];
		for (var i=0;i<versionsArray.length;i++) 
		{
			try 
			{
				XMLHttp = new ActiveXObject(versionsArray[i]);
				if (XMLHttp) 
				{
					return XMLHttp;
					break;
				}
			} catch (e) {};
		}
	}
}

function hideErrMsgs()
{
	$('errName').style.visibility = 'hidden';
	$('errEmail').style.visibility = 'hidden';
	$('errSubject').style.visibility = 'hidden';
	$('errContents').style.visibility = 'hidden';	
}

function insertUser()
{
	var email = $('txtEmail').value;
	var emailRegExp = /^[\w\-\+\&\*]+(?:\.[\w\-\+\&\*]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$/;	
	var validEmail = emailRegExp.test(email);
	if (email==null||email==''||!validEmail) 
	{
		news = $('lnkEnviar').innerHTML;
		news = news.substr(0,4);
		if (news.toLowerCase() == 'send')
			$('confirm').innerHTML = 'E-mail is invalid'
		else
			$('confirm').innerHTML = 'El e-mail no es válido';
		return false;
	}
	else
	{
		$('confirm').innerHTML = '';
	};
	
	XMLHttpInstance = createInstance();
	if (XMLHttpInstance) 
	{
		news = $('lnkEnviar').innerHTML;
		news = news.substr(0,4);
		if (news.toLowerCase() == 'send')
			lang = 'en'
		else
			lang = 'es';
		var postStr = 'email=' + encodeURI(email) + '&lang=' + lang;
		var URL = 'http://www.festivaltangoqueer.com.ar/includes/subscriptionMgr.php';
		with (XMLHttpInstance) 
		{
			open('POST', URL, true);
			onreadystatechange = subscriptState;
			setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
			setRequestHeader('Content-length', postStr.length);
			setRequestHeader('Connection', 'close');
			send(postStr);
		}
	} 
	else 
	{ 
		alert('XMLHttp instance was not created');
	}	
}

function sendMail()
{
	if (validateForm()) 
	{
		XMLHttpInstance = createInstance();
		if (XMLHttpInstance) 
		{
			var postStr = 'email=' + encodeURI($('email').value) + '&name=' + encodeURI($('nombre').value) + 
					'&subject=' + encodeURI($('subject').value) + '&contents=' + encodeURI($('mensaje').value);
			var URL = '../../includes/email.php';
			with (XMLHttpInstance) 
			{
				open('POST', URL, true);
				onreadystatechange = stateChange;
				setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
				setRequestHeader('Content-length', postStr.length);
				setRequestHeader('Connection', 'close');
				send(postStr);
			}
		} 
		else 
		{ 
			alert('XMLHttp instance was not created');
		}
	}
}

function stateChange() 
{
	if (XMLHttpInstance.readyState == 4) 
	{
		if (XMLHttpInstance.responseText == 'sent')
		{
			$('emailSent').style.visibility = 'visible';
			$('nombre').value = '';
			$('subject').value = '';		
			$('email').value = '';
			$('mensaje').value = '';
		}
	}
}

function subscriptState() 
{
	if (XMLHttpInstance.readyState == 4) 
	{
		news = $('lnkEnviar').innerHTML;
		news = news.substr(0,4);
		if (news.toLowerCase() == 'send')
		{
			if (XMLHttpInstance.responseText == 1)
				$('confirm').innerHTML = 'Please check your email for details'
			else 
				$('confirm').innerHTML = 'Your request was not processed';			
		}
		else
		{
			if (XMLHttpInstance.responseText == 1)
				$('confirm').innerHTML = 'Se envi&oacute; un e-mail a su casilla'
			else 
				$('confirm').innerHTML = 'No se pudo procesar el pedido';
		}
	}
}

function validateForm() 
{
	var name = $('nombre').value;
	var email = $('email').value;
	var subject = $('subject').value;
	var contents = $('mensaje').value;
	var emailRegExp = /^[\w\-\+\&\*]+(?:\.[\w\-\+\&\*]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$/;	
	var validEmail = emailRegExp.test(email);
	// hide error messages
	hideErrMsgs();
	if (name==null||name=='') 
	{
		$('errName').style.visibility = 'visible';
		return false;
	}
	if (email==null||email==''||!validEmail) 
	{
		$('errEmail').style.visibility = 'visible';
		return false;
	}
	if (subject==null||subject=='') 
	{
		$('errSubject').style.visibility = 'visible';
		return false;
	}
	if (contents==null||contents=='') 
	{
		$('errContents').style.visibility = 'visible';
		return false;
	}
	return true;
}
