var units = false;

function edit(id,unit,qty,bettype,visitor,home) {
		
	var p = new ss.Popup();
	p.setTitle('Edit bet');
	
	var c = document.createElement('div');
	
	var nb = $(document.createElement('button'));	
	
	var out = $(document.createElement('div'));
	out.id = 'editbets';
	var np = $(document.createElement('p'));
	np.update("Edit "+bettype+" risk for game<br />("+visitor+" @ "+home+")");
	out.appendChild(np);
	var ninput = $(document.createElement('input'));
	ninput.type = 'text';
	ninput.value = qty;
	out.appendChild(ninput);
	out.appendChild(document.createElement('br'));
	out.appendChild(document.createElement('br'));
	
	var ndiv = $(document.createElement('div'));
	ndiv.addClassName('centered');
	out.appendChild(ndiv);
	var button = $(document.createElement('button'));
	button.update('Apply');
	ndiv.appendChild(button);
	var cbutton = $(document.createElement('button'));
	cbutton.update('Cancel');
	ndiv.appendChild(cbutton);
	var dbutton = $(document.createElement('button'));
	dbutton.update('Delete');
	ndiv.appendChild(dbutton);
	c.appendChild(out);
	
	cbutton.observe('click',function() {
		p.remove();
	});	
	
	dbutton.observe('click',function() {
		send({'delete': id},function() {
			ss.Undo.instance().set('delete', function() {				
				send({'undelete':id},function() {
					$('bet_' + id).show();
				},function() {
					alert('Unable to undo delete.');
				});
			});
			$('bet_' + id).hide();			
		},function() {
			alert('Unable to delete specified game.');
		});		
		p.remove();
	});
	
	button.observe('click',function() {
		var val = ninput.value;
		var undoVal = $('risk_'+id).innerHTML;
		send({'edit':id,'editValue':val},function(transport) {	
			ss.Undo.instance().set('edit',function() {
				send({'edit':id,'editValue':qty},function(transport) {
					$('risk_'+id).update(transport.responseText);
				},function() {
					alert('Unable to undo the edit.');
				});				
			});
			$('risk_'+id).update(transport.responseText);			
		},function() {
			alert('Unable to edit bet.');
		});
		p.remove();
	})
	
	p.setContent(c);
	
	p.show();	
}

function send(sobj,onSuccess,onFail) {
	
	sobj.ajax = 'true';
	url = "viewbets.php";
	
	new Ajax.Request(url, {
		method: 'post',
		parameters: sobj,
		onSuccess: function(transport) {
			if(transport.responseText != "Fail") {
				if(onSuccess)
					onSuccess(transport);
			} else {
				if(onFail)
					onFail(transport);
			}
		},
		onException: function(transport,e) {
			alert(e.message);
		}
	});
}

if(typeof _void == 'undefined')
	var _void = function() {};

ss.Undo = Class.create({
	stack: null,
	domNode: null,
	initialize:function() {
		this.stack = [];
		this.domNode = $('undobox');
		this.domNode.hide();
	},
	set: function(name,undofunc) {
		//this.stack.push({name:name,id:id,value:value});
		this.stack = [{name:name,undofunc:undofunc}]; //just for right now do only one
		this.showStack();
	},
	showStack: function() {		
		if(this.stack.length == 0) {
			this.domNode.hide();
		} else {
			var s = this.stack.last();
			var self = this;
			var np = document.createElement('p');			
			
			var undo = $(document.createElement('a'));
			undo.innerHTML = "Undo";
			undo.src = 'javascript:_void()';
			undo.observe('click',function() {
				self.undo();
			});
			np.appendChild(undo);
			np.appendChild(document.createTextNode(' last '+s.name+' or '));
			var hide = $(document.createElement('a'));
			hide.innerHTML = 'Hide';
			hide.src = 'javascript:_void()';
			hide.observe('click',function() {
				self.hide();
			});
			np.appendChild(hide);
			
			this.domNode.update(''); //clear existing
			this.domNode.appendChild(np);
			this.domNode.show();
		}
	},
	undo: function() {
		var s = this.stack.pop();
		s.undofunc();
		this.showStack();
	},
	hide: function() {
		this.stack.pop();
		this.showStack();
	}
});
//Singleton
ss.Undo._instance = null;
ss.Undo.instance = function() {
	if(!ss.Undo._instance)
		ss.Undo._instance = new ss.Undo();
	return ss.Undo._instance;
}

