X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2Feuphorik.js;h=1f3dc014e37d396b925e9894745f5add86ea4297;hp=d2cd248bc462e257a346f46985b269857a9de30e;hb=1146f3264ff7535ff3408230140414789c3c25da;hpb=48fe12fba37afba9f9d490cf78ce439c21fe6b70 diff --git a/js/euphorik.js b/js/euphorik.js index d2cd248..1f3dc01 100755 --- a/js/euphorik.js +++ b/js/euphorik.js @@ -26,7 +26,7 @@ // 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); } + //;; 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"}) } @@ -34,55 +34,58 @@ var euphorik = {} ;; 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); +;; req = new XMLHttpRequest(); req.open("GET", url, false); 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]); - } -}; - -Array.prototype.map = function(f) { - for (var i = 0; i < this.length; i++) { - this[i] = f(this[i]) - } -}; +;; }; + +;; 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("client"); +;; euphorik.include("pageEvent"); + +;; 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. + * FIXME : Normalement : Object.prototype.each = function(f) mais non supporté par jquery + */ +//Object.prototype.each = function(f) { +var objectEach = function(o, f) { + for (var k in o) { + if (o.hasOwnProperty(k)) { + f(k, o[k]); + } + } +}; + +Array.prototype.each = function(f) { + for (var i = 0; i < this.length; i++) { + f(i, this[i]); + } +}; + +Array.prototype.map = function(f) { + for (var i = 0; i < this.length; i++) { + this[i] = f(this[i]) + } +}; String.prototype.trim = function() { return jQuery.trim(this) // anciennement : this.replace(/^\s+|\s+$/g, ""); @@ -94,34 +97,34 @@ String.prototype.ltrim = function() { String.prototype.rtrim = function() { return this.replace(/\s+$/, ""); -} - - -/** - * Voir : http://www.coolpage.com/developer/javascript/Correct%20OOP%20for%20Javascript.html - * - * Exemple : - * - * function Mammal(name) { - * this.name = name; - * } - * - * Cat.Inherits(Mammal); - * function Cat(name) { - * this.Super(Mammal, name); - * } - */ -Object.prototype.Super = function(parent) { - if(arguments.length > 1) { - parent.apply( this, Array.prototype.slice.call( arguments, 1 ) ); - } else { - parent.call( this ); - } -} -Function.prototype.Inherits = function(parent) { - this.prototype = new parent(); - this.prototype.constructor = this; -} +} + + +/** + * Voir : http://www.coolpage.com/developer/javascript/Correct%20OOP%20for%20Javascript.html + * + * Exemple : + * + * function Mammal(name) { + * this.name = name; + * } + * + * Cat.Inherits(Mammal); + * function Cat(name) { + * this.Super(Mammal, name); + * } + */ +/*Object.prototype.Super = function(parent) { + if(arguments.length > 1) { + parent.apply( this, Array.prototype.slice.call( arguments, 1 ) ); + } else { + parent.call( this ); + } +} +Function.prototype.Inherits = function(parent) { + this.prototype = new parent(); + this.prototype.constructor = this; +}*/ @@ -131,12 +134,13 @@ Function.prototype.Inherits = function(parent) { // le main $(document).ready( function() - { + { var formateur = new euphorik.Formateur() - var util = new euphorik.Util(formateur) - var client = new Client(util) + 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()