// JavaScript Document
function trim(str)
{
   return str.replace(/^\s+|\s+$/g, '') ;
}

function NB_Validator (Form, ErrorMsg, Arr)
{
    OK = true;
    for (var i = 0; i < Arr.length; i++)
    {
        Added = false;
        switch (Arr[i][0])
        {
            case 'require' : 
                for (var j = 2; j < Arr[i].length; j++)
                    if (trim(eval("document." + Form + "." + Arr[i][j] + ".value")) == "")
                    {
                        OK = false;
                        if (!Added)
                        {
                            ErrorMsg += "\n    - " + Arr[i][1];
                            Added = true;
                        }
                    }
                break;
            case 'compare' :
                if (trim(eval("document." + Form + "." + Arr[i][2] + ".value")) !== trim(eval("document." + Form + "." + Arr[i][3] + ".value")))
                {
                    ErrorMsg += "\n    - " + Arr[i][1];
                    Added = true;                            
                }
                break;
            case 'regexp' :
                var MyReg = new RegExp(Arr[i][2])
                if (!MyReg.test(trim(eval("document." + Form + "." + Arr[i][3] + ".value"))))
                {
                    ErrorMsg += "\n    - " + Arr[i][1];
                    OK = false;   
                }
                break;    
        }
    }
    
    if (!OK)
        alert(ErrorMsg);
    return OK;
}   
