addLoadEvent(initShowHide);

function initShowHide() {
	var comments = document.getElementsByTagName('a');
	for (var i=0; i<comments.length; i++) {
		if (comments[i].className.indexOf('btnAddComment') != -1) {
			
			/* if there is an error message */
			var content = comments[i].parentNode;
			if (content) {
				var ps = content.getElementsByTagName('p');
				for (var j = 0; j < ps.length; j++) {		
					if (ps[j].className.indexOf('errorOn') != -1) {
						if (!content.className.indexOf('show') != -1) {
							addClass(content,'show');
						}
					}
				}
			}
			
			/* on click */
			comments[i].onclick = function(){
				if (this.parentNode.className.indexOf('show') != -1) {
					remClass(this.parentNode,'show');
				}
				else{
					addClass(this.parentNode,'show'); 							
				}
			}
		}
	}
}	

addLoadEvent(initGenericShowHide);

function initGenericShowHide() {
	var ignitors = document.getElementsByTagName('*');
	for (var i = 0; i < ignitors.length; i++) {
		if (ignitors[i].className.indexOf("showHide") != -1) {
				
			ignitors[i].onclick = function() {
				doAction(this);
			}
			ignitors[i].onchange = function() {
				doAction(this);
			}
		}
	}
}
function doAction(elem) {
	var rel = elem.getAttribute('rel');
	var target = null; // target element
	if (rel) {
		switch(rel) {
			case 'nextSibling':
				target = elem.nextSibling;
				if (target.nodeType == 3) {
					target = target.nextSibling;
				}
			break;
			default:
				target = document.getElementById(rel);
			break;
		}
		// action
		if (target) {
		
			if ((target.style.display == 'none') || (!target.style.display)) {
				target.style.display = 'block';
			} else {
				target.style.display = 'none';
			}
		}
	}
} 



