var xhr = new XMLHttpRequest();

function clear_text(id)
{
	var txt_obj = document.getElementById(id);
	if(txt_obj.clearThis == undefined)
	{
		txt_obj.style.color ='black';
		txt_obj.value = '';
		txt_obj.clearThis = true;
	}
}

function loadPage(pname, pargs)
{
	var warning = document.getElementById("dm-page-content");

	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			warning.innerHTML = xhr.responseText;	
		}
	};
	xhr.open("GET","./" + pname + ".php" + pargs,true);
	xhr.send(null);
}

function contact_author()
{
	var name = document.getElementById('req_name');
	var email = document.getElementById('req_e_email');
	var subject = document.getElementById('req_subject');
	var mess = document.getElementById('req_body');
	var warning = document.getElementById("req_warn");
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	var contentdiv = document.getElementById("dm-page-content");

	var err = false;
	if (name.value == '' )
	{
		name.style.border ='solid red 1px';
		err = true;
	}
	else
		name.style.border = 'solid #dddddd 1px';

	if (email.value == '' )
	{
		email.style.border ='solid red 1px';
		err = true;
	}
	else
		email.style.border = 'solid #dddddd 1px';

	if (subject.value == '' )
	{
		subject.style.border ='solid red 1px';
		err = true;
	}
	else
		subject.style.border = 'solid #dddddd 1px';

	if (mess.value == '' )
	{
		mess.style.border ='solid red 1px';
		err = true;
	}
	else
		mess.style.border = 'solid #dddddd 1px';

	if (err)
	{
		warning.innerHTML = '<div class="display-err"><p>All fields in RED are mandatory.</p></div>';
		return
	}

	warning.innerHTML = '';

	if ( email.value.search(emailRegEx) == -1)
	{
		email.style.border ='solid yellow 1px';
		warning.innerHTML = '<div class="display-err"><p>Please enter a valid email address (field in yellow).</p></div>';
		return false;
	}

	warning.innerHTML = '';
	email.style.border = 'solid #dddddd 1px';

	var params =  "post_sent=1&cmd=dm.mail" + "&req_name=" + name.value + "&req_e_email=" + email.value + "&req_subject=" + subject.value+ "&req_body=" + mess.value;

	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			name.value = '';
			email.value = '';
			subject.value = '';
			mess.value = '';
			alert( xhr.responseText);	

		}
	};
	xhr.open("POST","./ws/cmd.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(params);

}

function isEmpty(form, warn)
{
	var forms = document.forms[form];
	var empty = false;
	var isInt = false;
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	var warning = document.getElementById(warn);

	for (var i=0,len=forms.length; i<len; i++)
	{
		var elements = forms.elements[i];
		if (elements.name.indexOf('req_')==0)
			if (elements.name.indexOf('req_int_')==0)
			{
				if (elements.value == '')
				{
					empty = true
					document.getElementsByName(elements.name)[0].style.border ='solid #DD3C10 1px';
				}
				if (isNaN(elements.value))
				{
					document.getElementsByName(elements.name)[0].style.border ='solid #DD3C10 1px';
					warning.innerHTML = '<div class="display-err"><p>Integer expected.</p></div>';
					return false;
				}
			}
			else if ( elements.name.indexOf('req_e_')==0)
			{
				if (elements.value == '')
				{
					document.getElementsByName(elements.name)[0].style.border ='solid #DD3C10 1px';
					empty = true
				}
				else
				{
					if (document.getElementsByName(elements.name)[0].value.search(emailRegEx) == -1)
					{
						 document.getElementsByName(elements.name)[0].style.border ='solid #DD3C10 1px';
						 warning.innerHTML = '<div class="display-err"><p>Adresse email non valide.</p></div>';
						 return false;
					}
				}

			}
			else
				if (elements.value == '')
				{
					empty = true
					document.getElementsByName(elements.name)[0].style.border ='solid #DD3C10 1px';
				}
	}
	if (empty == true) {
		warning.innerHTML = '<div class="display-err"><p>Merci de remplir tout les champs.</p></div>';
		return false;
	}
	else {return true;}
}

