X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2Feuphorik.js;h=3f45e2d414a767daa35082e602c0cb256db04e31;hp=17748a6f8c33820ba06ef08a2dc11cd40963a087;hb=0fd41878c239877c274bd2bf58caf65b24977e52;hpb=4dfbbcf0f54cb3eb70856ea404d9ecef6aec5e26 diff --git a/js/euphorik.js b/js/euphorik.js index 17748a6..3f45e2d 100755 --- a/js/euphorik.js +++ b/js/euphorik.js @@ -16,54 +16,61 @@ // You should have received a copy of the GNU General Public License // along with Euphorik. If not, see . -// tout euphorik est contenu dans cet objet -var euphorik = {} +/*jslint laxbreak:true */ + +// all euphorik is contained in this object +var euphorik = {}; // le main $(document).ready( - function() - { - var formateur = new euphorik.Formateur() - var util = new euphorik.Util(formateur) - var client = new euphorik.Client(util) - var pages = new euphorik.Pages() - - // connexion vers le serveur (utilise un cookie qui traine) - client.connexionCookie() - - $("#menuCss").change(function(){ client.setCss("styles/" + $("option:selected", this).attr("value") + "/euphorik.css")}) + function() { + var fragment = new Fragment(); + var formater = new euphorik.Formater(); + var util = new euphorik.Util(formater); + var communication = new euphorik.Communication( + function(data) { util.messageDialog(data.error_message); }, + function() { util.showWaitBar(); }, + function() { util.hideWaitBar(); } + ); + var client = new euphorik.Client(util, communication); + var pages = new euphorik.Pages(fragment, communication); + + // Client authentification with the cookie information (if it exists). + client.connectionCookie(); + + $("#menuCss").change(function() { client.setCss("styles/" + $("option:selected", this).attr("value") + "/euphorik.css"); }); - // FIXME : ne fonctionne pas sous opera - // voir : http://dev.jquery.com/ticket/2892#preview - $(window).unload(function(){client.flush()}) - - $("#menu .minichat").click(function(){ pages.afficherPage("minichat") }) - $("#menu .admin").click(function(){ pages.afficherPage("admin") }) - $("#menu .profile").click(function(){ pages.afficherPage("profile") }) - $("#menu .logout").click(function(){ - util.messageDialogue("Êtes-vous sur de vouloir vous délogger ?", euphorik.Util.messageType.question, - {"Oui" : function() - { - client.deconnexion(); - pages.afficherPage("minichat", true) + $(window).unload(function() { client.flush(); }); + + $("#menu .minichat").click(function() { pages.displayPage("minichat"); }); + $("#menu .admin").click(function() { pages.displayPage("admin"); }); + $("#menu .profile").click(function() { pages.displayPage("profile"); }); + $("#menu .logout").click(function() { + util.messageDialog("Are you sure you want to log out?", euphorik.Util.messageType.question, + { + "Yes" : function() { + client.disconnect(); + pages.displayPage("minichat", true); }, - "Non" : function(){} + "No" : function() {} } - ) - }) - $("#menu .register").click(function(){ pages.afficherPage("register") }) - $("#menu .about").click(function(){ pages.afficherPage("about") }) - - // TODO : simplifier et pouvoir créer des liens par exemple : Conditions d'utilisation - $("#footer .conditions").click(function(){ pages.afficherPage("conditions_utilisation") }) + ); + }); + $("#menu .register").click(function(){ pages.displayPage("register"); }); + $("#menu .about").click(function(){ pages.displayPage("about"); }); + + // TODO: simplification : such link[1] should be created and automatically open the right page without + // explicitly add a page. + // [1] : Terms of use + $("#footer .termsOfUse").click(function(){ pages.displayPage("terms_of_use"); }); + + pages.addPage(new euphorik.PageMinichat(client, formater, util, communication), true); + pages.addPage(new euphorik.PageAdmin(client, formater, util, communication)); + pages.addPage(new euphorik.PageProfile(client, formater, util)); + pages.addPage(new euphorik.PageRegister(client, formater, util)); + pages.addPage(new euphorik.PageAbout(client, formater, util, communication)); + pages.addPage("terms_of_use"); - pages.ajouterPage(new euphorik.PageMinichat(client, formateur, util)) - pages.ajouterPage(new euphorik.PageAdmin(client, formateur, util)) - pages.ajouterPage(new euphorik.PageProfile(client, formateur, util)) - pages.ajouterPage(new euphorik.PageRegister(client, formateur, util)) - pages.ajouterPage(new euphorik.PageAbout(client, formateur, util)) - pages.ajouterPage("conditions_utilisation") - - pages.afficherPage("minichat") + pages.displayPage(); // display the default page } -) +);