function validation(submit) { 
    
    ret=false;
    reg = /^[a-zA-Z]+[a-zA-Z_0-9]{3,20}$/;
    email_reg = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/;
    
    if(document.getElementById('reg_username').value=="" ||
        !reg.test($('reg_username').value)) {
        //alert("Molimo unesite korisnicko ime!"); 
        setPic('reg_username', 0, "Molimo unesite korisnicko ime!");
        ret=true;
    } 
    else setPic('reg_username', 1);
    
    if (checkUsernameExists($('reg_username').value, 'username_exists', 'reg_username')==false)
    {                   
        ret = true;
    }
    
    if(!(document.getElementById('reg_pass').value==document.getElementById('reg_pass2').value) || 
        (document.getElementById('reg_pass').value=="") || 
        (!reg.test($('reg_pass').value) || !reg.test($('reg_pass2').value))) {
            //alert("Molimo unesite lozinke ispravno!");  
            ret=true;
            setPic('reg_pass', 0, "Molimo unesite lozinke ispravno!");
    }
    else setPic('reg_pass', 1);  
    
    if ($('email').value=="" || !email_reg.test($('email').value)) {
      ret = true;
      setPic('email', 0, "Molimo unesite Vaš e-mail");
    }
    else setPic('email', 1);
    
    if ($('osobno_0').checked) {
        if ($('ime1').value=="") {
            ret = true;
            setPic('ime1', 0, 'Molimo unesite osobno ime!');
        }
        else setPic('ime1', 1);
    }
    
    if ($('osobno_1').checked) {
        if ($('ime1').value=="") {
            ret = true;
            setPic('ime1', 0, 'Molimo unesite osobu za kontakt!');
        }
        else setPic('ime1', 1);
        if ($('ime2').value=="") {
            ret = true;
            setPic('ime2', 0, 'Molimo unesite ime firme!');
        }
        else setPic('ime2', 1);
    }
    /*
    if(document.getElementById('mbr').value=="" || !checkMbr($('mbr').value)) {
        ret=true;            
        setPic('mbr', 0, "Molimo unesite matični broj!");
    }                
    else setPic('mbr', 1);                                              
    */
    if(document.getElementById('grad').value=="") {
        //alert("Molimo unesite grad!");
        ret=true;
        setPic('grad', 0, "Molimo unesite grad!");
    }
    else setPic('grad', 1);  
    
    if(document.getElementById('ulica').value=="") {
        //alert("Molimo unesite ulicu i broj!");
        ret=true;
        setPic('ulica', 0, "Molimo unesite ulicu i broj!");
    }    
    else setPic('ulica', 1);
    
    if(document.getElementById('uvjeti').checked == false) {
        //alert("Molimo unesite broj telefona!");
        ret=true;
        setPic('uvjeti', 0, "Niste prihvatili uvjete korištenja!");
    }
    else setPic('uvjeti', 1);
    
    if(document.getElementById('tel1').value=="") {
        //alert("Molimo unesite broj telefona!");
        ret=true;
        setPic('tel1', 0, "Molimo unesite broj telefona!");
    }
    else setPic('tel1', 1);
    
    if (ret) return false;
    
    if (submit) new Ajax.Updater('tekst-container', '/webshop/ajax.php?f=procesRegistration', 
            {method: 'post',
             postBody: Form.serialize('registracija-form')});
             
    return true;
}
function setPic(field, bool, text) {
    if (bool) $('img_'+field).src = "/artwork/accept.png";
    else {
        $('img_'+field).src = "/artwork/refuse.png";
        $('img_'+field).title = text;
    }
}
function promjena_usera(opcija)
{
    if (opcija==1) { 
    document.getElementById('ime2').value="";
    document.getElementById('ime1').value="";                           
    document.getElementById('pravne_osobe').style.visibility="visible"; 
    } 
    else if (opcija==0)
    {
    document.getElementById('ime2').value="";
    document.getElementById('ime1').value="";                             
    document.getElementById('pravne_osobe').style.visibility="hidden"; 
    }
}
/*
**  @author: Nikola Tankovic
**  @params: name - Ime koje provjeravamo
**           span - Span objekt u kojeg ispisujemo (id)
**           img  - Img objekt kojeg modificaramo (id)
*/           
function checkUsernameExists(name, span, img)
{
    reg = /^[a-zA-Z]+[a-zA-Z_0-9]{3,20}$/;
    
    if(document.getElementById('reg_username').value=="" ||
        !reg.test($('reg_username').value)) {       
        setPic('reg_username', 0, "Molimo unesite korisnicko ime!");
        return false;
    }          
    new Ajax.Request('/trueCMS/include/username_provjera.php?username_id='+name, {
        method: 'get',
        onSuccess: function(transport) {
            if (transport.responseText.match(/true/)) {
                $(span).innerHTML = "Korisničko ime već postoji";
                setPic(img,0,"Korisničko ime već postoji");
                return false;
            }
            else
            {
                $(span).innerHTML = "";
                setPic(img,1,"");
                return true;
            }
        }
    });
}   
/*
**  @author: Nikola Tankovic
**  @params: mbr  - Matični broj građana ili firme (hrvatksa)
*/ 
function checkMbr(mbr) {
    return true;
    if (mbr.length==13) {    
        sum = 0;
        k = 7;
        for (i=0; i<12; i++) {
            n = parseInt(mbr[i]); 
            sum += n*(k--);
            if (k==1) k=7;            
        }           
        ost = (sum % 11);
        raz = 11-ost;              
        if (ost==1) return false;
        if (ost==0 && parseInt(mbr[12])== 0) return true;
        if (raz == parseInt(mbr[12])) return true;
        else return false;
    }
    else if(mbr.length==8) {
        sum = 0;
        k = 8;
        for (i=0; i<7; i++) {
            n = parseInt(mbr[i]); 
            sum += n*(k--);            
        }           
        ost = (sum % 11);
        raz = 11-ost;       
        if (ost==0) return false;
        if (ost==1 && parseInt(mbr[7])== 0) return true;
        if (raz == parseInt(mbr[7])) return true;
        else return false;
    }
    else if (mbr.length<8)
    {
        mbr="0"+mbr;
        if ($('mbr')) $('mbr').value = "0"+$('mbr').value;
        return checkMbr(mbr);
    }
    else return false;
}