/**
 * Validation Scripts
 */


// Date Field Mask
function maskDate(ele){
        var val = ele.value;
        
        if(val.match(/\d{1,2}\/\d{1,2}\/\d{0,4}/))
                return true;

        var idx = val.lastIndexOf('/');
        if(val.length-1 - idx >= 2)
                ele.value += '/';
}

// Validate Date Field
function validDate(val,f){
        if(val.match(/\d{1,2}\/\d{1,2}\/\d{4}/)) {
                var tok = val.split('/');

                if(Number(tok[2]) < 2007 || Number(tok[2]) > 2100) {
                        alert('Please, enter a valid Year!');
                        f.focus();
                        return false;
                }
                if(Number(tok[1]) <= 0 || Number(tok[1]) > 12) {
                        alert('Please, enter a valid Month!');
                        f.focus();
                        return false;
                }

                var max=0;
                switch(Number(tok[1])) {
                case 2:
                        max=28;
                        if((tok[2] % 4) == 0) max++; // XXX
                        break;
                case 1: // fall through
                case 3: // fall through
                case 5: // fall through
                case 7: // fall through
                case 8: // fall through
                case 10:// fall through
                case 12: max=31; break;
                default: max=30; break;
                }

                if(Number(valSplit[0])<=0 || Number(valSplit[0])>max) {
                        alert('Please, enter a valid Date!');
                        f.focus();
                        return false;
                }
        } else {
                alert('Invalid Format! Use the format dd/mm/yyyy.');
                f.value = '';
                f.focus();
                return false;
        }
}

// Time Field Mask
function maskTime(ele){
        var val = ele.value;
        var idx = val.lastIndexOf(':');
        if(val.length == 2 && idx < 0)
                ele.value += ':';
}

// Validate Time Field
function validTime(val,f){
        if(val.match(/\d{1,2}:\d{2}/)) {
                var tok = val.split('/');

                if(Number(tok[0]) < 0 || Number(tok[0]) > 23) {
                        alert('Please, enter a valid Hour! (0-23)');
                        f.focus();
                        return false;
                }
                if(Number(tok[1]) < 0 || Number(tok[1]) > 59) {
                        alert('Please, enter a valid Time!');
                        f.focus();
                        return false;
                }

        } else {
                alert('Invalid Format! Use the format hh:mm.');
                f.value = '';
                f.focus();
                return false;
        }
}
