var selectedReferenceLink = 'referencelink0';
var VISITED_REFERENCE_LIST = new Array();
var CURRENT_SELECTED_REFERENCE_ID = null;

function saveInfo() {
var tmp = CURRENT_SELECTED_REFERENCE_ID;
if (tmp == null) {
tmp = -1;
}
SetCookie('reference:list:selected-reference', tmp);

tmp = new Array();
var isVisited = null;

for (slideIndex in VISITED_REFERENCE_LIST) {
if (VISITED_REFERENCE_LIST[slideIndex] == true) {
tmp[tmp.length] = slideIndex;
}
}
SetCookie('reference:list:visited-reference', tmp.join(';'));

return true;
}

function loadInfo() {
var tmp = GetCookie('reference:list:visited-reference');
if (tmp == null) {
tmp = new String('');
}
tmp = tmp.split(';');

var sz = tmp.length;
var i = 0;
var slideIndex = null;
var elid = null;
var el = null;
for (i = 0; i < sz; i++) {
slideIndex = tmp[i];
VISITED_REFERENCE_LIST[slideIndex] = true;

elid = 'referencelink' + slideIndex;
el = document.getElementById(elid);
if (el) {
el.className = 'visitedreferenceentry';
}
}

tmp = GetCookie('reference:list:selected-reference');
if (tmp == null) {
tmp == -1;
}
if (parseInt(tmp, 10) == -1) {
return true;
}
if (tmp == CURRENT_SELECTED_REFERENCE_ID) {
return true;
}
elid = 'referencelink' + tmp;
el = document.getElementById(elid);
if (el) {
el.className = 'selectedreferenceentry';
CURRENT_SELECTED_REFERENCE_ID = tmp;
selectedReferenceLink = 'referencelink' +tmp;
}

if (tmp != 0) {

elid = 'referencelink' + 0;
el = document.getElementById(elid);
if (el) {
el.className = 'visitedreferenceentry';
}
}

return true;
}

function changeSlideshow(slideIndex) {
	//alert('onclick start');
	var linkId = 'referencelink' + slideIndex;
	
	if (selectedReferenceLink == linkId) {
		return false;
	}
	
	var fr = null;
	fr = document.getElementById('references');
	if (!fr) {
		//alert('error #1');
		return false;
	}
	
	var win = null;
	if (fr.contentWindow) {
		win = fr.contentWindow;
		
	} else if (fr.defaultView) {
		win = fr.defaultView;
		
	} else if (fr.window) {
		win = fr.window;
		
	} else if (fr.slideshow) {
		win = fr;
		
	} else if (document.frames['references'].slideshow){
		win = document.frames['references'];
		
	} else {
		//alert('error #2');
		return false;
	}
	
	//alert('step #1');
	win.slideshow.moveToSlide(slideIndex);
	//alert('step #2');
	
	var el = document.getElementById(selectedReferenceLink);
	if (el) {
		el.className = 'visitedreferenceentry';
	}
	
	el = document.getElementById('referencelink' +slideIndex);
	if (el) {
		el.className = 'selectedreferenceentry';
	}
	VISITED_REFERENCE_LIST[slideIndex] = true;
	CURRENT_SELECTED_REFERENCE_ID = slideIndex;
	selectedReferenceLink = 'referencelink' +slideIndex;
	saveInfo();
	return false;
}

function onMouseoverWrapper(id) {
	
	var el = document.getElementById('referencelink'+id); 
	if (el.className == 'referenceentry') {
		el.className = 'referenceentry-hover';
	} else if (el.className == 'visitedreferenceentry') {
		el.className = 'visitedreferenceentry-hover';
	} else if (el.className == 'selectedreferenceentry') {
		el.className = 'selectedreferenceentry-hover';
	}
	return true;
}

function onMouseoutWrapper(id) {
	var el = document.getElementById('referencelink'+id); 
	if (el.className == 'referenceentry-hover') {
		el.className = 'referenceentry';
	} else if (el.className == 'visitedreferenceentry-hover') {
		el.className = 'visitedreferenceentry';
	} else if (el.className == 'selectedreferenceentry-hover') {
		el.className = 'selectedreferenceentry';
	}
	return true;
}