var error;
var errorBox="<html><head></head><body bgcolor='#EBDAE0'><div id='errorMessages' style='color:red;font-size:12pt;font-family:courier;font-weight:bold;'>";

function Validate()
    {
    var frm = document.getElementById('form1_id');

    error = false;

    for(type in errMsg)
    	errMsg[type].displayed = false;

    if(frm.fm1_first_name.value.length == 0)
    	ErrorMessage('form_field', frm.fm1_first_name);
    else if(frm.fm1_first_name.value.length > 255)
    	ErrorMessage('form_field', frm.fm1_first_name);
    else
    	CleanError(frm.fm1_first_name);

    if(frm.fm1_last_name.value.length == 0)
        ErrorMessage('form_field', frm.fm1_last_name);
    else if(frm.fm1_last_name.value.length > 255)
        ErrorMessage('form_field', frm.fm1_last_name);
    else
        CleanError(frm.fm1_last_name);

    if(frm.fm1_address1.value.length > 255)
        ErrorMessage('form_field', frm.fm1_address1);
    else
        CleanError(frm.fm1_address1);

    if(frm.fm1_address2.value.length > 255)
    	ErrorMessage('form_field', frm.fm1_address2);
    else
    	CleanError(frm.fm1_address2);

    if(frm.fm1_city.value.length > 255)
    	ErrorMessage('form_field', frm.fm1_city);
    else
    	CleanError(frm.fm1_city);

    if(frm.fm1_state.value.length == 0)
        ErrorMessage('form_field', frm.fm1_state);
    else if(frm.fm1_state.value.length > 255)
        ErrorMessage('form_field', frm.fm1_state);
    else
        CleanError(frm.fm1_state);

    if(frm.fm1_zip.value.length == 0)
    	ErrorMessage('form_field', frm.fm1_zip);
    else if(frm.fm1_zip.value.length > 255)
    	ErrorMessage('form_field', frm.fm1_zip);
    else
    	CleanError(frm.fm1_zip);

    //if(frm.fm1_country.value.length == 0)
    if(frm.fm1_country.selectedIndex == 0)
    	ErrorMessage('form_field', frm.fm1_country);
    else if(frm.fm1_country.value.length > 255)
    	ErrorMessage('form_field', frm.fm1_country);
    else
    	CleanError(frm.fm1_country);

    if(frm.fm1_phone.value.length > 255)
        ErrorMessage('form_field', frm.fm1_phone);
    else
        CleanError(frm.fm1_phone);

    if(frm.fm1_email.value.length == 0)
    	ErrorMessage('email_missing', frm.fm1_email);
    else if(frm.fm1_email.value.length > 255 
            || ValidEmail(frm.fm1_email.value) == false)
    	ErrorMessage('email_incorrect', frm.fm1_email);
    else
    	CleanError(frm.fm1_email);

    if(frm.fm1_confirm_email.value.length == 0)
    	ErrorMessage('email_missing', frm.fm1_confirm_email);
    else if (frm.fm1_email.value != frm.fm1_confirm_email.value)
        {
        frm.fm1_confirm_email.value = '';
    	ErrorMessage('email_noMatch', frm.fm1_confirm_email);
        }
    else
    	CleanError(frm.fm1_confirm_email);

    if(frm.fm1_comments.value.length > 1000)
        ErrorMessage('form_field', frm.fm1_comments);
    else
        CleanError(frm.fm1_comments);

    if(error)
        {
        width = 500; height = 300;

        errorBox += "\n<center>";
        errorBox += "\n<p>Window will close in 7 secords";
        errorBox += "\n<br>or press button below ...<center>";
        errorBox += "\n</ul>\n<form><input type='button' onClick='self.close()' value='Close window'></form>";
        errorBox += "\n</center>";
        errorBox += "\n</body></html>";
        Error_Window=window.open('', 'Popup_Window',
       'toolbar=no,left=100,top=100,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width='+width+',height='+height);
        Error_Window.document.open();
        Error_Window.document.write(errorBox);
        Error_Window.document.close();
        setTimeout('Error_Window.close()',7000);

        errorBox = '';
    	return false;
        }
    else
    	{ return true; }
    }

function ErrorMessage(errorType, el)
    {
    var parent = FieldParent(el);

    parent.className = 'fieldError';

    if(!error)
    	{
    	el.focus();
    	
        errorBox += "\n<p>"
    	
        var text = errMsg['form_topMsg'].text;
        errorBox += text;
    	
        errorBox += "\n<ul>";
    	}

    var errorBoxList = document.getElementById('formErrorList');

    if(errMsg[errorType].displayed == false)
    	{
        errorBox += "\n<li>";
    	
        var text = errMsg[errorType].text;
        errorBox += text;
    	
    	errMsg[errorType].displayed = true;
    	}

    error = true;
    }

function CleanError(el)
    {
    var parent = FieldParent(el);

    parent.className = 'field';
    }

function FieldParent(el)
    {
    var node = el;

    while(node != null && 
            (node.className != 'field' && node.className != 'fieldError'))
        node = node.parentNode;

    if(node != null)
        return node;
    else
        return el;
    }


function ValidEmail(strEmail)
    {
    var strEmail;


    //if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)

    if (strEmail.search(/^[A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+$/) == -1)
        return false;
    else
        return true;

    }


// end of file //

