var NVB = NVB = Class.create({
	initialize: function(options) {
		this.scripts = options.scripts || false;
		this.path = options.path || 'www/js/';
		this.onload_events = options.onload || new Array();
		this.google = options.google_analytics || false;

		new NVB.include(this.scripts, this.path);
		if(this.onload_events || this.google){
			new NVB.load(this.onload_events);			
		}
	}
});
NVB.load = Class.create({
	initialize: function(events) {
		this.onload_events = events;
		this.events = {
			onload: this.onload.bind(this)
		}
		if(this.onload_events)document.observe('dom:loaded', this.events.onload);
	},
	addLoadEvent:function(func){
		this.onload_events.push(func);
	},
	onload: function(){
		if(Object.isArray(this.onload_events)){
			this.onload_events.each(
				function(s){
					if(Object.isFunction(s))s();
					else eval(s);
				}
			);
		}else if(Object.isFunction(this.onload_events)){
			this.onload_events();
		}
	}
});
NVB.include = Class.create({ 
	initialize: function(scripts,path){
		this.path = path || 'www/js/';
		this.scripts = scripts;
		
	if(Object.isArray(this.scripts)){	
			this.scripts.each( function(s){
				if(s.indexOf('www') == -1) document.write('<script type="text/javascript" src="'+this.path+s+'"><\/script>');			
				else document.write('<script type="text/javascript" src="'+s+'"><\/script>');			
			}.bind(this));
		}else if(Object.isString(this.scripts)){
			if(this.scripts.indexOf('www') == -1) document.write('<script type="text/javascript" src="'+this.path+this.scripts+'"><\/script>');			
			else document.write('<script type="text/javascript" src="'+this.scripts+'"><\/script>');	
		}
	}
});
NVB.dblclick = Class.create({
	initialize: function(target, options) {
		this.target = target;

		this.events = {
			dblclick: this.dblclick.bind(this)
		}
		//this.target.invoke('observe', 'dblclick', this.events.dblclick);
		this.target.observe('dblclick', this.events.dblclick);

	},
	dblclick: function(e){
		e.stop();
		var form = $$('form').first();
		var input = form['t'];
		var parameters = $H($('container').select('form[name=form_add_product]').first().serialize(true));
			parameters.set('mode', 'add_product_ajax'); 
			parameters.set('t', $(input).getValue());
			
		var opt = {
		    method: 'get',
			parameters:parameters,
			onComplete: function(transport) {
				$('mrk_label').update('').insert(
					new Element('img', {
						src: '../images/product_met_succes_toegevoegd.gif'
					})
				);
				var geen_producten = $$('table#producten').first().select('tr td[colspan=2]').first().up('tr');
				if( geen_producten) geen_producten.remove();
			}.bind(this)
			,insertion: Insertion.Bottom
		}
		new Ajax.Updater($$('table#producten').first(), '?', opt);

		return false;
	}
});

function init(){
	if($('selectProd')){
		prod = $('selectProd');
		new NVB.dblclick(prod);
	}
}
new NVB({
	onload:init
});

