/**
*   Funkcijos formu validavimui
**/

var valid = new validator();
var lng = 'lt';
function validator()
{                                 
    this.form = document;
    this.error = 'error';
    this.color_norm = '#777777';
    this.color_fail = '#E8122E';
    
    var err_field = new Array();
    var err_email = new Array();    
    var err_email;    
    err_field['lt'] = '<span style="color: #bb1c1c; font-weight: bold;">Prašome užpildyti visus laukelius, pažymėtus žvaigždute (*).</span>';
    err_pass = '<span style="color: #bb1c1c; font-weight: bold;">Nevienodi slaptažodžiai.</span>';
    err_email['lt'] = '<span style="color: #bb1c1c; font-weight: bold;">Neteisingas el. pašto adresas.</span>';

    this.fadeIn = function (opacity)
    {          
        opacity = typeof(opacity) != 'undefined' ? opacity : 0;   
        if (opacity <= 100) 
        {                    
            document.getElementById(this.error).style.MozOpacity = opacity/100;
            document.getElementById(this.error).style.filter = "alpha(opacity:" + opacity + ")";
            opacity += 10;                                         
            window.setTimeout("valid.fadeIn("+opacity+")", 100);
        }
    }      
    
    this.check = function (form)
    {             
        var reg = /\*/;
		var pass = 0;
        var last_fail = false;
        this.form = typeof(form) != 'undefined' ? document.getElementById(form) : document;
        var labels = this.form.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
				if(input.id=='pass1' && (input.value !== document.getElementById('pass').value) || input.value == "")
				{
					last_fail = input;
					labels[i].style.color = this.color_fail; 
					pass = 1;
				}
				if(input.value == '')
					last_fail = input;
				else   
                    labels[i].style.color = this.color_norm;                          
                
            }                                        
                  
        if (last_fail)
        {
            document.getElementById(this.error).style.display = 'block';
            if (last_fail.id!=='email' && pass !== 1)
			{
				document.getElementById(this.error).innerHTML = err_field[lng];
            }
			else
				if (last_fail.id=='email')
					document.getElementById(this.error).innerHTML = err_email[lng];  
				else
				{
					document.getElementById(this.error).innerHTML = err_pass;   
					document.getElementById("pass").innerHTML = err_pass;   
				}
				
            //this.fadeIn();  
            last_fail.focus();
            return false;
        }
        else                                                
            return true;                                    
    }
    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);
    }       
}
