function openclose() {
	if(jQuery("#right div.csc-content").length == 0) return;

	var list = jQuery("#right").children("div.csc-content");
	
	setClasses(list);

	// Klappboxen rechts mit Cookie-Speicherung
	jQuery.each( list, function(i, listelem) {
		
		if (jQuery('.default-opened', listelem).length == 1) {
			jQuery(listelem).removeClass('closed').addClass('opened');
			jQuery('.csc-textpic-content', listelem).show();
			return true; // continue
		}
		
		jQuery(listelem).find("div.csc-header:first").find("h2:first").click( function() {
			var header=jQuery(this);
			var content=jQuery(this).parents("div.csc-content:last");
			jQuery(content).find('div.csc-textpic-content:first').slideToggle(function() {
				jQuery(content).toggleClass('opened');
				jQuery(content).toggleClass('closed');
				if(jQuery(content).hasClass('opened')) {
					setListElement(jQuery(header).html(),true);
				} else {
					setListElement(jQuery(header).html(),false);
				}
			});
		});
	});
	
	// Auf-/Zuklappen
	jQuery("#center div.csc-frame-frame1").each(function(i, listelem) {
		jQuery(listelem).find("div.csc-textpic-content:first").hide();
		jQuery(listelem).addClass('closed').find("div.csc-header:first").click( function() {
			var content=jQuery(this).parents("div.csc-frame:last");
			jQuery(content).find('div.csc-textpic-content:first').slideToggle(function() {
				jQuery(content).toggleClass('opened');
				jQuery(content).toggleClass('closed');
			});
		});
	});

	// Accordion
	jQuery("#center div.csc-frame-frame2").each(function(i, listelem) {
		jQuery(listelem).find("div.csc-textpic-content:first").hide();
		jQuery(listelem).addClass('closed').find("div.csc-header:first").click( function() {
			var listelem=jQuery(this);
			var content=jQuery(this).parents("div.csc-frame:last");
			if(jQuery(content).hasClass('closed')) {
				jQuery("#center div.csc-frame-frame2").each(function(j, otherlist) {
					if(jQuery(otherlist)!=listelem && jQuery(otherlist).hasClass('opened')) {
						jQuery(otherlist).find("div.csc-textpic-content:first").slideUp(function() {
							jQuery(otherlist).removeClass('opened').addClass('closed');
						});
					}
				});
				jQuery(content).find('div.csc-textpic-content:first').slideDown(function() {
					jQuery(content).removeClass('closed').addClass('opened');
				});
			}
		});
	});
	
}

function setClasses(listElements) {
	var cookieObject;
	var exists;
	if(getCookie("headings") === false) {
		cookieObject = new Object();
		exists = false;
	} else {
		cookieObject = getCookie("headings");
		exists = true;
	}

	jQuery.each(listElements, function(i, listElement) {
		if(jQuery(listElement).find("div.csc-header").length > 0) {
			var listElementHeading = jQuery(listElement).find("div.csc-header:first").find("h2:first")
			if(exists) {
				if(typeof(cookieObject[removeHTMLTags(jQuery(listElementHeading).html())]) != 'undefined' && cookieObject[removeHTMLTags(jQuery(listElementHeading).html())]["opened"]) {
					jQuery(listElement).addClass("opened");
				} else {
					jQuery(listElement).addClass("closed");
					jQuery(listElement).find('div.csc-textpic-content:first').hide();
				}
			} else {
				jQuery(listElement).addClass("closed");
				jQuery(listElement).find('div.csc-textpic-content:first').hide();
				setListElement(jQuery(listElementHeading).html(), false);
			}
		}
	});
}

function setListElement(listElementHeading, opened) {
	var tempHeadings;
	if(getCookie("headings") === false) {
		tempHeadings = new Object();
	} else {
		tempHeadings = getCookie("headings");
		deleteCookie("headings");
	}
	listElementHeading = removeHTMLTags(listElementHeading);
	tempHeadings[listElementHeading] = {
		"opened": opened
	}
	setCookie("headings", tempHeadings);
}

function setCookie(cookieName, cookieObject) {
	jQuery.cookie(cookieName, jQuery.toJSON(cookieObject), {path: "/"});
}

function getCookie(cookieName) {
	if(jQuery.cookie(cookieName) !== null) {
		return jQuery.evalJSON(jQuery.cookie(cookieName));
	}
	return false;
}

function deleteCookie(cookieName) {
	if(getCookie(cookieName) !== null) {
		jQuery.cookie(cookieName,null);
	}
}

function removeHTMLTags(text) {
	var strInputCode = text;
	strInputCode = strInputCode.replace(/&(lt|gt);/g, function (strMatch, p1) {
		return (p1 == "lt")? "<" : ">";
	});
	var strTagStrippedText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
	return strTagStrippedText;
}


jQuery(document).ready(function(){
	openclose();
});


// $("totop").addEvent('click',function() { alert(getCookie("headings")); });
