var valid = new validate();

function validate()
{
	this.error = 'error';
	this.color_norm = '#3a432e';
	this.color_fail = '#ff0000';

	this.err_field = 'Prašome užpildyti visus laukelius, pažymėtus žvaigždute (*).';
	this.err_email = 'Neteisingas el. pašto adresas.';
	this.err_pass = 'Slaptažodžiai nesutampa.';

	this.check = function(form)
	{
		var reg = /\*/;
		var last_fail = false;
		this.form = typeof(form) != 'undefined' ? document.getElementById(form) : document;
		var labels = document.getElementsByTagName('label');

        for (i = labels.length - 1; i >= 0; i--)
		{
			if (reg.test(labels[i].innerHTML) && document.getElementById(labels[i].htmlFor))
			{
				input = document.getElementById(labels[i].htmlFor);
				if ((input.id == 'email' && !this.email(input.value)) || input.value == '')
				{
					last_fail = input;
					labels[i].style.color = this.color_fail;
				}
				else
				{
					labels[i].style.color = this.color_norm;
				}
			}
        }                                          

		if (last_fail)
		{
			document.getElementById(this.error).style.display = 'block';
			
			if (last_fail.id == 'email')
			{
				document.getElementById(this.error).innerHTML = this.err_email;
			}
			else
			{
				document.getElementById(this.error).innerHTML = this.err_field;
			}

			fadeIn(this.error, 0);
			last_fail.focus();

			return false;
		}

		return true;
	}

	this.register = function(form)
	{
		if (this.check(form))
		{
			var pass1 = document.getElementById('pass1').value;
			var pass2 = document.getElementById('pass2').value;

			if (pass1 == pass2)
			{
				return true;
			}
			else
			{
				document.getElementById(this.error).style.display = 'block';
				document.getElementById(this.error).innerHTML = this.err_pass;
				document.getElementById('pass1_l').style.color = this.color_fail;
				document.getElementById('pass2_l').style.color = this.color_fail;

				fadeIn(this.error, 0);
				document.getElementById('pass1_l').focus();
			}			
		}
		return false;
	}
  
	this.email = function(email)
	{
		var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,4}(?:\.[a-z]{2})?)$/i

		return filter.test(email);
	}
}


function fadeIn(objId, opacity) 
{
    if (document.getElementById)
	{
		opacity = typeof(opacity) != 'undefined' ? opacity : 0;
		if (opacity <= 100)
        {
			document.getElementById(objId).style.MozOpacity = opacity / 100;
			document.getElementById(objId).style.filter = "alpha(opacity:" + opacity + ")";
			opacity += 10;
			window.setTimeout("fadeIn('" + objId + "'," + opacity + ")", 100);
        }
	}
}

function fadeOut(objId, opacity)
{
	if (document.getElementById)
	{
		opacity = typeof(opacity) != 'undefined' ? opacity : 100;
		if (opacity >= 0)
        {
			document.getElementById(objId).style.MozOpacity = opacity / 100;
			document.getElementById(objId).style.filter = "alpha(opacity:" + opacity + ")";
			opacity -= 10;
			window.setTimeout("fadeOut('" + objId + "'," + opacity + ")", 100);
		}
	}
}
