Wildbill~eswikiversity
/************ Módulo wQuiz **************/ //Versión 1.0, 18 de marzo de 2006 //w:Usuario:Comae/monobook.js //Verificado en Opera 8.5, IE 6, Firefox 1.5
var wQuizAnswers=null, wQuizQuestions=null, wQuizQuestion=new Array(), wQuizAnswer=new Array(), wQuizPts;
function wQuizGetSelected(o){ for(i=0;i<o.length;i++) if(o[i].checked) return(i); return(-1); } function wQuizOnResult(f){ var i=0, j=0, p1, p2; wQuizPts=0; p1=f.firstChild; do{ if(p1.nodeName!='FIELDSET') continue; p2=p1.firstChild.nextSibling.nextSibling.firstChild; do{ if(p2.nodeName!='INPUT') continue; if(p2.checked) wQuizCount(i,j); j++; }while(null!=(p2=p2.nextSibling)); j=0; i++; }while(null!=(p1=p1.nextSibling)); alert("Has obtenido "+wQuizPts+" en esta prueba."); }
function wQuizCount(i,j){ if(wQuizQuestion[i][j]==wQuizAnswer[i]) wQuizPts++; }
function wQuizGetItems(ident){ if(document.getElementById(ident)!==null){ var tmp=document.getElementById(ident).firstChild; if(tmp.nodeName!='OL'){//Para !=IE tmp=tmp.nextSibling; } return(tmp); }else{return(null);} }
function wQuiz() { if (document.getElementById && document.createElement) { var wQuizQuestions=wQuizGetItems('wquiz'); var wQuizAnswers=wQuizGetItems('wQuizAnswers');
if (!(null==wQuizQuestions || null==wQuizAnswers)) { var a=wQuizCreate(wQuizQuestions, wQuizAnswers); if(a!=0) wQuizQuestions.parentNode.innerHTML=a; } } }
function wQuizCreate(questions, answers) { var txt='<form>', ptr, lista, i=0, j; ptr=questions.firstChild; do { if(ptr.nodeName!='LI') continue;
txt+='<fieldset><legend>Pregunta nº'+(i+1)+'</legend>'+ptr.firstChild.data+"\n
lista=ptr.getElementsByTagName('LI');
wQuizQuestion[i]=new Array();
for(j=0;j<lista.length;j++){
txt+='<input type="radio" id="preg'+i+'_'+j+'" name="preg'+i+'" value="'+lista[j].firstChild.data+'">'+lista[j].firstChild.data+'</input>
\n';
wQuizQuestion[i][j]=lista[j].firstChild.data;
}
i++;
</fieldset>';
}while(null!==(ptr=ptr.nextSibling)) var i=0; ptr=answers.firstChild; do { if(ptr.nodeName!='LI') continue; wQuizAnswer[i++]=ptr.firstChild.data; }while(null!==(ptr=ptr.nextSibling))
return(txt+'<button onclick="wQuizOnResult(this.form); return(false);">Finalizar la prueba</button></form>'); }
/************ Fin módulo wQuiz **************/
/*********** Motor de módulos ***********/
/* Éste es el que pone en marcha los módulos.
/* No debes cambiar esta parte NUNCA.
/* Para configurar tus módulos, vete a la sección del
/* final, donde pone "Configuración de módulos".
/*********************************************************/
var plugin=new Array();
function pluginRun() { //Cargar todos los plugins for (i=0;i<plugin.length;i++) {
plugin[i]();
} }
function pluginLoad(nombre) {
plugin[plugin.length++]=nombre;
}
function pluginImport(nombre) //Cargar plugin(i) {
document.write('<'+'script src="/w/wiki.phtml?title='+nombre+'&ctype=text/javascript&action=raw&dontcountme=s" type="text/javascript"><'+'/script>');
} window.onload = pluginRun;
/****************** Configuración de módulos ******************/ /* Si quieres desactivar temporalmente un módulo, basta con /* agregar dos barras "//" al principio de las líneas en las /* que aparezca. /**************************************************************/ //Activar plugins pluginLoad(wQuiz);