﻿// JavaScript Document

(function() {
		  
	if (window.addEventListener) window.addEventListener("load", init, false);
	else if (window.attachEvent) window.attachEvent("onload", init);

	function init() {
		if (document.contactform)	{ document.contactform.onsubmit  = validateOnSubmit1; }
		if (document.regform)		{ document.regform.onsubmit      = validateOnSubmit2; }
		if (document.articleform)	{ document.articleform.onsubmit  = validateOnSubmit3; }
		if (document.aquariumform)	{ document.aquariumform.onsubmit = validateOnSubmit4; }
	}
	
	function validateOnSubmit1() {
		var invalid = false;
		
		// verify name
		var e1 = document.contactform.fname;
		var v1 = e1.value;
		if (v1.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify phone
/*
		var e2 = document.contactform.phone;
		var v2 = e2.value;
		if (v2.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
*/
		// verify email
		var e3 = document.contactform.email;
		var v3 = e3.value;
		if (v3.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		if (v3.search("\\S") != -1) {
			// non-empty email
			if ((v3.search("^[^@]{1,64}@[^@]{1,255}$") == -1) ||
				(v3.search("^\\S{1,64}@\\S{1,253}\\.[a-zA-z0-9]{2,6}$") == -1)) {
				alert("Illegal email address");
				return false;
			}
		}
		// verify message
		var e4 = document.contactform.mtext;
		var v4 = e4.value;
		if (v4.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
	}

	function validateOnSubmit2() {
		var invalid = false;

		// verify bname
		var e1 = document.regform.bname;
		var v1 = e1.value;
		if (v1.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify desc
		var e2 = document.regform.desc;
		var v2 = e2.value;
		if (v2.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify contact
		var e3 = document.regform.contact;
		var v3 = e3.value;
		if (v3.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify addr
		var e4 = document.regform.addr;
		var v4 = e4.value;
		if (v4.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify city
		var e5 = document.regform.city;
		var v5 = e5.value;
		if (v5.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify email
		var e6 = document.regform.email;
		var v6 = e6.value;
		if (v6.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		if (v6.search("\\S") != -1) {
			// non-empty email
			if ((v6.search("^[^@]{1,64}@[^@]{1,255}$") == -1) ||
				(v6.search("^\\S{1,64}@\\S{1,253}\\.[a-zA-z0-9]{2,6}$") == -1)) {
				alert("Illegal email address");
				return false;
			}
		}
	}

	function validateOnSubmit3() {
		var invalid = false;
		
		// verify title
		var e1 = document.articleform.title;
		var v1 = e1.value;
		if (v1.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify author
		var e2 = document.articleform.author;
		var v2 = e2.value;
		if (v2.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify email
		var e3 = document.articleform.email;
		var v3 = e3.value;
		if (v3.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		if (v3.search("\\S") != -1) {
			// non-empty email
			if ((v3.search("^[^@]{1,64}@[^@]{1,255}$") == -1) ||
				(v3.search("^\\S{1,64}@\\S{1,253}\\.[a-zA-z0-9]{2,6}$") == -1)) {
				alert("Illegal email address");
				return false;
			}
		}
		// verify author
		var e4 = document.articleform.file01;
		var v4 = e4.value;
		if (v4.search("\\S") == -1) {
			alert("Please specify an article file to upload");
			return false;
		}
	}

	function validateOnSubmit4() {
		var invalid = false;
		
		// verify owner
		var e1 = document.aquariumform.owner;
		var v1 = e1.value;
		if (v1.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify aqtype
		var e2 = document.aquariumform.aqtype;
		var v2 = e2.value;
		if (v2.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify location
		var e3 = document.aquariumform.location;
		var v3 = e3.value;
		if (v3.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		// verify email
		var e4 = document.aquariumform.email;
		var v4 = e4.value;
		if (v4.search("\\S") == -1) {
			alert("All fields with a red asterisk are mandatory");
			return false;
		}
		if (v4.search("\\S") != -1) {
			// non-empty email
			if ((v4.search("^[^@]{1,64}@[^@]{1,255}$") == -1) ||
				(v4.search("^\\S{1,64}@\\S{1,253}\\.[a-zA-z0-9]{2,6}$") == -1)) {
				alert("Illegal email address");
				return false;
			}
		}
	}

})(); 
