var curtop = 0;
var curleft = 0;

function findPosX(obj) {
  curleft = 0;
  if (!obj) return curtop;
  if(obj.offsetParent)
    while(1) 
      {
	curleft += obj.offsetLeft;
	if(!obj.offsetParent)
	  break;
	obj = obj.offsetParent;
      }
  else if(obj.x)
    curleft += obj.x;
  return curleft;
}
function findPosY(obj) {
  curtop = 0;
  if (!obj) return curtop;
  if(obj.offsetParent)
    while(1)
      {
	curtop += obj.offsetTop;
	if(!obj.offsetParent)
	  break;
	obj = obj.offsetParent;
      }
  else if(obj.y)
    curtop += obj.y;
  return curtop;
}

function http(url) {
  var prefix = "http:/";
  prefix += "/";
  return prefix + url;
}

// Assumes that there is is one difference
function stringDifference(a,b) {
  if (!a || !b) return null;
  var i;
  for (i=0; i<a.length && i<b.length; i++) {
    if (a.charAt(i) != b.charAt(i)) break;
  }
  var endA = a.length-1;
  var endB = b.length-1;
  for (;endA > i && endB > i;endA--,endB--) {
    if (a.charAt(endA) != b.charAt(endB)) break;
  }
  var aDiff = a.substr(i,endA-i+1);
  var bDiff = b.substr(i,endB-i+1);
  return [aDiff,bDiff];
}

function insertAfter(newNode,intoNode) {
  var next = intoNode.nextSibling;
  if (next) {
    next.parentNode.insertBefore(newNode,parentNode);
  } else {
    next.parentNode.appendChild(newNode);
  }
}