﻿var ajax = { 

    postRequest: function(url, vars, values, handler) {
        var params = this.paras(vars,values);
        xmlhttp = this.getxmlhttpObj();
        url = url+"?"+this.paras(vars,values);
        xmlhttp.open("POST", url, true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.setRequestHeader("Content-length", params.length);
        xmlhttp.setRequestHeader("Connection", "close");   
        _this = this;
        _handler = handler.bind(this);
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    var data = xmlhttp.responseText;
                    if(data != null)                   
                    
                    _handler(data);
                    
            }
        }

        xmlhttp.send(params);    
     },
 
    getRequest: function(url, vars, values, handler) {
        xmlhttp = this.getxmlhttpObj();
        url = url+"?"+this.paras(vars,values);
        xmlhttp.open("GET", url,true);
        
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    var data = xmlhttp.responseText;
                    if(data != null) 
                    handler(data);
            }
        }
        
        xmlhttp.send(null);
    },

    paras: function(vars, values) {
    var par = vars[0]+"="+values[0];
    for(i=1;i<vars.length;i++)  {
          par += "&"+vars[i]+"="+values[i];
    }
    return par;
    },

    getxmlhttpObj: function (){
    return (window.XMLHttpRequest) ? new XMLHttpRequest() : ((window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : null);

    }

}


function getstyle(elem, prop) {
		if(document.defaultView){
			return document.defaultView.getComputedStyle(elem, null).getPropertyValue(prop);
		}
		else if(elem.currentStyle){
			var prop = prop.replace(/-(\w)/gi, function($0,$1) {
				return $1.toUpperCase();
			});
			return elem.currentStyle[prop];
		}
		else return null;
	}
	
Function.prototype.bind = function(obj) {	
    var _method = this;
    return function() {
        return _method.apply(obj, arguments);
    };    
} 	

