$(document).ready(function() {
  breadcrumbs.init();
});

var breadcrumbs = new function() {
  var separator = "&raquo;"
  var element = ".breadcrumb";
  var site = null;

  this.parsed = function() {
    site = window.location.toString().match(/^.*\/\/.*?\//);
    // Yank protocol, domain name, query strings, targets, and trailing slashes
    var url = window.location.toString().replace(site, "").replace(/\?.*$/, "").replace(/#.*$/, "").replace(/\/$/,"");
    var split = url.split("/");
    return split;
  };

  this.crumbs = function() {
    var parsed = this.parsed();
    var url = "";
    var text = "";
    var urls = [{url: "", text: "home"}];

    for (attr in parsed) {
      text = parsed[attr].replace(/_/g, " ").replace(/-/g, " ").replace(/\..*$/, "");
      if (text != "index") {
        if (attr == (parsed.length - 1)) {
          url = url + parsed[attr];
        } else {
          url = url + parsed[attr] + "/";
        }

        urls.push({url: url, text: text});
      }
    }

    return urls;
  };

  this.init = function() {
    var b = $(element);
    var crumbs = this.crumbs();

    jQuery.each(crumbs, function(i, crumb) {
      if (i > 0 && crumbs.length > 1) { b.append(" "+separator+" "); }
      b.append("<a href=\""+site+crumb.url+"\">"+crumb.text+"</a>");
    });
  };
}();
