News.USER = "a3northcalifornia"
News.TABLE = "news.json";

function News()
{
}

function NewsAPI(){
	this.getAll = function(callbackMethod) 
	{
		News.callback = callbackMethod;
		// Retrieve the JSON feed.
		var script = document.createElement('script');
		var url = 'http://www.editgrid.com/user/'+News.USER
			+"/"+News.TABLE
			+"?callback=NewsAPI.getCallback";
		script.setAttribute('src', url );
		
		document.documentElement.firstChild.appendChild(script);
		var ret = new Array();
	}
	
	this.get = function(id, callbackMethod) {
		var ret = null;
		callback = function (items) {
			for(var i=0; i<items.length; i++) {
				var item = items[i];
				if (item.id == id) {
					ret = item;
					break;
				}
			}
			callbackMethod(ret);
		};
		var items = this.getAll(callback);
	}
	
	this.insert = function(item, callbackMethod) {
		var sessionKey = News.DB;
		var grid = new editgrid.Grid({ sessionKey: sessionKey, suppressSessionKeyWarning: 1 });
		grid.openBook({ path: News.TABLE });
		var book = grid.getWorkbook();
		
		onInsertRows = function(a) {
			callbackMethod(true);
		}
		
    	onloadBook = function () {
			var sheet = book.getSheetByName(News.SHEET);
			sheet.insertRows(1, 1, onInsertRows);
		};
		
		book.addOnLoadListener(onloadBook);
	}
}

NewsAPI.getCallback = function(json) 
{
	var data = onorex.jsonEditGridToData(json.sheet.Sheet1);
	News.callback(data);
}