var GoogleApiKey = 'ABQIAAAAr23ZJ_ZTts4m8seiHK2QThT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQUKolEyiXK010M13o8bEkAFKPP2A'

jQuery.googleSearch = function(options){
    defOptions = {
        q: "",
        type: "web",
        start: 0,
        success: function(){
        }
    }
    opt = $.extend({}, defOptions, options);
    $.jsonp({
        "url": "http://ajax.googleapis.com/ajax/services/search/" + opt.type + "?callback=?",
        "callback": "googleSearchC",
        "data": {
            "key": GoogleApiKey,
            "v": "1.0",
            "rsz": "large",
			"start": opt.start,
            "q": opt.q
        },
        "success": function(data){
            onSuccess(data, opt.type, opt.start)
        },
        "error": function(d, msg){
        }
    });
    
    function onSuccess(data, st, start){
        var arr = []
		var nn = 0;
		if (data.responseData) {
			var results = data.responseData.results;
			$.each(results, function(i, val){
				var obj = {};
				for (var j in val) {
					obj[j] = val[j];
				}
				//
				if (st == "images") {
					obj["url"] = val.originalContextUrl;
					obj["imageUrl"] = val.url;
				}
				if (st == "news") {
					obj["url"] = val.unescapedUrl;
					obj["source"] = val.publisher;
					obj["date"] = val.publishedDate;
				}
				obj.n = i;
				arr.push(obj);
			})
			nn = data.responseData.cursor.estimatedResultCount;
		}
        if (opt.success) 
            opt.success({
                search: "google",
				start: start,
				totalResults: nn,
                type: st,
                results: arr
            })
    }
}
