var FadeDurationMS = 700;
function SetOpacity(object,opacityPct)
{
	// IE.
	object.style.filter = 'alpha(opacity=' + opacityPct + ')';
	// Old mozilla and firefox
	object.style.MozOpacity = opacityPct/100;
	// Everything else.
	object.style.opacity = opacityPct/100;
}

function ChangeOpacity(id,msDuration,msStart,fromO,toO)
{
	var element=document.getElementById(id);
	var msNow = (new Date()).getTime();
	var opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
	if (opacity>=100)
	{
		SetOpacity(element,100);
		element.timer = undefined;
	}
	else if (opacity<=0)
	{
		SetOpacity(element,0);
		element.timer = undefined;
	}
	else 
	{
		SetOpacity(element,opacity);
		element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",10);
	}
}

function FadeInImage(foregroundID,newImage,backgroundID,numberColor,imageID, imageCount)
{
	
	// ha lépkedés előre vagy vissza (99,100)
	if (numberColor == 99)
	{
		numberColor = document.getElementById('elozo_kep').value;
		newImage = 'kepek/'+imageID+'_'+document.getElementById('elozo_kep').value+'.jpg';
	}
	if (numberColor == 100)
	{
		numberColor = document.getElementById('kov_kep').value;
		newImage = 'kepek/'+imageID+'_'+document.getElementById('kov_kep').value+'.jpg';
	}
	
	var foreground=document.getElementById(foregroundID);
	if (foreground.timer) window.clearTimeout(foreground.timer);
	if (backgroundID)
	{
		var background=document.getElementById(backgroundID);
		if (background)
		{
			if (background.src)
			{
				foreground.src = background.src; 
				SetOpacity(foreground,100);
			}
			background.src = newImage;
			background.style.backgroundImage = 'url(' + newImage + ')';
			background.style.backgroundRepeat = 'no-repeat';
			var startMS = (new Date()).getTime();
			foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "'," + FadeDurationMS + "," + startMS + ",100,0)",10);
		}
	} 
	else 
	{
		foreground.src = newImage;
	}
	
	if (numberColor > 0)
	{
		azonosito = imageID+'_'+numberColor;
		
		for (i = 1; i <= imageCount; i++) 
		{
	    	document.getElementById(imageID+'_'+i).style.color = '#999999';
	    	document.getElementById(imageID+'_'+i).style.fontWeight = 'normal';
	    }		
		document.getElementById(azonosito).style.color = '#333333';	
		document.getElementById(azonosito).style.fontWeight = 'bold';							
		
		
		document.getElementById('kepszama').value = numberColor;
		document.getElementById('elozo_kep').value = numberColor-1;
		document.getElementById('kov_kep').value = numberColor-(-1);

		if (document.getElementById('elozo_kep').value < 1)			document.getElementById('elozo_kep').value = 1;
		if (document.getElementById('kov_kep').value > imageCount)	document.getElementById('kov_kep').value = imageCount;

	}
}

var slideCache = new Array();
function RunSlideShow(pictureID,backgroundID,imageFiles,displaySecs)
{

	//alert(imageFiles);
	var imageSeparator = imageFiles.indexOf(";");
	var nextImage = imageFiles.substring(0,imageSeparator);
	var timer;
	
	if (slideCache[nextImage] && slideCache[nextImage].loaded)
	{
		FadeInImage(pictureID,nextImage,backgroundID,0,0,0);
		var futureImages = imageFiles.substring(imageSeparator+1,imageFiles.length) + ';' + nextImage;
		
		setTimeout("RunSlideShow('"+pictureID+"','"+backgroundID+"','"+futureImages+"',"+displaySecs+")", displaySecs*1000);
		// Identify the next image to cache.
		imageSeparator = futureImages.indexOf(";");
		nextImage = futureImages.substring(0,imageSeparator);
	} 
	else 
	{
		setTimeout("RunSlideShow('"+pictureID+"','"+backgroundID+"','"+imageFiles+"',"+displaySecs+")", 10);
	}
	// Cache the next image to improve performance.
	if (slideCache[nextImage] == null)
	{
		slideCache[nextImage] = new Image;
		slideCache[nextImage].loaded = false;
		slideCache[nextImage].onload = function(){this.loaded=true};
		slideCache[nextImage].src = nextImage;
	}

}

