function _strip_accents(s)
{
  var fromChars = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ";
  var toChars = "AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy";
  var t = "";
  var i;

  for (i=0; i < s.length; i++)
  {
    var c = s.charAt(i);
    var n = fromChars.indexOf(c);
    if (n >= 0)
    {
      t = t + toChars.charAt(n);
    }
    else
    {
      t = t + c;
    }
  }  
  return t;
}

function slugify(s)
{
  s = _strip_accents(s).toLowerCase();
  
  s = s.replace(/\W/g, "-");
  s = s.replace(/\ +/g, " ");
  s = s.replace(/\-$/g, "");
  s = s.replace(/^\-/g, "");
  s = s.replace(/\-+/g, "-");
  
  return s;
}
