//Site-wide functions

function clearKS() {
	if (document.getElementById("searchterms").value == "Keyword search") {
		document.getElementById("searchterms").value = "";
		document.getElementById("searchterms").style.color = "#363636";
	}
}

sfHover = function() {
	var sfEls = document.getElementById("topNav").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 start_slideshow(start_frame, end_frame, delay) {
	setTimeout(switch_slides(start_frame, start_frame, end_frame, delay), delay);
}

function switch_slides(frame, start_frame, end_frame, delay) {
	return (function() {
		Effect.Fade('homePic' + frame);
		if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
		setTimeout("Effect.Appear('homePic" + frame + "');", 850);
		setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
   })
}

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 checkCallback() {
	if (document.callback.name.value == '' || document.callback.tel.value == '') {
		alert("Please fill in your name and telephone number");
		return false;
	}else{
		return true;
	}
}

function callback() {
	window.open("callback.asp", "popup", "width=350,height=335,toolbars=no,scrollbars=no")
}
