var Slides = function( $target , $time )
{
	var li, a, i=0, o=this;
	this.$src = $($target.cloneNode(true));
	this.$tgt = $(DOM.create('div'));
	this.$tgt.before( $target );

	this.$time = $time ? $time : 5000;
	this.interval = null;

	DOM.rem( $target );

	this.dts = this.$src.$t('dt');
	this.dds = this.$src.$t('dd');

	// making menu
	this.$menu = this.$tgt.create( 'ul' , { id: 'slideMenu' });

	this.dts.forEach(
		function( el ) {
			li = o.$menu.create('li');
			li.style.cursor = 'pointer';
			li.innerHTML = el.innerHTML;
			li.inside( o.$menu );

			li.clickedIndex = i;

			li.addEvent( 'click', function(evt){ Evt.cancel(evt); o.changeSlide(this.clickedIndex) });

			i++;
		}
	);

	this.$menu.inside( this.$tgt );
	this.$titles = this.$menu.$t('li');

	// making body
	this.$body = this.$tgt.create('ul', { id: 'slideBody' });

	i = 0;
	this.dds.forEach(
		function( el ) {
			li = o.$body.create('li');
			li.innerHTML = '<h3>' + o.dts[i].innerHTML + '</h3>' + el.innerHTML;

			li.inside( o.$body );

			i++;
		}
	);

	this.$body.inside( this.$tgt );
	this.$contents = this.$body.$t('li');

	this.index = -1;
	this.next( );
}

Slides.prototype.changeSlide = function( index ) {

	if(index!=null) this.index = index;

	if(this.interval) clearInterval(this.interval);

	this.$titles.forEach( function( el ){ removeClass(el,'actual') } );
	addClass( this.$titles[this.index], 'actual' );

	this.$contents.forEach( function( el ){
		el.style.display = 'none';
		el.style.visibility = 'hidden';
	} );
	this.$contents[this.index].style.display = 'block';
	this.$contents[this.index].style.visibility = 'visible';

	var o=this;
	this.interval = setTimeout( function(){ o.next(); } , this.$time );
}

Slides.prototype.next = function() {
	this.index++;
	if(this.index>=this.dts.length) this.index=0;
	this.changeSlide( this.index );


}

bodyLoad.add(
	function(){
		loadSwf( $('movie') , 'swf/top.swf' , 480 , 198, true );
		new Slides( $('categorias') , 5000 );
	}
);

