/* ----- ----- ----- Free software Foundation - Affero Licence ----- ----- -----

event.js - Event managment
    Copyright (C) 2008  Thibault Garcia (thibault.garcia@revaweb.com)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

----- ----- ----- Free software Foundation - Affero Licence ----- ----- ----- */

var eventNb=0;
function eventId(item) {
	if(item.id) {
		return(item.id);
	} else {
		eventNb++;
		return item.id='eventId'+eventNb;
	}
}

function eventAddBefore(item,event,instr) {
	if(item[event]) {
		eval('item[event]=function(eventInfo) { eventId="'+eventId(item)+'"; '+instr+'; eval('+item[event].toString().replace(/\sthis\./,'document.getElementById(eventId).')+'(eventInfo)); return false }');
	} else {
		eval('item[event]=function(eventInfo) { eventId="'+eventId(item)+'"; '+instr+'; return false }');
	}
}

function eventAddAfter(item,event,instr) {
	if(item[event]) {
		eval('item[event]=function(eventInfo) { eventId="'+eventId(item)+'"; eval('+item[event].toString().replace(/\sthis\./,'document.getElementById(eventId).')+'(eventInfo)); '+instr+'; return false }');
	} else {
		eval('item[event]=function(eventInfo) { eventId="'+eventId(item)+'"; '+instr+'; return false }');
	}
}

