// JavaScript Document

function chkLang ()
{
	var lang = document.getElementById ('hidLanguage');	
	
	if (lang.value == 'esp')
	{
		return true;
	}
}

function vValidName (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		var numFilter =/^[A-Za-z ]+$/;
		if (field.value == '') 
		{ 
			if (errfld != null)
			if (chkLang ())
			{
				errfld.innerHTML = "<br>Esencial de completar";	
			}
			else
			{
				errfld.innerHTML = "<br>Field cannot be empty";	
			}
			return false;
		}
		else if (!(numFilter.test(field.value))) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>Invalid name. Only alphanumeric characters allowed";	
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vEmptyField (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		if (field.value == '') 
		{ 
			if (errfld != null)
			if (chkLang ())
			{
				errfld.innerHTML = "<br>Esencial de completar";	
			}
			else
			{
				errfld.innerHTML = "<br>Field cannot be empty";	
			}
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vValidEmail (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		var emailFilter =/^.+@.+\..+$/;
		if (field.value == '') 
		{ 
			if (errfld != null)
			if (chkLang ())
			{
				errfld.innerHTML = "<br>Esencial de completar";	
			}
			else
			{
				errfld.innerHTML = "<br>Field cannot be empty";	
			}
			return false;
		}
		else if (!(emailFilter.test(field.value))) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>Invalid email";	
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vValidDate (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		var dateFilter =/^\d{1,2}[ -\/]\d{1,2}[ -\/]\d{2,4}$/;
		if (field.value == '') 
		{ 
			if (errfld != null)
			if (chkLang ())
			{
				errfld.innerHTML = "<br>Esencial de completar";	
			}
			else
			{
				errfld.innerHTML = "<br>Field cannot be empty";	
			}
			return false;
		}
		else if (!(dateFilter.test(field.value))) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>Invalid date. Enter in DD-MM-YYYY format";	
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vValidPhonenum (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		var numFilter =/^\+?\d+$/;
		if (field.value == '') 
		{ 
			if (errfld != null)
			if (chkLang ())
			{
				errfld.innerHTML = "<br>Esencial de completar";	
			}
			else
			{
				errfld.innerHTML = "<br>Field cannot be empty";	
			}
			return false;
		}
		else if (!(numFilter.test(field.value))) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>Invalid phone number";	
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vValidPhonenum_mobil (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		var numFilter =/^\+?\d+$/;
		if (field.value == '') 
		{ 
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
		else if (!(numFilter.test(field.value))) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>Invalid phone number";	
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vValidPassword (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		var numFilter =/^[A-Za-z0-9]+$/;
		if (field.value == '') 
		{ 
			if (errfld != null)
			if (chkLang ())
			{
				errfld.innerHTML = "<br>Esencial de completar";	
			}
			else
			{
				errfld.innerHTML = "<br>Field cannot be empty";	
			}
			return false;
		}
		else if (!(numFilter.test(field.value))) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>Invalid password. Use characters and numbers only";	
			return false;
		}
		else if (field.value.length < 6) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>Invalid password. Must be atleast 6 characters long";	
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vCompareFields (id1, id2, disp)
{
	var f1 = document.getElementById (id1);
	var f2 = document.getElementById (id2);
	var fd = document.getElementById (disp);
	
	if (f1.value != f2.value)
	{
		fd.innerHTML = "<br>Fields do not match";
	}
	else
	{
		return true;	
	}
}

function vRegForm ()
{
	if (vValidName(document.getElementById('txtRegName')) &
		vValidEmail(document.getElementById('txtRegEmail')) &
		vValidEmail(document.getElementById('txtRegEmail2')) &
		vValidDate(document.getElementById('txtRegDoB')) &
		vValidPhonenum(document.getElementById('txtRegContactNum')) &
		vValidPhonenum_mobil(document.getElementById('txtRegMobileNum')) &
		vEmptyField(document.getElementById('txtRegAddr1')) &
		vValidPassword(document.getElementById('txtRegPassword')) &
		vValidPassword(document.getElementById('txtRegPassword2')) &
		vCompareFields ('txtRegEmail', 'txtRegEmail2', 'txtRegEmail2_err') &
		vCompareFields ('txtRegPassword', 'txtRegPassword2', 'txtRegPassword2_err') )
	{
		return true;
	}
	else
	{
		//alert ('There were errors in your form. Please correct them and submit again.');
		return false;	
	}
}

function vSongUploadAgreement (field)
{
	if (field != null)
	{
		var errfld = document.getElementById (field.name+'_err');

		if (!field.checked) 
		{ 
			if (errfld != null)
			errfld.innerHTML = "<br>You must agree to the terms and conditions";	
			return false;
		}
		else
		{
			if (errfld != null)
			errfld.innerHTML = "";	
			return true;
		}
	}
}

function vSongUploadForm ()
{
	if (vEmptyField(document.getElementById('txtSubmitAuthor')) &
		vEmptyField(document.getElementById('txtSubmitComposer')) &
		vEmptyField(document.getElementById('txtSubmitSongTitle')) &
		vEmptyField(document.getElementById('txtUploadedSong')) &
		vSongUploadAgreement (document.getElementById('chkAgreement')) )
	{
		return true;
	}
	else
	{
		//alert ('None of the fields can be empty. Please fill them and submit again');
		return false;	
	}
}