//-----------------------------------------------------------------------------------------------------------------------------------------------
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
function loadFunctions () {
	externalLinks();	
}
//-----------------------------------------------------------------------------------------------------------------------------------------------
function openDir( openURL ) { 
	if (openURL != "") {
		window.open(openURL);
	}
}
//-----------------------------------------------------------------------------------------------------------------------------------------------
function swapImage(sourceName, targetImage) {

	if (document.images) {
		document.images[sourceName].src = eval(targetImage+".src");
	}
}
//-----------------------------------------------------------------------------------------------------------------------------------------------
// Process page subscription form
function subscribe_pagecheck (frm) {
	var errorMSG = "";
	var formCheck = true;
	if (frm.fname.value == "") {
		errorMSG = errorMSG + "You must enter your first name\n";
		formCheck = false;
	}
	if (frm.lname.value == "") {
			errorMSG = errorMSG + "You must enter your last name\n";
			formCheck = false;
	}
	if (formCheck) { 
		return true;  
	} else {
		alert('The following errors have been detected:\n' + errorMSG);	
		return false; 
	}
	
}
//-----------------------------------------------------------------------------------------------------------------------------------------------
// Process page subscription form
function subscribe_check (frm) {
	var errorMSG = "";
	var formCheck = true;
	if (frm.fname.value == "") {
		errorMSG = errorMSG + "You must enter your first name\n";
		formCheck = false;
	}
	if (frm.lname.value == "") {
			errorMSG = errorMSG + "You must enter your last name\n";
			formCheck = false;
	}
	if (frm.address.value == "") {
			errorMSG = errorMSG + "You must enter your address\n";
			formCheck = false;
	}
	if (frm.city.value == "") {
			errorMSG = errorMSG + "You must enter your city\n";
			formCheck = false;
	}
	if (frm.state.value == "") {
			errorMSG = errorMSG + "You must enter your state\n";
			formCheck = false;
	}
	if (frm.zip.value == "") {
			errorMSG = errorMSG + "You must enter your zip code\n";
			formCheck = false;
	}
	if (frm.phone.value == "") {
			errorMSG = errorMSG + "You must enter your phone number\n";
			formCheck = false;
	}
	if (frm.email.value == "" && !(isValidEmail(frm.email.value))) {
			errorMSG = errorMSG + "You must enter your e-mail address\n";
			formCheck = false;
	}
	if (formCheck == false) { 
		alert('The following errors have been detected:\n' + errorMSG);	
		return false; 
	}
	
}
//-----------------------------------------------------------------------------------------------------------------------------------------------
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;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	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;
}