﻿Namespace.register("uno.validate");
uno.validate = {};
uno.validate.directoryname = function(value){
    if (!value){return false;}
    return true;
};
uno.validate.filename = function(value){
    if (!value){return false;}
    return true;
};
uno.validate.email = function(value) {
	var at="@";
	var dot=".";
	var lat=value.indexOf(at);
	var lstr=value.length;
	var ldot=value.indexOf(dot);
	if (value.indexOf(" ")!=-1){return false;}
	if (lat==-1){return false;}
	if (lat==0 || lat==lstr){return false;}
	if (ldot==-1 || ldot==0 || ldot==lstr){return false;}
	if (value.indexOf(at,(lat+1))!=-1){return false;}
	if (value.substring(lat-1,lat)==dot || value.substring(lat+1,lat+2)==dot){return false;}
	if (value.indexOf(dot,(lat+2))==-1){return false;}	
	return true;
};
uno.validate.url = function(value) {
    return true;
};
uno.validate.dateinput = function(elm){
    if(uno.validate.date(elm.value)){return true;}
    else{elm.value='';return false;}
};
uno.validate.date = function(value) {
    if (value == '') { return false; }
    var dd = value.charAt(0).toString() + value.charAt(1).toString();
    dd = uno.replaceglobal(dd, '_', '');
    dd = uno.replaceglobal(dd, '0', '');
    var mm = value.charAt(3).toString() + value.charAt(4).toString();
    mm = uno.replaceglobal(mm, '_', '');
    mm = uno.replaceglobal(mm, '0', '');
    var yy = value.charAt(6).toString() + value.charAt(7).toString() + value.charAt(8).toString() + value.charAt(9).toString();
    yy = uno.replaceglobal(yy, '_', '');
    var ddint;
    var mmint;
    var yyint;
    try {
        ddint = parseInt(dd);
        mmint = parseInt(mm);
        yyint = parseInt(yy);
    } catch (ex) {return false; }
    if (ddint < 1) { return false; }
    if (mmint < 1) { return false; }
    if (mmint > 12) { return false; }
    var dtest = 31;
    if (mmint == 2) {
        dtest = 28;
        var isbis = yyint / 4;
        var isbis2 = Math.round(isbis)
        if (isbis == isbis2) { dtest = 29; }
    } else {
        if (mmint == 4) { dtest = 30; };
        if (mmint == 6) { dtest = 30; };
        if (mmint == 9) { dtest = 30; };
        if (mmint == 11) { dtest = 30; };
    }
    if (ddint > dtest) { return false; }
    return true;
};