(function (a){ var b = function (a){ var b = new Image(); b.onload = b.onerror = function (){ a(this.width + this.height == 2); } , _AN_Write_src('src', b, false , "data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="); } ; a.fn.visualPassword = function (c){ var d = this; b(function (b){ if (!vizhash) throw "This script requires VizHash.js. Get it: http://is.gd/IJaMRG" var e = vizhash.supportCanvas(); return c = a.extend({ } , a.fn.visualPassword.defaultOptions, c), a.metadata && (c = a.extend({ } , d.options, element.metadata())), d.each(function (d, f){ var g = a(f); g.addClass(c.passwordFieldClass), g.addClass(c.passwordFieldClass + "-" + d); if (e && b) { var h = [c.canvasClass, c.canvasClass + "-" + d] ; g.bind("keyup", function (a){ console.log("bin"); var b = c.createCanvas(g, h, c); console.log("bin"), c.onKeyUp(a, g, b, c); } ), g.bind("resize", function (a){ var b = c.createCanvas(g, h, c); c.onResize(a, g, b, c); } ), g.bind("change", function (a){ var b = c.createCanvas(g, h, c); c.onChange(a, g, b, c); } ); } else option.noSupport(g, e, b, c); var i = c.createCanvas(g, h, c); _AN_Call_init("init", c, g, i, c); } ); } ); } , a.fn.visualPassword.defaultOptions = { passwordFieldClass: "hashed-password", canvasClass: "password-hash", height: null , width: null , offset: 0.1, onChange: function (){ } , onKeyUp: function (a, b, c, d){ var e = Math.floor(b.innerHeight()), f = e * d.offset, g = c[0].toDataURL("image/png"), h = "transparent url(" + g + ") no-repeat " + f + "px " + f + "px"; b.css("background", h), b.css("padding-left", e + f), c.remove(), c = null ; } , onResize: function (a, b, c, d){ var c = createCanvas(input, [canvas["class"] ()] , d.width, option.height); d.onKeyUp(a, b, c, d); } , createCanvas: function (b, c, d){ var e = d.getSize(b, c, d), f = vizhash.canvasHash(b.val(), e.width, e.height), g = a(f.canvas); return a.each(c, function (a, b){ g.addClass(b); } ), g.click(function (a){ d.onClickCanvas(a, b, g, d); } ), b.unbind("click").unbind("hover").click(function (a){ d.onClickPassword(a, b, g, d); } ).hover(function (a){ b.mousemove(function (a){ d.onHoverPassword(a, "enter", b, g, d); } ); } , function (a){ b.unbind("mousemove"), d.onHoverPassword(a, "leave", b, g, d); } ), g; } , noSupport: function (){ } , init: function (a, b, c){ c.onKeyUp(null , a, b, c); } , getSize: function (a, b, c){ var d = Math.ceil(a.innerHeight() * (1 - c.offset * 2)); return { width: c.width || d, height: c.height || d} ; } , onClickPassword: function (a, b, c, d){ var e = b.offset(), f = d.getSize(b, [] , d), g = b.innerHeight() * d.offset; a.offsetX + g < f.width && a.offsetY + g < f.height && d.onClickCanvas(a, b, c, d); } , onClickCanvas: function (a, b, c, d){ confirm("This picture let you check if you typed your password correctly without displaying it. \n\n Do you want to know more about this plugin?") && _AN_Call_open("open", window, "http://is.gd/L1apus", "_blank"); } , onHoverPassword: function (a, b, c, d, e){ var f = c.offset(), g = e.getSize(c, [] , e), h = c.innerHeight() * e.offset / 2; a.offsetX + h < g.width && a.offsetY + h < g.height? e.onHoverCanvas(a, "enter", c, d, e): e.onHoverCanvas(a, "leave", c, d, e); } , onHoverCanvas: function (a, b, c, d, e){ b == "enter"? c.css("cursor", "pointer"): c.css("cursor", "text"); } } ; } )(jQuery);