X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2Feuphorik.js;h=cac44c8d93dfdd9ec92ef589d04e0e347f33b8a6;hp=17748a6f8c33820ba06ef08a2dc11cd40963a087;hb=4a6c575807a90370c0069b688026b10102e1ce10;hpb=4dfbbcf0f54cb3eb70856ea404d9ecef6aec5e26 diff --git a/js/euphorik.js b/js/euphorik.js index 17748a6..cac44c8 100755 --- a/js/euphorik.js +++ b/js/euphorik.js @@ -16,54 +16,63 @@ // 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() + function() { + var fragment = new Fragment(); + var formatter = new euphorik.Formatter(); + var util = new euphorik.Util(formatter); + 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")}) + $("#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()}) + // FIXME : doesn't work under Opera + // see : 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) + $("#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") }) + ); + }); + $("#menu .register").click(function(){ pages.displayPage("register"); }); + $("#menu .about").click(function(){ pages.displayPage("about"); }); - // TODO : simplifier et pouvoir créer des liens par exemple : Conditions d'utilisation - $("#footer .conditions").click(function(){ pages.afficherPage("conditions_utilisation") }) - - 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") + // 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, formatter, util, communication), true); + pages.addPage(new euphorik.PageAdmin(client, formatter, util, communication)); + pages.addPage(new euphorik.PageProfile(client, formatter, util)); + pages.addPage(new euphorik.PageRegister(client, formatter, util)); + pages.addPage(new euphorik.PageAbout(client, formatter, util, communication)); + pages.addPage("terms_of_use"); - pages.afficherPage("minichat") + pages.displayPage(); // display the default page } -) +);