//var DEBUG = 1;
var DEBUG = 0; // Change to 1 to allow tracing to Java console


function trace(s) {
  if(DEBUG) {
  	java.lang.System.out.println(s);
  }
}

function tracein() {
  var funcName = '';
  if (tracein.caller != null) {
    tracein.caller.toString()
    funcName = funcName.substring(10, funcName.indexOf(")") + 1);
  }
  
  trace("> " + funcName);
}

function traceout() {
  var funcName = '';
  if (traceout.caller != null) {
    traceout.caller.toString()
    funcName = funcName.substring(10, funcName.indexOf(")") + 1);
  }  
  trace("< " + funcName);  
}


var timestamp = 0
function debug(flag, label, value) {
// Copied from example: http://developer.netscape.com/viewsource/goodman_jsdebug.html 
   if (flag) {
      var funcName = debug.caller.toString();
      funcName = funcName.substring(10, funcName.indexOf(")") + 1);
      var msg = "In " + funcName + ": " + label + "=" + value
      var now = new Date();
      var elapsed = now - timestamp;
      if (elapsed < 10000) {
         msg += " (" + elapsed + " msec)";
      }
      timestamp = now;
      trace(msg);
   }
}

