/*
function getPagina(action, divId, offset, curPage) {

    var url = "./ajax/ajax.php?action="+action+"&offset="+offset+"&curPage="+curPage ;

    var ajaxObj = new ClassAJAX();
    ajaxObj.setMethod("POST") ;
    ajaxObj.setExecute(false) ;
    ajaxObj.setLoading(false) ;
    ajaxObj.setReturn(true) ;

    ajaxObj.runAJAX(url) ;

    var html = "" ;
    var htmlOld = "" ;
    myInterval = window.setInterval(
    function() {

    	htmlOld = html ;
        html = ajaxObj.getHtml() ;

        if (html != false) {

            if (htmlOld == html) {

        	    window.clearInterval(myInterval);

                document.getElementById(divId).innerHTML = html ;


            }

        }
    }
    ,1);

}
*/

function checkValidation(formInput, valoreEmail) {

    var message = "" ;

    if (stringEmpty(valoreEmail)) {
        message += "Manca l'email\n";
    } else if (noAtSign( valoreEmail)) {
        message += "Indirizzo email non valido\n";
    } else if (nothingBeforeAt( valoreEmail)) {
        message += "Indirizzo email non valido\n";
    } else if (noLeftBracket(valoreEmail)) {
        message += "Indirizzo email non valido\n";
    } else if (noRightBracket(valoreEmail)) {
        message += "Indirizzo email non valido\n";
    } else if (noValidPeriod(valoreEmail)) {
        message += "Indirizzo email non valido\n";
    } else if (noValidSuffix(valoreEmail)) {
       message += "Indirizzo email non valido\n";
    } 

    return message ;
}

function stringEmpty (valoreEmail) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( valoreEmail.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noAtSign (valoreEmail) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if (valoreEmail.indexOf ('@', 0) == -1) {
        return ( true )
    } else {
        return ( false );
    }
}

function nothingBeforeAt (valoreEmail) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if ( valoreEmail.indexOf ( '@', 0 ) < 1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noLeftBracket (valoreEmail) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if ( valoreEmail.indexOf ( '[', 0 ) == -1 && valoreEmail.charAt (valoreEmail.length - 1) == ']') {
        return ( true )
    } else {
        return ( false );
    }
}

function noRightBracket (valoreEmail) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if (valoreEmail.indexOf ( '[', 0 ) > -1 && valoreEmail.charAt (valoreEmail.length - 1) != ']') {
        return ( true );
    } else {
        return ( false );
    }
}

function noValidPeriod (valoreEmail) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (valoreEmail.indexOf ( '@', 0 ) > 1 && valoreEmail.charAt (valoreEmail.length - 1 ) == ']')
        return ( false );

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if (valoreEmail.indexOf ( '.', 0 ) == -1)
        return ( true );

    return ( false );
}

function noValidSuffix(valoreEmail) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if (valoreEmail.indexOf('@', 0) > 1 && valoreEmail.charAt(valoreEmail.length - 1) == ']') {
        return ( false );
    }

    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = valoreEmail.length;
    var pos = valoreEmail.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
        return ( true );
    } else {
        return ( false );
    }
}
