// JavaScript Document
function Request()
{
    if(arguments.length==1) {
        var ADN = new Object();
        var Ajax = new Object();
        this.options = new function()
            {
            this.address = null;
            this.method = "POST";
            this.data = null;
            this.abort = null;
            this.onRequest = null;
            this.onSuccess = null;
            this.onFailure = null;
            };

        for (var i in this.options){ADN[i]=this.options[i];}
        for (var i in arguments[0]){ADN[i]=arguments[0][i];}


        function createRequest(){            
            if (window.ActiveXObject){Ajax = new ActiveXObject("Microsoft.XMLHTTP");}
            else{Ajax = new XMLHttpRequest();}
            }
        function isReady(){return(Ajax.readyState==4 || Ajax.readyState==0);}
        function isComplete(){return Ajax.readyState==4;}
        function isSuccess(){return((Ajax.status >= 200) && (Ajax.status < 300));}
        function setHeader(){
            if (ADN.method.toUpperCase()=="POST"){
                Ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                Ajax.setRequestHeader("Content-length", ADN.data.length);
                Ajax.setRequestHeader("Connection", "close");
                }
            }
        function fixMethod(){
            
            }
        //xu li theo tien trinh    
        function processRequest(){
                if (!isReady()){
                    if (typeof ADN.onRequest=="function"){ADN.onRequest.call(Ajax);}
                    else {eval(ADN.onRequest);}
                    }
                if (isComplete()){
                    if (isSuccess()){
                        if (typeof ADN.onSuccess=="function"){ADN.onSuccess.call(Ajax);}
                        else {eval(ADN.onSuccess)}
                        }
                    else{
                        if (typeof ADN.onFailure=="function"){ADN.onFailure.call(Ajax);}
                        else {eval(ADN.onFailure)}
                    }
                }
            }
			
        //ket thuc xu li
        //bat dau thuc hien request
        createRequest();
        if (isReady()){
            if (ADN.data!=null&&ADN.method.toUpperCase()=="POST" &&  ADN.data!="" ){
                Ajax.open("POST",ADN.address, true);
                setHeader();
                Ajax.send(ADN.data);
				
                }
            else{
                Address = ADN.address+"?"+ADN.data;
                Ajax.open("GET",Address,true);
                Ajax.send(null);
                }
            }
        Ajax.onreadystatechange = processRequest;
            
    }// end if
}// ket thuc lop request
// HAM GET JAVASCRIPT TU REQUEST AJAX
function sethtml(div,content)
{
    var search = content;
    var script;
         
    while( script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i))
    {
      search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length);
      
      if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break;
      
      block = search.substr(0, search.indexOf(RegExp.$1));
      search = search.substring(block.length + RegExp.$1.length);
      
      var oScript = document.createElement('script');
      oScript.text = block;
      document.getElementsByTagName("head").item(0).appendChild(oScript);
    }
   
    document.getElementById(div).innerHTML=content;
} 
function addfriend(uid,fid,baseUrl)
{   
        var rand = Math.random(); // Avoid cache cua thang IE
		
	    url = baseUrl+'/addfriend/'+uid+'/'+fid+'/'+rand+'.html';
		
		if(uid==''){ alert("Please login to add good friend !"); return;}
		
		var one = new Request({
		address: url,
		method: "POST",
		data: "",
		onSuccess:  function() {
			
			sethtml('batajax',this.responseText); 
			
			},
		onFailure : function() {alert("please try again!");}
         });
		
		
}
function addfriendleft(uid,fid,baseUrl)
{   
        var rand = Math.random(); // Avoid cache cua thang IE
		
	    url = baseUrl+'/addfriend/'+uid+'/'+fid+'/'+rand+'.html';
		
		if(uid==''){ alert("Please login to add good friend !"); return;}
		
		var one = new Request({
		address: url,
		method: "POST",
		data: "",
		onSuccess:  function() {
			
			sethtml('batajaxleft',this.responseText); 
			
			},
		onFailure : function() {alert("A message is sent to this friend. Please waiting for accepting.");}
         });
		
		
}
function addignore(uid,bid,baseUrl)
{   

        var rand = Math.random(); // Avoid cache cua thang cho IE
		
	    url = baseUrl+'/addignore/'+uid+'/'+bid+'/'+rand+'.html';
		
		if(uid==''){ alert("Please login in...!"); return;}
		
		var one = new Request({
		address: url,
		method: "POST",
		data: "",
		onSuccess:  function() {
			
			sethtml('batajax',this.responseText); 
			
			
			},
		onFailure : function() {alert("please try again!");}
         });
		
		
}
function addbury(uid,aid,baseUrl)
{   

        if(!confirm('This images should be deleted. Are you sure?'))
		{
		   	return;
		}
		
		var rand = Math.random(); // Avoid cache cua thang cho IE
		
	    url = baseUrl+'/addbury/'+uid+'/'+aid+'/'+rand+'.html';
		
		if(uid==''){ alert("Please login in...!"); return;}
		
		var one = new Request({
		address: url,
		method: "POST",
		data: "",
		onSuccess:  function() {
			
			sethtml('batajax',this.responseText); 
			
			
			},
		onFailure : function() {alert("please try again!");}
         });
		
		
}

