var img_pos = 0;
var slshw = null;
var img_list = null;
var cycle = false;
var delay = 5000;
var str_query = '';

function updatepageimg(i)
{
	var strTemp, pos;
	strTemp = img_names[i];
	if (strTemp.length == 0) strTemp = img_list[i];
	if (!slshw) {
		var obj_temp = document.getElementById('prevctl');
		if ((typeof obj_temp == "object" ) && (obj_temp != null)) {
			if (i <= 0) {
				i = 0;
				obj_temp.firstChild.nodeValue = 'First';
			} else {
				obj_temp.firstChild.nodeValue = 'Previous';
			}
		}
		obj_temp = document.getElementById('nextctl');
		if ((typeof obj_temp == "object" ) && (obj_temp != null)) {
			if (i >= (img_list.length - 1)) {
				i = img_list.length;
				obj_temp.firstChild.nodeValue = 'Last';
			} else {
				obj_temp.firstChild.nodeValue = 'Next';
			}
		}
	}
	var img_id = document.getElementById('image_id');
	if ((typeof img_id == "object" ) && (img_id != null)) {
		img_id.value = img_list[i];
	}
	img_id = document.getElementById('cor_img');
	if ((typeof img_id == "object" ) && (img_id != null)) {
		img_id.value = strTemp;
	}
	var img_id = document.getElementById('image_name');
	if ((typeof img_id == "object" ) && (img_id != null)) {
		img_id.textContent = strTemp;
		img_id.innerText = strTemp;
		pos = img_id.parentNode.href.indexOf('&i=')
		if (pos <= 0) pos = img_id.parentNode.href.length;
		img_id.parentNode.href = img_id.parentNode.href.substr(0,pos) + '&i=' + img_list[i];
	}
	return;
}

function changeimage(direction)
{
	if (slshw) {
		delay += 0.25 * ( - direction) * delay;
		if (delay < 2000) delay = 2000;
		if (delay > 20000) delay = 20000;
		window.clearInterval(slshw);
		slshw = window.setInterval("nextimage()", delay);
		if (direction > 0) nextimage();
	} else {
		n = img_pos + direction;
		if (n < 0) {
			img_pos = 0;
		} else if (n >= img_list.length) {
			img_pos = img_list.length - 1;
		} else if (img_list[n].length) {
			if (direction) {
				replaceImage(img_pos, n);
				img_pos = n;
				updatepageimg(n);
			}// else img_pos = 0;
		}
	}
	return false;  // Disable anchor
}

function nextimage()
{
	var obj_img = document.getElementById('dispImage');
	img_id = img_pos + 1;
	if ((img_id < 0) || (img_id >= img_list.length) || (img_list[img_id].length == 0)) {
		img_id = 0;
		if (!cycle) slideshow();
	}
	replaceImage(img_pos, img_id);
	img_pos = img_id;
	updatepageimg(img_pos);
	return true;
}

function showimage(img_id)
{
	if (slshw) slideshow();
	if ((img_id < 0) || (img_id >= img_list.length) || (img_list[img_id].length == 0))
		img_id = 0;
	replaceImage(img_pos, img_id);
	img_pos = img_id;
	updatepageimg(img_pos);
	return false; // Disable anchor
}

function slideshow()
{
	var var_obj = document.getElementById('slshwctl');
	if ((typeof var_obj == "object" ) && (var_obj != null)) {
		if (slshw) {
			window.clearInterval(slshw);
			slshw = null;
			var_obj.firstChild.nodeValue = 'Start Slideshow';
//			var_obj.style.fontWeight = 'normal';
			updatepageimg(img_pos);
		} else {
			changeimage(1);
			slshw = window.setInterval("nextimage()", delay);
			var_obj.firstChild.nodeValue = 'Stop Slideshow';
//			var_obj.style.fontWeight = 'bold';
			var_obj = document.getElementById('prevctl');
			if ((typeof var_obj == "object" ) && (var_obj != null)) var_obj.firstChild.nodeValue = 'Slower';
			var_obj = document.getElementById('nextctl');
			if ((typeof var_obj == "object" ) && (var_obj != null)) var_obj.firstChild.nodeValue = 'Faster ';
		}
	}
	return false;; // Disable anchor
}

function InitAlbumFields()
{
	var obj_el = document.getElementById('slshwctl');
	if ((typeof obj_el == "object" ) && (obj_el != null)) obj_el.firstChild.nodeValue = 'Start Slideshow';
	var obj_img = document.getElementById('dispImage');
	if ((typeof obj_img == "object" ) && (obj_img != null)) {
		var i = 0;
		var cur_img = obj_img.src + "";
		var indTemp;
		while(i < img_list.length) {
			indTemp = cur_img.indexOf(img_list[i]);
			if (indTemp >= 0) {
				if ((cur_img.charAt(indTemp - 1) == '=') && ((indTemp + img_list[i].length) ==  cur_img.length)) break;
				else if ((cur_img.charAt(indTemp - 1) == '/') && (cur_img.indexOf(img_list[i]+'.jpg') == indTemp)) break;
			}
			i ++;
		}
		if (i < img_list.length) img_pos = i;
	}
}

var request;

//function showDescription(str_image, objImage, objNewImg)
function showDescription(str_image)
{
//	objImage.src = objNewImg.src;
	if(navigator.appName == "Microsoft Internet Explorer"){
		request = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		request = new XMLHttpRequest();
	}

//alert('./desc.php' + str_query + str_image);	
	request.open('get', './desc.php' + str_query + str_image);
	request.onreadystatechange = parseDesc;
	request.send('');
}

function parseDesc()
{
//alert('State: ' + request.readyState);
//	document.getElementById('bigImageDescription').innerHTML = 'Loading...';
	var obj_desc = document.getElementById('bigImageDescription');
	if ((typeof obj_desc == "object" ) && (obj_desc != null)) {
//		if(request.readyState == 1) obj_desc.innerHTML = '<p class="title">Loading...</p>';
		if(request.readyState == 4) obj_desc.innerHTML = request.responseText;
	}
}

function replaceImage(OldImgId, NewImgId)
{
	var objImage = document.getElementById('dispImage');
	if ((typeof objImage == "object" ) && (objImage != null)) {
		document.getElementById('bigImageDescription').innerHTML = '<p class="title">Loading...</p>';
		var pattern = new RegExp(img_list[OldImgId]);
		objImage.src = objImage.src.replace(pattern, img_list[NewImgId]);
		objImage.onLoad = showDescription(img_list[NewImgId]);
/*
		var objNewImg = new Image();
		objNewImg.src = objImage.src.replace(pattern, img_list[NewImgId]);
		objNewImg.onLoad = showDescription(img_list[NewImgId],objImage, objNewImg);
/*		if(navigator.appName == "Microsoft Internet Explorer"){
			request = new ActiveXObject("Microsoft.XMLHTTP");
		} else {
			request = new XMLHttpRequest();
		}
		request.open('get', './desc.php' + str_query + img_list[NewImgId]);
		request.onreadystatechange = parseDesc;
		request.send('');
*/
	}

}