function writeAddy() {
  document.write('<a href="mai');
  document.write('lto');
  document.write(':&#114;&#105;&#100;&#103;&#101;&#119;&#111;&#111;&#100;&#101;&#110;&#116;&#114;&#117;&#115;&#116;');
  document.write('@');
  document.write('&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">');
  document.write('&#114;&#105;&#100;&#103;&#101;&#119;&#111;&#111;&#100;&#101;&#110;&#116;&#114;&#117;&#115;&#116;');
  document.write('@');
  document.write('&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;<\/a>');
}

function resetForm(){
  document.getElementById('success').style.display = "none";
  document.getElementById('error').style.display = "none";
  document.getElementById('lblName').className = "";
  document.getElementById('lblSubject').className = "";
  document.getElementById('lblEmail').className = "";
  document.getElementById('lblMessage').className = "";
}

function isEmpty(str){
  return (str == null) || (trim(str).length == 0);
}

function trim(str) { 
  return str.replace(/^\s+|\s+$/, ''); 
};

function isEmail(str){
  var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i
  return re.test(str);
}


function validateContactForm(form){

  var realName = form.realname.value;
  var subject = form.subject.value;
  var email = form.email.value;
  var message = form.message.value;

  document.getElementById('lblName').className = "";
  document.getElementById('lblSubject').className = "";
  document.getElementById('lblEmail').className = "";
  document.getElementById('lblMessage').className = "";

  var errorElem = document.getElementById('error');
  var successElem = document.getElementById('success');

  errorElem.style.display = "none";
  successElem.style.display = "none";

  var errors = "";

  if(realName == "") {
    document.getElementById('lblName').className = "error";
    errors += "<li>Missing name</li>";
  }

  if(subject == ""){
    document.getElementById('lblSubject').className = "error";
    errors += "<li>Missing subject</li>";
  }

  if(email == "") {
    document.getElementById('lblEmail').className = "error";
    errors += "<li>Missing e-mail</li>";
  } else if(!isEmail(email)) {
    document.getElementById('lblEmail').className = "error";
    errors += "<li>Invalid e-mail</li>";
  }

  if(message == "") {
    document.getElementById('lblMessage').className = "error";
    errors += "<li>Missing message</li>";
  }


  if(errors != ""){
    errorElem.style.display = "block";
    errorElem.innerHTML = "Please correct the following and try again:<ul>" + errors + "</ul>";
    return false;
  }

  return true;
}


/*
 * Checks if the page is loading after a successful form submission
 */
function checkIfSuccess(){
  if(getURLParam("success") == 1)
    document.getElementById('success').style.display = "block";
}

/*
 * Gets params from the url
 */
function getURLParam(strParamName){
  var strReturn = null;
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
}


/*
 * onload hook
 */
 function init(){
   // Populate the new item's feed links
   populateNewItems();
 }
 
 
/*
 * Retrieves the new items and writes them to the page
 */
function populateNewItems(){

  request = getXMLRequest();
  
  // Make the AJAX call
  if(request){
    request.onreadystatechange = populateNewItemsHandler;
    request.open("GET", "ThumbFeed/index.php", true);
    if (window.XMLHttpRequest)
      request.send(null);
    else if(window.ActiveXObject){request.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" ); // deal with caching
      request.send();       
    }   
  }  
}

function populateNewItemsHandler(){

  var feedDiv = document.getElementById("thumbFeed");

  // only if req shows "loaded"
  if (request.readyState == 4) {

    // only if "OK"
    if (request.status == 200 && !isEmpty(request.responseText))  
      feedDiv.innerHTML = request.responseText;  
    else
      feedDiv.innerHTML = "<b>Error loading feed</b>";       
    request = null;    
  }
}


/*
 * AJAX Related
 */ 
var request = null;
var label = null;
var onchange = null;

function getXMLRequest(){
  if (window.XMLHttpRequest)
    return new XMLHttpRequest();
  else if (window.ActiveXObject)
    return new ActiveXObject("Microsoft.XMLHTTP");
}