// requires jQuery

function element(id){ return $("#"+id); }
function lpad(str,len,chr){
 var pad=''; var tmp=''+str;
 while(pad.length<len-tmp.length){ pad+=chr; } 
 return pad+tmp;
}
function XY(e){
 var x=e.offsetLeft;
 var y=e.offsetTop;
 if(e.offsetParent){
  while(e=e.offsetParent){ x+=e.offsetLeft; y+=e.offsetTop; }
 }
 return [x,y];
}
function addOnLoad(func){
 $(document).ready(function(){ func(); });
}
function addOnUnload(func){
 var ou=window.onunload?window.onunload:false;
 window.onunload=function(){ func(); if(ou) ou(); };
}
function loadContent(id,url,data,post,timeout){
 var e="#"+id;
 $(e).html("<div class='message'>Loading... please wait.</div>");
 var type = "GET";
 if(post){ type="POST"; }
 if(timeout==null){ timeout=15000; }
 var x=$.ajax({
  type: type, url: url, timeout: timeout, data: data,
  error: function(){$(e).html("<div class='message'>Error loading content.</div>")},
  success: function(){$(e).html(x.responseText)}
 });
}
function wait_cursor(target,callback){
 var cursor=$(target).css('cursor');
 $(target).css('cursor','wait');
 setTimeout(function(){ callback(); $(target).css('cursor',cursor); },10);
}
