// coding: utf-8\r
\r
-/**
+/**\r
+ * Contient la base javascript pour le site euphorik.ch.\r
+ * Chaque page possède son propre fichier js nommé "page<nom de la page>.js".
* Auteur : GBurri
* Date : 6.11.2007
*/
\r
String.prototype.trim = function()\r
{\r
- return this.replace(/^\s+|\s+$/g,"");\r
+ return this.replace(/^\s+|\s+$/g, "");\r
}\r
+\r
String.prototype.ltrim = function()\r
{\r
- return this.replace(/^\s+/,"");\r
+ return this.replace(/^\s+/, "");\r
}\r
+\r
String.prototype.rtrim = function()\r
{\r
- return this.replace(/\s+$/,"");\r
+ return this.replace(/\s+$/, "");\r
}\r
\r
String.prototype.dump = function()\r
}\r
\r
///////////////////////////////////////////////////////////////////////////////////////////////////\r
-
-function Util(serializer)
+\r
+/**\r
+ * Cette classe regroupe des fonctions utilitaires (helpers).\r
+ */
+function Util()
{\r
if(typeof XMLSerializer != "undefined")
this.serializer = new XMLSerializer()
-
+ \r
+ // fermeture des dialogues d
jQuery("#info .fermer").click(function(){
jQuery("#info").slideUp(50)
})
/**
* Affiche une boite de dialogue avec un message à l'intérieur.
- *
+ * @param message le message (string)\r
+ * @param type voir 'messageType'. par défaut messageType.informatif\r
+ * @param les boutons sous la forme d'un objet ou les clefs sont les labels des boutons\r
+ * et les valeurs les fonctions executées lorsqu'un bouton est activé.
*/
Util.prototype.messageDialogue = function(message, type, boutons)
{
}
var messageType = {informatif: 0, question: 1, erreur: 2}
\r
-/* obsolète\r
-Util.prototype.log = function(str)\r
-{\r
-}*/\r
-\r
+/**\r
+ * Transforme un document XML en string.\r
+ */\r
Util.prototype.serializeXML = function(documentXML)\r
{\r
if (this.serializer)\r
{\r
if (document.implementation && document.implementation.createDocument)\r
{\r
- return document.implementation.createDocument("", "action", null)\r
+ // var doc = document.implementation.createDocument("", "action", null)
+ var parser = new DOMParser();
+ var doc = parser.parseFromString("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<action/>", "text/xml")
+ //alert(this.serializeXML(doc))
+ return doc\r
}\r
else if (window.ActiveXObject)\r
{\r
Util.prototype.xmlVersAction = function(xml)
{
- return {action: this.to_utf8(this.serializeXML(xml /*, "UTF-8"*/))}
+ //return {action: this.to_utf8(this.serializeXML(xml /*, "UTF-8"*/))}
+ return {action: this.serializeXML(xml)}
}
-
-// voir : http://homepage3.nifty.com/aokura/jscript/utf8.html
-// et : http://www1.tip.nl/~t876506/utf8tbl.html
-Util.prototype.to_utf8 = function(s)
-{\r
- if (!s) return ""\r
-
- var c, d = ""
- for (var i = 0; i < s.length; i++)
- {
- c = s.charCodeAt(i);
- if (c <= 0x7f) {
- d += s.charAt(i);
- } else if (c >= 0x80 && c <= 0x7ff) {
- d += String.fromCharCode(((c >> 6) & 0x1f) | 0xc0);
- d += String.fromCharCode((c & 0x3f) | 0x80);
- } else {
- d += String.fromCharCode((c >> 12) | 0xe0);
- d += String.fromCharCode(((c >> 6) & 0x3f) | 0x80);
- d += String.fromCharCode((c & 0x3f) | 0x80);
- }
- }
- return d;
-}\r
\r
Util.prototype.md5 = function(chaine)\r
{\r
// le main
jQuery(document).ready(
function()
- {
-
+ {
+ /* FIXME : ce code pose problème sur konqueror, voir : http://www.kde-forum.org/thread.php?threadid=17993
+ var p = new DOMParser();
+ var doc = p.parseFromString("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<action/>", "text/xml")
+ var s = new XMLSerializer()
+ alert(s.serializeToString(doc)) */
+
var util = new Util()
var client = new Client(util)
var pages = new Pages()