function y2k(number){
    return (number < 1000) ? number + 1900 : number;
}
function AX_verifyForm()
{
    pass = true;
    var i = 0;
    var strRegExp = /,/g;
   
    while (i<arrField.length)
    {
        var num = i, valuefield;
        var fieldName = nf[arrField[i][1]]
            if (arrField[i][3] == 't')
            {//CAMPO TESTO GENERICO
                valuefield = fieldName.value;
                if (arrField[i][4] != null)
                {//CARATTERI MINIMI
                    if (fieldName.value.length < arrField[i][4]){
                        pass = false;
                        break;
                    }
                    if (arrField[i][5] != null){//CARATTERI MASSIMI
                        if (fieldName.value.length > arrField[i][3]){
                            pass = false;
                            break;
                        }
                    }
                } else if (valuefield == ''){
                    pass = false;
                    break;
                }
            } else if (arrField[i][3] == 'ext'){
                var extension = fieldName.value;
                valuefield = extension;
                extension = extension.substring(extension.lastIndexOf('.')+1);
                extension = extension.toLowerCase();
                var extcontrol = arrField[i][4];
                var arrcontrol = extcontrol.split(',');
                if (arrcontrol.length > 0){
                    var verify = false;
                    for(k=0;k<arrcontrol.length;k++){
                        if(arrcontrol[k] == extension){
                            verify = true;
                        }
                    }
                    if(!verify){
                        pass = false;
                        break;
                    }
                } else {
                    if(extcontrol != extension){
                        pass = false;
                        break;
                    }
                }
            } else if (arrField[i][3] == 'tt'){//CAMPO TESTO UGUALE AD UN'ALTRO
                fieldLike = eval('nameform.'+arrField[i][4]);
                valuefield = fieldName.value;
                if (valuefield != fieldLike.value){
                    pass = false;
                    break;
                }
            } else if (arrField[i][3] == 'n'){//CAMPO TESTO NUMERICO
                valuefield = fieldName.value;
				if(isNaN(parseFloat(valuefield)))
                {
                    pass = false;
                    break;
                }
            }
            else if (arrField[i][3] == 'd'){//CAMPO TESTO DATA
                var valuefield = fieldName.value;
                if((valuefield != '') || (arrField[i][4] == null) || (arrField[i][4] == '1'))
                {
                    if(valuefield.length != 10)
                    {
                        pass = false;
                        break;
                    }
                   
                    var arrData = new Array();
                    arrData = valuefield.split("/");
                    var gg = arrData[0];
                    var mm = arrData[1];
                    var yyyy = (arrData[2] == 2) ? 2000 + arrData[2] : arrData[2];
                    var today = new Date();
                    mm = ((!mm) ? today.getMonth():mm-1);
                    yyyy = ((!yyyy) ? y2k(today.getYear()):yyyy);
                    if (!gg) return false;
                    var test = new Date(yyyy,mm,gg);
                   
                    if ((y2k(test.getYear()) != yyyy) || (test.getMonth() != mm) || (test.getDate() != gg))
                    {
                        pass = false;
                        break;
                    }
                }
                else
                {
                    pass = false;
                    break;
                }                   
            }
            else if (arrField[i][3] == 'e'){//CAMPO TESTO EMAIL
                valuefield = fieldName.value;
                sPattern= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
                if (!sPattern.test(valuefield)){
                    pass = false;
                    break;
                }
            }
            else if (arrField[i][3] == 'sms'){//CAMPO CELLULARE
                valuefield = fieldName.value;
                if (valuefield.indexOf('+') != 0 || valuefield.indexOf('.') != 3 || !(valuefield.indexOf('.') != valuefield.lastIndexOf('.'))){
                    pass = false;
                    break;
                }
            }           
            else if (arrField[i][3] == 'rc'){//CAMPO CHECKBOX O RADIO BUTTON
                var tempValue = '';
                if (fieldName.length > 1){
                    for (x=0; x<fieldName.length; x++){
                        if (fieldName[x].checked){tempValue = fieldName[x].value;}
                    }
                } else {
                    if (fieldName.checked){tempValue = fieldName.value;}
                }
                valuefield = tempValue;
                if (tempValue == ''){
                    pass = false;
                    var num = i;
                    break;
                }
            } else if (arrField[i][3] == 's'){//CAMPO SELECT
                var tempValue = fieldName.options[fieldName.selectedIndex].value;
                if (tempValue == ''){
                    pass = false;
                    break;
                }       
            } else if (arrField[i][3] == 'm'){//CAMPO SELECT           
                selectValue = '';
                for(j=0; j<fieldName.options.length; j++)
                {
                    if(fieldName.options[j].selected == true)
                        selectValue = 1           
                }
                tempValue = selectValue;
                if (selectValue == ''){
                    pass = false;
                    break;
                }
            }       
        i++;
    }
   
    //ritorno esito controllo validità
    if(pass)
    {
        return true;
    }
    else if(arrField[i][0] == 0 && valuefield == '')
    {
        return true;
    }   
    else
    {
        mess += '\n- '+ arrField[i][2];
        alert (mess);
        if (arrField[i][3] != 'rc'){fieldName.focus();}
        return false;
    }   
}


function AXFormatDate(objForm)
{
 if(document.getElementById(objForm).value.length == 2)
     document.getElementById(objForm).value = document.getElementById(objForm).value +'/';
   
 else if(document.getElementById(objForm).value.length == 5)
     document.getElementById(objForm).value = document.getElementById(objForm).value +'/';   
   
 else if(document.getElementById(objForm).value.length == 7)
     if(document.getElementById(objForm).value.substring(6, 7) != '0')
         document.getElementById(objForm).value = document.getElementById(objForm).value.substring(0, 6) +'19'+ document.getElementById(objForm).value.substring(6, 7);
    else                    
        document.getElementById(objForm).value = document.getElementById(objForm).value.substring(0, 6) +'20'+ document.getElementById(objForm).value.substring(6, 7);
       
 else if(document.getElementById(objForm).value.length == 10)
     document.getElementById(objForm).value = '';

}
