function ajaxObject(data,myurl,mycallback){
    
	var ajaxRequest;  // The variable that makes Ajax possible!
	this.params=data;
	this.mycallback=mycallback;
	this.callbackfunction=function(){eval(mycallback+"()")};
	this.url=myurl;
	var that=this;
	var retur="";
	
	
	//----------------------methods-----------------
	this.setDataToSend=function(what){
      this.params=what;
      this.ajaxRequest.open("POST", this.url, true);//multipart/form-data
	  this.ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
      this.ajaxRequest.setRequestHeader("Content-length", this.params.length);
      this.ajaxRequest.setRequestHeader("Connection", "close");
	}
    
    this.setCallBack=function(whatfunc){
        this.callbackfunction = function(){eval(whatfunc)};
        //this.ajaxRequest.onreadystatechange = that.callbackfunction; 
        
    }
    
    this.setUrl=function(what){
        this.url = what;
        //this.ajaxRequest.onreadystatechange = that.callbackfunction; 
        
    }
    
    this.sendData=function(){
       this.setDataToSend(this.params);
       this.ajaxRequest.send(this.params);
    }
    

    //-----------------------------------------------
	
	// constructor--------------------------------------------------------------------------
	
	try{
		// Opera 8.0+, Firefox, Safari
		this.ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			this.ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				this.ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	
	this.defaultcallback=function(who){
	    
         if(who.ajaxRequest.readyState == 4){
               who.retur=who.ajaxRequest.responseText;
                
			   who.callbackfunction=function(){
			                                  
                                                 eval(who.mycallback+"('"+who.ajaxRequest.responseText+"')");
                                             };
               who.callbackfunction();
	     }
    }
    
     

   

	this.ajaxRequest.onreadystatechange = function(){that.defaultcallback(that)};
	
	
    //alert("gata constructorul");
	
	
	//--------------------------------------------------------------------------------------------------
     
}


