		function s_question(a,l){
			var f,j,i,el;
			if (l==0) return;
			f=a.form;
			j = 0;
			for(i=0; i<f.elements.length; i++){
				el = f.elements[i];
				if((el.getAttribute('q') == a.getAttribute('q')) && (el.checked) && (el.id!=a.id)){
					j++;
					t=el;
				}
			}

			if ((j+1)>l){
				if (l==1){
					t.checked = false;
					if (t.getAttribute('t')=='answer_ext'){
						document.getElementById("e"+t.id).disabled = "true";
					}
				}
				else a.checked = false;
			}
		}

		function s_question_ext(a,l){
			s_question(a,l);
			var t = document.getElementById("e"+a.id);
			t.disabled = !a.checked;
		}

		function sq_question(a,l){
			var f,j,i,el,t;
			if (l==0) return;
			f=a.form;
			j = 0;
			for(var i=0; i<f.elements.length; i++){
				el = f.elements[i];
				if((el.getAttribute('q') == a.getAttribute('q')) && (el.checked) && (el.id!=a.id)){
					j++;
					t = el;
				}
			}

			if ((j+1)>l){
				if (l==1){
					 t.checked = false;
				}
				else a.checked = false;
			}
		}

		function r_question(a){
			var f,g,el,i,o,q;

			f=a.form;
			g = new Array();
			el;

			for(i=0; i<f.elements.length; i++){
				el = f.elements[i];
				if(el.getAttribute('q') == a.getAttribute('q')){
					if ((el.id!=a.id) && (el.value==a.value) && el.value!=0){
						a.selectedIndex = 0;
						return;
					}
					if (el.value>0){
						g[el.value] = true;
					}
				}
			}

			for(i=0; i<f.elements.length; i++){
				el = f.elements[i];
				if(el.getAttribute('q') == a.getAttribute('q')){
					o = el.options;
					for (q=0; q<o.length; q++){
						if (o[q].getAttribute('value')!=el.value && g[o[q].getAttribute('value')]){
							o[q].style.color = "#c6c6c6";
						}
						else {
							o[q].style.color = "";
						}
					}
				}
			}
		}
