jQuery.fn.safeJSON = function(url, data, callback) {
	data = jQuery.extend({}, data);
	callback = typeof(callback) != 'undefined' ? callback : function(data) {};
	function processData(data) {
		JSON = false;
		if (data.match(/^while\(1\)\;\/\*JSONEnvelope:start\*\//)) {
			//we got an enveloped JSON
			var JSON = data.match(/(^while\(1\)\;\/\*JSONEnvelope:start\*\/)(.*)(\/\*JSONEnvelope:end\*\/)/);
			JSON = JSON[2];
		}
		callback(eval(JSON));
	}
	jQuery.get(url,data,processData);
}
		
jQuery.extend(jQuery,{
	safeJSON: jQuery.fn.safeJSON
});