function pem_valid(spanId,value) {
    if (value.length==0) {
        color = ''; 
        message = '&nbsp;';
    } else if (value.length<8) {
        color = 'red';
        message = 'too short';
    } else if (value.match(/[A-Z]/)==null) {
        color = 'orange';
        message = 'requires uppercase';
    } else if (value.match(/[a-z]/)==null) {
        color = 'orange';
        message = 'requires lowercase';
    } else if (value.match(/[0-9]/)==null) {
        color = 'orange';
        message = 'requires numeric';
    } else if (value.match(/(\w)\1{2,}/)!=null) {
       color = 'orange';
       message = 'repeated characters';
    } else if (value.match(/[ ]/)!=null) {
       color = 'orange';
       message = 'spaces not allowed';
    } else {
       color = 'green';
       message = 'ok';
    }
    if (color == '') {
        result = '<div style="width: 145px; text-align: center;">'+message+'</div>';
    } else {
        result = '<div style="width: 145px; text-align: center; background-color: '+color+'">'+message+'</div>';
    }
    document.getElementById(spanId).innerHTML=result;
}

