// Check for email address: look for [@] and [.] 

function isEmail(elem) {
    if (elem.value.indexOf("@") + "" != "-1" &&
        elem.value.indexOf(".") + "" != "-1" &&
        elem.value != "") 
    return true;
    else return false;
}

// Check for null and for empty

function isFilled(elem) {
    if (elem.value == "" ||
        elem.value == null) 
    return false;
    else return true;
}


function isCheckBoxValid(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 true;

    return false;
}

function isSelectValid(elem) {
	if (typeof(elem) != 'object')
		elem = document.getElementById(elem);

    // make sure that this is a select
    if(!elem || elem.tagName.toLowerCase() != 'select') {
      alert(arguments[0] + ' is not a select.');
      return false;
    }

    // is it empty?
    return(elem.selectedIndex != -1
        && elem.options[elem.selectedIndex].value != "");
}

function isReady(form) {

    // is email address element a real email address?
    if (isCheckBoxValid(form,'Personal_Business') == false) { 
    	alert("Please indicate your interest in TerraNova.");
	    return false;
    }

    // is name filled?
    if (isFilled(form.Name) == false) {
		alert("Please enter your name.");
    	form.Name.focus();
	    return false;
    }

    // is Address1 filled?
    if (isFilled(form.Address1) == false) {
		alert("Please enter your address.");
    	form.Address1.focus();
	    return false;
    }

    // is City filled?
    if (isFilled(form.City) == false) {
		alert("Please enter your city.");
    	form.City.focus();
	    return false;
    }

    // is State filled?
    if (isFilled(form.State) == false) {
		alert("Please enter your state.");
    	form.State.focus();
	    return false;
    }

    // is ZipCode filled?
    if (isFilled(form.Zipcode) == false) {
		alert("Please enter your zip code.");
    	form.Zipcode.focus();
	    return false;
    }

    // is email address element a real email address?
    if (isEmail(form.Email) == false) { 
    	alert("Please enter your email address.");
    	form.Email.focus();
	    return false;
    }

    // is Phone filled?
    if (isFilled(form.Phone) == false) { 
    	alert("Please enter your phone number.");
    	form.Phone.focus();
	    return false;
    }

    // is How_did_you_hear filled?
    if (isSelectValid(form.How_did_you_hear) == false) { 
    	alert("Please enter how you heard about TerraNova.");
    	form.How_did_you_hear.focus();
	    return false;
    }

    // is How_did_you_hear filled?
    if (isFilled(form.captcha) == false) { 
    	alert("Please enter a security code.");
    	form.captcha.focus();
	    return false;
    }

	return true;
}

var reloads_remaining = 5;
function newSecurityImage() {
    if (reloads_remaining <= 2) {
        if (reloads_remaining <= 0)
            alert("Sorry, too many reloads.");
        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--;
}
