
/**
 * @short Adds a signal that changes the submit buttons to "please wait..." on forms.
 */
var lastButtonClicked=null
disableOnClicks = function(){
	submList=getElementsByTagAndClassName("input","submit")
	forEach(submList,function(subm){
		connect(subm,"onclick",function(e){
			lastButtonClicked=e.src()
		})
	})

	submList=getElementsByTagAndClassName("form")
	forEach(submList,function(subm){
		connect(subm,'onsubmit',function(e){
			//log("onsubmit")
			try{
				f=e.src()
				forEach(getElementsByTagAndClassName("input","submit",f),function(s){
					//log("onsubmit -- submit")
					if (s.getAttribute("type")=="submit"){
						if (s==lastButtonClicked && s.type=="submit")
							setWaitButton(s)
						else
							setWaitButtonNoHidden(s)
					}
				})
			}
			catch(e){
				log(e)
			}
		})
	})
}

/**
 * @short Sets the please wait label to the given input, and disables it
 */
setWaitButton = function(el){
	s=$(el)

	// replace with a hidden one
	hid=INPUT({'type':'hidden','name':s.name,'value':s.value},null)
	appendChildNodes(s.parentNode,hid)

	setWaitButtonNoHidden(el)
}

/**
 * @short Second part of above. Just disables, no copy data.
 */
setWaitButtonNoHidden = function(el){
	s=$(el)

	// disable now
	s.value=_('Please wait...')
	s.className="submit_disabled"
	s.disabled=true
}

addLoadEvent(disableOnClicks)

