﻿/****************************************************************************
* Tecnologia da Informação CF-OAB
* Nome Objeto: UtilJs
* Descrição: Auxilia nos comandos JavaScript
*****************************************************************************/

var UtilJs = {
    IsNullObj: function(obj){
        if(obj != null &&  obj != 'undefined')
            return false;
        else
            return true;
    },
    
    getById: function(id){
        return document.getElementById(id);
    },
    
    getByTag: function(tag){
        return document.getElementsByTagName(tag);
    },
    
    getElmType: function(tag){
        return document.getElementsByTagName(tag);
    },
    
    AddEvent: function(obj, nomEve, fnc){
        eval('obj.on'+nomEve+' = '+fnc);
    },
			
	String: {
		IsNullOrEmpty: function(str){
			return !(str != null && str != '');
		}, 
		
		Trim: function(str){
			str = str.replace(/^\s+/, '');
			for (var i = str.length - 1; i >= 0; i--) {
				if (/\S/.test(str.charAt(i))) {
					str = str.substring(0, i + 1);
					break;
				}
			}
			return str;
		}, 
		
		RemoveSequenciaCaracter: function(str, seqRemov){
			var splStr = str.split(seqRemov);
			var aux = '';
			
			if(splStr.length > 0){
				for (var i=0; i<splStr.length; i++) {
					aux += splStr[i];
				};	
			} else {
				aux = str;
			}
			return aux;
		}
	}
}

function AjaxRequest(url, callbackFunction) {
	var that=this;      
  	this.updating = false;
  	
	this.abort = function() {
    	if (that.updating) {
      		that.updating=false;
      		that.AJAX.abort();
      		that.AJAX=null;
    	}
  	}
  
	this.update = function(passData,postMethod) { 
    	
		if (that.updating) { return false; }
    	that.AJAX = null;                          
    	if (window.XMLHttpRequest) {              
      		that.AJAX=new XMLHttpRequest();              
    	} else {                                  
      		that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
      		
    	}                                             
    
		if (that.AJAX==null) {                             
      		return false;                               
    	} else {
      		that.AJAX.onreadystatechange = function() {  
        		if (that.AJAX.readyState==4) {             
          			that.updating=false;                
          			that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
          			that.AJAX=null;                                         
        		}                                                      
      		}                                                        
      
	  		that.updating = new Date();                              
      		if (/post/i.test(postMethod)) {
		        var uri=urlCall+'?'+that.updating.getTime();
		        that.AJAX.open("POST", uri, true);
		        that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		        that.AJAX.setRequestHeader("Content-Length", passData.length);
		        that.AJAX.send(passData);
		    } else {
		        var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
		        that.AJAX.open("GET", uri, true);                             
		        that.AJAX.send(null);                                         
		    }              
      	return true;                                             
 	}                                                                           
  }
  var urlCall = url;        
  this.callback = callbackFunction || function () { };
}









