function preventDefault(e, letItBubble)
{
    if(window.event)
    {
        window.event.returnValue = false;
    }
    if(e && e.preventDefault)
    {
        e.preventDefault();
    }
    if(letItBubble !== true)
    {
      stopPropagation(e);
    }
    return false;
}

function stopPropagation(e)
{
  e.cancelBubble = true; // creating the property is safe also in browsers that don't support it
  if(window.event)
  {
    window.event.cancelBubble = true;
  }
  if(e.stopPropagation)
  {
    e.stopPropagation();
  }
}

/**
 *  Array.shift method for Javascript < 1.2
 */
function Array_shift(arr) {
    var A_s = 0;
    var response = arr[0];
    var newArr = new Array();
    for (A_s = 0; A_s < arr.length-1; A_s++)
    {
        newArr[A_s] = arr[A_s + 1];
    }
    var output = new Array();
    output['first'] = response;
    output['rest'] = newArr;
    return output;
}