//
// You should have received a copy of the GNU General Public License
// along with Euphorik. If not, see <http://www.gnu.org/licenses/>.
-\r
-/*jslint laxbreak:true */\r
-// tout euphorik est contenu dans cet objet
+/*jslint laxbreak:true */
+\r
+// all euphorik is contained in this object
var euphorik = {};
// le main
$(document).ready(
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();
+ var formater = new euphorik.Formater();
+ var util = new euphorik.Util(formater);
+ 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"); });
- // FIXME : ne fonctionne pas sous opera
- // voir : http://dev.jquery.com/ticket/2892#preview
+ // 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 .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.messageDialogue("Êtes-vous sur de vouloir vous délogger ?", euphorik.Util.messageType.question,
+ util.messageDialog("Are you sure you want to log out?", euphorik.Util.messageType.question,
{
- "Oui" : function() {
- client.deconnexion();
- pages.afficherPage("minichat", true);
+ "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 : <span class="lien" href="conditions">Conditions d'utilisation</span>
- $("#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");
+ // TODO : simplification : such link[1] should be created and automatically open the right page without\r
+ // explicitly add a page.\r
+ // [1] : <a class="pageLink" href="termes_of_use">Terms of use</a>
+ $("#footer .termsOfUse").click(function(){ pages.displayPage("terms_of_use"); });
+
+ pages.addPage(new euphorik.PageMinichat(client, formater, util, communication), true);
+ pages.addPage(new euphorik.PageAdmin(client, formater, util, communication));
+ pages.addPage(new euphorik.PageProfile(client, formater, util));
+ pages.addPage(new euphorik.PageRegister(client, formater, util));
+ pages.addPage(new euphorik.PageAbout(client, formater, util, communication));
+ pages.addPage("terms_of_use");
- pages.afficherPage();
+ pages.displayPage(); // display the default page
}
-);
\ No newline at end of file
+);