// JavaScript Document
function get_element(){
	var elements=new Array();
	for(var i=0;i<arguments.length;i++){
		var element=arguments[i];
		if(typeof element=='string')
			element=document.getElementById(element);
		if(arguments.length==1) 
			return element;
		elements.push(element);
	}
	return elements;
}

function hide () {for (i = 0; i < arguments.length; i++) {var css_element = get_element(arguments[i]); if (css_element) css_element.style.display = "none";}}
function show () {for (i = 0; i < arguments.length; i++) {var css_element = get_element(arguments[i]); if (css_element) css_element.style.display = "";}}
function toggle () {for (i = 0; i < arguments.length; i++) {var css_element = get_element(arguments[i]); if (css_element) {
	css_element.style.display = (css_element.style.display) ? "":"none";
	}
}}


function expand () {
	for (i = 0; i < arguments.length; i++) {
		var css_element = get_element(arguments[i]); 
		if (css_element) {
			css_element.style.display = (css_element.style.display) ? "":"none";
			var plus=get_element("plus_"+arguments[i]);
			//alert(arguments[i]);
			if (plus) plus.style.display = (plus.style.display) ? "":"none";
			var minus=get_element("minus_"+arguments[i]);
			if (minus) minus.style.display = (minus.style.display) ? "":"none";
		}
	}
}

// From http://www.snook.ca/archives/javascript/your_favourite_1/
function getElementsByClass(node, classname) { 
var a = []; 
	var re = new RegExp('\\b' + classname + '\\b'); 
	var els = node.getElementsByTagName("*"); 
	for(var i=0,j=els.length; i<j; i++) 
			if(re.test(els[i].className))a.push(els[i]); return a; 
}

function toggle_all () {
	var container='task';
	element=document.getElementById(container);
	//alert(arguments.length);
	if (!arguments.length) {
		var rows= getElementsByClass(element, 'task');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display = (css_element.style.display) ? "":"none";
		} 
		var rows= getElementsByClass(element, 'minus');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display = (css_element.style.display) ? "":"none";
		} 
		var rows= getElementsByClass(element, 'plus');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display = (css_element.style.display) ? "":"none";
		} 
} else {
		for (j = 0; j < arguments.length; j++) {
			var rows= getElementsByClass(element, arguments[j]);
			for (i = 0; i < rows.length; i++) {
				var css_element =rows[i];
				css_element.style.display = (css_element.style.display) ? "":"none";
			} 
			//alert(arguments[j]);
			var plus=get_element("plus_"+arguments[j]);
			if (plus) plus.style.display = (plus.style.display) ? "":"none";
			var minus=get_element("minus_"+arguments[j]);
			if (minus) minus.style.display = (minus.style.display) ? "":"none";
		}
	}
}

function expand_all () {
	var container='task';
	element=document.getElementById(container);
	//alert(arguments.length);
	if (!arguments.length) {
		var rows= getElementsByClass(element, 'task');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display =  "";
		} 
		var rows= getElementsByClass(element, 'minus');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display =  "";
		} 
		var rows= getElementsByClass(element, 'plus');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display = "none";
		} 
	} else {
		for (j = 0; j < arguments.length; j++) {
			var rows= getElementsByClass(element, arguments[j]+"_child");
			for (i = 0; i < rows.length; i++) {
				var css_element =rows[i];
				css_element.style.display = "";
			} 
			//alert(arguments[j]);
			var plus=get_element("plus_"+arguments[j]);
			if (plus) plus.style.display = "none";
			var minus=get_element("minus_"+arguments[j]);
			if (minus) minus.style.display = "";
		}
	}
}

function collapse_all () {
	var container='task';
	element=document.getElementById(container);
	//alert(arguments.length);
	if (!arguments.length) {
		var rows= getElementsByClass(element, 'task');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display =  "none";
		} 
		var rows= getElementsByClass(element, 'minus');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display =  "none";
		} 
		var rows= getElementsByClass(element, 'plus');
		for (i = 0; i < rows.length; i++) {
			var css_element =rows[i];
			css_element.style.display = "";
		} 
	} else {
		for (j = 0; j < arguments.length; j++) {
			var rows= getElementsByClass(element, arguments[j]);
			for (i = 0; i < rows.length; i++) {
				var css_element =rows[i];
				css_element.style.display = "none";
			} 
			//alert(arguments[j]);
			var plus=get_element("plus_"+arguments[j]);
			if (plus) plus.style.display = "";
			var minus=get_element("minus_"+arguments[j]);
			if (minus) minus.style.display = "none";
			
			
			var buttons= getElementsByClass(element, arguments[j]+"_plus");
			for (k = 0; k < buttons.length; k++) {
				var button_to_close =buttons[k];
				if (button_to_close) button_to_close.style.display = "";
			} 
			
			var buttons= getElementsByClass(element, arguments[j]+"_minus");
			for (k = 0; k < buttons.length; k++) {
				var button_to_open =buttons[k];
				if (button_to_open) button_to_open.style.display = "none";
			} 
			
			
		}
	}
}

function togreg() {
    if (get_element("logform").op[1].checked) show("vpasstxt", "vpass");
    else hide("vpasstxt", "vpass");
}


function tog_type() {
    if (get_element("article").toggle_type.value==0) {hide("gen", "prod")};
    if (get_element("article").toggle_type.value=="gen") {show("gen"); hide("prod")};
    if (get_element("article").toggle_type.value=="prod") {show("prod"); hide("gen")};
}



function href(url) {
	window.location.href=url;
}
