// Global variable which is populated by the dynamic javascript 
// retrieved from a request to the blogger server
var BL_Backlinks = new Array();
var BL_BacklinkCount = new Array();

function BL_processBacklinkTemplate(templateHTML) {
  var finalHTML = "";
  for (i=0; i < BL_Backlinks.length; i++) {
    var html = templateHTML;
    var escapedURL = encodeURIComponent(BL_Backlinks[i]["BlogBacklinkURL"]);
    html = html.replace(/(<|%3C|&lt;)\$BlogBacklinkURL\$(>|%3E|&gt;)/g,BL_Backlinks[i]["BlogBacklinkURL"]);
    html = html.replace(/(<|%3C|&lt;)\$BlogBacklinkURLEscaped\$(>|%3E|&gt;)/g,escapedURL);
    html = html.replace(/(<|%3C|&lt;)\$BlogBacklinkTitle\$(>|%3E|&gt;)/g,BL_Backlinks[i]["BlogBacklinkTitle"]);
    html = html.replace(/(<|%3C|&lt;)\$BlogBacklinkSnippet\$(>|%3E|&gt;)/g,BL_Backlinks[i]["BlogBacklinkSnippet"]);
    html = html.replace(/(<|%3C|&lt;)\$BlogBacklinkAuthor\$(>|%3E|&gt;)/g,BL_Backlinks[i]["BlogBacklinkAuthor"]);
    html = html.replace(/(<|%3C|&lt;)\$BlogBacklinkDateTime\$(>|%3E|&gt;)/g,BL_Backlinks[i]["BlogBacklinkDateTime"]);
    finalHTML += html;
  }
  return finalHTML;
}

function BL_writeBacklinks() {
  var dcomDiv = document.getElementById('blogger-dcom-block');
  if (dcomDiv != null && dcomDiv.innerHTML) {
    var finalHTML = BL_processBacklinkTemplate(dcomDiv.innerHTML); 
    // Add a div with a unique id to test if the subsequent write
    // succeeded
    if (finalHTML != "") {
      finalHTML += '<span id="blogger-dcom-ihtest"></span>';
      dcomDiv.innerHTML = finalHTML;
      if (document.getElementById('blogger-dcom-ihtest')) {
        dcomDiv.style.display = "block";         	
      }
    }
  }
}

function BL_addOnLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function BL_loadScript (url) {
  if (document.getElementById) {
    var script = document.createElement('script');
    script.defer = true;
    script.src = url;
    document.getElementsByTagName('head')[0].appendChild(script);
  }
}

function BL_populateBacklinksCount() {
  var linkSpans = document.getElementsByTagName("span");
  var postQuery = "";
  for (var i=0; i < linkSpans.length; i++) {
    if (linkSpans[i].className == "backlinkcount") {         
      var postId = linkSpans[i].id;	
      if (postId) {
        BL_BacklinkCount[postId] = linkSpans[i];
        postQuery += "&postID=" + postId;
      }
    }
  }
  if (postQuery != "") {
    var url = window.BL_backlinkURL + "?blogID=" + window.BL_blogId + postQuery; 
    BL_loadScript(url);	
  }
}

BL_addOnLoadEvent(function() { BL_populateBacklinksCount(); })
