var jdvASlidesInstance;
idASlidesModules = new Array();

function jdvASlides(idModule, duration)
{
	this.mCount = 0;

	this.duration = new Array();
	
	this.count   = new Array();
	this.prev    = new Array();
	this.current = new Array();
	this.next    = new Array();
	this.target  = new Array();
	this.cur_el  = new Array();
	this.targ_el  = new Array();
	
	this.fx     = new Array();

	this.initASlides(idModule, duration);
}


jdvASlides.prototype.initASlides=function(idModule, duration)
{
	idASlidesModules[this.mCount] = idModule;
	
	this.duration[this.mCount] = duration;
	
	this.count[this.mCount]   = 0;
	this.prev[this.mCount]    = 0;
	this.current[this.mCount] = 0;
	this.next[this.mCount]    = 0;
	this.target[this.mCount]  = 0;
	this.cur_el[this.mCount]   = null;
	this.targ_el[this.mCount]  = null;
	this.fx[this.mCount]  = null;
	

	articleArray = $$('#jdv_aslides'+idASlidesModules[this.mCount]+'_wrap .jdv_aslides_content');
	
	
	this.count[this.mCount] = articleArray.length;
	
	
	for(i = 0; i < this.count[this.mCount]; i++)
	{
		articleArray[i].setOpacity(0);
	}


	index = idASlidesModules.indexOf(parseInt(idModule),0);

	fx = new Array();
	/**/
	for(i = 0; i < this.count[this.mCount]; i++)
	{
	
		fx[i] = new Fx.Styles($("jdv_aslides"+idModule+"_content"+i), {duration:this.duration[this.mCount], wait:false});
		

		if ($("jdv_aslides"+idASlidesModules[this.mCount]+"_link"+(i))) {
			$("jdv_aslides"+idASlidesModules[this.mCount]+"_link"+(i)).addEvent("click", function(event) {
				event = new Event(event).stop();
			
				start = "jdv_aslides".length; 
				end = this.id.indexOf("_", start);
				
				idModule = this.id.substring(start, end);
				
				l = ("jdv_aslides"+idModule+"_link").length;
				
				index = idASlidesModules.indexOf(parseInt(idModule),0);
				
				jdvASlidesInstance.cur_el[index] = $("jdv_aslides"+idModule+"_content"+jdvASlidesInstance.current[index]);
				jdvASlidesInstance.targ_el[index] = $("jdv_aslides"+idModule+"_content"+this.id.substring(l));
				
				jdvASlidesInstance.target[index] = this.id.substring(l);

				jdvASlidesInstance.transitionAS(index);
				
				jdvASlidesInstance.current[index] = this.id.substring(l);
				setASlidesPrevNextArticle(index);
			
			});
		}
		
	}
	
	
	if ($("jdv_aslides_button_next"+idASlidesModules[this.mCount])) {
		$("jdv_aslides_button_next"+idASlidesModules[this.mCount]).addEvent("click", function(event) {
			event = new Event(event).stop();

			start = "jdv_aslides_button_next".length; 
			idModule = this.id.substring(start);
			
			index = idASlidesModules.indexOf(parseInt(idModule),0);
			
			setASlidesPrevNextArticle (index);
			
			jdvASlidesInstance.target[index] = jdvASlidesInstance.next[index];
			
			jdvASlidesInstance.transitionAS(index);
			
			jdvASlidesInstance.current[index] = jdvASlidesInstance.next[index];
			setASlidesPrevNextArticle(index);
		});
	}
	
	if ($("jdv_aslides_button_prev"+idASlidesModules[this.mCount])) {
		$("jdv_aslides_button_prev"+idASlidesModules[this.mCount]).addEvent("click", function(event) {
			event = new Event(event).stop();
			
			start = "jdv_aslides_button_prev".length; 
			idModule = this.id.substring(start);
			
			index = idASlidesModules.indexOf(parseInt(idModule),0);
			
			setASlidesPrevNextArticle (index);
			
			jdvASlidesInstance.target[index] = jdvASlidesInstance.prev[index];
			
			jdvASlidesInstance.transitionAS(index);
			
			jdvASlidesInstance.current[index] = jdvASlidesInstance.prev[index];
			setASlidesPrevNextArticle (index);
		});
		

		
	}
	
	this.fx[this.mCount] = fx;
	
	this.showfirstAS(this.mCount);
	
	this.mCount++;
}



function setASlidesPrevNextArticle (index) {

	jdvASlidesInstance.current[index] = parseInt(jdvASlidesInstance.current[index]);
	jdvASlidesInstance.prev[index] = parseInt(jdvASlidesInstance.prev[index]);
	jdvASlidesInstance.next[index] = parseInt(jdvASlidesInstance.next[index]);
	
	if (jdvASlidesInstance.current[index] != 0) {
		jdvASlidesInstance.prev[index] = jdvASlidesInstance.current[index] - 1;
	} else {
		jdvASlidesInstance.prev[index] = jdvASlidesInstance.current[index];
	}

	if (jdvASlidesInstance.current[index] != (jdvASlidesInstance.count[index] - 1)) {
		jdvASlidesInstance.next[index] = jdvASlidesInstance.current[index] + 1;
	} else {
		jdvASlidesInstance.next[index] = jdvASlidesInstance.current[index];
	}	
}


jdvASlides.prototype.transitionAS = function (index)
{

	$("jdv_aslides"+idASlidesModules[index]+"_content"+jdvASlidesInstance.target[index]).style.left = '0px';
	
	jdvASlidesInstance.fx[index][jdvASlidesInstance.current[index]].start({
		'background-color': '#fff',
		'opacity': 0
	});
	
	jdvASlidesInstance.fx[index][jdvASlidesInstance.target[index]].start({
		'background-color': '#fff',
		'opacity': 1
	});

}


jdvASlides.prototype.showfirstAS = function (index)
{

	$("jdv_aslides"+idASlidesModules[index]+"_content0").style.left = '0px';
	
	this.fx[index][0].start({
		'background-color': '#fff',
		'opacity': 1
	});
	
}
