function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}


function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}



function trim(sString)
{
  while (sString.substring(0,1) == ' ' || sString.substring(0,1) == '\n' || sString.substring(0,1) == '\r')
    sString = sString.substring(1, sString.length);

  while (sString.substring(sString.length-1, sString.length) == ' ' || sString.substring(sString.length-1, sString.length) == '\n' || sString.substring(sString.length-1, sString.length) == '\r')
    sString = sString.substring(0,sString.length-1);

  return sString;
}

var talertCount = 1;
var normalAlert = window.alert;
window.alert = function(msg) { talert(msg); }

function talert(msg) {
  window.alert = normalAlert;
  var time1 = new Date().getTime()  
  alert(msg);
  var time2 = new Date().getTime()
  window.alert = function(msg) { talert(msg); }
  
  if(time2 - time1 < 10)	 {
    var body = document.body.innerHTML;
    document.body.innerHTML = "<div id=\"talert_" + talertCount + "\"><br/>---------------alert--------------<br/>" + msg + "<br/>-----------------------------------<br/></div>" + body;
    setTimeout("document.body.removeChild(document.getElementById(\"talert_" + talertCount + "\"))", 4000);
    talertCount += 1;
  }
}

function vIE(){return (navigator.appName=='Microsoft Internet Explorer')?parseFloat((new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;}

function getElementPositionX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
      while(1) 
      {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.x)
      curleft += obj.x;
  return curleft;
}

function getElementPositionY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
      while(1)
      {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.y)
      curtop += obj.y;
  return curtop;
}