
function d( msg ) {
    
    var debugDiv = $( 'debug' );
    var pp = Builder.node( 'p', new Object(), "[JS] "+msg );
	debugDiv.appendChild( pp );
}

function getQueryVars() {
  var query = window.location.search.substring(1);
  var r = new Array();
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    r[pair[0]] = pair[1];
  } 
  return r;
}
	
function ajaxError( req ) {
	alert('ajax error ' + req.status + ' -- ' + req.statusText);
}

//
// pause(numberMillis)
// Pauses code execution for specified time. Uses busy code, not good.
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
//
function pause(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
}

var Cookie = {
  set: function(name, value, daysToExpire) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
  },
  get: function(name) {
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
  },
  erase: function(name) {
    var cookie = Cookie.get(name) || true;
    Cookie.set(name, '', -1);
    return cookie;
  },
  accept: function() {
      return true;
      /*
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    Cookie.set('_test', '1');
    return (Cookie.erase('_test') = '1');
    */
  }
};

Object.extend(Element, {
	clear: function(element) {
	   	element = $(element);
        var children = element.childNodes;
        for( var i=0; i<children.length; i++ ) {
            element.removeChild( children[ i ] );
        }
	}
});
