﻿// JScript File
// JScript File
// Function to validate the length
// NOTE: input should be string
function ValidateInputLenght(input)
{
    if(input.length > 0)
        return true;
    else
        return false;
}

// Function to validate the alpha numeric character set
// NOTE: input should be string
function ValidateAlphanumeric(input)
{
    var input_len = input.length;

    for(i = 0; i < input_len; i++)
    {
        if(!(input.charAt(i) >= 'a' && input.charAt(i) <= 'z')
           && !(input.charAt(i) >= 'A' && input.charAt(i) <= 'Z')
           && !(input.charAt(i) >= '0' && input.charAt(i) <= '9')
           && !(input.charAt(i) == '_'))
        {
            return false;
        }
    }
    
    return true;
}

// Function to validate alpha numeric character set (without underscore)
function ValidateAlphanumericOnly(input)
{
    var input_len = input.length;

    for(i = 0; i < input_len; i++)
    {
        if(!(input.charAt(i) >= 'a' && input.charAt(i) <= 'z')
           && !(input.charAt(i) >= 'A' && input.charAt(i) <= 'Z')
           && !(input.charAt(i) >= '0' && input.charAt(i) <= '9'))
        {
            return false;
        }
    }
    
    return true;
}

// Function to validate alpha numeric character set (without underscore)
function ValidateNotTag(input)
{
    var input_len = input.length;

    for(i = 0; i < input_len; i++)
    {
        if(input.charAt(i) == '<' || input.charAt(i) == '>')
        {
            return false;
        }
    }
    
    return true;
}

function ValidatePunctuation(input)
{
    var filter = /^.*(\{|\}|\[|\]|\<|\>|\"|\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\+|\=|\||\\|\:|\;|\,|\?|\/)+?.*$/;
    
    if (filter.test(input))
        return true;
    else
        return false;
}

function ValidateEmailAddress(input)
{
    var filter  = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    
    if (filter.test(input))
        return true;
	else
	    return false;
}

// Function to validate the client
function ClientValidateEmail(source, clientside_arguments)
{   
    str_value = clientside_arguments.Value.toString();
    
    if(!ValidateInputLenght(str_value)
       || !ValidateEmailAddress(str_value))
    {
        clientside_arguments.IsValid = false;
    }
    else
    {
        clientside_arguments.IsValid = true;
    }
    
    return true;
}

// Function to validate the password
function ClientValidatePassword(source, clientside_arguments)
{
    str_value = clientside_arguments.Value.toString();
    
    if(!ValidateInputLenght(str_value)
       || !ValidateAlphanumericOnly(str_value))
    {
        clientside_arguments.IsValid = false;
    }
    else
    {
        clientside_arguments.IsValid = true;
    }
    
    return true;
}

// Function to validate the password
function ClientValidateCode(source, clientside_arguments)
{
    str_value = clientside_arguments.Value.toString();
    
    if(!ValidateInputLenght(str_value)
       || !ValidateAlphanumericOnly(str_value))
    {
        clientside_arguments.IsValid = false;
    }
    else
    {
        clientside_arguments.IsValid = true;
    }
    
    return true;
}

function ClientValidateName(source, clientside_arguments)
{
    str_value = clientside_arguments.Value.toString();
    
    if(!ValidateInputLenght(str_value)
        || ValidatePunctuation(str_value))
    {
        clientside_arguments.IsValid = false;
    }
    else
    {
        clientside_arguments.IsValid = true;
    }
    
    return true;
}

function ClientValidateCompany(source, clientside_arguments)
{
    str_value = clientside_arguments.Value.toString();
    
    if(ValidatePunctuation(str_value))
    {
        clientside_arguments.IsValid = false;
    }
    else
    {
        clientside_arguments.IsValid = true;
    }
}