function showBlock(prefix, element, elemTagName) {
	collapseBlocks(prefix, elemTagName);
	var elem = document.getElementById(element);
	changeElementStyle(elem, true);
}

function changeElementStyle(elem, show) {
	if (show) {
		showElem(elem);
	} else {
		hideElem(elem);
	}
}

function showElem(element) {
	if(element!=null) {
		element.style.display = 'block';
	}
}

function hideElem(element) {
	if(element!=null) {
		element.style.display = 'none';
	}
}
function expandBlock(elemTagName) {
	var elem = document.getElementById(elemTagName);
	showElem(elem);
}

function collapseBlock(elemTagName) {
	var elem = document.getElementById(elemTagName);
	hideElem(elem);
}

function expandBlocks(elementPrefix, elemTagName) {
	showBlocks(elementPrefix, 'block', elemTagName);
}

function collapseBlocks(elementPrefix, elemTagName) {
	showBlocks(elementPrefix, 'none', elemTagName);
}

function showBlocks(elementPrefix, styleDisplay, elemTagName) {
	if(elemTagName==null) {
		elemTagName='dd';
	}

	var ddelems = document.getElementsByTagName(elemTagName);
	for ( var i = 0; i < ddelems.length; i++) {
		if (ddelems[i].id.indexOf(elementPrefix) == 0) {
			changeElementStyle(ddelems[i], styleDisplay == 'block');
		}
	}
}

function crtStyle(elem) {
	if (elem.currentStyle) { // IE
		var crtStyle = elem.currentStyle;
	} else if (window.getComputedStyle) {
		var crtStyle = window.getComputedStyle(elem, null);
	}
	return crtStyle;
}

/* cookies */
// usage: getCookie('cookie_name'); 
function getCookie(check_name) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split(';');
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for (i = 0; i < a_all_cookies.length; i++) {
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split('=');

		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if (cookie_name == check_name) {
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no =
			// sign, that is):
			if (a_temp_cookie.length > 1) {
				cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
			}
			// note that in cases where cookie is initialized but no value, null
			// is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if (!b_cookie_found) {
		return null;
	}
}

/*
 * only the first 2 parameters are required, the cookie name, the cookie value.
 * Cookie time is in milliseconds
 * Generally you don't need to worry about domain, path or secure for most
 * applications so unless you need that, leave those parameters blank in the
 * function call.
 */
function setCookie(name, value, expires, path, domain, secure) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime(today.getTime());
	if (expires) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date(today.getTime() + (expires));
	document.cookie = name + "="
			+ escape(value)
			+ ((expires) ? ";expires=" + expires_date.toGMTString() : "")
			+ ((path) ? ";path=" + path : "")
			+ ((domain) ? ";domain=" + domain : "")
			+ ((secure) ? ";secure" : "");
}

function deleteCookie(name, path, domain) {
	if (getCookie(name))
		document.cookie = name + "=" + ((path) ? ";path=" + path : "")
				+ ((domain) ? ";domain=" + domain : "")
				+ ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function testCookies(message) {
	setCookie('test', 'none', '', '/', '', '');
	if (!getCookie('test')) {
		document.write(message);
	} else {
		deleteCookie('test', '/', '');
	}
}

function addBookmark(title, url) {
	if(document.all) { //MSIE
    	window.external.AddFavorite(url, title);
	} else if (window.sidebar) { // firefox
		window.sidebar.addPanel(title, url,"");
	} else {
		alert("Browser incompatibil, linkul "+title+" nu a fost salvat!");
	}
}