window.onload = prep;

var slides = new Array();

slides[0] = new Object;
slides[0].img = 'bali.jpg';
slides[0].url = 'http://globalganjareport.com/cmr/section.php';

slides[1] = new Object;
slides[1].img = 'amsterdam.jpg';
slides[1].url = 'http://globalganjareport.com/cmr/section.php';

slides[2] = new Object;
slides[2].img = 'thailand.jpg';
slides[2].url = 'http://globalganjareport.com/cmr/section.php';

slides[3] = new Object;
slides[3].img = 'new-york-city.jpg';
slides[3].url = 'http://globalganjareport.com/cmr/section.php';

slides[4] = new Object;
slides[4].img = 'north-carolina.jpg';
slides[4].url = 'http://globalganjareport.com/cmr/section.php';

slides[5] = new Object;
slides[5].img = 'california_new.jpg';
slides[5].url = 'http://globalganjareport.com/cmr/section.php';


var curindex = 1;
var swtch = 1;

var timer;
var flag = 1;

function prep()
{
	if ( document.getElementById('slideshow_main') ){
		
		if ( document.getElementById('slideshow_nav') ){
			var slide_nav = document.getElementById('slideshow_nav');
			var slide_links = slide_nav.getElementsByTagName('a');
			slide_num = slide_links.length;

			for ( var x=0; x < slide_num; x++ ){
				slide_links[x].onclick = function(){
					setClick(this);
					return false;
				}
			}
		}
		
		timer = setTimeout('changeSlide('+curindex+')', 5000);	
	}
}

function setClick(link)
{
	if ( flag == 1){
		clearTimeout(timer);
		var slide_nav = document.getElementById('slideshow_nav');
		var slide_links = slide_nav.getElementsByTagName('a');
		
		for (var x=0; x < slide_num; x++)
		{
			if ( link == slide_links[x] )
			{
				curindex = x;
				break;
			}
		}
		changeSlide(x);
	}
	return false;
	
}

function changeSlide(index)
{
	if ( document.getElementById('slideshow_main') ){

		if ( flag == 1 ){
			flag = 0;
			var slideholder = document.getElementById('slideshow_main');
			if (swtch == 1){
				var current_slide = 'slide1';
				var new_slide = 'slide2';
				swtch = 2;
			} else {
				var current_slide = 'slide2';
				var new_slide = 'slide1';
				swtch = 1;
			}
			
			var slide = document.getElementById(current_slide);
			
			var newImg = new Image();
			newImg.onload = function()
			{
				var pic = makeElement('img', '');
				pic.setAttribute('src', '/cmr/images/slideshow_pics/'+slides[index].img+'');
				pic.setAttribute('alt', '');
				pic.onclick = function(){
					window.location = slides[index].url;
				}
				pic.style.cursor = 'pointer';
				var holder = makeElement('div', new_slide);
				holder.appendChild(pic);
	
				setOpacity(holder, 0);
				slideholder.appendChild(holder);
				
				fadein(new_slide, 0);
				fadeout(current_slide, 100);
				updateIndex(curindex+1);
				timer = setTimeout('changeSlide('+curindex+')', 5000);
			}
			newImg.src = '/cmr/images/slideshow_pics/'+slides[index].img;
			//create new div and load new image	
		}
		return false;
		
	}
}

function makeElement(tag, id)
{
	var ele = document.createElement(tag);
	if ( id != '' ){
		ele.setAttribute('id', id);
	}
	return ele;
}

function updateIndex(index)
{
	var total = slides.length;
	if ( index >= total ){
		curindex = 0;
	} else if ( index < 0 ){
		curindex = total - 1;
	} else {
		curindex = index;
	}
}

function fadein(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		
		if (opacity == 0){
			obj.style.visibility = "visible";
		}
		
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 20;
			window.setTimeout("fadein('"+objId+"',"+opacity+")", 100);
		} else {
			flag = 1;
		}
	}
}

function fadeout(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity == 0){
			obj.style.visibility = "hidden";
			var picholder = document.getElementById('slideshow_main');	
			var trash = picholder.getElementsByTagName("div");
			for (var d=0; d<trash.length; d++){
				if (trash[d].getAttribute('id') == objId){
					picholder.removeChild(trash[d]);
				}
			}			
		}
		
		if (opacity >= 0) {
			setOpacity(obj, opacity);
			opacity = opacity - 20;
			window.setTimeout("fadeout('"+objId+"',"+opacity+")", 100);
		}
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}

