function isCleanText(s)
{
    return true;    
}
function isDate(s)
{
    return true;
}
function isTime(s)
{
    return true;
}
function isDateTime(s)
{
    return true;
}
function validator(campo,string,type,n)
{

    var errors= new Array()
    if(n != "YES")
    {
        if(isEmpty(string))
        {
            errors[campo] = "O campo: " + campo + " não pode ser vazio.";
        }
    }
    switch(type.substring(0,3))
    {
        case "tex"://Texto
            if(!isCleanText(string))
            {
                errors[campo] = "O campo: " + campo + " contem caracteres inválidos: " + string;
            }
        break;
        case "lon"://LONGTEXT
            if(!isCleanText(string))
            {
                errors[campo] = "O campo: " + campo + " contem caracteres inválidos: " + string;
                
            }
        break;
        case "int"://inteiro
            if(!isInteger(string))
            {
                errors[campo] = "O campo: " + campo + " tem de ser um número inteiro.";
            }
        break;
        case "flo"://float
            if(!isFloat(string))
            {
                errors[campo] = "O campo: " + campo + " tem de ser um número decimal.";
            }
        break;
        case 'tin'://tinyint
        if(!isInteger(string))
            {
                errors[campo] = "O campo: " + campo + " tem de ser um número inteiro.";
            }
        break;
        case 'var'://VarChar
            if(!isCleanText(string))
            {
                errors[campo] = "O campo: " + campo + " contem caracteres inválidos: " + string;
                
            }
        break;
        case 'dat'://datetime
            if(!isDateTime(string))
            {
                errors[campo] = "O campo: " + campo + " tem de ser uma data válida: " + string;
            }
        break;
        case 'tim'://time
            if(!isTime(string))
            {
                errors[campo] = "O campo: " + campo + " tem de ser uma hora válida: " + string;
            }
        break;
                        
        default:
            errors[campo] = "Tipo desconhecido: " + type;
        break;
    }
    
    listErrors = "";
  for (var word in errors)
    listErrors += errors[word] + "";
    //Verificar o retorno
    return listErrors;
}
    
  

function isEmail (s)
{
    if (isEmpty(s)) 
        if (isEmail.arguments.length == 1) 
            return defaultEmptyOK;
        else 
            return (isEmail.arguments[1] == true);
    if (isWhitespace(s)) 
        return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { 
        i++;
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) 
        return false;
    else 
        i += 2;
    while ((i < sLength) && (s.charAt(i) != "."))
    { 
        i++;
    }
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) 
        return false;
    else
        return true;
}

function isFloat(s)
{
    //Falta implementar
    return true;
}
function isInteger (s)
{
    var i;
    if (isEmpty(s))
        if (isInteger.arguments.length == 1) 
            return 0;
        else 
            return (isInteger.arguments[1] == true);
    for (i = 0; i < s.length; i++)
    {
        var c = s.charAt(i);
        if (!isDigit(c)) 
            return false;
    }
    return true;
}
function isEmpty(s)
{
    return ((s == null) || (s.length == 0))
}
function isDigit (c)
{
    return ((c >= "0") && (c <= "9"))
}
function isWhitespace (s)
{   
    var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
         if (c != "") 
            return false;
    }
    return true;
}
function isText(s)
{
    //Falta implementar
    return true;
}