var jdvIScrollInstance;
idISModules = new Array();

function jdvIScroll(idModule, transDuration, animationFun)
{
	this.mCount = 0;
	
	this.transDuration = new Array();
	this.animationFun = new Array();
	//this.picArray = new Array();
	this.idModule = new Array();
	this.auto = new Array();
	this.scroll = new Array();
	
	this.count   = new Array();
	this.prev    = new Array();
	this.current = new Array();
	this.next    = new Array();

	this.curOpacity = new Array();
	
	this.initIScroll(idModule, transDuration, animationFun);
}


jdvIScroll.prototype.initIScroll=function(idModule, transDuration, animationFun)
{
	idISModules[this.mCount] = idModule;
	
	
	this.transDuration[this.mCount] = transDuration;
	this.animationFun[this.mCount] = animationFun;
	//this.picArray[this.mCount] = picArray;
	this.auto[this.mCount] = 0;
	
	this.count[this.mCount]   = 0;
	this.prev[this.mCount]    = 0;
	this.current[this.mCount] = 0;
	this.next[this.mCount]    = 0;

	this.curOpacity = 0;
	
	this.scroll[this.mCount] = new Fx.Scroll('jdv_iscroll'+idISModules[this.mCount]+'_wrap', {
		wait: false,
		duration: this.transDuration[this.mCount],
		offset: {'x': 0, 'y': 0},
		transition: this.animationFun[this.mCount]
		});
	

	
	picArray = document.getElementById('jdv_iscroll'+idISModules[this.mCount]+'_inner').getElementsByTagName("img");
	this.count[this.mCount] = picArray.length;
	index = idISModules.indexOf(parseInt(idModule),0);

	
	
	for(i = 0; i < picArray.length; i++)
	{
		picArray[i].style.display = 'inline';
		
		$("jdv_iscroll"+idISModules[this.mCount]+"_link"+(i)).addEvent("click", function(event) {
		
			event = new Event(event).stop();
			
			start = "jdv_iscroll".length; 
			end = this.id.indexOf("_", start);
			
			idModule = this.id.substring(start, end);
					
					
			l = ("jdv_iscroll"+idModule+"_link").length;
			
			index = idISModules.indexOf(parseInt(idModule),0);
			
			jdvIScrollInstance.scroll[index].toElement("jdv_iscroll"+idModule+"_content"+this.id.substring(l));
			
			
			jdvIScrollInstance.auto[index] = 0;
			
			jdvIScrollInstance.current[index] = this.id.substring(l);

			setPrevNextImage(index);

		});

	}
	
	
	if ($("jdv_button_next"+idISModules[this.mCount])) {
		$("jdv_button_next"+idISModules[this.mCount]).addEvent("click", function(event) {
		
			event = new Event(event).stop();
			
			start = "jdv_button_next".length; 
			idModule = this.id.substring(start);
			
			index = idISModules.indexOf(parseInt(idModule),0);
			jdvIScrollInstance.auto[index] = 0;
			
			setPrevNextImage (index);

			jdvIScrollInstance.scroll[index].toElement("jdv_iscroll"+idModule+"_content"+jdvIScrollInstance.next[index]);
			
			jdvIScrollInstance.current[index] = jdvIScrollInstance.next[index];
			
			setPrevNextImage(index);
		});
	}
	
	
	if ($("jdv_button_prev"+idISModules[this.mCount])) {
		$("jdv_button_prev"+idISModules[this.mCount]).addEvent("click", function(event) {
		
		
			event = new Event(event).stop();
			
			start = "jdv_button_prev".length; 
			
			idModule = this.id.substring(start);
			
			index = idISModules.indexOf(parseInt(idModule),0);
			jdvIScrollInstance.auto[index] = 0;
			
			setPrevNextImage (index);
			
			jdvIScrollInstance.scroll[index].toElement("jdv_iscroll"+idModule+"_content"+jdvIScrollInstance.prev[index]);
			jdvIScrollInstance.current[index] = jdvIScrollInstance.prev[index];
			setPrevNextImage (index);
		});
	}
	
	this.mCount++;
}

function autoIScroll(idModule, transDelay)
{

	index = idISModules.indexOf(parseInt(idModule),0);
	if (jdvIScrollInstance.auto[index]) {
		setPrevNextImage (index);
		
		jdvIScrollInstance.scroll[index].toElement("jdv_iscroll"+idModule+"_content"+jdvIScrollInstance.next[index]);
		jdvIScrollInstance.current[index] = jdvIScrollInstance.next[index];
		setPrevNextImage(index);
		setTimeout('autoIScroll('+idModule+', '+transDelay+')', transDelay);
	}
}

function setPrevNextImage (index) {

	jdvIScrollInstance.current[index] = parseInt(jdvIScrollInstance.current[index]);
	jdvIScrollInstance.prev[index] = parseInt(jdvIScrollInstance.prev[index]);
	jdvIScrollInstance.next[index] = parseInt(jdvIScrollInstance.next[index]);
	
	if (jdvIScrollInstance.current[index] != 0) {
		jdvIScrollInstance.prev[index] = jdvIScrollInstance.current[index] - 1;
	} else {
		jdvIScrollInstance.prev[index] = jdvIScrollInstance.current[index];
	}

	if (jdvIScrollInstance.current[index] != (jdvIScrollInstance.count[index] - 1)) {
		jdvIScrollInstance.next[index] = jdvIScrollInstance.current[index] + 1;
	} else {
		//jdvIScrollInstance.next[index] = jdvIScrollInstance.current[index];
		jdvIScrollInstance.next[index] = 0;
	}
	
	
}
