/***********************/
//
// Copyright Christoph Berger 2010
// http://www.endo.ch
//
/***********************/


function changeClass(id, options, cookieGroup)
{
	var obj = document.getElementById(id);
	var classes = obj.className.split(' ');
	
	if (typeof(cookieGroup) == 'undefined')
		cookieGroup = '';
	
	var nextIndex = 0;
	Doppel: for (var pos in classes){
		var current = classes[pos];
		for (var i in options){
			if (options[i] == current){
				nextIndex = (1*i+1)%options.length; // caution: cast i to Num
				break Doppel;
			}
		}
	}
	classes[pos] = options[nextIndex];
	obj.className = classes.join(' ');
	replaceCookie(id+cookieGroup, options[nextIndex]);
	
}


function changeImage(id, options, dir)
{
	var obj = document.getElementById(id);
	var srcParts = obj.src.split('/');
	var current = srcParts[srcParts.length-1];
	var nextIndex = 0;
	for (var i in options){
		if (options[i] == current){
			nextIndex = (1*i+1)%options.length; // caution: cast i to Num
			break;
		}
	}
	obj.src = dir+options[nextIndex];
	replaceCookie(id, options[nextIndex]);
}


function replaceCookie(id, newValue){
	id = encodeURI(id);
	newValue = encodeURI(newValue);
	
	var cookieName = 'settings';
	var cookieValue = '';
	var cookies = document.cookie.split(';');
	var entry;
	for (var i in cookies){
		if (cookies[i].indexOf(cookieName+"=") > -1){
			entry = cookies[i].split('=');
			cookieValue = unescape(entry[1]);
			cookieValue = cookieValue.replace(new RegExp('\\['+id+':[^\\]]*\\]', 'g'), ''); //delete old entry
			break;
		}
	}
	cookieValue += '['+id+':'+newValue+']';
	
	var jetztMoment = new Date(); 
	var verfallMoment = new Date(jetztMoment.getTime() + (14*24*60*60*1000)); // ca 14 Tage
	document.cookie = cookieName+'='+escape(cookieValue)+'; expires='+verfallMoment.toGMTString()+'; path=/; ';
}

function autoCollapse (element, id){
	
	var options = new Array('notCollapsed', 'collapsed');
	changeClass(id, options, 'C');
}
