var items = uitgelicht_items;
var counter = 1;
var myInterval;
var cnt = new Array();
var currentId = 0;
var clickSwapper = false;

function shiftImage(currentId)
{
	if(window['images'] != undefined)
	{
		if(images < items)
		{
			return false;
		}
	
  		if (currentId > 0)
	    {
	        counter = parseInt(currentId);
	    }

		if (counter > items)
		{
			counter = 1;
		}

		cnt[1] = counter;
	
		for (i = 2; i <= items; i++)
		{
			cnt[i] = parseInt(cnt[i-1])+1;
			if (cnt[i] > items)
			{
				cnt[i] = 1;
			}
		}
		
		/* parse given hyperlink */
		hyperlink = ((images[cnt[1]]['hyperlink']).replace('</a>', "")).replace('<a href="', "").replace('">', "~").split("~", 1);
	
		
		document.getElementById('currentImage').style.backgroundImage = "url(" + images[cnt[1]]['large'] + ")";
		$('currentImage').addClassName('gallery-image');
		document.getElementById('carUrl').href = hyperlink;
		document.getElementById('carrousel_title').innerHTML = images[cnt[1]]['title'];
		document.getElementById('carrousel_intro').innerHTML = images[cnt[1]]['intro'];
	
	
		for (i = 2; i <= items+1; i++)
		{
			document.getElementById('carUrl_' + i).onclick = clickSwap;
					
			if(clickSwapper == false)
			{
				if(cnt[1] == i || cnt[1] == 1 && i == (uitgelicht_items+1))
				{
					$('car_' + i).addClassName('active_gallery');	
				}else if($('car_' + i).hasClassName('active_gallery')){
					$('car_' + i).removeClassName('active_gallery');	
				}
			}
		}
	
		clickSwapper = false;
		counter++;
		myInterval = setTimeout(shiftImage, 10000);
	
		// switch image using effect (not working properly)
		// startSwap();
	}
	else
	{
		return false;
	}  
}

function startSwap()
{
    stopSwap()
    swapImage()
    myInterval = setTimeout(shiftImage, 10000);
}

function swapImage()
{
    ShowEffect('currentImage');
	HideEffect('hiddenImage');
}

function ShowEffect(element)
{
   new Effect.Appear(element, 
   {duration:1.7, from:0, to:1.0});
}
   
function HideEffect(element)
{
   new Effect.Appear(element, 
   {duration:1.7, from:1.0, to:0});
}

function clickSwap(e)
{
	stopSwap();
	
	var dinges;
	
	
		
	if (!e)
	{
	    e = event;
	}

	if (e.target)
	{
	    dinges = e.target;
	}
	else if(e.srcElement)
	{
	   dinges = e.srcElement;
	}

	if (dinges.nodeType == 3) // defeat Safari bug
	{
	    dinges = dinges.parentNode;
	}

	toBeShown = dinges.className.substr(7,1);

	$('car_' + dinges.id.substr(7,1)).addClassName('active_gallery');
	
	for (i = 2; i <= items+1; i++)
	{
		if(i != dinges.id.substr(7,1)){
			$('car_' + i).removeClassName('active_gallery');
		}
	}
	
	if(dinges.id.substr(7,1) == 5)
	{
		counter = 1;	
	}else if(dinges.id.substr(7,1) == 2){
		counter = 2;
	}else if(dinges.id.substr(7,1) == 3){
		counter = 3;
	}else if(dinges.id.substr(7,1) == 4){
		counter = 4;
	}
	
	clickSwapper = true;
		
	shiftImage(toBeShown);
	
	return false;
}

function stopSwap()
{
	clearInterval(myInterval);
}

window.onload = shiftImage;