//detect browser
var ie = /MSIE/.test(navigator.userAgent);
//

// set vars //
var i;
var nexti;
var iMax;
var timer;
var changing;
var nSlides=0;
var slidePlaying;
//

// preload loading icon //
loadicon = new Image(25,25);
loadicon.src = "myslide/loading.gif";
//

// get next image in slideshow //
function prepareNextImg(inst, userTriggered){
	
	clearTimeout(timer[inst]);

	var node=document.getElementById("mySlide"+inst).getElementsByTagName("li");

	node[i[inst]].style.zIndex=500;
	node[nexti[inst]].style.opacity=0;
	node[nexti[inst]].style.zIndex=501;
	
	document.getElementById("elem"+i[inst]).setAttribute("class", "myslide_elements");
	document.getElementById("elem_hrefhide"+i[inst]).style.display='none';
	document.getElementById("elem"+nexti[inst]).setAttribute("class", "myslide_elements_current");
	document.getElementById("elem_hrefhide"+nexti[inst]).style.display='block';
	

	if(userTriggered){
		pauseSlide(inst);	
	}
	
	var alpha=0;
	timer[inst]=window.setInterval(function(){
		
		alphaIntervall = 100/(fadeTime*25);
		if(userTriggered==true){ alphaIntervall = 30; }
		alpha+=alphaIntervall;
	    node[nexti[inst]].style.opacity=alpha/100;	

		if(alpha>=100){
			
			node[i[inst]].style.opacity=0;	
			i[inst]=nexti[inst];
			changing[inst]=false;
			clearInterval(timer[inst]);
			resetTimer(inst);
		}
	}, 40);

}
//

// reset timer
function resetTimer(inst){
	if(slidePlaying){
	  if(ie)
		timer[inst]=window.setTimeout("nextImage("+inst+")", WAIT*1000);
	  else
		timer[inst]=window.setTimeout(function(){ nextImage(inst, false); }, WAIT*1000, inst);
	}
}
//

// user clicked spesific link in slideshow
function gotoImage(inst, imgnr){
	if(!changing[inst] && imgnr!=i[inst]){
		changing[inst]=true;
		nexti[inst]=imgnr;
		userTriggered = true;
		prepareNextImg(inst, userTriggered);
	}
}
//

// user clicked nextImage link in slideshow
function nextImage(inst, userClicked){
	if(!changing[inst]){
		changing[inst]=true;
		nexti[inst]++;
		if(nexti[inst]==iMax[inst])
			nexti[inst]=0;
		if(userClicked){ userTriggered = true; }else{ userTriggered = false; }
		// alert('userTriggered = ' + userTriggered);
		prepareNextImg(inst, userTriggered);
	}
}
//

// user clicked playSlide link in slideshow
function playSlide(inst){
	slidePlaying = true;
	nextImage(inst, false);
	
	var elem = document.getElementById("myslide_playpause_" + inst);
	
	if(elem.innerHTML == '<div class="myslide_play"><a href="javascript:playSlide('+ inst + ');">Play</a></div>'){
		elem.innerHTML='<div class="myslide_pause"><a href="javascript:pauseSlide('+ inst + ');">Pause</a></div>';
	}else{
		elem.innerHTML='<div class="myslide_pause"><a href="javascript:pauseSlide('+ inst + ');"></a></div>';	
	}
	
}
//

// user clicked pauseSlide link in slideshow
function pauseSlide(inst){
  if(!changing[inst]){	
	slidePlaying = false;
	clearTimeout(timer[inst]);
	
	var elem = document.getElementById("myslide_playpause_" + inst);
	
	//alert(elem.innerHTML);
	if(elem.innerHTML == '<div class="myslide_pause"><a href="javascript:pauseSlide('+ inst + ');">Pause</a></div>'){
		elem.innerHTML='<div class="myslide_play"><a href="javascript:playSlide('+ inst + ');">Play</a></div>';
	}else{
		elem.innerHTML='<div class="myslide_play"><a href="javascript:playSlide('+ inst + ');"></a></div>';	
	}
	
  }
}
//

// user clicked prevImage link in slideshow
function prevImage(inst){
	if(!changing[inst]){
		changing[inst]=true;
		nexti[inst]--;
		if(nexti[inst]==-1)
			nexti[inst]=iMax[inst]-1;
		
		userTriggered = true;
		prepareNextImg(inst, userTriggered);
	}
}
//



// Initial Startup
function SlideInit(){
	var it=0;
	while(document.getElementById('mySlide'+nSlides)){
		nSlides++;
	}
	
	i=new Array(nSlides);
	nexti=new Array(nSlides);
	iMax=new Array(nSlides);
	timer=new Array(nSlides);
	changing=new Array(nSlides);

	for(it=0; it<nSlides; it++){
		nexti[it]=0;
		iMax[it]=0;
		timer[it]=0;
		changing[it]=false;

		iMax[it]=0;
		var node=document.getElementById("mySlide"+it).getElementsByTagName("li");
		iMax[it]=node.length;

		//Set first image as opaque and the rest as transparent
		node[0].style.zIndex=501;
		for(i[it]=1; i<iMax[it]; i[it]++){
			node[i[it]].style.opacity=0;
			node[i[it]].style.zIndex=500;
		}
		i[it]=0;

		if(iMax>1){
		  slidePlaying = true;
		}else{
		  slidePlaying = false;
		}
		
		resetTimer(it);
	}
}
//

// window.onload=SlideInit; // må ligge i body onload som følge av crash med scroll script

