var UIHandler = new Class({
	"initialize":function(){
		this.last = null;
	},
	"post": function( data ) {
		droid.postEvent("python", Json.toString(data) );
	},
	"postAndWait":function( data, timeout ){
		if(this.last==null || $time()-this.last > 200){
			last=$time();
			this.post(data);
			var a;
			if(timeout){
			a = droid.waitForEvent( "javascript", timeout );
			} else {
				a = droid.waitForEvent( "javascript" );
			}
			
			if( a.result ) {
				return Json.evaluate(a.result.data);
			} else {
				return {};
			}
		} else {
			this.postAndWait.delay($time()-this.last,this,[data,timeout]);
		}
	},
	"alert":function(title,message){
		droid.dialogCreateAlert(title,message);
		droid.dialogShow();
		droid.dialogGetResponse();
	},
	"startLoad":function(title, message){
		droid.dialogCreateSpinnerProgress(title, message)
		droid.dialogShow()
	},
	"stopLoad":function(){
		droid.dialogDismiss()
	}
})