/**
 * constants, error mesages from the translation file (eg lang.en.js)
 */
var EPR_NOSCREENNAME    = 245;
var ERR_NOOLDPASSWORD   = 247;
var ERR_NONEWPASSWORD   = 248;
var ERR_OLDNEWPASSSAME  = 246;
var ERR_NEWPASSNOTSAME  = 43;
var ERR_NEWPASSSMALL    = 249;
var ERR_NEWPASSLONG     = 250;

var MIN_LENGTH = 6;
var MAX_LENGTH = 15;


function validatePasswordChange( f ){
    var errObj = null;
    var errMsg = null;

    if ( !f.op.value ) {
        errObj = f.op;
        errMsg = ERR_NOOLDPASSWORD;
    }
    else if ( !f.np1.value ) {
        errObj = f.np1;
        errMsg = ERR_NONEWPASSWORD;
    }
    else if ( f.np1.value == f.op.value ) {
        errObj = f.np1;
        errMsg = ERR_OLDNEWPASSSAME;
    }
    else if ( f.np1.value.length < MIN_LENGTH ) {
        errObj = f.np1;
        errMsg = [ ERR_NEWPASSSMALL, MIN_LENGTH ];
    }
    else if ( f.np1.value.length > MAX_LENGTH ) {
        errObj = f.np1;
        errMsg = [ ERR_NEWPASSLONG, MAX_LENGTH ];
    }
    else if ( f.np1.value != f.np2.value ) {
        errObj = f.np2;
        errMsg = ERR_NEWPASSNOTSAME;
    }

    if ( errObj && errMsg ) {
        if (typeof errMsg == 'object' && errMsg.constructor == Array)
            alert(translate(errMsg[0], errMsg[1]));
        else {
            alert(translate(errMsg));
        }

        errObj.focus();
        return false;
    }

    return true;
}

function validatePasswordRecovery( f ){
    var errObj = null;
    var errMsg = null;

    // stage 1
    if ( f.sn && !f.sn.value ) {
        errObj = f.sn;
        errMsg = EPR_NOSCREENNAME;
    }
    // stage 2
    else if ( f.np1 && !f.np1.value ) {
        errObj = f.np1;
        errMsg = ERR_NONEWPASSWORD;
    }
    else if ( f.np1 && f.np1.value.length < MIN_LENGTH ) {
        errObj = f.np1;
        errMsg = [ ERR_NEWPASSSMALL, MIN_LENGTH ];
    }
    else if ( f.np1 && f.np1.value.length > MAX_LENGTH ) {
        errObj = f.np1;
        errMsg = [ ERR_NEWPASSLONG, MAX_LENGTH ];
    }
    else if ( f.np1 && f.np1.value != f.np2.value ) {
        errObj = f.np2;
        errMsg = ERR_NEWPASSNOTSAME;
    }

    if ( errObj && errMsg ) {
        if (typeof errMsg == 'object' && errMsg.constructor == Array)
            alert(translate(errMsg[0], errMsg[1]));
        else {
            alert(translate(errMsg));
        }

        errObj.focus();
        return false;
    }

    return true;
}


