/*
  Some js routines for client-side form field validation
*/

function isNotEmail(elem) {
  elem = $(elem);
  return !/^[-\w.]+@[-\w.]+\.[a-z]{2,4}$/i.test(elem.value);
}

function isEmpty(elem) {
    elem = $(elem);
    return elem.value == '';
}

function isSelectEmpty(elem) {
    elem = $(elem);
    return(elem.selectedIndex == -1
        || elem.options[elem.selectedIndex].value == "");
}

function isCheckBoxEmpty(form, name) {

    // find a checkbox in that form, with that name, that's checked
    for (var i = 0; i < form.elements.length; i++)
        if (form.elements[i].type == "checkbox"
         && form.elements[i].name == name
         && form.elements[i].checked == true)
            return false;

    return true;
}

function $(elem) {
    if (typeof(elem) != 'object') {
        elem = document.getElementById(elem);
        if(!elem) {
            alert('No element found with id "' + arguments[0] + '"');
            return false;
        }
    }
    return elem;
}

/*
  newSecurityImage() - load a new captcha image at the user's request
*/
var reloads_remaining = 5;
function newSecurityImage() {
	if (reloads_remaining <= 2) {
		if (reloads_remaining <= 0) {
    	alert("Sorry, too many reloads.");
			return;
		} else {
			alert("Only " + reloads_remaining + " more reloads are allowed");
		}
	}

	var img = document.getElementById("captcha_image");
	if (img) {
		var str = img.src.replace(/&count=.+/,'')+'&count='+reloads_remaining;
		img.setAttribute("src",str);
	}

	reloads_remaining--;
}
