function newCode() {
	var date = new Date();
	g("captcha").src = "/images/code.php?PHPSESSID=" + g("sid").value + "&t=" + date.getTime();
}

function validEmail(addr) {
	var i, re, eArr, uArr, dArr, uArrLen, dArrLen;
	eArr = addr.split("@");
	if (eArr.length != 2) {
		return false;
	}
	uArr = eArr[0].split(".");
	uArrLen = uArr.length;
	re = /^[a-zA-Z0-9+\-=\^_{}~]+$/;
	for (i=0;i<uArrLen;i++) {
		if (!re.test(uArr[i])) {
			return false;
		}
	}
	dArr = eArr[1].split(".");
	dArrLen = dArr.length;
	if (dArrLen < 2) {
		return false;
	}
	re = /^[a-zA-z]{2,6}$/;
	if (!re.test(dArr[dArrLen-1])) {
		return false;
	}
	re = /^([a-zA-Z0-9][a-zA-Z0-9\-]*)?[a-zA-Z0-9]$/;
	for (i=0;i<(dArrLen-1);i++) {
		if (!re.test(dArr[i])) {
			return false;
		}
	}
	return true;
}

var errMsg;

function addErr(txt) {
	errMsg += (errMsg == "" ? "" : "\n") + txt;
}

function chkText(val, mChr, fldName) {
	if (val == "") {
		addErr(fldName + " must be provided!");
	}
	else if (val.length < mChr) {
		addErr(fldName + " is to short!");
	}
}

function processComment() {
	var val;
	errMsg = "";
	chkText(g("name").value, 2, "Name");
	chkText(g("location").value, 2, "Location/Country");
	chkText(g("comment-title").value, 5, "Comment Title");
	chkText(g("comment").value, 5, "Comment");
	val = g("ctrl").value;
	if (val == "") addErr("Spam protection question must be answered!");
	else if (val.length != 6) addErr("Spam protection question is wrong!");
	if (errMsg != "") {
		alert(errMsg);
		return false;
	}
	return true;
}

function initComments() {
	init();
	if (g("comment-form")) {
		g("new-code").onclick = newCode;
		g("comment-form").onsubmit = processComment;
	}
}

window.onload = initComments;