function loadContent(page) {
  content.location = page;
}

function loadWindow(page) {
  window.open(page);
}

function menuOnMouseOver(aMenuItemName, aColor) {
  document.getElementById(aMenuItemName).style.background = aColor; 
}

function menuOnMouseOut(aMenuItemName, aColor) {
  document.getElementById(aMenuItemName).style.background = aColor;  
}

function loadPage(aPage) { 
  if ((aPage != null) && (aPage != ""))
    document.getElementById("content").src = aPage;
}

function checkContentPageLoad(aHost, aPage) {
  if (window.location == parent.window.location) {
    //aPage = aPage.replace("/", "");
    //aPage = "http://" + aHost + "/index.php?page=" + aPage;
    aPage = "http://" + aHost;
    //alert("Forwarding to " + aPage);
    parent.window.location = aPage;
  }
}

function setContactFormFocus() {
  if (document.contact_me) document.contact_me.first_name.focus();
}

function setAlertMsg(fieldName) {
  if (fieldName == 'first_name') alertMsg += "- First Name\n";
  else if (fieldName == 'last_name') alertMsg += "- Last Name\n";
  else if (fieldName == 'email') alertMsg += "- E-mail (Invalid E-mail)\n";    
  else if (fieldName == 'phone') alertMsg += "- Phone (Including Area Code)\n";
}

function validEmail(emailAddress) {
  if( (emailAddress != "") &&
    (emailAddress.indexOf('@') != -1) &&
    (emailAddress.indexOf('.') != -1) &&
    (emailAddress.indexOf(' ') == -1) ) return true;
  else {
    return false;
  }
}

function containsPunctuation(s, showAlert) {
  punct = "\"^%@*.,;!#$/&:?'()\\[]_-";    
  
  result = false;  
  
  if (s == "") {
    result = false;    
  } else {
    for (i = 0; i < punct.length; i++)
      if (s.indexOf(punct.charAt(i)) != -1) 
        result = true;        
  }
  
  //if (result) alert ("Returning true for: " + s);
  //else alert ("Returning false for: " + s);
  
  return result;
}


function validateContactForm() {
  //alert("validating");  
  //return true;
  var formObj = window.document.forms["contact_me"];
  var returnValue = false;
  var allFieldsOK = true;
  alertMsg = "Please complete the following fields:\n";
  var firstBlankFieldIndex = 0;
  var firstBlankFieldIndexSet = false; 

  for (i = 0; i < formObj.length; i++) {
    if (formObj.elements[i].alt != 'optional') {
    if ((formObj.elements[i].type == 'text' || formObj.elements[i].type == 'password') && 
        (formObj.elements[i].name != 'mail_addr_2' && formObj.elements[i].name != 'bill_addr_2')){

      if (formObj.elements[i].name == 'email') {
        if (!validEmail(formObj.elements[i].value)) {
          setAlertMsg(formObj.elements[i].name);
          allFieldsOK = false;
          if (!firstBlankFieldIndexSet) {
            firstBlankFieldIndex = i;
            firstBlankFieldIndexSet = true;
          } 
        }
        
      } else if ((formObj.elements[i].name == 're_email') && (formObj.elements['re_email'].value != formObj.elements['email'].value)) {
        // validate if email matches re-typed email
        setAlertMsg(formObj.elements[i].name);
        allFieldsOK = false;
        if (!firstBlankFieldIndexSet) {
          firstBlankFieldIndex = i;
          firstBlankFieldIndexSet = true;
        }         
      } else if (formObj.elements[i].name == 're_password') {
        
        // Make sure the pass and reentered password match.
        if (formObj.elements['re_password'].value != formObj.elements['password'].value) {
          // validate if password matches re-typed password
          setAlertMsg(formObj.elements[i].name);
          allFieldsOK = false;
          if (!firstBlankFieldIndexSet) {
            firstBlankFieldIndex = i;
            firstBlankFieldIndexSet = true;
          }
        }
        
      } else {      
        // validate the text fields.
        if (formObj.elements[i].value == "" ||
           (formObj.elements[i].name == "phone" && formObj.elements[i].value.length < 10)) {
          setAlertMsg(formObj.elements[i].name);        
          allFieldsOK = false;
          if (!firstBlankFieldIndexSet) {
            firstBlankFieldIndex = i;
            firstBlankFieldIndexSet = true;
          } 
        }
      }
    } else if (formObj.elements[i].type == 'select-one') {
      // validate the select fields
      var blankSelect = false;
      for (j = 0; j < formObj.elements[i].options.length; j++) {
        if (formObj.elements[i].options[0].selected) {
          blankSelect = true;
          break;
        }                                                                                                       
      }                                                                                                         
      if (blankSelect) {                                                                                        
        setAlertMsg(formObj.elements[i].name);                                                                  
        allFieldsOK = false;                                                                                    
        if (!firstBlankFieldIndexSet) {                                                                         
          firstBlankFieldIndex = i;                                                                             
          firstBlankFieldIndexSet = true;                                                                       
        }                                                                                                       
      }                                                                                                         
    }
    }
  }
  
  if (!allFieldsOK) {                                                                                           
    if (alert(alertMsg)) {
      formObj.elements[firstBlankFieldIndex].focus();
      return false;
    } else {
      formObj.elements[firstBlankFieldIndex].focus();
      return false;
    }
  } else {
    //alert("All fields OK");
    return true;
  }
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

function loadIEVersionBasedImages() {  
  var ver = getInternetExplorerVersion();

  if ( ver > -1 ){
    if (ver < 7.0) {      
      for (i = 0; i < document.images.length; i++) {                      
        if (document.images[i].name.indexOf("ie7_") > -1) {
          document.images[i].src = document.images[i].src.replace(".png", ".gif");          
        }  
      }
    }  
  }  
}

