function removeChildren(el) {
  for (var i = el.childNodes.length-1; i>=0; i--) {
    el.removeChild(el.childNodes[i]);
  }
}

function dump(arr,level) {
  var dumped_text = "";
  if(!level) level = 0;

  //The padding given at the beginning of the line.
  var level_padding = "";
  for(var j=0;j<level+1;j++) level_padding += "    ";

  if(typeof(arr) == 'object') { //Array/Hashes/Objects
    for(var item in arr) {
      var value = arr[item];

      if(typeof(value) == 'object') { //If it is an array,
        dumped_text += level_padding + "'" + item + "' ...\n";
        dumped_text += dump(value,level+1);
      } 
      else if(typeof(value) != 'function') {
        dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
      }
    }
  } 
  else { //Stings/Chars/Numbers etc.
    dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
  }
  return dumped_text;
}

function getOrdinalSuffixEnglish(num)
{
  num = Math.abs(num) % 100;
  if((num < 10) || (num > 20))
    num = num % 10;

  switch(num)
  {
    case 1:
      return 'st';
    case 2:
      return 'nd';
    case 3:
      return 'rd';
    default:
      return 'th';
  }
}

function getOrdinalEnglish(num)
{
  return num + getOrdinalSuffixEnglish(num);
}
