var submitcount=0;

function highlightTextField(field) {
		field.style.borderColor = 'red';
		field.style.borderStyle = 'solid';
		field.style.borderWidth = '2px;';
}

function highlightSelectField(field) {
		field.style.backgroundColor = 'red';
		field.style.color = 'black';
}

function validateForm(form) {
	var ErrorMsg = '';
	var FirstErrorField = '';

	if(form.fname.value == '') {
		ErrorMsg = ErrorMsg + '- Your Name\n';
		highlightTextField(form.fname);
		if(FirstErrorField == '') {
			FirstErrorField = 'form.fname';
		}
	}

	if(!isEmail(form.email.value)) {
		ErrorMsg = ErrorMsg + '- Email Address Invalid\n';
		highlightTextField(form.email);
		if(FirstErrorField == '') {
			FirstErrorField = 'form.email';
		}
	}
	
	if(form.comments.value == '') {
		ErrorMsg = ErrorMsg + '- Comments\n';
		highlightTextField(form.comments);
		if(FirstErrorField == '') {
			FirstErrorField = 'form.comments';
		}
	}	
	
	if(ErrorMsg != '') {
		eval(FirstErrorField + '.focus();');
		alert('Please complete ALL the following fields to continue:\n' + ErrorMsg);
		return false;
	} else {
		if (submitcount == 0)	{
			submitcount++;
			return true;
		}	else	{
			return false;
		}
	}
}

// validates email address
function isEmail(email) {
    invalidChars = " ~\'^\`\"*+=\\|][(){}$&!#%/:,;";

    // Check for null
    if (email == "") {
        return false;
    }

    // Check for invalid characters as defined above
    for (i=0; i<invalidChars.length; i++) {
        badChar = invalidChars.charAt(i);
        if (email.indexOf(badChar,0) > -1) {
            return false;
        }
    }
    lengthOfEmail = email.length;
    if ((email.charAt(lengthOfEmail - 1) == ".") || (email.charAt(lengthOfEmail - 2) == ".")) {
        return false;
    }
    Pos = email.indexOf("@",1);
    if (email.charAt(Pos + 1) == ".") {
        return false;
    }
    while ((Pos < lengthOfEmail) && ( Pos != -1)) {
        Pos = email.indexOf(".",Pos);
        if (email.charAt(Pos + 1) == ".") {
            return false;
        }
        if (Pos != -1) {
            Pos++;
        }
    }

    // There must be at least one @ symbol
    atPos = email.indexOf("@",1);
    if (atPos == -1) {
        return false;
    }

    // But only ONE @ symbol
    if (email.indexOf("@",atPos+1) != -1) {
        return false;
    }

    // Also check for at least one period after the @ symbol
    periodPos = email.indexOf(".",atPos);
    if (periodPos == -1) {
        return false;
    }
    if (periodPos+3 > email.length) {
        return false;
    }
    return true;
}

// Global Functions

var popUpWin=0;

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function popUpWindow(URLStr, left, top, width, height)
{
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}

function pviiClassNew(obj, new_style) { //v2.7 by PVII
  obj.className=new_style;
}