function MsgBoxQueue(max_depth) { function formatTimerString(msgbox) { var msgBox = msgbox || curMsgBox, strMsg = iLO.translateString(msgBox.timerStringKey, msgBox.timerString), secType = msgBox.remaining > 1 ? "seconds" : "second", secStr = iLO.translateString("IRC.unit." + secType, secType); if ($.isValidString(msgBox.actionKey) || $.isValidString(msgBox.action)) { var actMsg = iLO.translateString(msgBox.actionKey, msgBox.action); return strMsg.replace("{0}", actMsg).replace("{1}", msgBox.remaining).replace("{2}", secStr); } return strMsg.replace("{0}", msgBox.remaining).replace("{1}", secStr); } function formatMessage(msgbox) { var msgBox = msgbox || curMsgBox, strMsg = iLO.translateString(msgBox.messageKey, msgBox.message); if (msgBox.messageInserts.length > 0) for (var i = 0; i < msgBox.messageInserts.length; i++) { var insert = msgBox.messageInserts[i]; strMsg = strMsg.replace(insert.placeHolder, iLO.translateString(insert.valueKey, insert.value)); } return strMsg; } function countdown() { --curMsgBox.remaining > 0 ? $.isValidString(curMsgBox.timerString) && $(".msgbox-timer-msg").text(formatTimerString()) : (stopCountdown(), me.pop()); } function startCountdown() { stopCountdown(), timerId = window.setInterval(countdown, 1e3); } function stopCountdown() { timerId > 0 && (window.clearInterval(timerId), timerId = 0); } function escapeHandler(evt) { evt.keyCode == $.ui.keyCode.ESCAPE && msgBoxQueue.pop(); } function getJqueryUiDialogOptions(elem) { var opts = $(elem).data().uiDialog ? $(elem).data().uiDialog.options : null; if (!opts) for (var prop in elem) if (elem[prop] && elem[prop].uiDialog && elem[prop].uiDialog.options) { opts = elem[prop].uiDialog.options; break; } return opts; } function overrideJqueryUiDialogControl() { jq_modal_count = 0, jq_options = new Array(), $("div.ui-dialog-content:visible").each(function() { var opts = getJqueryUiDialogOptions(this); opts && 0 == opts.disabled && (opts.disabled = !0, jq_options.push(opts)), opts && 1 == opts.modal && jq_modal_count++; }); } function restoreJqueryUiDialogControl() { for (var i = 0; i < jq_options.length; i++) jq_options[i].disabled = !1; } function showNextMsg() { if (0 != queue.length) { var msgbox = queue[0]; msgbox.id = msgBoxId++, $prevFocusElement = $(document.activeElement), overrideJqueryUiDialogControl(), msgbox.$parent = $("#videoContainer .control").hasClass("fullscreenMode") ? $("#videoContainer") : $(".app-container"), $(msgbox.$overlay).appendTo(msgbox.$parent).addClass("msgbox-overlay-" + (jq_modal_count > 0 ? "light" : "medium")).fadeIn("fast").css("display", "block !important"), $(msgbox.$msgbox).appendTo(msgbox.$parent).fadeIn("fast", function() { $("svg", ".msgbox-contents").addClass("background-color-index-light"), $(".msgbox-contents .button--primary").trigger("focus"); }).css("display", "block !important"), curMsgBox = msgbox, me.centerMsgBox(), msgbox.closeOnEscape ? (msgbox.closeOnClick && $(msgbox.$overlay).on("click", function(evt) { msgBoxQueue.pop(); }), $(document).on("keydown", escapeHandler)) : $(document).off("keydown", escapeHandler), curMsgBox.stayTime > 0 && startCountdown(); } } function removeMsg() { stopCountdown(), $(".msgbox-wrapper, .msgbox-overlay").fadeOut(100, function() { $(this).remove(); }); } var me = this, maxDepth = max_depth || 5, timerId = 0, msgBoxId = 1, curMsgBox = null, queue = new Array(), $prevFocusElement = null, jq_modal_count = 0, jq_options = null; this.timerStringFormatter = function(msgbox) { return formatTimerString(msgbox); }, this.messageFormatter = function(msgbox) { return formatMessage(msgbox); }, this.push = function(msgbox) { queue.push(msgbox), 1 == queue.length ? showNextMsg() : queue.length > maxDepth && me.pop(); }, this.pop = function(resp) { var msgbox = queue.shift(); msgbox && (removeMsg(), iLO.isFunction(msgbox.callback) && (void 0 === resp && null !== msgbox.retvalOverride ? msgbox.callback(msgbox.retvalOverride) : msgbox.callback(resp))), restoreJqueryUiDialogControl(), $prevFocusElement.trigger("focus"), showNextMsg(); }, this.centerMsgBox = function() { var $msgWrapper = $(".msgbox-wrapper"), $wdw = $(window), w = $msgWrapper.width(), h = $msgWrapper.height(); $msgWrapper.css({ top: Math.max($wdw.height() / 2 - h / 2, 0) + "px", left: Math.max($wdw.width() / 2 - w / 2, 0) + "px" }); }, this.moveMsgBox = function() { var isFullScreen = $("#videoContainer").fullScreen(), oldParent = isFullScreen ? ".app-container" : "#videoContainer", newParent = isFullScreen ? "#videoContainer" : ".app-container"; $(oldParent + " .msgbox-overlay").length && $(".msgbox-overlay").appendTo(newParent), $(oldParent + " .msgbox-wrapper").length && $(".msgbox-wrapper").appendTo(newParent), $(".msgbox-contents .button--primary").trigger("focus"); }, this.queueLength = function() { return queue.length; }, this.clear = function() { queue = new Array(), removeMsg(); }; } if (jQuery.isValidString = function(obj) { return "string" == typeof obj && obj.length > 0 && /\S/.test(obj); }, jQuery.existsNonNull = function(arg) { return !("undefined" == typeof arg || null == arg); }, jQuery.isNonZeroInteger = function(arg) { return "undefined" != typeof arg && null !== arg && !isNaN(arg) && 0 !== arg && parseInt(arg, 10) == parseFloat(arg); }, jQuery.isValidIPAddress = function(address) { if (!jQuery.existsNonNull(address)) return !1; if (address = address.trim(), !jQuery.isValidString(address)) return !1; var addressValid = !0, ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/, ipArray = address.match(ipPattern); if (null === ipArray) addressValid = !1; else if (5 == ipArray.length) if ("255.255.255.255" != ipArray[0]) for (var i = 1; i < ipArray.length; i++) try { if (parseInt(ipArray[i], 10) > 255) { addressValid = !1; break; } } catch (e) { addressValid = !1; } else addressValid = !1; else addressValid = !1; return addressValid; }, jQuery.isValidIPv6Address = function(address) { var i, mySplitResult = null, length = 0, pos = address.indexOf("/"); if ("" == address) return !0; if (pos >= 0 && (mySplitResult = address.split("/"), address = mySplitResult[0], !isValidIPv6AddressPrefix(mySplitResult[1]))) return !1; if (mySplitResult = address.split("::"), mySplitResult.length > 2) return !1; if (mySplitResult = address.split(":"), length = mySplitResult.length, 8 >= length) { for (i = 0; length > i; i++) if (null == mySplitResult[i].match(/^[0-9a-fA-F]{1,4}$/) && "" != mySplitResult[i]) return !1; return !0; } return !1; }, jQuery.expr.pseudos.hasText = function(element, index) { return element.childNodes.length > 0 && 3 == element.firstChild.nodeType ? element.innerHTML.trim().length > 0 : "span" == element.nodeName.toLowerCase(); }, jQuery.log = function() { return iLOGlobal.debug && "undefined" != typeof window.console && iLO.isFunction(window.console.log) ? (console.log.apply(console, arguments), !0) : !1; }, jQuery.logWarn = function() { return iLOGlobal.debug && "undefined" != typeof window.console && iLO.isFunction(window.console.warn) ? (console.warn.apply(console, arguments), !0) : !1; }, jQuery.logError = function() { return iLOGlobal.debug && "undefined" != typeof window.console && iLO.isFunction(window.console.error) ? (console.error.apply(console, arguments), !0) : !1; }, String.prototype.trim || (String.prototype.trim = function() { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); }), window.ie = !1, window.compute_ie = function() { for (var a = 3, b = document.createElement("b"), c = b.all || []; b.innerHTML = "", c[0]; ) ; return a > 4 ? a : document.documentMode; }(), "undefined" == typeof iLOGlobal || !iLOGlobal && self != top && parent.iLOGlobal) try { iLOGlobal = parent.iLOGlobal; } catch (e) {} if ("undefined" == typeof iLOGlobal || !iLOGlobal) { iLOGlobal = { constants: { HttpErrors: { None: "success", NoContent: 204, NotModified: 304, BadRequest: 400, Unauthorized: 401, Forbidden: 403, NotFound: 404, TimedOut: 408, InternalError: 500, BadGateway: 502 }, alt_mode: { HP: 0, Enabled: 1, ProfileError: 2, NANDError: 3, Errors: 2 }, alt_level: { Light: 0, Medium: 1, Heavy: 2 } }, remote_address: "ilo_service", logout_message: null, login_delay: 0, default_language: "en", accept_language: {}, langData: {}, isApplication: !1, pollingDialogDoc: null, topPage: self, content: "summary.html", reqPathPrefix: "../lang/", initialLink: "summary.html", initialTab: void 0, debug: !1, helpWin: {}, features: { alt_mode: null, alt_mode_en: null, alt_mode_err: null, alt_level: null, alt_vnd: "", blade: 0, storage: 0 }, bay_num: 0, init: function() { jQuery.extend(iLOGlobal, { cache: { eventPoll: { timestamp: 0 } }, isFlashPolling: !1, uploading: 0, eventAttempts: 0, pollingDialogDoc: null, titleFrame: null, applicationDoc: null, setTitle: !1 }); }, federation_filter: [], icons: { critical: 'Critical', power: 'power', indicator: 'indicator', spinning: 'Spinning' }, ie: function() { return window.ie === !1 && (window.ie = window.compute_ie), window.ie; }() }, iLOGlobal.init(); var ajax_settings = { async: $.ajaxSettings.async, cache: $.ajaxSettings.cache }; $.ajaxSetup(ajax_settings); } if ("undefined" == typeof iLO || !iLO) { /*! * jQuery doTimeout: Like setTimeout, but better! - v1.0 - 3/3/2010 * http://benalman.com/projects/jquery-dotimeout-plugin/ * * Copyright (c) 2010 "Cowboy" Ben Alman * Dual licensed under the MIT and GPL licenses. * http://benalman.com/about/license/ */ !function($) { function b(l) { function e() { l ? h.removeData(l) : f && delete a[f]; } function o() { k.id = setTimeout(function() { k.fn(); }, j); } var h, m = this, k = {}, g = l ? $.fn : $, n = arguments, i = 4, f = n[1], j = n[2], p = n[3]; if ("string" != typeof f && (i--, f = l = 0, j = n[1], p = n[2]), l ? (h = m.eq(0), h.data(l, k = h.data(l) || {})) : f && (k = a[f] || (a[f] = {})), k.id && clearTimeout(k.id), delete k.id, p) k.fn = function(q) { try { "string" == typeof p && (p = g[p]), p.apply(m, d.call(n, i)) !== !0 || q ? e() : o(); } catch (e) {} }, o(); else { if (k.fn) return void 0 === j ? e() : k.fn(j === !1), !0; e(); } } var a = {}, c = "doTimeout", d = Array.prototype.slice; $[c] = function() { return b.apply(window, [ 0 ].concat(d.call(arguments))); }, $.fn[c] = function() { var f = d.call(arguments), e = b.apply(this, [ c + f[0] ].concat(f)); return "number" == typeof f[0] || "number" == typeof f[1] ? this : e; }; }(jQuery), /*! *jQuery table2csv plugin 0.1.0 *Converts table html element to csv string *Copyright (c) 2009 Leonardo Rossetti motw.leo@gmail.com * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE *AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, *OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN *THE SOFTWARE. */ function($) { $.fn.table2csv = function(options) { var defaults = { delimiter: ",", callback: function(csv) { return csv; } }, settings = $.extend(defaults, options); return this.each(function() { var csv = ""; $(this).find("thead tr:not('.tablesorter-ignoreRow') th:not('.csv_exclude')").each(function() { csv += '"' + $(this).text().replace(/(\")/gim, '\\"\\"') + '"' + settings.delimiter; }), csv += "\n", $(this).find("tbody tr:not('.tablesorter-scroller-spacer')").each(function() { $(this).find("td:not('.csv_exclude')").each(function() { csv += this.children.length && ($(this.children[0]).is("img") || $(this.children[0]).hasClass("status-icon")) ? '"' + $(this.children[0]).attr("title").replace(/(\")/gim, '\\"\\"') + '"' + settings.delimiter : settings.trim && (void 0 == iLO.getIEVersion() || iLO.getIEVersion() > 8) ? '"' + $(this).text().trim().replace(/(\")/gim, '\\"\\"') + '"' + settings.delimiter : '"' + $(this).text().replace(/(\")/gim, '\\"\\"') + '"' + settings.delimiter; }), csv += "\n"; }), settings.callback(csv); }); }; }(jQuery), jQuery.fn.check = function(mode) { return "undefined" == typeof mode && (mode = 1), mode = mode === !1 || 0 === mode ? "off" : mode === !0 || 1 == mode || "man" == mode ? "on" : mode, this.each(function() { switch (mode) { case "on": case "true": $(this).prop("checked", !0); break; case "off": case "false": $(this).prop("checked", !1); break; case "toggle": $(this).prop("checked", !$(this).is(":checked")); } }); }, function($) { $.fn.extend({ disable: function() { return this.each(function() { var $this = jQuery(this); $this.prop("disabled", !0); var type = $this.attr("type"); if ($this.length > 0) if ("text" === type || "password" === type) { var temp = $this.val(); $this.addClass("textfield_disabled"), jQuery.existsNonNull($this.attr("data-prev_value")) && $this.val($this.attr("data-prev_value")).attr("data-prev_value", temp); } else "checkbox" === type && ($this.attr("data-prev_checked", $this.is(":checked") ? "true" : "false"), $this.check(!1)); }); }, enable: function() { return this.each(function() { var $this = jQuery(this), type = $this.attr("type"); if ($this.prop("disabled", !1), $this.length > 0) if ("text" === type || "password" === type) { $this.removeClass("textfield_disabled"); var temp = $this.attr("data-prev_value"); jQuery.existsNonNull(temp) && ($this.attr("data-prev_value", $this.val()), $this.val(temp)); } else "checkbox" === type && jQuery.existsNonNull($this.attr("data-prev_checked")) && ($this.is(":checked") || $this.check("true" === $this.attr("data-prev_checked")), $this.removeAttr("data-prev_checked")); }); }, toggleEnabled: function(enable) { switch (typeof enable) { case "boolean": break; case "number": enable = enable > 0; break; default: enable = this.is(":disabled"); } return $(this)[enable ? "enable" : "disable"](); }, toggleEnabledAll: function(enable) { switch (typeof enable) { case "boolean": break; case "number": enable = enable > 0; break; default: enable = this.is(":disabled"); } return this.each(function() { $(this).find("*")[enable ? "enable" : "disable"](); }); }, toggleReadOnly: function(readOnly) { return this.each(function() { ("boolean" == typeof readOnly || "number" == typeof readOnly) && (readOnly ? $(this).prop("readonly", !0).addClass("textfield_readonly") : $(this).prop("readonly", !1).removeClass("textfield_readonly")); }); }, toggleShow: function() { return this.each(function() { var This = $(this); This.is(":hidden") ? This.show() : This.hide(); }); }, translate: function(reqLang, reqPathPrefix) { return this.each(function() { var lang = reqLang ? reqLang : iLO.getLanguage(), pPrefix = reqPathPrefix ? reqPathPrefix : "en" == lang ? iLOGlobal.reqPathPrefix : "/lang/"; $("[data-localize],[rel*=localize]", jQuery(this)).each(function() { var $elem = $(this); $elem.removeData(); var key = $elem.attr("data-localize"); "undefined" != typeof key || (key = $elem.attr("rel").match(/localize\[(.*?)\]/)[1]); var translatedText = iLO.translateString(key, null, pPrefix, lang); jQuery.isValidString(translatedText) && ("INPUT" == $elem.prop("tagName") ? $elem.val(translatedText) : $elem.html(translatedText)); }), $("[langKey],[langAttr]").each(function() { var attribute = $(this).attr("langAttr") || $(this)[0].getAttribute("langAttr"), key = $(this).attr("langKey") || $(this)[0].getAttribute("langKey"), defaultText = $(this).attr(attribute) || $(this)[0].getAttribute(attribute), tableTitle = $(this).attr("data-th") || $(this)[0].getAttribute("data-th"); try { tableTitle ? $(this).attr("data-th", iLO.translateString(key, attribute)) : $(this).attr(attribute, iLO.translateString(key, defaultText, pPrefix, lang)); } catch (e) { key = key; } }); }); } }); }(jQuery), function($) { function displayMessage(i, j, data, fn) { var langKey = "", translatedText = "", msg = ""; jQuery.isPlainObject(this.message) ? ($.isValidString(this.message.langKey) && (langKey = this.message.langKey), translatedText = iLO.translateString(langKey, this.message.text), "undefined" != typeof this.message.message && this.message.message && (msg = this.message.message)) : msg = this.message; var out = ""; return out = '

' + translatedText + "" + msg + "

"; } displayMessage.jqote_id = 1, $.fn.extend({ runEffect: function() { return this.each(function() { $(this).fadeIn(); }); }, hideMessage: function() { return this.each(function() { $(this).fadeOut(); }); }, displayError: function(o) { return this.each(function() { $(this).show().jqotesub(displayMessage, { "class": "ui-state-error", message: o }).runEffect(); }); }, displayWarning: function(o) { return this.each(function() { $(this).show().jqotesub(displayMessage, { "class": "ui-state-warning", message: o }).runEffect(); }); }, displayInformative: function(o) { return this.each(function() { $(this).show().jqotesub(displayMessage, { "class": "ui-state-highlight", message: o }).runEffect(); }); }, displayNormal: function(o) { return this.each(function() { $(this).show().jqotesub(displayMessage, { "class": "ui-state-normal", message: o }).runEffect(); }); }, addMessageText: function(o, type, force) { var iconClasses = [ "ui-state-highlight", "ui-state-normal", "ui-state-warning", "ui-state-error" ], iconClass = -1 == $.inArray(type, iconClasses) ? iconClasses[0] : type; return this.each(function() { if (this.children.length) { var langKey = "", translatedText = "", message = ""; "undefined" != typeof o.langKey && o.langKey && (langKey = o.langKey), "undefined" != typeof o.text && o.text && (translatedText = iLO.translateString(langKey, o.text)), "undefined" != typeof o.message && o.message && (message = o.message); var result = '

'; result += "" != langKey ? '' + translatedText + "" : translatedText, result += message + "

", (-1 == $(".msgText p span").text().indexOf(translatedText) || force) && $(".msgText", $(this)).append(result); } else $(this).show().jqotesub(displayMessage, { "class": iconClass, message: o }).runEffect(); }); }, addNormal: function(o, force) { return $(this).addMessageText(o, "ui-state-normal", force); }, addWarning: function(o, force) { return $(this).addMessageText(o, "ui-state-warning", force); }, addInformative: function(o, force) { return $(this).addMessageText(o, "ui-state-highlight", force); }, addError: function(o, force) { return $(this).addMessageText(o, "ui-state-error", force); }, createWaitScreen: function(o) { var langKey = "", translatedText = "Loading...", spinner = iLOGlobal.icons.spinning, result = ""; return "undefined" != typeof o && o || (o = {}), "undefined" != typeof o.langKey && o.langKey && (langKey = o.langKey), "undefined" != typeof o.text && o.text && (translatedText = iLO.translateString(langKey, o.text)), result = '
' + spinner + '
' + translatedText + "
", this.each(function() { $(this).html(result); }); } }); }(jQuery), /*! * jQote2 - client-side Javascript templating engine * Copyright (C) 2010, aefxx * http://aefxx.com/ * * Dual licensed under the WTFPL v2 or MIT (X11) licenses * WTFPL v2 Copyright (C) 2004, Sam Hocevar * * Date: Thu, Oct 21st, 2010 * Version: 0.9.7 */ function($) { function raise(error, ext) { throw $.extend(error, ext), error; } function dotted_ns(fn) { var ns = []; if (type_of.call(fn) !== ARR) return !1; for (var i = 0, l = fn.length; l > i; i++) ns[i] = fn[i].jqote_id; return ns.length ? ns.sort().join(".").replace(/(\b\d+\b)\.(?:\1(\.|$))+/g, "$1$2") : !1; } function lambda(tmpl, t) { var f, fn = [], type = type_of.call(tmpl); if (t = t || tag, type === FUNC) return tmpl.jqote_id ? [ tmpl ] : !1; if (type !== ARR) return [ $.jqotec(tmpl, t) ]; if (type === ARR) for (var i = 0, l = tmpl.length; l > i; i++) (f = lambda(tmpl[i], t)) && fn.push(f[0]); return fn.length ? fn : !1; } var JQOTE2_TMPL_UNDEF_ERROR = "UndefinedTemplateError", JQOTE2_TMPL_COMP_ERROR = "TemplateCompilationError", JQOTE2_TMPL_EXEC_ERROR = "TemplateExecutionError", ARR = "[object Array]", STR = "[object String]", FUNC = "[object Function]", n = 1, tag = "%", qreg = /^[^<]*(<[\w\W]+>)[^>]*$/, type_of = Object.prototype.toString; $.fn.extend({ jqote: function(data, t) { var dom = ""; return data = type_of.call(data) === ARR ? data : [ data ], this.each(function(i) { for (var fn = $.jqotec(this, t), j = 0; j < data.length; j++) dom += fn.call(data[j], i, j, data, fn); }), dom; } }), $.each({ app: "append", pre: "prepend", sub: "html" }, function(name, method) { $.fn["jqote" + name] = function(elem, data, t) { var ns, regexp, str = $.jqote(elem, data, t), $$ = qreg.test(str) ? $ : function(str) { return $(document.createTextNode(str)); }; return (ns = dotted_ns(lambda(elem))) && (regexp = new RegExp("(^|\\.)" + ns.split(".").join("\\.(.*)?") + "(\\.|$)")), this.each(function() { var dom = $$(str); $(this)[method](dom), (3 === dom[0].nodeType ? $(this) : dom).trigger("jqote." + name, [ dom, regexp ]); }); }; }), $.extend({ jqote: function(elem, data, t) { var str = "", fn = lambda(elem); t = t || tag, fn === !1 && raise(new Error("Empty or undefined template passed to $.jqote"), { type: JQOTE2_TMPL_UNDEF_ERROR }), data = type_of.call(data) !== ARR ? [ data ] : data; for (var i = 0, l = fn.length; l > i; i++) for (var j = 0; j < data.length; j++) str += fn[i].call(data[j], i, j, data, fn[i]); return str; }, jqotec: function(template, t) { var cache, elem, tmpl, type = type_of.call(template); if (t = t || tag, type === STR && qreg.test(template)) { if (elem = tmpl = template, cache = $.jqotecache[template]) return cache; } else if (elem = type === STR || template.nodeType ? $(template) : template instanceof jQuery ? template : null, elem[0] && ((tmpl = elem[0].innerHTML) || (tmpl = elem.text())) || raise(new Error("Empty or undefined template passed to $.jqotec"), { type: JQOTE2_TMPL_UNDEF_ERROR }), cache = $.jqotecache[$.data(elem[0], "jqote_id")]) return cache; for (var index, str = "", arr = tmpl.replace(/\s*\/\*!\s*|\s*!\*\/\s*|\s*\s*|[\r\n\t]/g, "").split("<" + t).join(t + ">").split(t + ">"), m = 0, l = arr.length; l > m; m++) str += "" !== arr[m].charAt(0) ? "out+='" + arr[m].replace(/(\\|["'])/g, "\\$1") + "'" : "=" === arr[m].charAt(1) ? ";out+=(" + arr[m].substr(2) + ");" : "!" === arr[m].charAt(1) ? ";out+=$.jqotenc((" + arr[m].substr(2) + "));" : ";" + arr[m].substr(1); str = "try{" + ('var out="";' + str + ";return out;").split("out+='';").join("").split('var out="";out+=').join("var out=") + '}catch(e){e.type="' + JQOTE2_TMPL_EXEC_ERROR + '";e.args=arguments;e.template=arguments.callee.toString();throw e;}'; try { var fn = new Function("i, j, data, fn", str); } catch (e) { raise(e, { type: JQOTE2_TMPL_COMP_ERROR }); } return index = elem instanceof jQuery ? $.data(elem[0], "jqote_id", n) : elem, $.jqotecache[index] = (fn.jqote_id = n++, fn); }, jqotefn: function(elem) { var type = type_of.call(elem), index = type === STR && qreg.test(elem) ? elem : $.data($(elem)[0], "jqote_id"); return $.jqotecache[index] || !1; }, jqotetag: function(str) { type_of.call(str) === STR && (tag = str); }, jqotenc: function(str) { return jQuery.existsNonNull(str) && str.toString && jQuery.isValidString(str.toString()) ? str.toString().replace(/&(?!\w+;)/g, "&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'") : ""; }, jqotecache: {} }), $.event.special.jqote = { add: function(obj) { var ns, handler = obj.handler, data = obj.data ? type_of.call(obj.data) !== ARR ? [ obj.data ] : obj.data : []; obj.namespace || (obj.namespace = "app.pre.sub"), data.length && (ns = dotted_ns(lambda(data))) && (obj.handler = function(event, dom, regexp) { return !regexp || regexp.test(ns) ? handler.apply(this, [ event, dom ]) : null; }); } }; }(jQuery); /*! jquery.cookies.2.2.0.min.js */ /*! * Copyright (c) 2005 - 2010, James Auldridge * All rights reserved. * * Licensed under the BSD, MIT, and GPL (your choice!) Licenses: * http://code.google.com/p/cookies/wiki/License */ var jaaulde = window.jaaulde || {}; jaaulde.utils = jaaulde.utils || {}, jaaulde.utils.cookies = function() { var resolveOptions, assembleOptionsString, parseCookies, constructor, defaultOptions = { expiresAt: null, path: "/", domain: null, secure: !1 }; return resolveOptions = function(options) { var returnValue, expireDate; return "object" != typeof options || null === options ? returnValue = defaultOptions : (returnValue = { expiresAt: defaultOptions.expiresAt, path: defaultOptions.path, domain: defaultOptions.domain, secure: defaultOptions.secure }, "object" == typeof options.expiresAt && options.expiresAt instanceof Date ? returnValue.expiresAt = options.expiresAt : "number" == typeof options.hoursToLive && 0 !== options.hoursToLive && (expireDate = new Date(), expireDate.setTime(expireDate.getTime() + 60 * options.hoursToLive * 60 * 1e3), returnValue.expiresAt = expireDate), "string" == typeof options.path && "" !== options.path && (returnValue.path = options.path), "string" == typeof options.domain && "" !== options.domain && (returnValue.domain = options.domain), options.secure === !0 && (returnValue.secure = options.secure)), returnValue; }, assembleOptionsString = function(options) { return options = resolveOptions(options), ("object" == typeof options.expiresAt && options.expiresAt instanceof Date ? "; expires=" + options.expiresAt.toGMTString() : "") + "; path=" + options.path + ("string" == typeof options.domain ? "; domain=" + options.domain : "") + (options.secure === !0 ? "; secure" : ""); }, parseCookies = function() { var i, pair, name, value, unparsedValue, cookies = {}, separated = document.cookie.split(";"); for (i = 0; i < separated.length; i += 1) { pair = separated[i].split("="), name = pair[0].replace(/^\s*/, "").replace(/\s*$/, ""); try { value = decodeURIComponent(pair[1]); } catch (e1) { value = pair[1]; } if ("object" == typeof JSON && null !== JSON && "function" == typeof JSON.parse) try { unparsedValue = value, value = JSON.parse(value); } catch (e2) { value = unparsedValue; } cookies[name] = value; } return cookies; }, constructor = function() {}, constructor.prototype.get = function(cookieName) { var returnValue, ckitem, cookies = parseCookies(); if ("string" == typeof cookieName) returnValue = "undefined" != typeof cookies[cookieName] ? cookies[cookieName] : null; else if ("object" == typeof cookieName && null !== cookieName) { returnValue = {}; for (ckitem in cookieName) "undefined" != typeof cookies[cookieName[ckitem]] ? returnValue[cookieName[ckitem]] = cookies[cookieName[ckitem]] : returnValue[cookieName[ckitem]] = null; } else returnValue = cookies; return returnValue; }, constructor.prototype.filter = function(cookieNameRegExp) { var cookieName, returnValue = {}, cookies = parseCookies(); "string" == typeof cookieNameRegExp && (cookieNameRegExp = new RegExp(cookieNameRegExp)); for (cookieName in cookies) cookieName.match(cookieNameRegExp) && (returnValue[cookieName] = cookies[cookieName]); return returnValue; }, constructor.prototype.set = function(cookieName, value, options) { if (("object" != typeof options || null === options) && (options = {}), "undefined" == typeof value || null === value) value = "", options.hoursToLive = -8760; else if ("string" != typeof value) { if ("object" != typeof JSON || null === JSON || "function" != typeof JSON.stringify) throw new Error("cookies.set() received non-string value and could not serialize."); value = JSON.stringify(value); } var optionsString = assembleOptionsString(options); document.cookie = cookieName + "=" + encodeURIComponent(value) + optionsString; }, constructor.prototype.del = function(cookieName, options) { var name, allCookies = {}; ("object" != typeof options || null === options) && (options = {}), "boolean" == typeof cookieName && cookieName === !0 ? allCookies = this.get() : "string" == typeof cookieName && (allCookies[cookieName] = !0); for (name in allCookies) "string" == typeof name && "" !== name && this.set(name, null, options); }, constructor.prototype.test = function() { var returnValue = !1, testName = "cT", testValue = "data"; try { this.set(testName, testValue); } catch (e) { return !1; } return this.get(testName) === testValue && (this.del(testName), returnValue = !0), returnValue; }, constructor.prototype.setOptions = function(options) { "object" != typeof options && (options = null), defaultOptions = resolveOptions(options); }, new constructor(); }(), function() { window.jQuery && !function($) { $.cookies = jaaulde.utils.cookies; var extensions = { cookify: function(options) { return this.each(function() { var i, name, value, nameAttrs = [ "name", "id" ], $this = $(this); for (i in nameAttrs) if (!isNaN(i) && (name = $this.attr(nameAttrs[i]), "string" == typeof name && "" !== name)) { $this.is(":checkbox, :radio") ? $this.is(":checked") && (value = $this.val()) : value = $this.is(":input") ? $this.val() : $this.html(), ("string" != typeof value || "" === value) && (value = null), $.cookies.set(name, value, options); break; } }); }, cookieFill: function() { return this.each(function() { var n, getN, name, value, nameAttrs = [ "name", "id" ], $this = $(this); for (getN = function() { return n = nameAttrs.pop(), !!n; }; getN(); ) if (name = $this.attr(n), "string" == typeof name && "" !== name) { value = $.cookies.get(name), null !== value && ($this.is(":checkbox, :radio") ? $this.val() === value ? $this.check(!0) : $this.check(!1) : $this.is(":input") ? $this.val(value) : $this.html(value)); break; } }); }, cookieBind: function(options) { return this.each(function() { var $this = $(this); $this.cookieFill().on("change", function() { $this.cookify(options); }); }); } }; $.each(extensions, function(i) { $.fn[i] = this; }); }(window.jQuery); }(), /*! Copyright (c) Jim Garvin (http://github.com/coderifous), 2008. * Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses. * Written by Jim Garvin (@coderifous) for use on LMGTFY.com. * http://github.com/coderifous/jquery-localize * Based off of Keith Wood's Localisation jQuery plugin. * http://keith-wood.name/localisation.html */ function($) { function normaliseLang(lang) { return lang.substring(0, 2).toLowerCase(); } $.localize = function(pkg, options) { function loadLanguage(pkg, lang, level) { level = level || 1; var file; options && options.loadBase && 1 == level ? (intermediateLangData = {}, file = pkg + ".js", jsonCall(file, pkg, lang, level)) : 1 == level ? (intermediateLangData = {}, loadLanguage(pkg, lang, 2)) : 2 == level && lang.length >= 2 ? (file = pkg + ".js", jsonCall(file, pkg, lang, level)) : 3 == level && lang.length >= 5 && (file = pkg + "-" + lang.substring(0, 5) + ".js", jsonCall(file, pkg, lang, level)); } function jsonCall(file, pkg, lang, level) { options.pathPrefix && (file = options.pathPrefix + "/" + file), $.getJSON(file, null, function(d) { $.extend(intermediateLangData, d), notifyDelegateLanguageLoaded(intermediateLangData), loadLanguage(pkg, lang, level + 1); }); } function defaultCallback(data) { $.localize.data[pkg] = data; try { $wrappedSet.each(function(i) { var elem, key, value; elem = $(this), key = elem.attr("data-localize"), "undefined" != typeof key || (key = elem.attr("rel").match(/localize\[(.*?)\]/)[1]), value = valueForKey(key, data), null != value && ("INPUT" == elem.prop("tagName") ? elem.val(value) : elem.html(value)); }); } catch (e) {} } function notifyDelegateLanguageLoaded(data) { options.callback ? (defaultCallback(data), options.callback(data, defaultCallback)) : defaultCallback(data); } function valueForKey(key, data) { for (var keys = key.split(/\./), value = data; keys.length > 0; ) { if (!value) return null; value = value[keys.shift()]; } return value; } function regexify(string_or_regex_or_array) { if ("string" == typeof string_or_regex_or_array) return "^" + string_or_regex_or_array + "$"; if (string_or_regex_or_array.length) { for (var matchers = [], x = string_or_regex_or_array.length; x--; ) matchers.push(regexify(string_or_regex_or_array[x])); return matchers.join("|"); } return string_or_regex_or_array; } var $wrappedSet = this, intermediateLangData = {}; options = options || {}; var saveSettings = { async: $.ajaxSettings.async, timeout: $.ajaxSettings.timeout }; $.ajaxSetup({ async: !1, timeout: options && options.timeout ? options.timeout : 5e3 }); var lang = normaliseLang(options && options.language ? options.language : $.defaultLanguage); options.skipLanguage && lang.match(regexify(options.skipLanguage)) || (loadLanguage(pkg, lang, 1), $.ajaxSetup(saveSettings)); }, $.fn.localize = $.localize, $.localize.data = {}, $.defaultLanguage = normaliseLang(navigator.browserLanguage ? navigator.browserLanguage : navigator.language ? navigator.language : navigator.userLanguage ? navigator.userLanguage : navigator.systemLanguage ? navigator.systemLanguage : iLOGlobal.default_language); }(jQuery), function(jQuery) { "undefined" != typeof iLOGlobal.cache.subscription_hash && iLOGlobal.cache.subscription_hash || (iLOGlobal.cache.subscription_hash = {}), jQuery.publish = function(topic, args) { var cache = iLOGlobal.cache.subscription_hash; return "undefined" == typeof cache ? !1 : void ("undefined" != typeof cache[topic] && Array.isArray(cache[topic]) && jQuery.each(cache[topic], function(i, val) { try { this.apply(jQuery, args || []); } catch (e) { try { delete cache[topic][i]; } catch (e2) {} } })); }, jQuery.subscribe = function(topic, callback) { var cache = iLOGlobal.cache.subscription_hash; if ("undefined" == typeof cache) return !1; if ("undefined" == typeof cache[topic] || !Array.isArray(cache[topic])) return cache[topic] = iLOGlobal.topPage.jQuery.makeArray(callback), [ topic, callback ]; for (var i in cache[topic]) cache[topic][i] == callback && delete cache[topic][i]; try { cache[topic].push(callback); } catch (e) { try { delete cache[topic], cache[topic] = jQuery.makeArray(callback); } catch (e2) {} } return [ topic, callback ]; }, jQuery.subscribeToEvent = function(event, callback) { return jQuery.subscribe(event, callback); }, jQuery.unsubscribe = function(handle) { var cache = iLOGlobal.cache.subscription_hash; if ("undefined" == typeof cache) return !1; var t; try { t = handle[0]; } catch (e) { return !1; } cache[t] && jQuery.each(cache[t], function(idx) { this == handle[1] && cache[t].splice(idx, 1); }); try { if (0 === cache[t].length) return delete cache[t], !0; } catch (e2) {} return !1; }; }(jQuery), function($) { $.fn.hpTooltip = function(options) { function hpTooltip(elem) { function hide(ev) { tip && ($("body").off("mousemove", onMove), $("body").off("click", onMove), source.off("focus", hide), source.off("click", hide), tip.remove(), tip = null); } function onOver(ev) { var refId, tipId, sourceOffset, tipStyle, tipWidth, tipHeight; !tip && source.attr("data-tooltip") && (refId = source.attr("id"), tipId = refId + "-tooltip", tip = $('
' + source.attr("data-tooltip") + "
"), source.parents(".hp-global").length > 0 && tip.addClass("hp-global"), $("body").append(tip), tipWidth = tip.outerWidth(), tipHeight = tip.outerHeight(), sourceOffset = source.offset(), tipStyle = { position: "absolute", top: sourceOffset.top - tipHeight - 10, left: sourceOffset.left - 15 }, tipStyle.top < 0 ? (tipStyle.top = sourceOffset.top + source.outerHeight() + 10, tipStyle.left + tipWidth > $(window).width() ? (tipStyle.left = $(window).width() - tipWidth, tip.css(tipStyle).addClass("hp-below-right")) : tip.css(tipStyle).addClass("hp-below")) : tipStyle.left + tipWidth > $(window).width() ? (tipStyle.left = $(window).width() - tipWidth, tip.css(tipStyle).addClass("hp-above-right")) : tip.css(tipStyle).addClass("hp-above"), $("body").on("mousemove", onMove), $("body").on("click", onMove), source.on("focus", hide), source.on("click", hide)); } function initialize(elem) { var text = $(elem).attr("tooltip"); "string" == typeof options && (text = options), source = $(elem), source.attr("data-tooltip", text), text && !source.hasClass("hp-tooltipped") && (source.addClass("hp-tooltipped"), source.on("mouseenter", onOver)); } var source, tip, onMove; onMove = function(ev) { tip && (ev.pageX < source.offset().left || ev.pageX > source.offset().left + source.outerWidth() || ev.pageY < source.offset().top || ev.pageY > source.offset().top + source.outerHeight()) && hide(); }, initialize(elem); } var instance, ret; return this.each(function() { var $elem = $(this); instance = new hpTooltip($elem[0]), ret = ret ? ret.add($elem) : $elem; }), ret; }; }(jQuery), function($) { function startAnimation($elem) { $elem.attr("alt", "UID BLINK").removeClass("indicator-blink indicator-on icon-spinning").addClass("indicator-off"); var timer = setInterval(function() { $elem.toggleClass("indicator-off indicator-on"); }, 500); $elem.attr("data-timer", timer); } $.fn.extend({ setUID: function(status) { return this.each(function() { var $elem = jQuery(this); if (iLOGlobal.ie) { var timer = $elem.attr("data-timer"); timer && clearInterval(timer), $elem.removeData("timer"); } switch (status) { case "UID_ON": $elem.attr("alt", "UID ON").removeClass("indicator-off indicator-blink icon-spinning").addClass("indicator-on"); break; case "UID_OFF": $elem.attr("alt", "UID OFF").removeClass("indicator-blink indicator-on icon-spinning").addClass("indicator-off"); break; case "UID_LOADING": 0 == $elem.find("svg.icon-spinning").length && $elem.prepend(iLOGlobal.icons.spinning), $elem.addClass("icon-spinning"); break; case "UID_BLINK": iLOGlobal.ie ? startAnimation($elem) : $elem.attr("alt", "UID BLINK").removeClass("indicator-off indicator-on icon-spinning").addClass("indicator-blink"); break; default: $elem.attr("alt", "UID UNKNOWN").removeClass("indicator-off indicator-blink indicator-on icon-spinning"); } }); } }); }(jQuery), function($) { var settings = { inEffectDuration: 600, outEffectDuration: 800, inEffect: "easeOutExpo", outEffect: "easeOutCirc", stayTime: 1e4, maxDepth: 5, text: "", textKey: "", sticky: !1, type: "inform", position: "top-right", closeText: "", closeTextKey: "", close: null, parent: ".app-container" }, methods = { init: function(options) { options && $.extend(settings, options); }, showToast: function(options) { var localSettings = {}, orientation = { "top-right": "top", "bottom-right": "bottom" }; $.extend(localSettings, settings, options), $.isValidString(localSettings.textKey) && (localSettings.text = iLO.translateString(localSettings.textKey)), $.isValidString(localSettings.closeTextKey) && (localSettings.closeText = iLO.translateString(localSettings.closeTextKey)); var toastWrapAll, toastItemOuter, toastItemInner, toastItemMsg, toastItemClose, toastItemImage, which = orientation[localSettings.position] || "top", parent = localSettings.parent ? localSettings.parent : "body"; return toastWrapAll = $(parent + " > .toast-container-" + which).length ? $(parent + " > .toast-container-" + which) : $("
").addClass("toast-container-" + which).addClass("toast-position-" + localSettings.position).appendTo(parent), toastItemOuter = $("
").addClass("toast-item-wrapper"), toastItemInner = $("
").hide().addClass("toast-item").attr("which", which), toastItemImage = $("
").addClass("toast-item-image").addClass("toast-item-image-" + localSettings.type).appendTo(toastItemInner).html(myIcons[localSettings.type]), toastItemMsg = $("
").addClass("toast-item-msg").html(localSettings.text).appendTo(toastItemInner), toastItemClose = $("
").addClass("toast-item-close").appendTo(toastItemInner).html(myIcons.close).on("click", function() { $().toastmessage("removeToast", toastItemInner, localSettings); }), "top" == which ? (toastWrapAll.children(".toast-item-wrapper").length >= localSettings.maxDepth && toastWrapAll.children(".toast-item-wrapper").first().remove(), toastItemInner.appendTo(toastWrapAll).wrap(toastItemOuter).slideToggle(localSettings.inEffectDuration, localSettings.inEffect)) : (toastWrapAll.children(".toast-item-wrapper").length >= localSettings.maxDepth && toastWrapAll.children(".toast-item-wrapper").last().remove(), toastItemInner.prependTo(toastWrapAll).wrap(toastItemOuter).slideToggle(localSettings.inEffectDuration, localSettings.inEffect)), localSettings.sticky || setTimeout(function() { $().toastmessage("removeToast", toastItemInner, localSettings); }, localSettings.stayTime), toastItemInner; }, removeToast: function(obj, options) { try { "top" == obj.attr("which") ? obj.first().animate({ "margin-top": -1 * obj.first()[0].offsetHeight }, options.outEffectDuration, options.outEffect, function() { obj.parent().remove(); }) : obj.first().animate({ "margin-bottom": -1 * obj.first()[0].offsetHeight }, options.outEffectDuration, options.outEffect, function() { obj.parent().remove(); }); } catch (e) { $.error("removeToast error: " + e.message); } options && null !== options.close && options.close(); } }; $.fn.toastmessage = function(method) { return methods[method] ? methods[method].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof method && method ? void $.error("Method " + method + " does not exist on jQuery.toastmessage") : methods.init.apply(this, arguments); }; }(jQuery); var msgBoxQueue; "undefined" != typeof msgBoxQueue && msgBoxQueue || (msgBoxQueue = new MsgBoxQueue()), $(window).on("resize", function() { $(".msgbox-wrapper").is(":visible") && msgBoxQueue.centerMsgBox(); }), $(document).on("fullscreenchange", function(event, data) { $(".msgbox-wrapper").length > 0 && msgBoxQueue.moveMsgBox(); }), function($) { function buildMessage(msgObj) { return $.isValidString(msgObj.messageKey) && (msgObj.message = iLO.translateString(msgObj.messageKey)), $.isValidString(msgObj.timerStringKey) && (msgObj.timerString = iLO.translateString(msgObj.timerStringKey)), msgObj.icon || (msgObj.icon = myIcons[msgObj.type] || null), msgObj.stayTime > 0 && (msgObj.remaining = msgObj.stayTime, msgObj.timerStringFormatter = msgBoxQueue.timerStringFormatter), msgObj.messageFormatter = msgBoxQueue.messageFormatter, msgObj.$overlay = $('
'), msgObj.$msgbox = $('
').jqoteapp("#msgbox", msgObj), msgObj; } var defaultOptions = { icon: null, title: "", titleKey: "", message: "", messageKey: "", messageInserts: [], action: "", actionKey: "", timerString: "", timerStringKey: "", stayTime: 0, closeOnEscape: !0, closeOnClick: !0, callback: null, retvalOverride: null }, methods = { alert: function(options, callback) { var opts = { buttons: [ { text: "OK", textKey: "ok", isDefault: !0, value: !0 } ] }; $.extend(opts, defaultOptions, options); var msgObj = buildMessage(opts); msgObj.callback = callback, msgBoxQueue.push(msgObj); }, confirm: function(options, callback) { var opts = { buttons: [ { text: "OK", textKey: "ok", isDefault: !0, value: !0 }, { text: "Cancel", textKey: "cancel", value: !1 } ] }; $.extend(opts, defaultOptions, options); var msgObj = buildMessage(opts); msgObj.callback = callback, msgBoxQueue.push(msgObj); } }; $.fn.msgbox = function(method) { return methods[method] ? methods[method].apply(this, Array.prototype.slice.call(arguments, 1)) : void $.error("Method " + method + " does not exist on $.msgbox"); }; }(jQuery); } if ("undefined" == typeof iLO || !iLO) { $.cookies.test() || alert("Your browser must be set to accept cookies!"); var cookieOptions = { path: "/", secure: !1 }; $.cookies.setOptions(cookieOptions), $.ajaxSetup({ xhr: window.XMLHttpRequest && (window.location && "file:" !== window.location.protocol || !window.ActiveXObject) ? function() { return new window.XMLHttpRequest(); } : function() { try { var obj = null, types = [ "Msxml2.XMLHTTP", "Microsoft.XMLHTTP" ]; for (var i in types) try { obj = new window.ActiveXObject(types[i]); break; } catch (e) {} return obj; } catch (e) {} return null; }, cache: !1, contentType: "application/json; charset=utf-8", beforeSend: function(xhr) { try { if (document.all && document.cookie && "" != document.cookie) for (var cookies = document.cookie.split(";"), i = 0; i < cookies.length; i++) { var cookie = cookies[i].trim(); if ("sessionKey=" == cookie.substring(0, 11)) { var cookieValue = decodeURIComponent(cookie.substring(11)); if (cookieValue && "" != cookieValue) try { xhr.setRequestHeader("Cookie", "blank"), xhr.setRequestHeader("Cookie", "sessionKey=" + cookieValue); } catch (e) {} } } } catch (e) {} xhr.overrideMimeType && xhr.overrideMimeType("text/plain"), -1 == window.location.protocol.indexOf("http") && "undefined" != typeof netscape && "undefined" != typeof netscape.security && netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"), document.all || -1 != window.location.protocol.indexOf("http") || (xhr.withCredentials = "true", xhr.setRequestHeader("Content-type", "text/plain")); }, data: {}, timeout: 6e4, dataFilter: function(data, type) { return "json" == type && "" == data && (data = null), data; } }); } if ("undefined" == typeof iLO || !iLO) { var iLO = { cache: iLOGlobal.cache, remote_address: iLOGlobal.remote_address, constants: iLOGlobal.constants, logout_message: iLOGlobal.logout_message, login_delay: iLOGlobal.login_delay, default_language: iLOGlobal.default_language, trim: function(val) { return (val ? val.toString() : "").trim(); }, val: function(selector) { return iLO.trim($(selector).val()); }, isFunction: function(arg) { switch (typeof arg) { case "function": return "number" != typeof arg.nodeType; case "object": if (null != arg && arg.constructor.toString().indexOf("Function()") > -1) return !0; default: return !1; } }, doLogout: function(msg, wait) { try { iLOGlobal.topPage.doLogout(msg, wait); } catch (e) {} }, doReset: function(resetOptions) { var reset_cause = "config"; reset_cause = location.href.match("info_diagnostics") ? "diags" : "config", iLO.sendJsonRequest("ilo_status", "POST", "json/ilo_status", { method: "reset_ilo", cause: reset_cause }, function(o, fname, error) { if (iLO.checkError(o, fname, error)) iLO.isFunction(resetOptions.errorCallback) && resetOptions.errorCallback(o, fname, error); else { iLO.clearSessionKey(); var tmpver = iLOGlobal.cache.version, tmpcn = iLOGlobal.cache.cn; iLOGlobal.init(), iLOGlobal.logout_message = { text: resetOptions.message, langKey: resetOptions.langKey }, iLOGlobal.login_delay = resetOptions.login_delay, iLOGlobal.cache.version = tmpver, iLOGlobal.cache.cn = tmpcn, iLO.favIcon(); try { iLOGlobal.topPage.stopAllPolling(); } catch (e) {} try { iLOGlobal.features.alt_mode_err ? iLOGlobal.topPage.showAltModeErrorCases("logout") : iLOGlobal.topPage.showLogin(); } catch (e) {} } }); }, isiLO5: function() { return iLOGlobal.cache.version && jQuery.isValidString(iLOGlobal.cache.version) && iLOGlobal.cache.version.indexOf("9.0") >= 0 || iLOGlobal.alt_tokens && iLOGlobal.alt_tokens.PRODGEN && jQuery.isValidString(iLOGlobal.alt_tokens.PRODGEN) && "iLO 5" === iLOGlobal.alt_tokens.PRODGEN ? !0 : !1; }, normaliseLang: function(lang) { return lang.substring(0, 2).toLowerCase(); }, getLanguageCookie: function() { var lang = $.cookies.get("sessionLang"); return lang; }, getLanguage: function() { var lang = $.cookies.get("sessionLang"); if (null == lang && null != iLOGlobal.accept_language) { for (var i = 0; i < iLOGlobal.accept_language.length; i++) if (iLO.isSupportedLanguage(iLOGlobal.accept_language[i])) return lang = iLOGlobal.accept_language[i]; lang = iLO.isSupportedLanguage(iLOGlobal.default_language) ? iLOGlobal.default_language : "en"; } return lang; }, setLanguage: function(lang) { if (iLO.isSupportedLanguage(lang)) { var expires = new Date(); expires.setDate(expires.getDate() + 3650); var r = $.cookies.set("sessionLang", lang, { expiresAt: expires, path: "/" }); return setTimeout(function() { try { iLOGlobal.topPage.jQuery.publish("/language/change", [ lang ]); } catch (e) {} }, 1), r; } }, logEvent: function(data, reserved, debugLevel, severity) { var s = ""; jQuery.isValidString(data) ? s = data : jQuery.each(data, function(i, val) { s += " : " + val; }); }, setSupportedLanguages: function(langs) { Array.isArray(langs) ? iLOGlobal.langs = langs : iLOGlobal.langs = [ { lang: "en", trans_name: "English", version: "*" } ]; }, isSupportedLanguage: function(lang) { var langs = iLOGlobal.langs; if (Array.isArray(langs)) { for (var i = 0; i < langs.length; i++) if (lang == langs[i].lang) return !0; return !1; } return "en" == lang; }, translatePage: function(reqLang, reqPathPrefix) { var lang = reqLang ? reqLang : iLO.getLanguage(), pPrefix = reqPathPrefix ? reqPathPrefix : "../lang/"; iLO.isSupportedLanguage(lang) && (document.all && jQuery.isValidString(iLOGlobal.titleLangKey) && (document.title = iLO.translateString(iLOGlobal.titleLangKey, document.title, pPrefix, lang)), $("[data-localize],[rel*=localize]").each(function() { var elem = $(this); elem.removeData(); var key = elem.attr("data-localize"); "undefined" != typeof key || (key = elem.attr("rel").match(/localize\[(.*?)\]/)[1]); var translatedText = iLO.translateString(key, null, pPrefix, lang); jQuery.isValidString(translatedText) && ("INPUT" == elem.prop("tagName") ? elem.val(translatedText) : elem.html(translatedText)); }), $("[langKey],[langAttr]").each(function() { var attribute = $(this).attr("langAttr") || $(this)[0].getAttribute("langAttr"), key = $(this).attr("langKey") || $(this)[0].getAttribute("langKey"), defaultText = attribute ? $(this).attr(attribute) || $(this)[0].getAttribute(attribute) : "", tableTitle = $(this).attr("data-th") || $(this)[0].getAttribute("data-th"); try { tableTitle ? $(this).attr("data-th", iLO.translateString(key, attribute)) : $(this).attr(attribute, iLO.translateString(key, defaultText, pPrefix, lang)); } catch (e) { key = key; } })); }, translateString: function(key, defaultText, reqPathPrefix, reqLang, callback) { var result = defaultText ? defaultText : "", lang = reqLang ? reqLang : iLO.getLanguage(), pPrefix = reqPathPrefix ? reqPathPrefix : iLOGlobal.reqPathPrefix; if (iLO.isSupportedLanguage(lang) && $.isPlainObject(iLOGlobal.alt_tokens)) { iLOGlobal.langData[lang] || ($.localize("strings", { language: lang, pathPrefix: pPrefix + lang, callback: callback }), iLOGlobal.langData[lang] = {}, jQuery.extend(iLOGlobal.langData[lang], jQuery.fn.localize.data.strings)); var translatedText = ""; try { var keyArray = key.split("."), o = iLOGlobal.langData[lang]; $(keyArray).each(function() { o = o[this]; }), translatedText = o; } catch (e) {} jQuery.isValidString(translatedText) ? result = translatedText : "en" !== lang && (result = iLO.translateString(key, defaultText, null, "en")), result = result.replace(/#\w+#/g, function(matched) { var val = iLOGlobal.alt_tokens[matched.replace(/#/g, "")]; return val ? val : matched; }); } return result; }, enableLanguageHotkey: function() { $(document).on("keydown", "shift+l", function() { if ("en" != iLO.getLanguage()) iLO.setLanguage("en"); else { var langs = iLOGlobal.langs; if (Array.isArray(langs)) { for (var i = 0; i < langs.length; i++) if ("en" != langs[i].lang) { iLO.setLanguage(langs[i].lang); break; } } else iLO.setLanguage("en"); } return iLO.translatePage(), iLO.getLanguage(); }); }, showWaitScreen: function(containerId, waitId, mainId) { var cId = jQuery.isValidString(containerId) ? containerId : null, mId = jQuery.isValidString(mainId) ? mainId : null, wStr = jQuery.isValidString(waitId) ? "#" + waitId : "#waitContainer, .waitContainer"; iLO.hideMainScreen(cId, mId), jQuery(wStr, jQuery(cId ? "#" + cId : "body")).show(); }, hideWaitScreen: function(containerId, waitId) { var cId = jQuery.isValidString(containerId) ? containerId : null, wStr = jQuery.isValidString(waitId) ? "#" + waitId : "#waitContainer, .waitContainer"; jQuery(wStr, jQuery(cId ? "#" + cId : "body")).hide(); }, showMainScreen: function(containerId, mainId, waitId) { var cId = jQuery.isValidString(containerId) ? containerId : null, wId = jQuery.isValidString(waitId) ? waitId : null, mStr = jQuery.isValidString(mainId) ? "#" + mainId : "#bodyContent, .bodyContent"; iLO.hideWaitScreen(cId, wId), jQuery(mStr, jQuery(cId ? "#" + cId : "body")).show(); }, hideMainScreen: function(containerId, mainId) { var cId = jQuery.isValidString(containerId) ? containerId : null, mStr = jQuery.isValidString(mainId) ? "#" + mainId : "#bodyContent, .bodyContent"; jQuery(mStr, jQuery(cId ? "#" + cId : "body")).hide(); }, clearErrorContainers: function(id) { "undefined" != typeof id && id ? jQuery(id).empty().hide() : jQuery(".errorDisplay,#errorDisplay").empty().hide(); }, exportText: function(windowName, data) { var win = window.open("", windowName.replace(/(?!^_)[^0-9a-zA-Z]/gi, ""), "status=0,toolbar=0,menubar=1,directories=0,resizable=1,scrollbars=1"); win && win.document && (win.document.open("text/plain"), win.document.write(data), win.document.close()); }, selectAll: function(id) { document.getElementById(id).focus(), document.getElementById(id).select(); }, closeCSV: function(id) { $("#" + id).dialog("close"); }, csv_popup: function(id, data, defaultFile, msgKey, msg) { var saveHelp = "
", height = .85 * $(window).height(), width = .75 * $(window).width(), textboxHeight = 87, $id = $("#" + id); $id.dialog({ autoOpen: !1, modal: !0, width: width, height: height, position: "top", closeText: "", open: function() { $(".ui-dialog-titlebar-close").attr("title", iLO.translateString("Close")); }, title: function() { $(this).attr("data-localize", "csvOut").attr("id", "csv_title").text(iLO.translateString("csvOut", "CSV Output")); } }), $id.text(""), msgKey && jQuery.isValidString(msgKey) && msg && jQuery.isValidString(msg) && (saveHelp = '

' + iLO.translateString(msgKey, msg) + "

"), iLO.canSaveFile() || (saveHelp += '

To save this data: Copy the text below, paste it into a text editor, and save as a .csv file.


', textboxHeight = 80), iLOGlobal.features.alt_mode || (textboxHeight -= 5), $id.append([ saveHelp, "
", '", "

", '
', ' ', '", "
", "
" ].join("")), $(".ui-dialog-titlebar-close").enable(), $id.dialog("open"), $("#csv_content").trigger("blur"), iLO.translatePage(), iLO.canSaveFile() && $("#csvSave").show().on("click", function() { defaultFile || (defaultFile = "logs.csv"), iLO.saveFile(data, defaultFile); }); }, canSaveFile: function() { return null != window.Blob; }, saveFile: function(data, fileNameIn) { var text = new Blob([ "\ufeff", data ], { encoding: "UTF-8", type: "text/plain;charset=utf-8" }), fileName = $.isValidString(fileNameIn) ? fileNameIn : "file.txt"; null != window.navigator && null != window.navigator.msSaveOrOpenBlob ? window.navigator.msSaveOrOpenBlob(text, fileName) : saveAs(text, fileName); }, Html2Text: function(htmlString) { return htmlString.replace(/&(?!\w+;)/g, "&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'"); }, getIEVersion: function() { return iLOGlobal.ie; }, pianoStatusHTML: function(system_health, changing, dialog) { var statusString = "
' : "", healthString = "ok"; switch (("" + system_health).toUpperCase()) { case "OP_STATUS_CRITICAL": case "CRITICAL": case "ERROR": healthString = "error"; break; case "OP_STATUS_DEGRADED": case "WARNING": healthString = "warning"; break; case "UNKNOWN": healthString = "unknown"; } return statusString += changeString + '>
' + healthString + "
" + statusChangeString + "", dialog && (statusString = '
' + healthString + "
"), statusString; }, grommetStatusHTML: function(severity, size) { var s, title, sort_order = 3, size_string = size ? "small" == size ? " status-icon--small" : "large" == size ? " status-icon--large" : "" : ""; switch (severity.toUpperCase()) { case "REPAIRED": s = "ok", sort_order = 2, title = "Repaired"; break; case "OK": s = "ok", sort_order = 2, title = "OK"; break; case "INFORMATIONAL": s = "info", sort_order = 4, title = "Informational"; break; case "DISABLED": s = "disabled", sort_order = 4, title = "Disabled"; break; case "CAUTION": s = "warning", sort_order = 6, title = "Caution"; break; case "WARNING": s = "warning", sort_order = 6, title = "WARNING"; break; case "CRITICAL": s = "error", sort_order = 8, title = "Critical"; break; case "ERROR": s = "error", sort_order = 8, title = "ERROR"; break; default: s = "unknown", title = "Unknown"; } return s = ''; }, getStatusHtml: function(statusCode, options) { if (!jQuery.isValidString(statusCode)) return ""; var o = jQuery.isPlainObject(options) ? options : null, hasIcon = o && jQuery.existsNonNull(o.icon) && o.icon === !1 ? !1 : !0, hasLabel = o && jQuery.existsNonNull(o.label) && o.label === !1 ? !1 : !0, statusObj = iLO.getStatusIcon(statusCode), imgStyle = jQuery.isValidString(statusObj.style) ? statusObj.style : ""; o && jQuery.isValidString(o.style) && (imgStyle = o.style); var out = ''; return hasIcon && (out += [ '' ].join(""), statusObj.svg ? out += statusObj.svg.replace("control-icon ", "control-icon icon13nt " + (o && o.noSvgClass || iLOGlobal.ie && statusObj.className.indexOf("indicator") > -1 ? " " : statusObj.className + " ")) : (out += ' 0 && (out += 'style="' + imgStyle + '" '), out += "/>"), out += ""), out += hasLabel ? [ hasIcon ? " " : "", '', statusObj.label, "" ].join("") : ""; }, getStringLabel: function(statusStr) { if (!jQuery.isValidString(statusStr)) return ""; var langKey = statusStr.toUpperCase(), moduleStr = langKey.match(/(\D+)|(\d+)/g); 2 !== moduleStr.length && (moduleStr = ""); var label = "", out = ""; switch (moduleStr[0]) { case "FAN BLOCK ": label = iLO.translateString("fanBlock", moduleStr[0]), out = [ '', label, " ", moduleStr[1], "" ].join(""); break; case "FAN ": label = iLO.translateString("fan", moduleStr[0]), out = [ '', label, " ", moduleStr[1], "" ].join(""); break; default: label = iLO.translateString("StrLabel." + langKey, statusStr), out = [ '', label, "" ].join(""); } return out; }, getStatusIcon: function(statusCode) { var iconObj = {}; return jQuery.extend(iconObj, iLO.getStatusIconImg(statusCode), iLO.getStatusIconLabel(statusCode)), iconObj; }, getStatusIconImg: function(statusCode) { if (!jQuery.isValidString(statusCode)) return null; var imgObj = { src: "../images/icon_status_07_unknown.svg" }; switch (statusCode.toUpperCase()) { case "ON": imgObj.svg = "" + iLOGlobal.icons.power, imgObj.className = "powered-on"; break; case "OFF": imgObj.svg = "" + iLOGlobal.icons.power, imgObj.className = "powered-off"; break; case "UID_ON": imgObj.svg = "" + iLOGlobal.icons.indicator, imgObj.className = "indicator-on"; break; case "UID_OFF": imgObj.svg = "" + iLOGlobal.icons.indicator, imgObj.className = "indicator-off"; break; case "UID_BLINK": imgObj.svg = "" + iLOGlobal.icons.indicator, imgObj.className = "indicator-blink"; break; case "OK": case "OP_STATUS_OK": case "OP_STATUS_UP": case "INTERCONNECT_TRAY_PORT_STATUS_OK": case "OP_STATUS_COMPLETED": case "REPAIRED": case "REDUNDANT": case "PDU_REDUNDANT": case "AMS_READY": case "BOOT_PROGRESS_FABRICLOGINSUCCESS": case "BOOT_PROGRESS_COMPLETED": imgObj.src = "../images/icon_status_08_normal.svg"; break; case "INFORMATIONAL": case "OP_STATUS_OTHER": case "OP_STATUS_DORMANT": case "OP_STATUS_POWER_MODE": case "OP_STATUS_STARTING": case "OP_STATUS_STOPPING": case "AMS_UNAVAILABLE": case "NO_SUPPORTING_CPU": case "OP_STATUS_NEGOTIATING": case "OP_STATUS_NOT_CONNECTED": case "AMS_UNAVAILABLE": case "BOOT_PROGRESS_TARGETFOUND": case "BOOT_PROGRESS_LUNFOUND": case "BOOT_PROGRESS_LOGGEDINTOTGT": case "BOOT_PROGRESS_IMAGEDOWNLOAD": case "BOOT_PROGRESS_OSHANDOFF": imgObj.src = "../images/icon_status_06_informational.svg"; break; case "WARNING": case "OP_STATUS_WARNING": imgObj.src = "../images/icon_status_04_warning.svg"; break; case "MINOR FAILURE": case "DEGRADED/WARNING": case "CAUTION": case "OP_STATUS_STOPPED": case "OP_STATUS_DEGRADED": case "OP_STATUS_STRESSED": case "OP_STATUS_LOCAL_FAULT": case "OP_STATUS_REMOTE_FAULT": case "OP_STATUS_NOT_INSTALLED": case "NOT_REDUNDANT": case "PDU_NOT_REDUNDANT": case "NOT_ACTIVE_WARN": case "NOT_SUPPORTED": imgObj.src = "../images/icon_status_03_minor.gif"; break; case "OP_STATUS_PREDICTIVE_FAILURE": case "OP_STATUS_MISMATCHED": case "OP_STATUS_ABORTED": case "OP_STATUS_SUPPORTING_ENTITY_IN_ERROR": case "OP_STATUS_LINK_DOWN": case "OP_STATUS_DOWN": case "OP_STATUS_SHUTDOWN": case "OP_STATUS_LOOP_DEGRADED": case "OP_STATUS_LOOP_FAILED": case "INTERCONNECT_TRAY_PORT_STATUS_MISMATCH": case "OP_STATUS_MAJOR": imgObj.src = "../images/icon_status_02_major.gif"; break; case "MAJOR FAILURE": case "CRITICALFAILURE": case "CRITICAL": case "FAILED": case "OP_STATUS_ERROR": case "OP_STATUS_FAILED": case "OP_STATUS_CRITICAL": case "OP_STATUS_NON_RECOVERABLE_ERROR": case "OP_STATUS_LOST_COMMUNICATION": case "FAILED_REDUNDANT": case "LIC_EXPIRED": imgObj.src = "../images/icon_status_01_critical.svg"; break; case "OP_STATUS_ABSENT": case "OP_STATUS_DISABLED": case "OP_STATUS_IN_SERVICE": case "BOOT_PROGRESS_NONE": imgObj.src = "../images/icon_status_05_disabled.svg"; break; case "LOCKED": imgObj.src = "../images/icon_lock_16.gif"; break; case "UNKNOWN": case "OP_STATUS_UNKNOWN": case "OP_STATUS_NO_CONTACT": case "RESET": imgObj.src = "../images/icon_status_07_unknown.svg"; break; case "OP_STATUS_X": imgObj.src = "../images/icon-x.png", iLOGlobal.features.alt_mode_en && "H3C" == iLOGlobal.features.alt_vnd ? jQuery.extend(imgObj, { style: "border:0;width:16px; height:16px; vertical-align:middle;" }) : jQuery.extend(imgObj, { style: "border:0;width:16px; height:16px;" }); break; case "OP_STATUS_CHECK": imgObj.src = "../images/icon-checkmark.png", iLOGlobal.features.alt_mode_en && "H3C" == iLOGlobal.features.alt_vnd ? jQuery.extend(imgObj, { style: "border:0;width:8px; height:8px; vertical-align:middle;" }) : jQuery.extend(imgObj, { style: "border:0;width:8px; height:8px;" }); } return imgObj; }, getStatusIconLabel: function(statusCode) { var labelObj = {}, langKey = ""; if (!jQuery.isValidString(statusCode)) return labelObj.label = iLO.translateString("status_labels.UNKNOWN", "Unknown"), labelObj.langKey = "status_labels.UNKNOWN", labelObj; switch (statusCode.toUpperCase()) { case "NOT PRESENT": case "PRESENT": case "PRESENT/NOT ENABLED": case "NOT SUPPORTED": case "HOST IS UNNAMED": langKey = statusCode.toUpperCase().replace(/[\s\/]/g, "_"); break; case "OP_STATUS_ABSENT": langKey = "OP_STATUS_NOT_INSTALLED"; break; default: langKey = statusCode.toUpperCase(); } return labelObj.label = iLO.translateString("status_labels." + langKey, langKey), labelObj.langKey = "status_labels." + langKey, labelObj; }, getFlashProgressKey: function(flashType) { var key; switch (flashType) { case "ILO_DEVICE": case "ILO_DEVICE_FIRMWARE": key = "appl.fwUpdateProgress"; break; case "FILES_DEVICE": key = "appl.filesDeviceProgress"; break; case "ILO_DEVICE_LANGPK": key = "appl.langPackProgress"; break; default: key = "appl.installProgress"; } return key; }, getFlashProgressStr: function(flashType) { var key = "adm_firmware.flashImg"; switch (flashType) { case "FILES_DEVICE": case "ILO_DEVICE_LANGPK": key = "adm_lang.pcntComplete"; break; case "ILO_DEVICE": case "ILO_DEVICE_FIRMWARE": default: key = "adm_firmware.flashImg"; } return iLO.translateString(key, "% Flashing Image..."); }, getFlashTitle: function(flashType) { var key = "adm_firmware.flashing"; iLO.translateString(key, "% Flashing Firmware Image, please wait ..."); switch (flashType) { case "FILES_DEVICE": key = "adm_lang.installing"; break; case "ILO_DEVICE_LANGPK": key = "adm_lang.installing"; break; case "ILO_DEVICE": case "ILO_DEVICE_FIRMWARE": default: key = "adm_firmware.flashing"; } return iLO.translateString(key, "% Flashing Firmware Image, please wait ..."); }, formatString: function(source, in_format) { if (!jQuery.existsNonNull(in_format)) return source; switch (in_format.toLowerCase()) { case "percentage_10": var i = parseInt(source, 10); if (i) { source = "" + i / 10 + "%"; break; } case "percentage": source += "%"; break; case "volts": source += " Volts"; break; case "celsius": -1 == source ? source = "N/A" : source += "C"; break; case "fahrenheit": -1 == source ? source = "N/A" : source += "F"; break; case "watts": source += " Watts"; break; case "mhz": source += " MHz"; break; case "kb": source += " KB"; break; case "pwr_reg_mode": switch (source) { case "osc": source = "OS Control"; break; case "dyn": source = "Dynamic"; break; case "max": source = "Max (static high)"; break; case "min": source = "Min (static low)"; break; case "unknown": default: source = "Unknown"; } break; default: source += " " + in_format; } return source; }, buildLink: function(id) { var link; switch (id) { case "support": link = '' + iLO.translateString("alt.support_web_addr", "http://www.hpe.com/support/ilo4") + ""; break; case "prod": default: link = '' + iLO.translateString("alt.product_web_addr", "http://www.hpe.com/info/ilo") + ""; } return link; }, httpSuccess: function(status) { var xhr = {}; return xhr.status = status, jQuery.httpSuccess(xhr); }, checkError: function(o, fname, error, errId) { if (jQuery.existsNonNull(error) && "success" != error) { var errorString = ": call=" + fname + "; error=" + error; return jQuery.isPlainObject(o) && (403 !== error || 1 != o.message || o.details ? 0 !== error || "nocontent" !== o.message || o.details ? (jQuery.isValidString(o.message) && (errorString += "; message=" + o.message), o.details && (errorString += "; details=" + o.details)) : errorString = ': ' + iLO.translateString("core.connectionError", "Encountered a communication problem. Try again.") + "" : errorString = ': ' + iLO.translateString("403_Forbidden", "User does not have required privileges on iLO to perform this operation") + ""), jQuery.isValidString(errId) && $(document).ready(function() { $("#" + errId).displayError({ langKey: "errMakeCall", text: "Error making call", message: errorString }); }), '' + iLO.translateString("errMakeCall", "Error making call") + "" + errorString; } return !1; }, isLocal: function() { var loc = !1; try { loc = "file:" === window.location.protocol; } catch (e) {} return loc; }, getBaseUrl: function(proxyPath, protocol) { var proxy = "undefined" == typeof proxyPath || "" === proxyPath ? "/" : proxyPath, port = ""; try { port = "" === window.location.port ? "" : ":" + window.location.port; } catch (e) { port = ""; } var proto = (protocol ? protocol : window.location.protocol) + "//", host = window.location.hostname; return host.indexOf(":") > -1 ? (-1 === host.indexOf("[") && -1 === host.indexOf("]") && (host = "[" + host + "]"), host = iLO.Html2Text(host)) : host = iLO.fixedEncodeURIComponent(host), proto + host + port + proxy; }, session_info: function() { try { return iLOGlobal.cache.session_info; } catch (e) { return null; } }, isBlade: function() { try { return iLOGlobal.cache.masthead.blade; } catch (e) {} return !1; }, isERS: function() { try { return iLOGlobal.cache.masthead.ers; } catch (e) {} return !1; }, isSyFrame: function() { try { return "t_class" == iLOGlobal.cache.masthead.blade_type; } catch (e) {} return !1; }, hasLicensingFeature: function() { try { return "1" == iLOGlobal.cache.masthead.licensing; } catch (e) {} return !1; }, isSLwithPPIC: function() { try { return iLOGlobal.cache.masthead.sl_with_ppic; } catch (e) {} return !1; }, isApplication: iLOGlobal.isApplication, init: function(options) { var config = { helpUrl: "help.html", global: !0 }, settings = jQuery.extend(config, options); jQuery.extend(iLOGlobal, settings); var domainObj = iLOGlobal.cache; return domainObj.isBlade = !1, domainObj.session_key ? !0 : !1; }, getSessionKey: function() { var cookie_key = jQuery.cookies.get("sessionKey"), domain_key = iLOGlobal.cache.session_key; return domain_key ? (domain_key != cookie_key && $.cookies.set("sessionKey", domain_key, { secure: !0 }), domain_key) : cookie_key ? (iLOGlobal.cache.session_key = cookie_key, cookie_key) : null; }, clearSessionKey: function() { iLO.setCookie("sessionKey", null), iLOGlobal.cache.session_key = null; }, startHtml5Irc: function() { iLO.setCookie("irc", [ "last", "html5" ]); try { iLOGlobal.topPage.appFrame.window.startHtml5Irc(); } catch (e) { "undefined" == typeof iLOGlobal.topPage.appFrame && alert("Standalone HTML5 Console not yet available"), $.log("startHtml5Irc", e); } }, startIrc: function(httpsPort) { iLO.setCookie("irc", [ "last", "irc" ]); var alt_mode = iLOGlobal.features.alt_mode ? iLOGlobal.features.alt_mode : 0, host = window.location.href, port_value = "" === window.location.port ? httpsPort : window.location.port, addr = iLO.fixedEncodeURIComponent(window.location.hostname); addr.indexOf(":") >= 0 && !addr.match(/\133/) && (addr = "[" + addr + "]"), host = host.split("/html")[0], host += "/html/IRC.application", host += "?addr=" + addr + "&sessionKey=" + iLO.getSessionKey() + "&lang=" + iLO.getLanguage() + "&port=" + port_value + "&alt_mode=" + alt_mode + "&cofc_goback=false", iLO.logEvent("IRC URL:" + host, null, 1, 1); var ircFrame = null; try { ircFrame = iLOGlobal.topPage.window.frames.ircFrame.window; } catch (e) { ircFrame = window; } ircFrame.location.href = host; }, startJavaRc: function() { if (void 0 != iLO.getIEVersion() && iLO.getIEVersion() < 11) alert(iLO.translateString("rc_info.ieVerNotSupported", "The Java Web Start Integrated Remote Console is not supported on this version of Internet Explorer. Consider using the .NET Integrated Remote Console (.NET IRC).")); else { iLO.setCookie("irc", [ "last", "jrc" ]); var jnlpObj = { baseUrl: iLO.getBaseUrl(), sessionKey: iLO.getSessionKey(), langId: iLO.getLanguage() }, blob = new Blob([ $("#jnlpTemplate").jqote(jnlpObj) ], { type: "application/x-java-jnlp-file" }); saveAs(blob, "iLO-jirc.jnlp", !0); } }, startJavaIrc: function(httpsPort) { iLO.setCookie("irc", [ "last", "jrc" ]); var host = iLO.fixedEncodeURIComponent(window.location.hostname); jQuery.isValidString(host) || (host = iLOGlobal.remote_address), host.indexOf(":") >= 0 && (-1 == host.indexOf("[") || -1 == host.indexOf("]")) && (host = "[" + host + "]"), host = host + ":" + httpsPort; var appletFrame = null; try { appletFrame = iLOGlobal.topPage.appletFrame.window; } catch (e) { appletFrame = window; } appletFrame.location = "https://" + host + "/html/java_irc.html?lang=" + iLO.getLanguage(); }, setContextHelpUrl: function(url) { iLOGlobal.helpUrl = url; }, openContextHelp: function(helpFile) { var optionsList = "top=40,left=50,width=800,height=600,location=no,menubar=no,status=no,resizable=yes,scrollbars=yes", topic = (jQuery.isValidString(helpFile) ? helpFile : iLOGlobal.helpUrl).replace(".html", ""), helpUrl = "../lang/" + iLO.getLanguage() + "/help/help.html?topic=" + topic, helpTitle = "helpWin:" + iLO.fixedEncodeURIComponent(window.location.hostname); helpTitle = helpTitle.replace(/(?!^_)[^0-9a-zA-Z]/gi, ""), iLOGlobal.helpWin = window.open(helpUrl, helpTitle, optionsList), iLOGlobal.helpWin.focus(); }, displayMsgDetails: function(args, errorDivId) { var myId = errorDivId ? errorDivId : "errorDisplay"; if ($errorDisplay = $("#" + myId), $errorDisplay.html('

'), $.isPlainObject(args)) { if (args.status) { var system_health = args.status; isNaN(parseInt(system_health, 10)) || (system_health = 200 > system_health ? "INFORMATIONAL" : 400 > system_health ? "OK" : 500 > system_health ? "ERROR" : "CRITICAL"), $(".hp-status", $errorDisplay).replaceWith(iLO.pianoStatusHTML(system_health, !1, !0)); } if (args.message_key && $(".hp-message", $errorDisplay).attr("data-localize", args.message_key), args.message && $(".hp-message", $errorDisplay).html(args.message), args.details_key && $(".hp-details p span", $errorDisplay).attr("data-localize", args.details_key), args.details && $(".hp-details p span", $errorDisplay).html(args.details), args.resolution_key && $(".hp-resolution", $errorDisplay).attr("data-localize", args.resolution_key), args.resolution && ($(".hp-resolution", $errorDisplay).text(args.resolution), $(".hp-resolution-container").show()), Array.isArray(args.actions)) { $(".hp-actions", $errorDisplay).show(); for (var i in args.actions) { var $newLi = $("
  • "); args.actions[i].action_key && $newLi.attr("data-localize", args.actions[i].action_key), args.actions[i].action && $newLi.html(args.actions[i].action), $(".hp-actions", $errorDisplay).append($newLi); } } } iLO.translatePage(), $errorDisplay.fadeIn(); }, getErrorInfo: function(uri, jqXHR, textStatus, errorThrown) { var response; try { response = JSON.parse(jqXHR.responseText), response && (!response.hasOwnProperty("errorMessage") && response.hasOwnProperty("Message") && (response.errorMessage = response.message), !response.hasOwnProperty("resolution") && response.hasOwnProperty("recommendedActions") ? response.resolution = response.recommendedActions ? response.recommendedActions.join("\n") : null : response.hasOwnProperty("Resolution") && (response.resolution = response.Resolution)); } catch (err) { response = { errorMessage: iLO.translateString("core.connectionError", iLO.fixedEncodeURIComponent(window.location.hostname)), message: iLO.translateString("core.connectionError", iLO.fixedEncodeURIComponent(window.location.hostname)) }; } return response.uri = uri, response.jqXHR = jqXHR, response.textStats = textStatus, response.errorThrown = errorThrown, response; }, sendJSONRequest: function(req) { return iLO.sendJsonRequest(req.callName, req.httpMethod, req.reqUrl, req.jsonData, req.callback, req.type, req.maxWait); }, sendJsonRequest: function(callName, httpMethod, my_url, jsonData, callback, type, maxWait) { if (document.all && iLO.isLocal()) { var ip = iLOGlobal.remote_address, cookieString = iLO.getCookie("remote_address"); $.isValidString(cookieString) && (ip = cookieString); for (var msg = jQuery.isValidIPAddress(ip) ? ip : "enter your iLO IP here"; !jQuery.isValidIPAddress(ip); ) ip = prompt("iLO IP address:", msg); iLOGlobal.remote_address = ip, iLO.setCookie("remote_address", ip); } var my_timeout = "undefined" == typeof maxWait || "" == maxWait ? jQuery.ajaxSettings.timeout : maxWait; "json/" == my_url.match("^json/") && (my_url = "/" + my_url), "rest/" == my_url.match("^rest/") && (my_url = "/" + my_url), iLO.isLocal() && (my_url = "https://" + iLOGlobal.remote_address + my_url); var custHeaders = {}; return "POST" != httpMethod || "/json/login_session" == my_url.match("/json/login_session$") && "login" == jsonData.method || "/blob/" == my_url.match("^/blob/") || "/rest/" == my_url.match("^/rest/") ? ("/blob/" == my_url.match("^/blob/") || "/rest/" == my_url.match("^/rest/")) && (custHeaders = { "X-Auth-Token": iLO.getSessionKey(), "X-Client-Type": "Browser" }) : jsonData.session_key = iLO.getSessionKey() || "", $.ajax({ url: my_url, headers: custHeaders, type: httpMethod, dataType: "json", data: jsonData ? JSON.stringify(jsonData) : "", timeout: my_timeout, tryCount: 0, retryLimit: 3, success: function(data, textStatus) { "/json/masthead" == my_url.match("/json/masthead$") && (iLOGlobal.cache.masthead = data), "/json/login_session" == my_url.match("/json/login_session$") && "GET" == httpMethod && (iLO.setAltMode(data), $.publish("login_session"), iLOGlobal.features.alt_mode_en && (iLOGlobal.titleLangKey = "appName.shortName", iLO.setSupportedLanguages(data.langs), jQuery.existsNonNull(data.default_lang) && (iLOGlobal.default_language = data.default_lang), iLOGlobal.features.alt_mode_err && (iLO.getSessionKey() ? iLO.doLogout() : iLOGlobal.topPage.showAltModeErrorCases())), iLOGlobal.setTitle || (iLO.setSupportedLanguages(data.langs), iLO.setBrowserTitle(data)), iLOGlobal.cache.version && "undefined" != typeof iLOGlobal.cache.version || (data.version && (iLOGlobal.cache.version = data.version), data.ilo_fw_pass && jQuery.isValidString(data.ilo_fw_pass) && (iLOGlobal.cache.version = iLOGlobal.cache.version + " " + data.ilo_fw_pass)), iLOGlobal.cache.cn && "undefined" != typeof iLOGlobal.cache.cn || !data.cn || !jQuery.isValidString(data.cn) || (iLOGlobal.cache.cn = data.cn), iLO.translatePage()), iLO.isFunction(callback) && callback(data ? data : "", callName, textStatus); }, error: function(xhr, textStatus, errorThrown) { var result, xhr_status = -1; try { xhr_status = xhr.status; } catch (e) { xhr_status = -1; } var errorInfo = iLO.getErrorInfo(this.url, xhr, textStatus, errorThrown); if ("undefined" != typeof textStatus && textStatus && "offline" == textStatus && 0 == xhr_status && (xhr_status = -1, result = {}, result.message = "offline", result.details = null), "login" !== callName && (xhr_status >= 12e3 && 13e3 > xhr_status && "login_session" !== callName && "logout" !== callName || errorThrown && "timeout" === errorThrown) && (this.tryCount++, this.tryCount <= this.retryLimit)) return void $.ajax(this); if (xhr_status >= 12e3 && 13e3 > xhr_status && "login_session" !== callName && "logout" !== callName) return jQuery.log("Connection error. status = " + xhr_status + "; call = " + callName + "\n"), iLO.doLogout({ langKey: "login.connectionLost", text: "Connection error. status = " + xhr_status + "; call = " + callName + "\n" }, 0), !1; try { errorThrown && "timeout" === errorThrown ? (result = {}, result.message = "timeout", result.details = xhr.responseText) : xhr.responseText.length > 0 ? result = JSON.parse(xhr.responseText) : (result = {}, result.message = "nocontent", result.details = null); } catch (e) { result = {}, result.message = "parseerror"; try { result.details = xhr.responseText; } catch (e2) { result.details = e2.message; } } var sessionLost = !1; if (("Forbidden" == errorThrown || "Unauthorized" == errorThrown) && Array.isArray(errorInfo.Messages)) for (var i = 0, max = errorInfo.Messages.length; max > i; i++) if (/novalidsession/i.test(errorInfo.Messages[i].MessageID)) { sessionLost = !0; break; } if (errorThrown && "timeout" === errorThrown) ; else { if (sessionLost || result.message && "JS_ERR_LOST_SESSION" === result.message) { if (iLO.isApplication && "logout" !== callName) { try { iLOGlobal.topPage.doLogout({ langKey: "login.sessionExp", text: "Session expired." }, 0); } catch (e) {} return !1; } iLO.logout_message = "Invalid Session. Please log in.", iLO.login_delay = 0, iLO.clearSessionKey(); var $dialog = $("#login_dialog"); return $dialog.length < 1 && $dialog.is(":visible") ? !1 : (iLO.hideWaitScreen(), $dialog.remove(), !1); } if (-1 == xhr_status) ; else if (0 == xhr_status && iLO.isLocal()) { $("#local_dialog").remove(), $('
    ').appendTo("body"); var $local_dialog = $("#local_dialog"); return $local_dialog.hide(), $.get("html/login_local.html", function(data) { $local_dialog.html(data).dialog({ autoOpen: !1, title: "Please Accept Certificate", width: 500, height: 500, modal: !0, closeText: "", open: function() { $(".ui-dialog-titlebar-close").attr("title", iLO.translateString("Close")); }, close: function(event, ui) { location.reload(); } }), $local_dialog.dialog("open"); }), !1; } } return jQuery.extend(errorInfo, result), iLO.isFunction(callback) && callback(errorInfo, callName, xhr_status), !0; } }); }, getCache: function(req) { if (iLOGlobal.cache[req.name]) { var generic_ttl = 2e4, cacheData = iLO.getCacheData(req.name, generic_ttl), cacheAvail = null !== cacheData; if (cacheAvail && 1 != req.fresh && 1 != req.dynamic) return req.callback && req.callback.call(this, cacheData), cacheData; } var jsonReq = { callName: req.name, reqUrl: "/json/" + req.name, httpMethod: "GET" }; return jsonReq.callback = function(o, fname, error) { var msg = iLO.checkError(o, fname, error); if (msg) { if (!req.callback) return !1; req.callback(o, fname, error); } else if (jQuery.isPlainObject(o)) { if (iLO.setCacheData(req.name, o), ("session_info" == req.name || "login_session" == req.name) && ("login_session" != req.name || iLOGlobal.setTitle || iLO.setBrowserTitle(o), setTimeout(function() { $.publish("/" + req.name, [ o ]); }, 1)), !req.callback) return !1; req.callback(o, fname, error); } return null; }, iLO.sendJSONRequest(jsonReq), null; }, getCacheData: function(name, ttl) { if (iLOGlobal.cache[name]) { var time = new Date().getTime(); return time - iLOGlobal.cache[name].timestamp > ttl ? null : iLOGlobal.cache[name]; } return null; }, setCacheData: function(name, obj) { iLOGlobal.cache[name] = obj, iLOGlobal.cache[name] && (iLOGlobal.cache[name].timestamp = new Date().getTime()); }, setBrowserTitle: function(o) { var title = iLO.translateString("appName.shortName"); o.cn && (title += jQuery.isValidString(o.server_name) ? ": " + o.server_name + " - " + o.cn : ": " + o.cn, o.blade && (o.bay_num && (title = title + " - " + o.bay_num), o.enc_name && (title = title + " - " + o.enc_name), o.rack_name && (title = title + " - " + o.rack_name))); try { iLOGlobal.topPage.document.title = title; } catch (e) {} iLOGlobal.topPage.jQuery(iLOGlobal.topPage.document).attr("title", title), iLOGlobal.setTitle = !0; }, setCookie: function(cookie, cookieValue) { if (null == cookieValue) return $.cookies.del(cookie), !0; var cookieString = $.cookies.get(cookie); if (cookieString ? cookieString += "," : cookieString = "", Array.isArray(cookieValue) && cookieValue.length >= 2 && !(cookieValue.length % 2)) jQuery.each(cookieValue, function(index, value) { if (index % 2) value && (cookieString = [ cookieString, value, "," ].join("")); else { var fieldValue = iLO.getCookie(cookie, value); if (fieldValue) { var re = new RegExp(value + "(.*?)\\,", "g"); cookieString = cookieString.replace(re, ""); } index + 1 < cookieValue.length && cookieValue[index + 1] && (cookieString = [ cookieString, value, "=" ].join("")); } }), "," == cookieString.charAt(cookieString.length - 1) && (cookieString = cookieString.substring(0, cookieString.length - 1)); else { if (!jQuery.isValidString(cookieValue)) return !1; cookieString = cookieValue; } if ($.cookies.del(cookie), "sessionkey" != cookie.toLowerCase()) { var expdate = new Date(); expdate.setMonth(new Date().getYear() + 100), $.cookies.set(cookie, cookieString, { expiresAt: expdate }); } else $.cookies.set(cookie, cookieString, { secure: !0 }); return null; }, getCookie: function(cookie, field) { var cookieString = $.cookies.get(cookie); if (!cookieString) return cookieString; if ("undefined" == typeof field || !field) return cookieString; var array1 = []; return array1 = cookieString.split(/[,&]/), cookieString = null, jQuery.each(array1, function(index, value) { var array2 = value.split("="); 2 == array2.length && array2[0] == field && (cookieString = array2[1]); }), cookieString; }, getSearchValue: function(searchString, key) { searchString = iLO.Html2Text(searchString); var value = ""; return searchString.indexOf(key + "=") > -1 && (value = searchString.substring(searchString.indexOf(key + "=") + key.length + 1), value.indexOf("&") > -1 && (value = value.substring(0, value.indexOf("&"))), value.indexOf("'") > -1 && (value = value.substring(0, value.indexOf("'"))), value.indexOf('"') > -1 && (value = value.substring(0, value.indexOf('"'))), value.indexOf(";") > -1 && (value = value.substring(0, value.indexOf(";"))), value = unescape(value), value = value.replace(/[^A-Za-z0-9/_-]/g, "")), value; }, openLink: function(pageURL, tabIndex) { tIndex = jQuery.existsNonNull(tabIndex) ? tabIndex : 0; var navigationFrame = null; try { navigationFrame = iLOGlobal.topPage.appFrame.frameDirectory.window; } catch (e) {} navigationFrame && navigationFrame.openLink(pageURL, tIndex); }, refreshTree: function() { var navigationFrame = null; try { navigationFrame = iLOGlobal.topPage.appFrame.frameDirectory.window; } catch (e) {} navigationFrame && navigationFrame.refreshTree(); }, favIcon: function(system_health) { try { var path; switch (system_health) { case "OP_STATUS_CRITICAL": path = "images/status_critical_48.png"; break; case "OP_STATUS_DEGRADED": path = "images/status_minor_48.png"; break; case "OP_STATUS_OTHER": case "OP_STATUS_UNKNOWN": path = "images/status_unknown_48.png"; break; case "INFORMATIONAL": path = "images/status_info_48.png"; break; default: path = iLOGlobal.features.alt_mode_en && !iLOGlobal.features.alt_mode_err ? "alt/images/favico.png" : "favicon.ico"; } path = navigator.userAgent.indexOf("Edge") >= 0 && "localhost" !== window.location.hostname ? iLO.getBaseUrl().replace("https", "http") + path : "/" + path, path += "?v=" + new Date().getTime(), iLOGlobal.topPage.jQuery(iLOGlobal.topPage.document).find("link[rel='shortcut icon']").attr("href", path); } catch (e) { console.log(e.message); } return path; }, setAltMode: function(data) { data && jQuery.isPlainObject(data.alt) && jQuery.existsNonNull(data.alt.mode) ? (iLOGlobal.features.alt_mode = data.alt.mode, iLOGlobal.features.alt_mode_en = data.alt.mode != iLOGlobal.constants.alt_mode.HP, iLOGlobal.features.alt_mode_err = data.alt.mode >= iLOGlobal.constants.alt_mode.Errors) : (iLOGlobal.features.alt_mode = 0, iLOGlobal.features.alt_mode_en = !1, iLOGlobal.features.alt_mode_err = !1), data && jQuery.isPlainObject(data.alt) && jQuery.existsNonNull(data.alt.level) ? iLOGlobal.features.alt_level = data.alt.level : iLOGlobal.features.alt_level = iLOGlobal.constants.alt_level.Heavy, data && jQuery.isPlainObject(data.alt) && jQuery.existsNonNull(data.alt.vnd) && (iLOGlobal.features.alt_vnd = data.alt.vnd), iLOGlobal.alt_tokens = data.moniker; }, clearAltMode: function() { iLOGlobal.features.alt_mode = null, iLOGlobal.features.alt_mode_en = null, iLOGlobal.features.alt_mode_err = null, iLOGlobal.features.alt_level = null; }, fixedEncodeURIComponent: function(str) { return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { return "%" + c.charCodeAt(0).toString(16); }); }, showToast: function(options) { try { iLOGlobal.topPage.appFrame.showToastMessage(options); } catch (e) { $.error("showToast error: " + e.message); } }, alert: function(options, callback) { try { iLOGlobal.topPage.appFrame.showAlertMessage(options, callback); } catch (e) { $.error("showAlertMessage error: " + e.message); } }, confirm: function(options, callback) { try { iLOGlobal.topPage.appFrame.showConfirmMessage(options, callback); } catch (e) { $.error("showConfirmMessage error: " + e.message); } }, setEventPoll: function(interval) { var doc = null != iLOGlobal.applicationDoc ? iLOGlobal.applicationDoc : document; try { doc.ownerDocument && null == doc.ownerDocument && (doc.ownerDocument = doc); } catch (e) {} var $doc = $(doc), $elem = $doc.find("#ui_events"); if ($elem.length < 1 && ($doc.append('
    '), $elem = $doc.find("#ui_events")), jQuery.existsNonNull(interval)) { var cur_date = new Date().getTime(); return "undefined" == typeof iLOGlobal.cache.eventPoll && (iLOGlobal.cache.eventPoll = { timestamp: 0 }), cur_date - iLOGlobal.cache.eventPoll.timestamp < 1e4 ? !0 : (iLOGlobal.eventAttempts++, iLOGlobal.cache.eventPoll.timestamp = cur_date, iLO.sendJsonRequest("ui_events", "GET", "json/ui_events", null, function(o, fname, error) { if (o && "timeout" === o.message) iLO.setEventPoll(interval); else if (error && "success" != error || !jQuery.isPlainObject(o) || "undefined" == typeof o.events) iLO.setEventPoll(interval); else { iLOGlobal.eventAttempts = 0; var id = o.events.length < 1 ? 0 : o.events[o.events.length - 1].id + 1; $elem.doTimeout("ui_events_thread", interval, function() { return iLOGlobal.eventAttempts++, iLOGlobal.cache.eventPoll.timestamp = new Date().getTime(), iLO.sendJsonRequest("ui_events", "GET", "json/ui_events/" + id, null, function(inner_o, inner_fname, inner_error) { if ((!inner_error || "success" == inner_error) && jQuery.isPlainObject(inner_o) && "undefined" != typeof inner_o.events && (iLOGlobal.eventAttempts = 0, iLOGlobal.isFlashPolling && iLO.sendJsonRequest("flash_status", "GET", "json/flash_status", null, function(o, fname, error) { if ((!error || "success" == error) && jQuery.isPlainObject(o) && "undefined" != typeof o.state) switch (setTimeout(function() { $.publish("/flash_status", [ o ]); }, 1), o.state) { case "COMPLETED": case "ERROR": iLOGlobal.isFlashPolling = !1; } }), inner_o.events.length > 0)) { $.publish("/ui_events", [ inner_o.events ]); for (var i = 0; i < inner_o.events.length; i++) $.publish("/ui_events/" + inner_o.events[i].type, [ inner_o.events[i] ]), "EVT_FLASH_START" === inner_o.events[i].type ? iLOGlobal.isFlashPolling = !0 : "EVT_FLASH_END" === inner_o.events[i].type && (iLOGlobal.isFlashPolling = !1, iLO.sendJsonRequest("flash_status", "GET", "json/flash_status", null, function(o, fname, error) { error && "success" != error || !jQuery.isPlainObject(o) || "undefined" == typeof o.state || setTimeout(function() { $.publish("/flash_status", [ o ]); }, 1); })); id = inner_o.events[--i].id + 1; } }), !0; }); } return null; }, null, 3e4), !0); } $elem.doTimeout("ui_events_thread"), iLOGlobal.eventAttempts = 0; } }; if ("undefined" == typeof iLOGlobal.initialLink) try { iLOGlobal.topPage.location.replace(encodeURI(iLO.getBaseUrl())); } catch (e) { location.reload(!0); } iLOGlobal.supportsPassiveOption = !1; try { var opts = Object.defineProperty({}, "passive", { get: function() { iLOGlobal.supportsPassiveOption = !0; } }); window.addEventListener("test", null, opts); } catch (e) {} jQuery(window).on("load", function() { var key = jQuery.cookies.get("sessionKey"); key && (iLOGlobal.cache.session_key = key), $(window).on("click keypress", function() { $.publish("/session_tickle"); }); try { window.addEventListener("wheel", function(e) { $.publish("/session_tickle"); }, iLOGlobal.supportsPassiveOption ? { passive: !0 } : !1); } catch (e) { $.log("addEventListener failed in window load: " + e.message); } }); }