X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2Feuphorik.js;h=5dff115067ff98f22b7812a291f759db924e6391;hp=28cba42f848e6c73878136ecf6803c7894c8c2a8;hb=217c4d7a0d5f9fee3a8ef0a05ab8506c7f39d5e5;hpb=deff7a2f11dca2b300b258d1e93d71e3b2e34c84 diff --git a/js/euphorik.js b/js/euphorik.js index 28cba42..5dff115 100755 --- a/js/euphorik.js +++ b/js/euphorik.js @@ -16,129 +16,54 @@ // You should have received a copy of the GNU General Public License // along with Euphorik. If not, see . -/** - * Contient la base javascript pour le site euphorik.ch. - * Chaque page possède son propre fichier js nommé "page.js". - * Auteur : GBurri - * Date : 6.11.2007 - */ - // tout euphorik est contenu dans cet objet var euphorik = {} -// ;; euphorik.include = -// ;; euphorik.include = function(f) { var s = document.createElement('script'); s.type = 'text/javascript'; s.src = "js/" + f + ".js"; document.getElementsByTagName('head')[0].appendChild(s); } - - -// version jQuery : function(f) { jQuery.ajax({async : false, url : "js/" + f + ".js", dataType : "script"}) } -// mais comme il n'est pas encore chargé... -;; euphorik.include = function(f) { -;; var req, url = 'js/' + f + '.js' -;; if (window.XMLHttpRequest) { -;; req = new XMLHttpRequest(); req.open("GET", url, false /* async */); req.send(null); -;; } else if (window.ActiveXObject) { -;; req = new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP"); -;; if (req) { req.open("GET", url, false); req.send(); } -;; } -;; if (req!==false) { if (req.status==200) { window.eval(req.responseText); } else if (req.status==404) { alert("erreur de chargement (404) de : " + url) } } -;; } - -;; euphorik.include("jquery") -;; euphorik.include("jquery.lightbox") -;; euphorik.include("md5") -;; euphorik.include("json2") - -;; euphorik.include("conf") -;; euphorik.include("util") -;; euphorik.include("formateur") -;; euphorik.include("pages") - -;; euphorik.include("pageMinichat") -;; euphorik.include("pageAdmin") -;; euphorik.include("pageProfile") -;; euphorik.include("pageRegister") -;; euphorik.include("pageAbout") - - -// tout un tas d'améliorations de JavaScript ;) -/** - * Pour chaque propriété de l'objet execute f(p, v) ou p est le nom de la propriété et v sa valeur. - * Ne parcours pas les propriétés des prototypes. - */ -Object.prototype.each = function(f) { - for (var k in this) { - if (this.hasOwnProperty(k)) { - f(k, this[k]) - } - } -} - -Array.prototype.each = function(f) { - for (var i = 0; i < this.length; i++) { - f(i, this[i]) - } -} - -String.prototype.trim = function() { - return jQuery.trim(this) // anciennement : this.replace(/^\s+|\s+$/g, ""); -} - -String.prototype.ltrim = function() { - return this.replace(/^\s+/, ""); -} - -String.prototype.rtrim = function() { - return this.replace(/\s+$/, ""); -} - - -/////////////////////////////////////////////////////////////////////////////////////////////////// - // le main $(document).ready( - function() - { - var formateur = new euphorik.Formateur() - var util = new euphorik.Util(formateur) - var client = new Client(util) - var pages = new euphorik.Pages() + function() { + var fragment = new Fragment(); + var formateur = new euphorik.Formateur(); + var util = new euphorik.Util(formateur); + var client = new euphorik.Client(util); + var pages = new euphorik.Pages(fragment); // connexion vers le serveur (utilise un cookie qui traine) - client.connexionCookie() + client.connexionCookie(); - $("#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()}) + $(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(){ + $("#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() - { + { + "Oui" : function() { client.deconnexion(); - pages.afficherPage("minichat", true) + pages.afficherPage("minichat", true); }, - "Non" : function(){} + "Non" : function() {} } ) - }) - $("#menu .register").click(function(){ pages.afficherPage("register") }) - $("#menu .about").click(function(){ pages.afficherPage("about") }) + }); + $("#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") }) - - pages.ajouterPage(new PageMinichat(client, formateur, util)) - pages.ajouterPage(new PageAdmin(client, formateur, util)) - pages.ajouterPage(new PageProfile(client, formateur, util)) - pages.ajouterPage(new PageRegister(client, formateur, util)) - pages.ajouterPage(new PageAbout(client, formateur, util)) - pages.ajouterPage("conditions_utilisation") + $("#footer .conditions").click(function(){ pages.afficherPage("conditions_utilisation"); }); + + pages.ajouterPage(new euphorik.PageMinichat(client, formateur, util), true); + 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.afficherPage(); } )