/*jslint browser: true, unparam: true */ /*global jQuery */ /* * jQuery Password Strength plugin for Twitter Bootstrap * * Copyright (c) 2008-2013 Tane Piper * Copyright (c) 2013 Alejandro Blanco * Dual licensed under the MIT and GPL licenses. */ var ui = {}; (function ($, ui) { "use strict"; var statusClasses = ["error", "warning", "success"], verdictKeys = [ "veryWeak", "weak", "normal", "medium", "strong", "veryStrong" ]; ui.getContainer = function (options, $el) { var $container; $container = $(options.ui.container); if (!($container && $container.length === 1)) { $container = $el.parent(); } return $container; }; ui.findElement = function ($container, viewport, cssSelector) { if (viewport) { return $container.find(viewport).find(cssSelector); } return $container.find(cssSelector); }; ui.getUIElements = function (options, $el) { var $container, result; if (options.instances.viewports) { return options.instances.viewports; } $container = ui.getContainer(options, $el); result = {}; result.$progressbar = ui.findElement($container, options.ui.viewports.progress, "div.progress"); if (options.ui.showVerdictsInsideProgressBar) { result.$verdict = result.$progressbar.find("span.password-verdict"); } if (!options.ui.showPopover) { if (!options.ui.showVerdictsInsideProgressBar) { result.$verdict = ui.findElement($container, options.ui.viewports.verdict, "span.password-verdict"); } result.$errors = ui.findElement($container, options.ui.viewports.errors, "ul.error-list"); } result.$score = ui.findElement($container, options.ui.viewports.score, "span.password-score"); options.instances.viewports = result; return result; }; ui.initProgressBar = function (options, $el) { var $container = ui.getContainer(options, $el), progressbar = "