++<<<<<<< HEAD
+var state
+var wos
+
+(function( $ ) {
+ $.fn.pageConstruct = function( initvar ) {
+
+ this.buildPage = function() {
+ document.cookie = "session_id=0;expires=0";
+ this.loadMenu();
+ this.loadContainer();
+ }
+
+ this.loadDefaults = function() {
+ var self = this;
+// $.getJSON("/backend/logged_in", function(resp) {
+// if (!resp.contents) {
+ self.hideMenu();
+ self.hideBackground();
+ self.setUsername('<em>unauthenticated</em>');
+ self.loadLogin();
+// } else {
+// self.loadUsername();
+// self.loadBackground();
+// }
+// });
+ }
+
+ this.showError = function(e, t, c) {
+ var n = $(".alert").length;
+ if (n>2) {
+ $(".alert").first().remove();
+ }
+ error = '<div class="alert alert-block alert-' + t + '"><button type="button" class="close" data-dismiss="alert">×</button>' + e + '</div>'
+ $(c).append(error);
+ }
+
+ this.loadMenu = function() {
+ $('body').append('<div class="navbar navbar-inverse navbar-fixed-top"></div>');
+ $('.navbar').append('<div class="navbar-inner"><div class="container-fluid"></div></div>');
+ $('.container-fluid').append('<a class="brand" href="#">KronOS</a>');
+ $('.container-fluid').append('<div class="menuitems"></div>');
+ $('.container-fluid').append('<p class="navbar-text pull-right">Logged in as <a href="#" class="navbar-link" id="username"><em>unauthenticated</em></a> • <span style="font-family:monospace;"><span id="clock"></span></span></p>');
+ $('#clock').jclock({
+ format: '%H:%M',
+ });
+ };
+
+ this.loadContainer = function() {
+ $('body').append('<div id="desktop" class="container-fluid"></div>');
+ $('desktop').append('<div class="row"></div>');
+ };
+
+ this.loadMenuItems = function() {
+ $.getJSON("/backend/get_menu", function(resp) {
+ if (resp.success) {
+ navStr = '<ul class="nav">';
+ $.each(resp.contents, function(key, val) {
+ openStr = '<li class="dropdown"><a tabindex="-1" class="dropdown-toggle" data-toggle="dropdown" href="#">'+key+' <b class="caret"></b></a><ul class="dropdown-menu">';
+ innerStr = '';
+ closeStr = '</ul></li>';
+ $.each(val, function(ikey, ival) {
+ if (typeof ival == "object") {
+ innerStr += '<li class="dropdown-submenu"><a tabindex="-1" href="#">'+ikey+'</a><ul class="dropdown-menu">';
+ $.each(ival, function(iikey, iival) {
+ innerStr += '<li><a tabindex="-1" href=\''+iival+'\'>'+iikey+'</a></li>';
+ });
+ innerStr += '</ul></li>';
+ } else {
+ innerStr += '<li><a tabindex="-1" href=\''+ival+'\'>'+ikey+'</a></li>';
+ }
+ });
+ navStr += openStr+innerStr+closeStr;
+ });
+ navStr += '</ul>';
+ $('.menuitems').html(navStr);
+ } else {
+ throwError(resp.error, 'error', '#desktop');
+ }
+ });
+ };
+
+ this.hideMenu = function() {
+ $('.menuitems').empty();
+ }
+
+ this.loadLogin = function() {
+ $.ajax({
+ url: "/backend/login_modal",
+ success: function (data) {
+ $('body').append(data);
+ $('#loginModal').modal({
+ backdrop: 'static',
+ keyboard: false,
+ });
+ $('#loginModal').modal('show');
+ },
+ dataType: 'html'
+ });
+ }
+
+ this.loadBackground = function() {
+ background = '<style>body { background-image:url(\'/public/img/default-background.jpg\'); background-position: center top; } </style>'
+ $('body').append(background);
+ };
+
+ this.hideBackground = function() {
+ $('style').remove();
+ }
+
+ this.setUsername = function(name) {
+ $("#username").html(name);
+ }
+
+ this.submitLogin = function() {
+ loginData = {
+ 'username': $('#inputUsername').val(),
+ 'password': $('#inputPassword').val()
+ };
+ self = this;
+ $.post('/account/login', loginData, function(resp) {
+ if (resp.success) {
+ document.cookie = "session_id="+resp.data.sid+";expires=0";
+ self.setUsername(resp.data.name);
+ self.loadMenuItems();
+ self.loadBackground();
+
+ $('#loginModal').modal('hide');
+ $('#inputUsername').val("")
+ $(".alert").remove();
+ } else {
+ self.showError(resp.error, 'error', '.messagebody');
+ }
+
+ $('#inputPassword').val("")
+ }, "json");
+ }
+
++ this.credits = function() {
++ $('body').append('<div id="credits" class="modal hide fade"></div>');
++
++ $('#credits').append('<div class="modal-header">');
++ $('#credits').append('<div class="modal-body">');
++ $('#credits').append('<div class="modal-footer">');
++
++ $('').append('');
++ $('#credits>.modal-header').append('<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>');
++ $('#credits>.modal-header').append('<h3 id="creditsLabel">About KronOS</h3>');
++
++ $('#credits>.modal-body').append('<h4>Committers</h4>');
++ $('#credits>.modal-body').append('<ul><li>BiohZn</li><li>DimeCadmium</li><li>Oscar</li><li>hyster</li><li>DarkDeviL</li></ul>');
++
++ $('#credits>.modal-footer').append('<button class="btn" aria-hidden="true" onClick="wos.hideCredits();">Close</button>');
++
++ $('#credits').modal({
++ backdrop: false
++ });
++ $('#credits').modal('show');
++ }
++
++ this.hideCredits = function() {
++ $('#credits').modal('hide');
++ $('#credits').remove();
++ }
++
+ this.logout = function() {
+ document.cookie = "session_id=0;expires=0";
+ this.loadDefaults();
+ }
+
+ return this;
+ };
+})( jQuery );
+
+$(function () {
+ wos = $('document.body').pageConstruct();
+
+ wos.buildPage();
+ wos.loadDefaults();
+});
++=======
+ var state\r
+ var wos\r
+ \r
+ (function( $ ) {\r
+ $.fn.pageConstruct = function( initvar ) {\r
+ \r
+ this.buildPage = function() {\r
+ document.cookie = "session_id=0;expires=0";\r
+ this.loadMenu();\r
+ this.loadContainer();\r
+ }\r
+ \r
+ this.loadDefaults = function() {\r
+ var self = this;\r
+ // $.getJSON("/backend/logged_in", function(resp) {\r
+ // if (!resp.contents) {\r
+ self.hideMenu();\r
+ self.hideBackground();\r
+ self.setUsername('<em>unauthenticated</em>');\r
+ self.loadLogin();\r
+ // } else {\r
+ // self.loadUsername();\r
+ // self.loadBackground();\r
+ // }\r
+ // });\r
+ }\r
+ \r
+ this.showError = function(e, t, c) {\r
+ var n = $(".alert").length;\r
+ if (n>2) {\r
+ $(".alert").first().remove();\r
+ }\r
+ error = '<div class="alert alert-block alert-' + t + '"><button type="button" class="close" data-dismiss="alert">×</button>' + e + '</div>'\r
+ $(c).append(error);\r
+ }\r
+ \r
+ this.loadMenu = function() {\r
+ $('body').append('<div class="navbar navbar-inverse navbar-fixed-top"></div>');\r
+ $('.navbar').append('<div class="navbar-inner"><div class="container-fluid"></div></div>');\r
+ $('.container-fluid').append('<a class="brand" href="#">KronOS</a>');\r
+ $('.container-fluid').append('<div class="menuitems"></div>');\r
+ $('.container-fluid').append('<p class="navbar-text pull-right">Logged in as <a href="#" class="navbar-link" id="username"><em>unauthenticated</em></a></p>');\r
+ };\r
+ \r
+ this.loadContainer = function() {\r
+ $('body').append('<div id="desktop" class="container-fluid"></div>');\r
+ $('desktop').append('<div class="row"></div>');\r
+ };\r
+ \r
+ this.loadMenuItems = function() {\r
+ $.getJSON("/backend/get_menu", function(resp) {\r
+ if (resp.success) {\r
+ navStr = '<ul class="nav">';\r
+ $.each(resp.contents, function(key, val) {\r
+ openStr = '<li class="dropdown"><a tabindex="-1" class="dropdown-toggle" data-toggle="dropdown" href="#">'+key+' <b class="caret"></b></a><ul class="dropdown-menu">';\r
+ innerStr = '';\r
+ closeStr = '</ul></li>';\r
+ $.each(val, function(ikey, ival) {\r
+ if (typeof ival == "object") {\r
+ innerStr += '<li class="dropdown-submenu"><a tabindex="-1" href="#">'+ikey+'</a><ul class="dropdown-menu">';\r
+ $.each(ival, function(iikey, iival) {\r
+ innerStr += '<li><a tabindex="-1" href=\''+iival+'\'>'+iikey+'</a></li>';\r
+ });\r
+ innerStr += '</ul></li>';\r
+ } else {\r
+ innerStr += '<li><a tabindex="-1" href=\''+ival+'\'>'+ikey+'</a></li>';\r
+ }\r
+ });\r
+ navStr += openStr+innerStr+closeStr;\r
+ });\r
+ navStr += '</ul>';\r
+ $('.menuitems').html(navStr);\r
+ } else {\r
+ throwError(resp.error, 'error', '#desktop');\r
+ }\r
+ });\r
+ };\r
+ \r
+ this.hideMenu = function() {\r
+ $('.menuitems').empty();\r
+ }\r
+ \r
+ this.loadLogin = function() {\r
+ $.ajax({\r
+ url: "/backend/login_modal",\r
+ success: function (data) {\r
+ $('body').append(data);\r
+ $('#loginModal').modal({\r
+ backdrop: 'static',\r
+ keyboard: false,\r
+ });\r
+ $('#loginModal').modal('show');\r
+ },\r
+ dataType: 'html'\r
+ });\r
+ }\r
+ \r
+ this.loadBackground = function() {\r
+ background = '<style>body { background-image:url(\'/public/img/default-background.jpg\'); background-position: center top; } </style>'\r
+ $('body').append(background);\r
+ };\r
+ \r
+ this.hideBackground = function() {\r
+ $('style').remove();\r
+ }\r
+ \r
+ this.setUsername = function(name) {\r
+ $("#username").html(name);\r
+ }\r
+ \r
+ this.submitLogin = function() {\r
+ loginData = {\r
+ 'username': $('#inputUsername').val(),\r
+ 'password': $('#inputPassword').val()\r
+ };\r
+ self = this;\r
+ $.post('/account/login', loginData, function(resp) {\r
+ if (resp.success) {\r
+ document.cookie = "session_id="+resp.data.sid+";expires=0";\r
+ self.setUsername(resp.data.name);\r
+ self.loadMenuItems();\r
+ self.loadBackground();\r
+ \r
+ $('#loginModal').modal('hide');\r
+ $('#loginModal').remove();\r
+ } else {\r
+ self.showError(resp.error, 'error', '.messagebody');\r
+ }\r
+ \r
+ $('#inputPassword').val("")\r
+ }, "json");\r
+ }\r
+ \r
+ this.credits = function() {\r
+ $('body').append('<div id="credits" class="modal hide fade"></div>');\r
+ \r
+ $('#credits').append('<div class="modal-header">');\r
+ $('#credits').append('<div class="modal-body">');\r
+ $('#credits').append('<div class="modal-footer">');\r
+ \r
+ $('').append('');\r
+ $('#credits>.modal-header').append('<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>');\r
+ $('#credits>.modal-header').append('<h3 id="creditsLabel">About KronOS</h3>');\r
+ \r
+ $('#credits>.modal-body').append('<h4>Committers</h4>');\r
+ $('#credits>.modal-body').append('<ul><li>BiohZn</li><li>DimeCadmium</li><li>Oscar</li><li>hyster</li><li>DarkDeviL</li></ul>');\r
+ \r
+ $('#credits>.modal-footer').append('<button class="btn" aria-hidden="true" onClick="wos.hideCredits();">Close</button>');\r
+ \r
+ $('#credits').modal({\r
+ backdrop: false\r
+ });\r
+ $('#credits').modal('show');\r
+ }\r
+ \r
+ this.hideCredits = function() {\r
+ $('#credits').modal('hide');\r
+ $('#credits').remove();\r
+ }\r
+ \r
+ this.logout = function() {\r
+ document.cookie = "session_id=0;expires=0";\r
+ this.loadDefaults();\r
+ }\r
+ \r
+ return this;\r
+ };\r
+ })( jQuery );\r
+ \r
+ $(function () {\r
+ wos = $('document.body').pageConstruct();\r
+ \r
+ wos.buildPage();\r
+ wos.loadDefaults();\r
+ });\r
++>>>>>>> 3ff0a8ddc9627b0815f031e0cf65314bb95a9e31