(function() {
    function queryParams(url, params) {
      params = params || {};
      if (url.indexOf("?") === -1)
        return params;
        
      var pairs = url.substring(url.indexOf("?")+1).split("&");
      for (var i=0;i < pairs.length; i++) {
        var pos = pairs[i].indexOf('=');
        if (pos >= 0) {
          var argname = pairs[i].substring(0,pos);
          var value = unescape(pairs[i].substring(pos+1));
          params[argname] = value;
        }
      }
      return params;
    }
    
    
    var domain = document.location.host;
    var parts = [];
    
    var windowParams = queryParams(document.location.toString());
    
    function validateURI(uri) {
      var v = new RegExp();
      v.compile("^([a-z0-9]+/)*[a-z0-9]+$");
      return v.test(uri);
    } 
    
    function validatedURI(uri, defaultURI) {
      return (validateURI(uri)) ? uri : defaultURI;
    } 

    var scripts = document.getElementsByTagName("script");
    var params = {width: 615, height: 600};
    for (var i = 0; i < scripts.length; i++) {
      var script = scripts[i];
      if (script.src.indexOf("favequest4bf.com") || script.src.indexOf("ottawabluesfest.ca")) {
        var params = queryParams(script.src, params);
      }
    }
    
    params.width = parseInt(params.width, 10);
    params.height = parseInt(params.height, 10);
   
    var embed_path = windowParams.embed_path || params.embed_path || "performances/byday";    
    
        parts.push("<iframe src='http://widget.rochesterevents.com/widget/"+domain+"/"+embed_path+"' width='"+parseInt(params.width, 10)+"' height='"+parseInt(params.height, 10)+"' frameborder='0'></iframe>");
    
    document.write(parts.join(""));
})();

