// Empty: devuelve verdadero si value es vacio
function Empty(value) {

    var pattern=new RegExp("\^[ ]*$");
    return value.match(pattern);

}

// isInteger: devuelve verdero si value es un entero
function isInteger(value) {

    var pattern=new RegExp("^[0-9]+$");
    return value.match(pattern);

}

// isDouble: devuelve verdero si value es un double
function isDouble(value) {
    var pattern=new RegExp("^[0-9]+(\\.[0-9]+){0,1}$");
    return value.match(pattern);
}

// isMail: devuelve verdadero si value es una direccion de correo valida
function isMail(value) {
    var pattern=new RegExp("^([a-zA-Z0-9_\\-]+\\.{0,1})+@([a-zA-Z0-9_\\-]+\\.)+[a-zA-Z0-9_\\-]+$");
    return value.match(pattern);

}

// isDate: devuelve verdadero si value es una fecha valida en formato dd/mm/aaaa
function isDate(value) {

    var pattern1=new RegExp("^(0[0-9]|[1-2][0-9]|30|31)/(0[13-9]|1[0-2])/[1-9][0-9][0-9][0-9]");
    var pattern2=new RegExp("^(0[0-9]|[1-2][0-9])/(0[0-9]|1[0-2])/[1-9][0-9][0-9][0-9]");

    if (value.match(pattern1) || value.match(pattern2)) {
        if (parseInt(value.substr(6,4))%4!=0 && parseInt(value.substr(3,2))==2 && parseInt(value.substr(0,2))==29) {
            return false;
        } else return true;
    } else return false;

}

// isDate: devuelve verdadero si value es una fecha valida en formato dd/mm/aa
function isDate2(value) {

    var pattern1=new RegExp("^(0[0-9]|[1-2][0-9]|30|31)/(0[13-9]|1[0-2])/[0-9][0-9]");
    var pattern2=new RegExp("^(0[0-9]|[1-2][0-9])/(0[0-9]|1[0-2])/[0-9][0-9]");

    if (value.match(pattern1) || value.match(pattern2)) {
        if ((parseInt(value.substr(6,2))%4)+1900!=0 && parseInt(value.substr(3,2))==2 && parseInt(value.substr(0,2))==29) {
            return false;
        } else return true;
    } else return false;

}
// isDate3: Fecha Pasada en formato (dd/mm/aaaa)
function isDate3(value) {
    currentDate = new Date();
    if (isDate(value)) {
        fecha=value.substr(6,4)+value.substr(3,2)+value.substr(0,2);
        currentday = String(currentDate.getDate());
        currentmonth = String(currentDate.getMonth()+1);
        currentyear= String(currentDate.getFullYear());
        if (currentday.length==1) currentday="0"+currentday;
        if (currentmonth.length==1) currentmonth="0"+currentmonth;
        current = currentyear+currentmonth+currentday;
        return fecha < current;
    } else return false;
}

// isAlpha2: devuelve verdadero si la cadena contiene solo caracteres alfabeticos o espacios más acentos
function isAlpha2(value) {
	var pattern=new RegExp("^[á-úÁ-Úà-ùÀ-Ùa-zA-ZñÑ'\\-\\s]+$");
    return value.match(pattern);
}

// isAlpha: devuelve verdadero si la cadena contiene solo caracteres alfabeticos o espacios
function isAlpha(value) {
	var pattern=new RegExp("^[a-zA-ZñÑ'\\-\\s]+$");
    return value.match(pattern);
}

// isAlphaDigit: devuelve verdadero si la cadena contiene solo caracteres alfabeticos o numeros
function isAlphaDigit(value) {
	var pattern=new RegExp("^[a-zA-Z0-9]+$");
    return value.match(pattern);
}
