/**
 * Runs f whenever the event occurs on the object.
 */
function QW_EVENT_addOnevent( event, f, object ){
	if(object==undefined) object=window;
	var oldOnEvent=eval('object.'+event);
	if(typeof(eval('object.'+event))!='function') eval('object.'+event+'=f;');
	else eval('object.'+event+'=function(){oldOnEvent();f();};');
}

/**
 * Convenient functions to call QW_EVENT_addOnevent.
 * Note : default object is window
 * Typical use : 
 *    function myOnload() { alert('loaded!'); }
 *    QW_EVENT_addOnload( myOnload );
 */
function QW_EVENT_addOnload( f, object )      {QW_EVENT_addOnevent('onload',f,object);}
function QW_EVENT_addOnunload( f, object )    {QW_EVENT_addOnevent('onunload',f,object);}
function QW_EVENT_addOnclick( f, object )     {QW_EVENT_addOnevent('onclick',f,object);}
function QW_EVENT_addOndblclick( f, object )  {QW_EVENT_addOnevent('ondblclick',f,object);}
function QW_EVENT_addOnmousedown( f, object ) {QW_EVENT_addOnevent('onmousedown',f,object);}
function QW_EVENT_addOnmouseup( f, object )   {QW_EVENT_addOnevent('onmouseup',f,object);}
function QW_EVENT_addOnmouseover( f, object ) {QW_EVENT_addOnevent('onmouseover',f,object);}
function QW_EVENT_addOnmousemove( f, object ) {QW_EVENT_addOnevent('onmousemove',f,object);}
function QW_EVENT_addOnmouseout( f, object )  {QW_EVENT_addOnevent('onmouseout',f,object);}
function QW_EVENT_addOnfocus( f, object )     {QW_EVENT_addOnevent('onfocus',f,object);}
function QW_EVENT_addOnblur( f, object )      {QW_EVENT_addOnevent('onblur',f,object);}
function QW_EVENT_addOnkeypress( f, object )  {QW_EVENT_addOnevent('onkeypress',f,object);}
function QW_EVENT_addOnkeydown( f, object )   {QW_EVENT_addOnevent('onkeydown',f,object);}
function QW_EVENT_addOnkeyup( f, object )     {QW_EVENT_addOnevent('onkeyup',f,object);}
function QW_EVENT_addOnsubmit( f, object )    {QW_EVENT_addOnevent('onsubmit',f,object);}
function QW_EVENT_addOnreset( f, object )     {QW_EVENT_addOnevent('onreset',f,object);}
function QW_EVENT_addOnselect( f, object )    {QW_EVENT_addOnevent('onselect',f,object);}
function QW_EVENT_addOnchange( f, object )    {QW_EVENT_addOnevent('onchange',f,object);}
function QW_EVENT_addOnscroll( f, object )    {QW_EVENT_addOnevent('onscroll',f,object);}