ScienceSlidesUtil = {}

ScienceSlidesUtil.parseAnchorFromLocation = function() {
    
    if (location.href.indexOf("#") != -1) {
        return location.href.substring(location.href.indexOf("#")+1, location.href.length);
    } else {
        return null;
    }
}

ScienceSlidesUtil.parsePathFromLocation = function() {
    
    if (location.href.indexOf("#") != -1) {
        return location.href.substring(0, location.href.indexOf("#"));
    } else {
        return location.href;
    }
}

ScienceSlidesUtil.parseAnchorMapFromLocation = function() {
    
    var tmp = ScienceSlidesUtil.parseAnchorFromLocation();
    
    if (tmp == null) return new Object();
    
    var map = new Object();
    
    var arr = tmp.split("&")
    
    for (var i = 0; i < arr.length; i++) {
        
        var pair = arr[i]
        try {
            
            var p = pair.split("=");
            map[p[0]]=p[1];
            
        } catch (err) {}
        
    }
    
    return map;
    
}

ScienceSlidesUtil.trackAjax = function(url, prepend) {
  
  if (typeof prepend == 'undefined') {
    prepend = true;
  }
  
  if (location.pathname && typeof(pageTracker) != 'undefined') {
    
    if (location.pathname.endsWith("/") && url.startsWith("/")) {
      url = url.substring(1);
    }
    
    pageTracker._trackPageview((prepend?location.pathname:"") + url);
  }
  
}

String.prototype.startsWith = function(str) 
{return (this.match("^"+str)==str)} 

String.prototype.endsWith = function(str) 
{return (this.match(str+"$")==str)}

String.prototype.trim = function (str) {
return this.replace(new RegExp("^" + str + "*"), "").replace(new RegExp("" + str + "*$"), "");}

ScienceSlidesUtil.slugify = function(string) {
  string = string.replace(/-/g, ' ');
  string = string.replace(/\s+/g, '-');
  string = string.replace(/[^\w.-]/g, '');
  string = string.trim("_");
  //string = string.trim("\.");
  string = string.trim("-");
  string = string.trim("\s")
  return string.toLowerCase();
}
