;(function($){
	$.fn.cc = function(target) {
		return $(this).click(function(){
			var address = this.href;
			var obj = $(this);
			var data = obj.data(address);
			if(data) {
				$(target).html(data);
			} else {
				$.get(address,function(response, status){
					if(status=="success") {
						obj.data(address, response);
						$(target).html(response);
					} else {
						window.location = address;
					};
				});
			}
			return false;
		});
	}
	
	$.fn.precache = function() {
		return $(this).each(function() {
			var obj = $(this);
			var address = this.href;
			$.get(address, function(response, status){
				if(status=="success") obj.data(address, response);
			});
		});
	}
}(jQuery));