var submitcount=0;

function validate(form) {


    if (submitcount==0) {
        ++submitcount;

        var obj;
        var error='';
        var br="\n";

        for (var field in fields) {
            obj = form.elements[field];
            if (typeof(obj) == "undefined") continue;


            switch (obj.type)
            {
            // validate text fields
            case "text":
                if (obj.value == "")
                {
                    switch (field)
                    {
                    // write exceptions here to eval certain fields
                    default:
                        error='missingreq';
                        break;
                    }
                }
                if (field == 'EMAL')
                {
                    if (!echeck(form.EMAL.value) || hasWhitespace(obj.value)) { error='bademail'; break; }
            		if (form.EMAL.value !== form.CMAL.value) { error='emailmatch'; break; }
                }
                break;

            // validate checkboxes
            case "checkbox":
                var foundchecked=0;
                if (obj.checked) {
                    foundchecked=1;
                    break;
                }else if (!foundchecked) {
                    switch (field) {
                        default:
                            error='missingcheckbox';
                            break;
                    }
                }
                break;

			case "select-one":
				if(obj.value == null || obj.value == "" || obj.value == "null")
				{
					error='mssingreq';
					break;
				}
            }


          	// validate member number


		// Begin error > response logic
            if (error) {
                window.scroll(0,0);
                (error == 'missingradio') ? obj[0].focus() : obj.focus();
                switch (error) {
                    case 'req_num_only':
                    case 'min_size2':
                    case 'min_size4':
                        alert( msg[error] + br + msg['req_gen'] );
                        break;
                    case 'bademail':
                        alert( msg['req_valid_email'] + br + msg['req_gen'] );
                        break;
                    case 'emailmatch':
                        alert( msg['req_matching_email'] + br + msg['req_gen'] );
                        break;
                    case 'month':
                    case 'day':
                    case 'year':
                        alert( msg['req_diffsel'] );
                        break;
                    case 'missingsel':
                    case 'missingradio':
                        alert( msg['req_radio'] + br + msg['req_gen'] );
                        break;
                    case 'missingcheckbox':
                    case 'requiredcheckbox':
                        alert( msg['req_checkbox'] + br + msg['req_gen'] );
                        break;
                    case 'missingreq':
                    default:
                        alert( msg['req_edt'] + br + msg['req_gen'] );
                        break;
                }
                submitcount--;
                return false;
            }
        }
        //submitcount--;
        return true;
    } 
    else 
    {
        // The form was previously submitted
        alert( msg['resubmit_denied'] );
        return false;
    }
}
var DHTML = (document.getElementById || document.all || document.layers);

function getObj(name) {
    if (document.getElementById) {
          return document.getElementById(name);
    }
    else if (document.all) {
          return document.all[name];
    }
    else if (document.layers){
          return document.layers[name];
    }
}

function showForm()
{
    Block_Array_HideShowClear(new Array('lt_intro'), new Array(''), 'hide'); 
    Block_Array_HideShowClear(new Array('lt_main'), new Array(''), 'show');
}
function showIntro()
{
    Block_Array_HideShowClear(new Array('lt_intro'), new Array(''), 'show'); 
    Block_Array_HideShowClear(new Array('lt_main'), new Array(''), 'hide');
}

function changeCursor(id, cursorType)
{
    var obj = getObj(id);
    obj.style.cursor = cursorType;
}