
function qShowChoice1() {
	//primeste parametrii: div, nume form, nume camp, nume camp other, optiune1, optiune 2, optiune 3 ...
	//daca val campului este egala cu oricare dintre optiuni, setez div-ul invizibil
	//daca printr optiuni este si other, atunci q_other_idq trebuie sa fie diferita de spatiu
	var ind = false;
	var elem, temp;
	var div = qShowChoice1.arguments[0];
	var form = qShowChoice1.arguments[1];
	var camp = qShowChoice1.arguments[2];
	form = document.forms[form];
	camp = form[camp];	
	var other = qShowChoice1.arguments[3];	
	for (var i=4; i<qShowChoice1.arguments.length; i++) {
		elem = qShowChoice1.arguments[i];	
		if (elem=='other') {
			if (!is_empty(form[other].value)) {
				ind = true;
				break;
			}
		} else if (camp.value==elem) {
			ind = true;
			break;
		}
	}
	if (ind==true) {
		showDiv(div);
	} else {
		hideDiv(div);		
	}
}

function qShowChoice() {
	//primeste parametrii: div, logic, numeform, nume camp, nume camp other,  optiune1, optiune 2, optiune 3 ...
	//daca logic == "all" si numecamp de toate optiunile este on, ascund divul
	// daca logic == "any" si cel putin o optiune este on, ascund divul
	//daca printr optiuni este si other, atunci q_other_idq trebuie sa fie diferita de spatiu	
	var ind = false;
	var elem, temp, separator, nr, nrf, idem, indo, plus;
	var div = qShowChoice.arguments[0];
	var logic = qShowChoice.arguments[1];
	var form = qShowChoice.arguments[2];
	var camp = qShowChoice.arguments[3];	
	var other = qShowChoice.arguments[4];	
	form = document.forms[form]; 
	camp = form[camp]; 
	nr = qShowChoice.arguments.length; 
	nrf = camp.length;
	idem = 0; plus = 0;
	for (var i=0; i<nrf; i++) {
		for (var j=5; j<nr; j++) {
			if (qShowChoice.arguments[j]=='other') {
				indo = true; plus = 1;
				if (!is_empty(form[other].value)) {
					idem ++;
				}	
			} else if (camp[i].value==qShowChoice.arguments[j] && (camp[i].checked==true || camp[i].selected==true)) {
				idem ++; 
			}
		}
	}
	if (indo==true) nrf = nrf+plus;
	if (logic=="all") {
		if (idem>=nrf) ind = true;
	} else {
		if (idem>0) ind = true;
	}
	if (ind==true) {
		showDiv(div);
	} else {
		hideDiv(div);		
	}
}

function qShowMatrix3() {
	//primeste parametrii: div, logica, nume form, nume camp1, valcamp 1, nume camp 2, val camp 2 ... (pt matrici radio si tridim)
	// daca oricare dintre campuri este egal cu valoare sa ascund divul
	var ind = false;
	var nrf, camp, val, idem, nrf;
	var div = qShowMatrix3.arguments[0];
	var logic = qShowMatrix3.arguments[1];
	var form = qShowMatrix3.arguments[2];

	form = document.forms[form];
	nr = qShowMatrix3.arguments.length; 
	idem = 0; 
	for (var i=3; i<nr; i+=2) {
		camp = qShowMatrix3.arguments[i];
		camp = form[camp];
		val = qShowMatrix3.arguments[i+1];
		nrf = camp.length; 
		for (var j=0; j<nrf; j++) {
			if (camp[j].value==val && (camp[j].checked==true || camp[j].selected==true)) {
				idem ++; 
			}
			
		}		
	}
	if (logic=="all") {
		if (idem>=(nr-3)/2) ind = true;
	} else {
		if (idem>0) ind = true;
	}
	if (ind==true) {
		showDiv(div);
	} else {
		hideDiv(div);		
	}	
}

function qShowMatrix4() {
	//primeste parametrii: div, logic, nume form, nume camp1, nume camp 2 ... (pt matrici checkbox)
	// daca logic =="any" si oricare dintre campuri este "on" ascund divul
	//daca logic =="all"si toate campurile sunt "on" ascund divul
	var ind = false;
	var nrf, camp, val, idem, nrf;
	var div = qShowMatrix4.arguments[0];
	var logic = qShowMatrix4.arguments[1];
	var form = qShowMatrix4.arguments[2];

	form = document.forms[form];
	nr = qShowMatrix4.arguments.length; 
	idem = 0; 
	for (var i=3; i<nr; i++) {
		camp = qShowMatrix4.arguments[i];
		camp = form[camp];
		if (camp.checked==true || camp.selected==true) {
			idem ++; 
		}
	}
	if (logic=="all") {
		if (idem>=(nr-3)) ind = true;
	} else {
		if (idem>0) ind = true;
	}
	if (ind==true) {
		showDiv(div);
	} else {
		hideDiv(div);		
	}	
}



function qShowOpenEnd() {
	//primeste parametrii: div, logic, nume form, nume camp1, nume camp 2, ...
	// daca logic =="any" si oricare dintre campuri nu este null sau spatiu ascund divul
	//daca logic =="all"si toate campurile nu sunt nule sau spatiu ascund divul
	var ind = false;
	var elem, temp, idem;
	var div = qShowOpenEnd.arguments[0];
	var logic = qShowOpenEnd.arguments[1];
	var form = qShowOpenEnd.arguments[2];
	form = document.forms[form];
	idem = 0;
	for (var i=3; i<qShowOpenEnd.arguments.length; i++) {
		elem = qShowOpenEnd.arguments[i];	
		if (!is_empty(form[elem].value)) {
			idem ++;
		}
	}
	if (logic=="all") {
		if (idem>=(nr-3)) ind = true;
	} else {
		if (idem>0) ind = true;
	}	
	if (ind==true) {
		showDiv(div);
	} else {
		hideDiv(div);		
	}
}
// ================= TO DO : verificare la date/time
