Your IP : 216.73.216.95


Current Path : /var/www/moodledata/localcache/js/
Upload File :
Current File : /var/www/moodledata/localcache/js/363ebf28c114b006d68e7f33bdd918c44ab86f67

/**
 * JavaScript library for dealing with the question flags.
 *
 * This script, and the YUI libraries that it needs, are inluded by
 * the $PAGE->requires->js calls in question_get_html_head_contributions in lib/questionlib.php.
 *
 * @package    moodlecore
 * @subpackage questionengine
 * @copyright  2010 The Open University
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
M.core_question_flags={flagattributes:null,actionurl:null,flagtext:null,listeners:[],init:function(Y,actionurl,flagattributes,flagtext){M.core_question_flags.flagattributes=flagattributes;M.core_question_flags.actionurl=actionurl;M.core_question_flags.flagtext=flagtext;Y.all('div.questionflag').each(function(flagdiv,i){var checkbox=flagdiv.one('input[type=checkbox]');if(!checkbox){return}
var input=Y.Node.create('<input type="hidden" class="questionflagvalue" />');input.set('id',checkbox.get('id'));input.set('name',checkbox.get('name'));input.set('value',checkbox.get('checked')?1:0);var image=Y.Node.create('<input type="image" class="questionflagimage" />');var flagtext=Y.Node.create('<span class="questionflagtext">.</span>');M.core_question_flags.update_flag(input,image,flagtext);checkbox.remove();flagdiv.one('label').remove();flagdiv.append(input);flagdiv.append(image);flagdiv.append(flagtext)});Y.delegate('click',function(e){var input=this.one('input.questionflagvalue');input.set('value',1-input.get('value'));M.core_question_flags.update_flag(input,this.one('input.questionflagimage'),this.one('span.questionflagtext'));var postdata=this.one('input.questionflagpostdata').get('value')+input.get('value');e.halt();Y.io(M.core_question_flags.actionurl,{method:'POST','data':postdata});M.core_question_flags.fire_listeners(postdata)},document.body,'div.questionflag')},update_flag:function(input,image,flagtext){var value=input.get('value');image.setAttrs(M.core_question_flags.flagattributes[value]);flagtext.replaceChild(flagtext.create(M.core_question_flags.flagtext[value]),flagtext.get('firstChild'));flagtext.set('title',M.core_question_flags.flagattributes[value].title)},add_listener:function(listener){M.core_question_flags.listeners.push(listener)},fire_listeners:function(postdata){for(var i=0;i<M.core_question_flags.listeners.length;i++){M.core_question_flags.listeners[i](postdata.match(/\bqubaid=(\d+)\b/)[1],postdata.match(/\bslot=(\d+)\b/)[1],postdata.match(/\bnewstate=(\d+)\b/)[1])}}}