﻿// JScript File

var ValidationFields = new Array();

function ValidationField(t, cn, v, m)
{
    this.Type = t;
    this.controlName = cn;
    this.Value = v;
    this.Message = m;
}

function ClearValidationFields()
{
    ValidationFields.length = 0;
    ClearValidationTable();
}

function CloseValidation()
{
    ClearValidationFields();
    document.getElementById('divValidationMessage').style.visibility = 'hidden';
}

function ClearValidationTable()
{
    var divVal = document.getElementById('divValidationContent');
    divVal.innerHTML = '';
}

function AddValidationField(type, controlName, value, message)
{
    ValidationFields[ValidationFields.length] = new ValidationField(type, controlName, value, message);
}

function doValidation()
{
    ClearValidationTable();
    
    var isValid = true;
    for (var i=0; i<ValidationFields.length; i++)
    {
        var thisFieldVal = true;
        if (ValidationFields[i].Type == 'text')
        {
            if (document.getElementById(ValidationFields[i].controlName).value == '')
                thisFieldVal = false;
        }
        else if (ValidationFields[i].Type == 'textint')
        {
            if (document.getElementById(ValidationFields[i].controlName).value == '')
                thisFieldVal = false;
            else
                thisFieldVal = isInteger(document.getElementById(ValidationFields[i].controlName).value);
        }       
        else if (ValidationFields[i].Type == 'textnum')
        {
            if (document.getElementById(ValidationFields[i].controlName).value == '')
                thisFieldVal = false;
            else
                thisFieldVal = isNumeric(document.getElementById(ValidationFields[i].controlName).value);
        }       
        else if (ValidationFields[i].Type == 'value')
        {
            if ((ValidationFields[i].Value == '') || (ValidationFields[i].Value == -1))
                thisFieldVal = false;
        }       
        else if (ValidationFields[i].Type == 'valuenot99')
        {
            if ((ValidationFields[i].Value == '') || (ValidationFields[i].Value == -99))
                thisFieldVal = false;
        }
        else if (ValidationFields[i].Type == 'email')
        {
            var em = document.getElementById(ValidationFields[i].controlName).value

            if ((em.indexOf(".") > 2) && (em.indexOf("@") > 0))
                thisFieldVal = true;
            else
                thisFieldVal = false;
        }
        else if (ValidationFields[i].Type == 'dropdown')
        {
            //alert(ValidationFields[i].controlName + ' - ' + document.getElementById(ValidationFields[i].controlName).value);
            if ((document.getElementById(ValidationFields[i].controlName).value == '-1') || (document.getElementById(ValidationFields[i].controlName).value == ''))
                thisFieldVal = false;
        }
        
        if (!thisFieldVal)
        {
            AddValidationMessage(ValidationFields[i].Message);
            isValid = false;
        }
    }
    if (!isValid)
        ShowValidationMessage();
    else
        CloseValidation();
    return isValid;
}

function ShowValidationMessage()
{
    var div = document.getElementById('divValidationMessage');
    div.style.visibility = 'visible';
}

function AddValidationMessage(Message)
{
    var divVal = document.getElementById('divValidationContent');
    var divItem = document.createElement('div');
    divItem.innerHTML = Message;
    divItem.className = 'ValidationItem';
    divVal.appendChild(divItem);
}
