$.YQL = function(query, callback) {
	if (!query || !callback) {
		throw new Error('$.YQL(): Parameters may be undefined');
	}
	var encodedQuery = encodeURIComponent(query),
	//NO OAUTH
	url = 'http://query.yahooapis.com/v1/public/yql?q=' + encodedQuery + '&format=json&callback=?';
	$.getJSON(url, callback);

	/*url = 'http://query.yahooapis.com/v1/yql?q=' + encodedQuery + '&format=json&callback=callback';
	var signedUrl = makeSignedRequest("dj0yJmk9bXUzT1ZsYU5Qc0xJJmQ9WVdrOVRrNXJZWGxpTkhFbWNHbzlNVGMzT1RBeU5ETTNPUS0tJnM9Y29uc3VtZXJzZWNyZXQmeD05ZQ--","3f49f0f530810c2e7eb2f88171cb4a4444b54267",url);
	$.getJSON(signedUrl,callback);*/
};

//2 legged oauth
var makeSignedRequest = function(ck,cks,encodedurl) {     
	var accessor = { consumerSecret: cks, tokenSecret: ""};          
	var message = { action: encodedurl, method: "GET", parameters: [["oauth_version","1.0"],["oauth_consumer_key",ck]]};
 	OAuth.setTimestampAndNonce(message);
	OAuth.SignatureMethod.sign(message, accessor);
 	var parameterMap = OAuth.getParameterMap(message);
	var baseStr = OAuth.decodeForm(OAuth.SignatureMethod.getBaseString(message));           
	var theSig = "";
 	if (parameterMap.parameters) {
		for (var item in parameterMap.parameters) {
			for (var subitem in parameterMap.parameters[item]) {
				if (parameterMap.parameters[item][subitem] == "oauth_signature") {
					theSig = parameterMap.parameters[item][1];                    
					break;                      
				}
			}
		}
	}
 	var paramList = baseStr[2][0].split("&");
	paramList.push("oauth_signature="+theSig);
	paramList.sort(function(a,b) {
		if (a[0] < b[0]) return -1;
		if (a[0] > b[0]) return 1;
		if (a[1] < b[1]) return -1;
		if (a[1] > b[1]) return 1;
		return 0;
	});
	var locString = "";
	for (var x in paramList) {
		locString += paramList[x] + "&";                
	}
	var finalStr = baseStr[1][0] + "?" + locString.slice(0,locString.length - 1);
 	return finalStr;
};
