// Collapse/expand content sections
// By Petko Bossakov (pbossakov at odesk dot com)
function collapse(targetID) {
	header = document.getElementById('header'+targetID);
	button = document.getElementById('collapse'+targetID);
	content = document.getElementById('content'+targetID);

	// Hide content
	if(content) content.style.display = 'none';

	// Update header class
	if(header) header.className = 'collapsed';

	// Update button image
	if(button) button.src = base_url + 'images/expand.gif';

}

function expand(targetID, buttonID) {
	header = document.getElementById('header'+targetID);
	button = document.getElementById('collapse'+targetID);
	content = document.getElementById('content'+targetID);

	// Show content
	if(content) content.style.display = 'inline';
	// Update button image
	if(button) button.src = base_url + 'images/collapse.gif';
	// Update header class
	if(header) header.className = '';
}

function toggle(targetID) {
	tStatus = document.getElementById('content'+targetID).style.display;
	if (tStatus == 'none') { expand(targetID); }
	else { collapse(targetID); }
	save_state(targetID);
}

function save_state(targetID) {
	// Get cookie
    var cookie = readCookie('collapse');
	if(!cookie) cookie='';
	
	// See if target content is collapsed
	tStatus = document.getElementById('content'+targetID).style.display;
	if (tStatus == 'none') { state = '1'; }
	else { state = '0'; }
	
	var xsearch = new RegExp(targetID + '=[01]{1},');
	if(xsearch.test(cookie)) {
		// Replace value in cookie if it already exists
        cookie = cookie.replace(xsearch, targetID + '=' + state + ',');
	} else {
		// Otherwise, append new data to the cookie
        cookie = cookie + targetID + '=' + state + ',';
	}

	// July 12, 2016 is going to be a beautiful day.
	// Save the cookie and let it expire on that date.. :)
    setCookie('collapse', cookie, new Date('July 12, 2016'));
}

function load_state(targetID) {
	// Get cookie
    var cookie = readCookie('collapse');
	if(!cookie) cookie='';

// See if any value is stored
	var search = new RegExp(targetID + '=[01]{1},');
	var match = search.exec(cookie);
	
	// Do we have a match?
	if (match != null) {
		pos = match[0].length - 2;
		state = match[0].charAt(pos);

		// Collapse the section if needed
		if(state == '1') collapse(targetID);
		if(state == '0') expand(targetID);
	}
}