var browse_elements = new Array();

function setNewBrowseElement(itemname,mode,autochane,autochanetime){
	if(mode=='start'){
		//set default array settings
		browse_elements[itemname] = new Array();
		browse_elements[itemname]['backlink'] = false;
		browse_elements[itemname]['forwardlink'] = false;
		browse_elements[itemname]['autoChangeElementItem_locked'] = false;
	}
	if(mode=='end'){
		//start check if the element exist, when not then cancel this funcion...
		if(!$$('div.' + itemname)){
			document.write('no DIV with CLASS "' + itemname + '" found');
			return;
		}
		if(!$(itemname + '-nav-item-current')){
			document.write('no DIV with ID "' + itemname + '-nav-item-current' + '" found');
			return;
		}
		if(!$(itemname + '-nav-items')){
			document.write('no DIV with ID "' + itemname + '-nav-items' + '" found');
			return;
		}
		if(!$(itemname + '-nav-backlink')){
			document.write('no A with ID "' + itemname + '-nav-backlink' + '" found');
			return;
		}
		if(!$(itemname + '-nav-forwardlink')){
			document.write('no A with ID "' + itemname + '-nav-forwardlink' + '" found');
			return;
		}
		if(!$(itemname + '-nav')){
			document.write('no DIV with ID "' + itemname + '-nav' + '" found');
			return;
		}
		//end check if the element exist, when not then cancel this funcion...
		
		//set elements in array settings
		browse_elements[itemname]['div-items'] = $$('div.' + itemname);
		browse_elements[itemname]['nav-item-current'] = $(itemname + '-nav-item-current');
		browse_elements[itemname]['nav-items'] = $(itemname + '-nav-items');
		browse_elements[itemname]['nav-backlink'] = $(itemname + '-nav-backlink');
		browse_elements[itemname]['nav-forwardlink'] = $(itemname + '-nav-forwardlink');
		
		//output the navigaion when more the one element exist...
		if(browse_elements[itemname]['div-items'].length > 1){
			browse_elements[itemname]['nav-items'].innerHTML = browse_elements[itemname]['div-items'].length;
			$(itemname + '-nav').show();
			changeElementItem(1, itemname);
			
			//check if autochange set?
			if(autochane){
				window.setTimeout(function(){autoChangeElementItem(itemname,autochanetime);}, autochanetime);
			}
		}
	}
}

function changeElementItem(new_nr, itemname){
	element_current_nr = browse_elements[itemname]['nav-item-current'];
	
	//hide the old item
	browse_elements[itemname]['div-items'][element_current_nr.innerHTML - 1].hide();
	//show the new item
	browse_elements[itemname]['div-items'][new_nr-1].show();
	
	element_current_nr.innerHTML = new_nr;
	
	//modifiy the back-value
	if(new_nr > 1){
		browse_elements[itemname]['backlink'] = new_nr-1;
	}
	else{
		browse_elements[itemname]['backlink'] = browse_elements[itemname]['div-items'].length;
	}
	
	//modifiy the forward-value
	if(new_nr < browse_elements[itemname]['div-items'].length){
		browse_elements[itemname]['forwardlink'] = new_nr+1;
	}
	else{
		browse_elements[itemname]['forwardlink'] = 1;
	}
	
	//modify the backlink with back-value
	browse_elements[itemname]['nav-backlink'].onclick = function(){
		changeElementItem(browse_elements[itemname]['backlink'],itemname);
	}
	
	//modify the forwarlink with forward-value
	browse_elements[itemname]['nav-forwardlink'].onclick = function(){
		changeElementItem(browse_elements[itemname]['forwardlink'],itemname);
	}
}

function autoChangeElementItem(itemname,time){
	//check if user has set autoChangeElementItem_locked != true
	if(!browse_elements[itemname]['autoChangeElementItem_locked']){
		var next_nr = browse_elements[itemname]['forwardlink'];
		//change the items
		changeElementItem(next_nr,itemname)
	}
	//restart this function for the next change...
	window.setTimeout(function(){autoChangeElementItem(itemname,time);}, time);	
}

function startReload(itemname){
	//approve the locked autoChangeElementItem
	browse_elements[itemname]['autoChangeElementItem_locked'] = false;
}

function stoppReload(itemname){
	//locked the autoChangeElementItem
	browse_elements[itemname]['autoChangeElementItem_locked'] = true;
}
