function getObject(o){
 var d=document;
 return ((d.all)?d.all(o):(d.getElementById)?d.getElementById(o):(d.layers)?d.layers[o]:false);
}
function getStyle(o){
 var el=getObject(o);
 return (el)?((el.style)?el.style:el):false;
}

getEvents={
 gete:function(e){
  return (e)?e:((window.event)?window.event:false);
 },
 etype:function(e){
  e=getEvents.gete(e);
  return (e)?e.type:false;
 },
 mmove:function(e){
  e=getEvents.gete(e);
  if(e){
   if(window.Event){
    return [e.pageX,e.pageY];
   }else{
    if(!window.opera && document.all){
     return [event.clientX+docProperties.scrollLeft(),event.clientY+docProperties.scrollTop()];
    }else{
     return [event.clientX,event.clientY];
    }
   }
  }else{
   return false;
  }
 },
 modkeys:function(e){
  var a,c,s,m;
  e=getEvents.gete(e);
  if(e){
   if(document.layers){
    a=e.modifiers && Event.ALT_MASK;
    c=e.modifiers && Event.CONTROL_MASK;
    s=e.modifiers && Event.SHIFT_MASK;
    m=e.modifiers && Event.META_MASK;
   }else{
    a=window.event.altKey;
    c=window.event.ctrlKey;
    s=window.event.shiftKey;
    m=false;
   }
   return [a,c,s,m];
  }else{
   return false;
  }
 },
 keycodes:function(e){
  var ktype;
  e=getEvents.gete(e);
  if(e){
   if(e.keyCode){
    e=e.keyCode;
   }else if(e.which){
    e=e.which;
   }else if(e.charCode){
    e=e.charCode;
   }else{
    return false;
   }
   ktype=((e>47)&&(e<58))?'numeric':((((e>96)&&(e<123))||((e>64)&&(e<91)))?'alpha':'other');
   return [e,String.fromCharCode(e),ktype];
  }else{
   return false;
  }
 },
 gettarget:function(e){
  var targ;
 	e=getEvents.gete(e);
 	if(e){
  	if(e.target){
    targ=e.target;
   }else if(e.srcElement){
    targ=e.srcElement;
   }
  	if(targ.nodeType==3){ //safari bug
  		return targ.parentNode;
   }else{
    return targ;
   }
  }else{
   return false;
  }
 },
 getrightclick:function(e){
 	e=getEvents.gete(e);
 	if(e){
  	if(e.which){
    return (e.which==3);
   }else if(e.button){
    return (e.button==2);
   }
  }else{
   return false;
  }
 },
 getleftclick:function(e){
 	e=getEvents.gete(e);
 	if(e){
  	if(e.which){
    return (e.which==1);
   }else if(e.button){
    return (e.button==1);
   }
  }else{
   return false;
  }
 },
 getbothclicks:function(e){
 	e=getEvents.gete(e);
 	if(e){
  	if(e.which){
    return false;
   }else if(e.button){
    return (e.button==3);
   }
  }else{
   return false;
  }
 }
}

divStyle={
 left:function(o){
  var ds=getStyle(o);
  if(ds){
   if(ds.pixelLeft){
    return ds.pixelLeft;
   }else if(ds.left){
    return ds.left;
   }else{
    return 0;
   }
  }else{
   return 0;
  }
 },
 right:function(o){
  var ds=getStyle(o);
  if(ds){
   if(ds.pixelRight){
    return ds.pixelRight;
   }else if(ds.right){
    return ds.right;
   }else{
    return 0;
   }
  }else{
   return 0;
  }
 },
 top:function(o){
  var ds=getStyle(o);
  if(ds){
   if(ds.pixelTop){
    return ds.pixelTop;
   }else if(ds.top){
    return ds.top;
   }else{
    return 0;
   }
  }else{
   return 0;
  }
 },
 bottom:function(o){
  var ds=getStyle(o);
  if(ds){
   if(ds.pixelBottom){
    return ds.pixelBottom;
   }else if(ds.bottom){
    return ds.bottom;
   }else{
    return 0;
   }
  }else{
   return 0;
  }
 },
 height:function(o){
  var ds=getStyle(o);
  if(ds){
   if(ds.pixelHeight){
    return ds.pixelHeight;
   }else if(ds.height){
    return ds.height;
   }else{
    return 0;
   }
  }else{
   return 0;
  }
 },
 width:function(o){
  var ds=getStyle(o);
  if(ds){
   if(ds.pixelWidth){
    return ds.pixelWidth;
   }else if(ds.width){
    return ds.width;
   }else{
    return 0;
   }
  }else{
   return 0;
  }
 },
 visible:function(o){
  var ds=getStyle(o);
  if(ds){
   ds.visibility=(document.layers)?"show":"visible";
  }
 },
 hidden:function(o){
  var ds=getStyle(o);
  if(ds){
   ds.visibility=(document.layers)?"hide":"hidden";
  }
 }
}


function jstoolkit(){
 var toolkit=java.awt.Toolkit.getDefaultToolkit();
 return toolkit.getScreenSize();
}

docProperties={
 screenWidth:function(){
  if(screen.width){
   return screen.width;
  }else if(navigator.javaEnabled()){
   return jstoolkit().width;
  }else{
   return 0;
  }
 },
 screenHeight:function(){
  if(screen.height){
   return screen.height;
  }else if(navigator.javaEnabled()){
   return jstoolkit().height;
  }else{
   return 0;
  }
 },
 screenAvailWidth:function(){
  return screen.availWidth;
 },
 screenAvailHeight:function(){
  return screen.availHeight;
 },
 scrollTop:function(){
  var db=document.body;
  var de=document.documentElement;
  if(typeof(window.pageYOffset)=='number'){
   return window.pageYOffset;
  }else if(db && db.scrollTop){
   return db.scrollTop;
  }else if(de && de.scrollTop){
   return de.scrollTop;
  }else{
   return 0;
  }
 },
 scrollLeft:function(){
  var db=document.body;
  var de=document.documentElement;
  if(typeof(window.pageYOffset)=='number'){
   return window.pageXOffset;
  }else if(db && db.scrollLeft){
   return db.scrollLeft;
  }else if(de && de.scrollLeft){
   return de.scrollLeft;
  }else{
   return 0;
  }
 },
 windowWidth:function(){
  var db=document.body;
  var de=document.documentElement;
  if(typeof(window.innerWidth)=='number'){
   return window.innerWidth;
  }else if(de && de.clientWidth){
   return de.clientWidth;
  }else if(db && db.clientWidth){
   return db.clientWidth;
  }else{
   return 0;
  }
 },
 windowHeight:function(){
  var db=document.body;
  var de=document.documentElement;
  if(typeof(window.innerWidth)=='number'){
   return window.innerHeight;
  }else if(de && de.clientHeight){
   return de.clientHeight;
  }else if(db && db.clientHeight){
   return db.clientHeight;
  }else{
   return 0;
  }
 },
 pageHeight:function(){
  var db=document.body;
  var a=db.scrollHeight;
  var b=db.offsetHeight
  return (a>b)?a:b;
 },
 pageWidth:function(){
  var db=document.body;
  var a=db.scrollWidth;
  var b=db.offsetWidth;
  return (a>b)?a:b;
 },
 resizeWindowTo:function(w,h){
  if(parseInt(navigator.appVersion)>3){
   if(document.all){
    top.window.resizeTo(w,h);
   }else if(document.layers || document.getElementById){
    if(top.window.outerWidth<w || top.window.outerHeight<h){
     top.window.outerWidth=w;
     top.window.outerHeight=h;
    }
   }
  }
 },
 maxWindow:function(){
  if(parseInt(navigator.appVersion)>3){
   top.window.moveTo(0,0);
   resizeWindowTo(docProperties.screenAvailWidth(),docProperties.screenAvailHeight());
  }
 }
}
