// Define global variables

function DefineFields () {
    var RequiredFields                  =  new Object;
    RequiredFields['contact_email']     = 'E-mail Address';
    RequiredFields['contact_greeting']  = 'Address me as';
    return RequiredFields
}



var RequiredFields	= new Object;
var FormName		= 0;
var WindowURL		= 0;
var WindowName		= 0;

// Check for DefineFields() return and open new window
function ProcessForm (FormName, WindowURL, WindowName) {
    if (CheckForm(FormName, DefineFields())) {
        OpenWindow(WindowURL, WindowName)
    }
    return false
}

// Check form required fields
function CheckForm (FormName, RequiredFields) {
    var MyForm	= eval('self.document.'+FormName);
    // Check required fields
    for (i=0; i<MyForm.length; i++) {
        var FormField	= MyForm.elements[i];

        // Check generic required field
        if (RequiredFields[FormField.name] && FormField.value == '') {
            var Warning	= RequiredFields[FormField.name]+' is a required field!';
            alert(Warning);
            FormField.focus();
            return false
        }

        // Check email address format
        else if (FormField.name.match (/email/)                        != null &&
                 FormField.value                                       != ''   &&
                 FormField.value.match(/[\w.-]+@[\w-]+(\.[\w-]+){1,}/) == null) {
            var Warning	= 'Invalid E-Mail address format!';
            alert(Warning);
            FormField.focus();
            return false
        }
    }
    return true 
}

// Clear form content
function ClearForm (FormName) {
    var MyForm	= eval('self.document.'+FormName);
    MyForm.reset()
}

