var isMainPage = 0;
var hideCount = 0;
var postURL = '';

function dw(t) { document.write(t); }

function setMainPage() { isMainPage = 1; }

function startHide() {
  hideCount ++ ;
  if (!isMainPage) { dw('<div id="show_'+hideCount+'">') ; return; }
  dw ('<p class="hideMenu" id="hideMenu_'+hideCount+'"><a href="' +
    (postURL ? postURL : ('javascript:showRest('+hideCount+')')) + 
    '">More ...</a></p>');
  dw ('<div id="hide_'+hideCount+'" style="display: none;">');
}

function showRest(id) {
  var e = xGetElementById('hide_'+id);
  if (e && e.style) e.style.display = "" ;
  e = xGetElementById('hideMenu_'+id) ;
  if (e && e.style) e.style.display = "none" ;
}

function endHide() {
  dw ('</div>') ;
}

var maxNumberOfPostsPerLabel = 10;
var maxNumberOfLabels = 3;
var blogHomeURL;
var labelCount = 0;
var relatedCache = {};

function listRelatedEntries(json) {
  var ul = document.createElement("ul");
  var maxPosts = Math.min(json.feed.entry.length,maxNumberOfPostsPerLabel);
  var postCount = 0;

  for (var i = 0; i < maxPosts; i++) {
    var entry = json.feed.entry[i];
    var alturl;

    for (var k = 0; k < entry.link.length; k++) {
      if (entry.link[k].rel == "alternate") {
        alturl = entry.link[k].href; break;
      }
    }
    if (alturl && alturl != location.href && !relatedCache[alturl]) {
      var li = document.createElement("li");
      var a = document.createElement("a");
      a.href = alturl;

      var txt = document.createTextNode(entry.title.$t);	
      a.appendChild(txt); 
      li.appendChild(a);
      ul.appendChild(li);
      postCount++;
      relatedCache[alturl] = 1;
    }
  }

  if (!postCount) return;
  for (var l = 0; l < json.feed.link.length; l++) {
    if (json.feed.link[l].rel == "alternate") {
      var raw = json.feed.link[l].href;
      var label = raw.substr(blogHomeURL.length+13);
      label = label.replace(/%20/g, " ");
      var relatedDiv = document.getElementById("related_posts");
      if (relatedDiv) {
        var txt = document.createTextNode(unescape(label.substr(0,1).toUpperCase()+label.substr(1)));
        var h = document.createElement("h4");
	if (labelCount ++) h.className = 'next';
        var a = document.createElement("a");
	a.href = raw;
        a.appendChild(txt);
        h.appendChild(a);
        relatedDiv.appendChild(h);
	relatedDiv.appendChild(ul);
      }
      break;
    }
  }
}

function searchRelatedPosts(query, label) {
  var script = document.createElement("script");
  script.setAttribute("src", query + "feeds/posts/default/-/" + label +
				"?alt=json-in-script&callback=listRelatedEntries");
  script.setAttribute("type","text/javascript");
  document.documentElement.firstChild.appendChild(script);
}

var labelArray = new Array();
var numLabel = 0;

function displayRelatedPosts(textLabel) {
  for (var i = 0; i < labelArray.length; i++) {
    if (labelArray[i] == textLabel) return; 
  }
  labelArray.push(textLabel);
  if (labelArray.length <= maxNumberOfLabels) searchRelatedPosts(blogHomeURL,textLabel);
}

function moveInFront(a,b) {
  var ael = document.getElementById(a); if (!ael || !ael.parentNode) return;
  var bel = document.getElementById(b); if (!bel || !bel.parentNode) return;
  ael.parentNode.removeChild(ael);
  bel.parentNode.insertBefore(ael,bel);
}
