jQuery(function () {



		// fleches de navigation dans les quiz

sofad.interactivites.controleurs.QuizPrecedent.prop("html", '<button class="precedent"><img src="../php/images/navarrow_left.gif" title="{L:sequences.btn_precedent}"/></button>' );

sofad.interactivites.controleurs.QuizSuivant.prop("html", '<button class="suivant"><img src="../php/images/navarrow_right.gif" title="{L:sequences.btn_suivant}"/></button>' );

sofad.surfenetres.widgets.surfenetres.Lexique.prop("parametres", "width=790,height=550,scrollbars=yes,menubar=yes,resizable=yes");

    

    try {



        (function() {

            var habillage = '<p>{0}</p><p class="ferme-blockUI"><button class="ferme-blockUI">OK</button></p>';

            

            sofad.JolieAlerte = function(msg) {

                    jQuery.blockUI({

                        message: sofad.format(habillage, msg), 

                        css: {padding: '1.2em', color: '#3E3429', backgroundColor: '#FBF9ED', border: '1px solid #90360A'}

                    });

                    

                    jQuery('.ferme-blockUI, .blockOverlay').click(function() {

                        jQuery.unblockUI();

                    });

             };

        })();

        

        (function() {

            var habillage = '<p>{0}</p><p class="boutouns-blockUI"><button class="oui-blockUI">Oui</button> <button class="non-blockUI">Non</button></p>';

            

            sofad.JolieConfirm = function(msg, foui, fnon) {

                    if(!fnon) fnon = function() {};

                    jQuery.blockUI({

                        message: sofad.format(habillage, msg), 

                        css: {padding: '1.2em', color: '#3E3429', backgroundColor: '#FBF9ED', border: '1px solid #90360A'}

                    });

                    

                    jQuery('.oui-blockUI').click(function() {

                        foui();

                        jQuery.unblockUI();

                    });

                    

                    jQuery('.non-blockUI, .blockOverlay').click(function() {

                        fnon();

                        jQuery.unblockUI();

                    });

             };

        })();

    

        if('msgLang' in sofad) {

            sofad.msgLang.fr.interactivites.resumer_btn_corrige    = "Correction";

            sofad.msgLang.fr.interactivites.resumer_btn_enregistre = "Verser au journal de bord";

            sofad.msgLang.fr.interactivites.resumer_confirmation_enregistre = "Le résumé à été versé dans votre journal de bord.";

            sofad.msgLang.fr.interactivites.resumer_interdiction_enregistre = "Vous devez compléter et corriger tous les textes avant de verser au journal de bord.";

            sofad.msgLang.fr.interactivites.btn_quiz_demo_inactif    = "Désolé. Cet élément est inactif dans la version de démonstration.";

        }



        //INTERACTIVITE PRISE1/PRISE2 AVEC ENREGISTREMENT AJAX

        //REQUIERT BLOC UI

        sofad.interactivites.widgets.interactivites.FormulaireAjax = (function() {

            var constructeur = sofad.sousType( sofad.questionnaires.widgets.Questionnaire );

            constructeur     = sofad.questionnaires.extensions.enregistreAjax( constructeur );

            var proto        = constructeur.prototype;

            proto.requete    = '.type-formulaire.soustype-prise1, .type-formulaire.soustype-prise2';

            proto.requeteFormulaire = 'form[@action!=""]';

            

            var BoutonEnregistreAjax = sofad.sousType( sofad.questionnaires.controleurs.BoutonEnregistreAjax );

            BoutonEnregistreAjax.prototype.html = '';

            BoutonEnregistreAjax.prototype.requete = 'button.btn-enregistrer';

            proto.factory('questionnaires.controleurs.BoutonEnregistreAjax', BoutonEnregistreAjax);

            

            proto.alert = sofad.JolieAlerte;

            

            return constructeur;

        })();

        

        //SURFENETRES MESSAGES

        sofad.surfenetres.widgets.surfenetres.AlerteChargement.prototype.alert    = sofad.JolieAlerte;

        sofad.interactivites.widgets.interactivites.Resumer.prototype.alert       = sofad.JolieAlerte;

        sofad.interactivites.widgets.interactivites.ActiviteNotee.prototype.alert = sofad.JolieAlerte;

        sofad.interactivites.widgets.interactivites.ActiviteNotee.prototype.confirm = sofad.JolieConfirm;

        sofad.interactivites.widgets.ChampPointage.prototype.alert                = sofad.JolieAlerte;

        sofad.interactivites.widgets.interactivites.Quiz2.prototype.alert         = sofad.JolieAlerte;

        sofad.interactivites.widgets.interactivites.Quiz2.prototype.confirm       = sofad.JolieConfirm;



        sofad.surfenetres.widgets.surfenetres.InactifDansDemo.prototype.alert     = sofad.JolieAlerte;



        //PERSONNALISATION D'ACTIVITE NOTEE

        if(!sofad.interactivites.controleurs) sofad.interactivites.controleurs = {};

        sofad.interactivites.controleurs.BarreVue = (function () {

            var constructeur = sofad.sousType( sofad.controleurs.Controleur );

            var proto = constructeur.prototype;

            proto.requete = '.barre-vue';

            proto.html    = '<div id="activite-notee-barre-vue-{0}" class="barre-vue"></div>';

            proto.insere  = function(widget_parent) { 

                widget_parent.noeuds.find('.activite-notee').prepend( sofad.format(this.html, 'haut') );

                widget_parent.noeuds.find('.activite-notee').append( sofad.format(this.html, 'bas') );

            };

            return constructeur;

        })();



        sofad.interactivites.controleurs.BoutonDescription = (function () {

            var constructeur = sofad.sousType( sofad.controleurs.Controleur );

            var proto = constructeur.prototype;

            proto.requete = 'button.description';

            proto.html    = '<button class="description">Description</button>';

            return constructeur;

        })();



        sofad.interactivites.controleurs.BoutonFormulaire = (function () {

            var constructeur = sofad.sousType( sofad.controleurs.Controleur );

            var proto = constructeur.prototype;

            proto.requete = 'button.formulaire';

            proto.html    = '<button class="formulaire">Formulaire</button>';

            return constructeur;

        })();



        sofad.interactivites.widgets.interactivites.ActiviteNotee = (function () {

            var original = sofad.interactivites.widgets.interactivites.ActiviteNotee;



            var constructeur = sofad.sousType( original, function() {

                original.apply(this, arguments);

                this.controleurs.barreVue          = new (this.factory('interactivites.controleurs.BarreVue'))(this);

                this.controleurs.BoutonDescription = new (this.factory('interactivites.controleurs.BoutonDescription'))(this.controleurs.barreVue);

                this.controleurs.BoutonFormulaire  = new (this.factory('interactivites.controleurs.BoutonFormulaire'))(this.controleurs.barreVue);

                this.noeuds.find('form.questionnaire').attr('action',

                                                            this.noeuds.find('form.questionnaire').attr('action') + '?est_transmis=1');

            });

            var proto = constructeur.prototype;



            proto.afficheDescription = function() {

                this.noeuds.find('.section-texte, .section-question, .evaluation').hide();

                this.noeuds.find('.section-texte:first').show();

                this.controleurs.BoutonDescription.noeuds.removeClass('section-inactive');

                this.controleurs.BoutonFormulaire.noeuds.addClass('section-inactive');

            };



            proto.afficheFormulaire = function() {

                this.noeuds.find('.section-texte, .section-question, .evaluation').show();

                this.noeuds.find('.section-texte:first').hide();

                this.controleurs.BoutonFormulaire.noeuds.removeClass('section-inactive');

                this.controleurs.BoutonDescription.noeuds.addClass('section-inactive');

            };



            proto.deplaceVersHaut = function() {

                location.href = "#";

            }



            var parent_demarre = proto.demarre;

            proto.demarre = function() {

                parent_demarre.apply(this, arguments);

                var that = this;

                this.controleurs.BoutonDescription.noeuds.bind('click', function() {

                    that.afficheDescription();

                    that.deplaceVersHaut();

                });

                this.controleurs.BoutonFormulaire.noeuds.bind('click', function() {

                    that.afficheFormulaire();

                    that.deplaceVersHaut();

                });



                var params_get = sofad.obtientGET();

                if(params_get.est_transmis || this.noeuds.find('.affiche-formulaire').length) {

                    this.afficheFormulaire();

                } else {

                    this.afficheDescription();

                }



            };



            return constructeur;

        })();





        //PERSONNALISATION DE QUIZ2

        //cacher certains liens pendant que l'apprenant fait le quiz

        var parent_branche = sofad.interactivites.widgets.interactivites.Quiz2.prototype.comportements.ouvert.prototype.brancheConfirmationSurSortie;

        sofad.interactivites.widgets.interactivites.Quiz2.prototype.comportements.ouvert.prototype.brancheConfirmationSurSortie = function() {

            parent_branche.apply(this, arguments);

            this.quiz.noeuds.find("#pagenav, #mainnav, #supinfo").hide();

        };



        var parent_debranche = sofad.interactivites.widgets.interactivites.Quiz2.prototype.comportements.ouvert.prototype.debrancheConfirmationSurSortie;

        sofad.interactivites.widgets.interactivites.Quiz2.prototype.comportements.ouvert.prototype.debrancheConfirmationSurSortie = function() {

            parent_debranche.apply(this, arguments);

            this.quiz.noeuds.find("#mainnav, #supinfo").show();

        };





        if('surfenetres' in sofad) {

            sofad.questionnaires.controleurs.BoutonImprimer.prototype.requete = function() { return jQuery('#content button.btn-imprimer'); };

            sofad.questionnaires.controleurs.BoutonImprimer.prototype.insere = function(widget_parent) {

                jQuery("#content").prepend( this.renduHtml() );

            };



            for(var nom_widget in sofad.surfenetres.widgets.surfenetres) {

                var widgets = sofad.batiWidgets( sofad.surfenetres.widgets.surfenetres[ nom_widget ] );

                for(var ii=0; ii<widgets.length; ++ii) widgets[ii].demarre();

            }

        }





        if('interactivites' in sofad) {

            for(var nom_widget in sofad.interactivites.widgets.interactivites) {

                var widgets = sofad.batiWidgets( sofad.interactivites.widgets.interactivites[ nom_widget ] );

                for(var ii=0; ii<widgets.length; ++ii) widgets[ii].demarre();

            }

        }



        var f = 'function' == typeof window.onload ? window.onload : function() {};

        

        window.onload = function() {

            f();

            //Retourner a l'ancre s'il y en a une dans l'adresse.

            //L'ajout de noeuds DOM peut avoir decaler la vue.

            setTimeout(function() {

                    var index_ancre;

                    var href = location.href;

                    if(-1 !== (index_ancre = href.indexOf('#'))) {

                         location.href = location.href; 

                    }

                }, 100);

        };





    } catch(e) {

        if(e.name && 'AucunSousWidget' == e.name) {

            sofad.exposeExceptionAucunSousWidget(e);

        } else {

            alert("exception : " + e);

        }

    }





});
