/*
 * jQuery wpseek API plugin
 * 
 * Autor: Oliver Schlöbe (scripts@schloebe.de)
 * API Reference: http://api.wpseek.com/
 * Example usage:
 * jQuery.wpseek.getFunction({ s: "get_post" }, function( wp ) {
 * 		console.log("%s is a %s and was introduced in WordPress %s", wp.name, wp.type, wp.introducedVer);
 * });
*/

(function($) {
	jQuery.wpseek = {
		
		getInfo: function(params, callback) {
			var defaultParams = {};
			defaultParams = jQuery.extend({}, defaultParams, params);
			this._sendRequest("getinfo", defaultParams, callback);
		},
		
		getFunction: function(params, callback) {
			var defaultParams = { s: "get_post" };
			defaultParams = jQuery.extend({}, defaultParams, params);
			this._sendRequest("getfunction", defaultParams, callback);
		},
		
		getSnippets: function(params, callback) {
			var defaultParams = { s: "get_post", limit: 3 };
			defaultParams = jQuery.extend({}, defaultParams, params);
			this._sendRequest("getsnippets", defaultParams, callback);
		},
		
		getSimilar: function(params, callback) {
			var defaultParams = { s: "get_post", limit: 3 };
			defaultParams = jQuery.extend({}, defaultParams, params);
			this._sendRequest("getsimilar", defaultParams, callback);
		},
		
		getTopics: function(params, callback) {
			var defaultParams = { s: "get_post", limit: 5 };
			defaultParams = jQuery.extend({}, defaultParams, params);
			this._sendRequest("gettopics", defaultParams, callback);
		},
		
		_sendRequest: function(call, params, callback) {
			var qsep = "&";
			for(param in params) {
				if(params[param] != null) { qsep += param + "=" + params[param] + "&"; }
			}
			var apiurl = "http://api.wpseek.com/?method=wordpress." + call + qsep + "callback=?";
			jQuery.getJSON(apiurl, callback);
		}
	};
})(jQuery);
