sfHover = function() {
	var sfEls = document.getElementById("prodList").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

function showPMenu(action) {
	document.getElementById("prodList").style.display = action;
	
	//extra code to fix stupid IE
	var sublists = document.getElementById("prodList").getElementsByTagName("ul");
	for (var i=0; i<sublists.length; i++) {
		if (action == "none") {
			sublists[i].style.display = "none";
		} else {
			sublists[i].style.display = "";
		}
	}
}

function showAMenu(action) {
	document.getElementById("aboutList").style.display = action;
}

function jgo(where) {
	document.location.href = where;
}

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    }
	
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_'";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function contactValidate() {
	if (document.contactform.name.value == '' || document.contactform.email.value == '') {
		alert("Please fill in your name and email address");
		return false;
	}else{
		if (! isValidEmail(document.contactform.email.value)) {
        	alert("Please enter a valid email address");
        	return false;
    	}else{
			return true;
		}
	}
}

function regValidate() {
	if (document.regform.name.value == '' || document.regform.jobtitle.value == '' || document.regform.company.value == '' || document.regform.address1.value == '' || document.regform.county.value == '' || document.regform.postcode.value == '' || document.regform.country.value == '' || document.regform.tel.value == '' || document.regform.email.value == '' || document.regform.password.value == '') {
		alert("Please fill in all the fields.");
		return false;
	}else{
		if (! isValidEmail(document.regform.email.value)) {
        	alert("Please enter a valid email address");
        	return false;
    	}else{
			return true;
		}
	}
}