function setCookie(name, value, expires) {
    document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expires.toGMTString());
  }
  
  function getCookie(name) {
    if (document.cookie.length > 0) {
      var start = document.cookie.indexOf(name + "=");
      if (start != -1) { 
        start = start + name.length + 1; 
        var end = document.cookie.indexOf(";", start);
        if (end == -1) {
          end = document.cookie.length;
        }
        return unescape(document.cookie.substring(start, end));
      } 
    }
    return "";
  }
  
  function twitterCachedCallback(c) {
    // this will create the HTML. Function found inside blogger.js
    twitterCallback2(c);

    var content = document.getElementById("twitter_update_list").innerHTML;
    
    // expire cookie after 30 minutes
    var exp = new Date();
    exp.setTime(exp.getTime() + (1000 * 60 * 30));
    setCookie('twitter_content', content, exp);
  }
  
  // set content immediately if cached
  var cachedContent = getCookie('twitter_content');
  if (cachedContent) {
    document.getElementById("twitter_update_list").innerHTML = cachedContent;
  }

