MOD avancement de la Grande Restructuration
[euphorik.git] / js / euphorik.js
index d2cd248..1f3dc01 100755 (executable)
@@ -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")\r
-;; euphorik.include("formateur")\r
-;; euphorik.include("pages")
-
-;; euphorik.include("pageMinichat")
-;; euphorik.include("pageAdmin")
-;; euphorik.include("pageProfile")
-;; euphorik.include("pageRegister")
-;; euphorik.include("pageAbout")
-\r
-\r
-// tout un tas d'améliorations de JavaScript ;)\r
-/**\r
-  * Pour chaque propriété de l'objet execute f(p, v) ou p est le nom de la propriété et v sa valeur.\r
-  * Ne parcours pas les propriétés des prototypes.\r
-  */\r
-Object.prototype.each = function(f) {\r
-   for (var k in this) {\r
-      if (this.hasOwnProperty(k)) {\r
-         f(k, this[k]);\r
-      }\r
-   }\r
-};\r
-\r
-Array.prototype.each = function(f) {\r
-   for (var i = 0; i < this.length; i++) {\r
-      f(i, this[i]);\r
-   }\r
-};\r
-\r
-Array.prototype.map = function(f) {\r
-   for (var i = 0; i < this.length; i++) {\r
-      this[i] = f(this[i])\r
-   }\r
-};\r
+;; };
+
+;; 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+$/, "");
-}\r
-\r
-\r
-/**\r
-  * Voir : http://www.coolpage.com/developer/javascript/Correct%20OOP%20for%20Javascript.html\r
-  *\r
-  * Exemple :  \r
-  *\r
-  * function Mammal(name) {\r
-  *    this.name = name;\r
-  * }\r
-  *\r
-  * Cat.Inherits(Mammal);\r
-  * function Cat(name) {\r
-  *    this.Super(Mammal, name);\r
-  * }\r
-  */\r
-Object.prototype.Super = function(parent) {\r
-   if(arguments.length > 1) {\r
-      parent.apply( this, Array.prototype.slice.call( arguments, 1 ) );\r
-   } else {\r
-      parent.call( this );\r
-   }\r
-}\r
-Function.prototype.Inherits = function(parent) {\r
-   this.prototype = new parent();\r
-   this.prototype.constructor = this;\r
-}\r
+}
+
+
+/**
+  * 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()