whole_func_string: function(consumerKey, consumerSecret, applicationName, format, useCompression) {
  		this.eventHandlers = {};
  		this.consumerKey = consumerKey;
  		this.consumerSecret = consumerSecret;
  		this.useCompression = useCompression || true;
  		this.format = format || "json";
  	    this.acceptEncoding = this.useCompression ? 'gzip, deflate' : 'identity';
  	    this.applicationName = applicationName ? (applicationName + "/") : "";
  
  	    if(!this.consumerKey || !this.consumerSecret) {
  	    	throw "ConsumerKey and ConsumerSecret should be specified in order to use SDK";
  	    }
  
  	    this.applicationName += this.tpl("JavaScript/{SDK_VERSION}/{format}", {
  	    	SDK_VERSION: this.SDK_VERSION,
  	    	format: this.format
  	    });
  	}
func_code_string: function(consumerKey, consumerSecret, applicationName, format, useCompression) {
  		this.eventHandlers = {};
  		this.consumerKey = consumerKey;
  		this.consumerSecret = consumerSecret;
  		this.useCompression = useCompression || true;
  		this.format = format || "json";
  	    this.acceptEncoding = this.useCompression ? 'gzip, deflate' : 'identity';
  	    this.applicationName = applicationName ? (applicationName + "/") : "";
  
  	    if(!this.consumerKey || !this.consumerSecret) {
  	    	throw "ConsumerKey and ConsumerSecret should be specified in order to use SDK";
  	    }
  
  	    this.applicationName += this.tpl("JavaScript/{SDK_VERSION}/{format}", {
  	    	SDK_VERSION: this.SDK_VERSION,
  	    	format: this.format
  	    });
  	}
func_documentation_string: initializes the API
  
  @param {Object} config
  @returns {undefined}