function genera_options(el, sufix_id){
	var el=$(el);
	var options = {
        'onRegister': function() {
            this.el = new Element('div', {'class':'song'});
            this.title				= new Element('h3', {'class':'title', text:this.url}).inject(this.el);
            this.controls		= new Element('div', {'class':'controls'}).inject(this.el);
            this.seekbar		= new Element('div', {'class': 'seekbar'}).inject(this.el);
            this.position 		= new Element('div', {'class':'position'}).inject(this.seekbar);
            this.seekbar.set('tween', {duration:this.options.progressInterval, unit:'%', link: 'cancel'});
            this.position.set('tween', {duration:this.options.positionInterval, unit:'%', link: 'cancel'});
            this.playEl			= new Element('div', {'class':'play',id:'play'+sufix_id }).inject(this.controls);
            this.stopEl			= new Element('div', {'class':'stop',id:'stop'+sufix_id }).inject(this.controls);
            this.pauseEl		= new Element('div', {'class':'pause',id:'pause'+sufix_id}).inject(this.controls);
			this.VolUp			= new Element('div', {'class':'volume_up',id:'volume_up'+sufix_id }).inject(this.controls);
			this.VolDown		= new Element('div', {'class':'volume_down',id:'volume_down'+sufix_id }).inject(this.controls);
            this.stopEl.addEvent(	'click', function() { this.stop(); 	}.bind(this));
            this.playEl.addEvent(	'click', function() { this.start(); 	}.bind(this));
            this.pauseEl.addEvent('click', function() { this.pause(); 	}.bind(this));
            this.VolDown.addEvent('click', function() {
													VolumeNow=this.getVolume();
													if(VolumeNow>0) this.setVolume(VolumeNow-5);
												}.bind(this));
			this.VolUp.addEvent('click', function() {
													VolumeNow=this.getVolume();
													if(VolumeNow<100) this.setVolume(VolumeNow+5);
												}.bind(this));
			this.seekbar.addEvent('click', function(e) {
                var coords =	this.seekbar.getCoordinates();
                var ms =		((e.page.x - coords.left)/coords.width)*this.duration;
                this.jumpTo(ms);
            }.bind(this));
            this.el.inject(el);
        },
        'onLoad': 		function() { },
        'onPause': 		function() { },
        'onPlay': 		function() { this.el.addClass('playing');    },
        'onStop': 		function() { this.el.removeClass('playing'); },
        'onProgress': 	function(loaded, total) {
         			var percent = (loaded / total*100).round(2);
         			this.seekbar.get('tween').start('width', percent * .63);
        },
        'onPosition': function(position,duration) {
         			var percent = (position/duration*100).round(2);
         			this.position.get('tween').start('left', percent);
        },
        'onID3': function(key, value) {
         			if (key == "TIT2") { this.title.set('text', value); }
        },
        'onComplete': function() {
         			//Playlist.playRandom.delay(100, Playlist);
        }
    };
	return options;
}