  // Adiciona um handler de evento
  function addEvent(obj, evType, fn){
      if (obj.addEventListener)
          obj.addEventListener(evType, fn, true)
      if (obj.attachEvent)
          obj.attachEvent("on"+evType, fn)
  }
  // Obtém o objeto que disparou o evento
  function getSource(e) {
      if(typeof e=="undefined")e=window.event
      var src=e.target?e.target:e.srcElement
      if(src.nodeType==3)src=src.parentNode
      return src
  }

  // Cancela um evento
  function cancelEvent(e){
      try{
          e.preventDefault()
      }catch(e){
          return false
      }
  }

  function confirma(e){
    if(!confirm("Navegar?"))
      return cancelEvent(e)
  } 
  
  function getContextPath() {
	var url = ''+window.location;
	try {
		if( url.indexOf('http://') != -1 ) {
			url = url.substring( url.indexOf('http://') + 7, url.length);
			if( url.indexOf('/') != -1 ) {
				url = url.substring(url.indexOf('/') + 1, url.length);
				if( url.indexOf('/') != -1 ) {	
					return '/' + url.substring(0, url.indexOf('/'));
				}
				else {
					return '/' + url
				}
			}
		}
		if(url.indexOf('https://') != -1) {
			url = url.substring( url.indexOf('https://') + 8, url.length);
			if( url.indexOf('/') != -1 ) {
				url = url.substring(url.indexOf('/') + 1, url.length);
				if( url.indexOf('/') != -1 ) {	
					return '/' + url.substring(0, url.indexOf('/'));
				}
				else {
					return '/' + url
				}
			}
		}
	} catch( e ) {}	
	return '';
	} 
