// Define global variables
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()
}

// Function to open new browser window of specified dimentions
function OpenWindow (WindowURL, WindowName) {

    // Define current screen resolution
    var ScreenWidth	= screen.availWidth;
    var ScreenHeight	= screen.availHeight;
    var InWinWidth	= 500;
    var InWinHeight	= 400;
    var InScroll	= 0;
    var InResize	= 0;
    var InStatus	= 0;

    // Calculate window position
    var StartTop	= (ScreenHeight - InWinHeight) / 2;
    var StartLeft	= (ScreenWidth  - InWinWidth)  / 2;

    // Launch window
    var WinOpen		= window.open(	WindowURL,
					WindowName,
				       'width='+	InWinWidth+','+
				       'height='+	InWinHeight+','+
				       'left='+		StartLeft+','+
				       'top='+		StartTop+','+
				       'scrollbars='+	InScroll+','+
                                       'resizable='+	InResize+','+
                                       'status='+	InStatus);
    // Bring window into focus
    WinOpen.focus()
}

function DefineFields () {
    var RequiredFields                  =  new Object;
    RequiredFields['contact_email']     = 'E-mail Address';
    RequiredFields['contact_greeting']  = 'I would like to be addressed as';
    return RequiredFields
}


function formrule(field)
	{
		if (field.defaultValue == field.value) field.value = "";
	}