urban = {
  init: function() {
    urban.addStylingSpans();
    urban.preloadHovers();
    urban.checkForDownloadCookie();
    urban.addDownloadCookie();
  },

  addStylingSpans: function() {
    /* Add a span to every h2, so that we have a 
       styling hook for the right-hand side image */
    if (!document.getElementsByTagName) return;
    var h2s = document.getElementsByTagName("h2");
    for (var i=0; i<h2s.length; i++) {
      var h2 = h2s[i];
      if (!h2.childNodes) continue;
      h2.innerHTML = "<span>" + h2.innerHTML + "</span>";
      h2.style.paddingLeft = "0px"; h2.style.paddingTop = "0px";
    }
  },

  preloadHovers: function() {
    /* preload hover images */
    imgs = ['community_button_on.jpg',
      'contact_button_on.jpg',
      'download_button_on.jpg',
      'gallery_button_on.jpg',
      'home_button_on.jpg',
      'live_button_on.jpg',
      'presenters_button_on.jpg',
      'previous_button_on.jpg'];
    for (var i=0; i<imgs.length; i++) {
      var img1 = new Image();
      img1.src = '/designs/urban/' + imgs[i];
    }
  },

  checkForDownloadCookie: function() {
    if (urban.readCookie("clickedDownloadLink")) {
      // delete the cookie
      urban.eraseCookie("clickedDownloadLink");
      // are we on an episode page?
      var epd = document.getElementById('episodedetails');
      if (epd) {
       var p = document.createElement("p");
       var a = document.createElement("a");
       p.appendChild(a);
       a.href = "#";
       a.appendChild(
          document.createTextNode("Show episode summary")
       );
       a.onclick = function() { 
         epd.style.display = "block";
         a.style.display = "none";
         return false;
       }
       epd.parentNode.insertBefore(p,epd);
       epd.style.display = "none";
      }
    }
  },

  addDownloadCookie: function() {
    /* Set a cookie when clicking a dlnow link */
    var as = document.getElementsByTagName('a');
    for (var i=0; i<as.length; i++) {
      if (as[i].className == 'dlnow') {
        as[i].onclick = function() {
          urban.createCookie("clickedDownloadLink","1");
        }
      }
    }
  },

  createCookie: function (name,value,days) {
    if (days) {
      var date = new Date();
      date.setTime(date.getTime()+(days*24*60*60*1000));
      var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
  },

  readCookie: function (name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) {
        return c.substring(nameEQ.length,c.length);
      }
    }
    return null;
  },

  eraseCookie: function(name) {
    urban.createCookie(name,"",-1);
  }
}



window.onload = urban.init;


