var willow = function($) {
	
	return {
		getLinks : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=link&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					log("Missing callback function");
				}
			});
		},
		getMenu : function(ids,callback) {
			$.getJSON('/data/json.asp?type=menu&id=' + ids,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					log("Missing callback function");
				}
			});
		},
		getNews : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=news&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					log("Missing callback function");
				}
			});
		},
		getPhotos : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=photo&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					log("Missing callback function");
				}
			});
		},
		getAllPhotos : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=photoall&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					log("Missing callback function");
				}
			});
		},
		getList : function(groupid,callback) {
			$.getJSON('/data/json.asp?type=list&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					log("Missing callback function");
				}
			});
		},
		getText : function(groupid,callback){
			$.getJSON('/data/json.asp?type=text&id=' + groupid,function(data){
				if($.isFunction(callback)){
					callback(data);
				}else{
					log("Missing callback function");
				}
			});
		},
		GetRandomNumberBetween : function(intMin, intMaximum) {
			return Math.round(Math.random() * (intMaximum - intMin)) + intMin;
		}
	};
}(jQuery);