anchor.diff:        iframe.width = opts.width;
         iframe.height = opts.height;
         iframe.frameBorder = 0;
  -      // iframe.scrolling = 'no';
  +      iframe.scrolling = 'no';
         iframe.title = 'holderdeord.no widget';
   
         element.parentNode.replaceChild(iframe, element);
  
positive.code: 
    return {
        init: function (type) {
            var elements = document.getElementsByClassName('hdo-' + type + '-widget');
  
            for (var i = 0; i < elements.length; i++) {
                createWidgetFrame(type, elements[i]);
            }
        }
    };
  })();
  
  HDO.widgets.init('issue');
  
negative.code: */
  
  HDO.widgets = (function () {
    this.baseUrl = '<%= request.scheme %>://<%= request.host %>:<%= request.port %>/';
  
    function extractWidgetOptions(type, el) {
        var url;
  
        function addIssueParams(el, url) {
          var issues = el.getAttribute('data-issue-ids');
          var count = el.getAttribute('data-issue-count');
  
          url += '?'
  
          if (issues && issues.length)
            url += 'issues=' + encodeURIComponent(issues);
  
          if (count && count.length)
            url += 'count=' + encodeURIComponent(count);
  
          return url;
        }
  
        if (type == "issue") {
            url = baseUrl + "issues/" + el.getAttribute('data-issue-id') + '/widget';
        } else if (type == "representative") {
            url = baseUrl + "representatives/" + el.getAttribute('data-representative-id') + '/widget';
            url = addIssueParams(el, url);
        } else if (type == "party") {
            url = baseUrl + "parties/" + el.getAttribute('data-party-id') + '/widget';
            url = addIssueParams(el, url);
        } else {
            throw new Error('invalid HDO widget type: ' + type);
        }
  