// vim: et:ts=4:sw=4:sts=4:ft=javascript /*@ Ox.Theme get/set theme () -> Get current theme (theme) -> Set current theme theme name of theme > Ox.Theme() 'classic' > Ox.Theme('modern') 'modern' @*/ Ox.Theme = function(theme) { return theme ? setTheme(theme) : getTheme(); function getTheme() { var theme = ''; Ox.forEach(Ox.UI.$body.attr('class').split(' '), function(className) { if (Ox.startsWith(className, 'OxTheme')) { theme = className.replace('OxTheme', '').toLowerCase(); return false; } }); return theme; } function setTheme(theme) { var currentTheme = getTheme(); if (theme != currentTheme) { Ox.UI.$body .addClass('OxTheme' + Ox.toTitleCase(theme)) .removeClass('OxTheme' + Ox.toTitleCase(currentTheme)); $('img:not(.OxVideo)').add('input[type="image"]:not(.OxVideo)').each(function() { var $this = $(this), src = $this.attr('src'); $this.attr({ src: Ox.UI.getImageURL(Ox.UI.getImageName(src), theme) }); //Ox.print(Ox.UI.getImageName(src), Ox.UI.getImageURL(Ox.UI.getImageName(src), theme)) }); } return theme; } }; /* Ox.UI.ready(function() { Ox.theme = function() { var length = arguments.length, classes = Ox.UI.$body.attr('class').split(' '), arg, theme; Ox.forEach(classes, function(v) { if (Ox.startsWith(v, 'OxTheme')) { theme = v.replace('OxTheme', '').toLowerCase(); if (length == 1) { Ox.UI.$body.removeClass(v); } return false; } }); if (length == 1) { arg = arguments[0] Ox.UI.$body.addClass('OxTheme' + Ox.toTitleCase(arg)); if (theme) { $('img').each(function() { var $this = $(this); if (!$this.attr('src')) return; // fixme: remove, should't be neccessary $this.attr({ src: $this.attr('src').replace( '/ox.ui.' + theme + '/', '/ox.ui.' + arg + '/' ) }); }); $('input[type=image]').each(function() { var $this = $(this); $this.attr({ src: $this.attr('src').replace( '/ox.ui.' + theme + '/', '/ox.ui.' + arg + '/' ) }); }); $('.OxLoadingIcon').each(function() { var $this = $(this); $this.attr({ src: $this.attr('src').replace( '/ox.ui.' + theme + '/', '/ox.ui.' + arg + '/' ) }); }) } } return theme; }; Ox.theme(Ox.UI.DEFAULT_THEME); }); */