/**
*   Funkcijos formu validavimui
**/

var valid = new validator();
var lng = 'lt';
function validator()
{                                 
    this.form = document;
    this.error = 'error';
    this.color_norm = '#333333';
    this.color_fail = '#E8122E';
    
    var err_field = new Array();
    var err_email = new Array();    
    err_field['lt'] = 'Prašome užpildyti visus laukelius.';
    err_field['en'] = 'Please fill all required fields.';
	err_field['se'] = 'Var god fyll i alla fält.';
    err_email['lt'] = 'Neteisingas el. pašto adresas.';
    err_email['en'] = 'Wrong e-mail.';
	err_email['se'] = 'Ogiltlig epostadress.';

    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 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       
                    labels[i].style.color = this.color_norm;                          
                
            }                                        
                  
        if (last_fail)
        {
            document.getElementById(this.error).style.display = 'block';
            document.location.replace('#' + this.error); 
            if (last_fail.id=='email')
                document.getElementById(this.error).innerHTML = err_email[lng];   
            else                                                                  
                document.getElementById(this.error).innerHTML = err_field[lng];
            //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);
    }       
}
