Anybody got an idea with this one ………….

On Oct 15, 10:44 am, "factoringcompare.com"
<firstfacto...@googlemail.com> wrote:
> Hi,
>
> I’m using jQuery: form wizard plugin (http://home.aland.net/sundman/)
> with a password strength meter plugin  
> byhttp://www.rvdevsign.net/ressources/javascript/jpassword-plugin-jquer....
>
> The form wizard breakes up a long form into smaller chuncks. Last page
> the user can create an account.
>
> Both plugins work fine except the password strength which apears in a
> tooltip when the password text box has focus. The tool tip appears at
> the top left of the screen rather than next to the text box. If I
> refresh the page with the segement of the form displaying the password
> text box, then give focus to the text box the tooltip appears and the
> positioning is fine.
>
> Can you point me in the right direction to fix the issue.
>
> Code for the password strength meter:
>
> (function($){
>         $.fn.jpassword = function(settings){
>                 var jElements                   = this;
>                 var settings                    = $.extend({}, 
> $.fn.jpassword.defaults, settings);
>                 var template                    = '<div 
> class="jpassword"><div><p class="jpassword-
> meter">&nbsp;</p><p class="jpassword-info">&nbsp;</p></div></div>';
>
>                 return jElements.each(function(){
>                         // Manage all inputs type password
>                         if($(jElements).is("input")){ jPassword( $(jElements) 
> ); }
>                 });
>
>                 // Construct password meter
>                 function jPassword(jInput){
>                         // Create tooltip
>                         var unikId                      = "jpassword_" + 
> parseInt(Math.random()*1000);
>                         var jTooltip            = $(template).attr("id", 
> unikId);
>                         if(settings.flat == false){
>                                 // Define position of the tooltip
>                                 var pos                 = jInput.offset();
>                                 var win                 = getWindow();
>                                 var dir                 = "right";
>                                 var top                 = pos.top;
>                                 var left                = (pos.left + 
> jInput.width());
>                                 jTooltip.appendTo(document.body);
>                                 if((left + jTooltip.width()) > (win.left + 
> win.width)){ left -=
> (jTooltip.width() + jInput.width()); dir = "left"; }
>                                 if((top + jTooltip.height()) > (win.top + 
> win.height)){ top -=
> (jTooltip.height() - (jInput.height()*1.5)); dir += "bottom"; }else
> { dir += "top"; }
>                                 jTooltip.css({ left: left + "px", top: top + 
> "px", display:
> "none" });
>                                 jTooltip.addClass("jpassword-" + dir);
>                         }else{
>                                 // Insert after the input
>                                 jTooltip.insertAfter(jInput);
>                                 jTooltip.css({ position: "relative", display: 
> "block" });
>                                 jTooltip.addClass("jpassword-flat");
>                         }
>                         // Event handler
>                         jInput.bind("keyup", function(e){ verifPsw(jInput, 
> jTooltip); });
>                         jInput.bind("focus", function(e){
>                                 verifPsw(jInput, jTooltip);
>                                 // Show tooltip
>                                 if(settings.flat == false){ tooltip(jTooltip, 
> "show"); }
>                                 // Function called when the tooltip is shown
>                                 if($.isFunction(settings.onShow)){ 
> settings.onShow(jInput,
> jTooltip); }
>                         });
>                         jInput.bind("blur", function(e){
>                                 // Hide tooltip
>                                 if(settings.flat == false){ tooltip(jTooltip, 
> "hide"); }
>                                 // Function called when the tooltip is hided
>                                 if($.isFunction(settings.onHide)){ 
> settings.onHide(jInput,
> jTooltip); }
>                         });
>                         // Generate a new password
>                         var jGenerate           = $("#" + settings.generate);
>                         if(jGenerate){ jGenerate.bind("click", function(e){ 
> jInput.val
> (newPsw()); verifPsw(jInput, jTooltip); return false; }); }
>                         // Function called when process is completed
>                         if($.isFunction(settings.onComplete)){ 
> settings.onComplete(jInput,
> jTooltip); }
>                 }
>
>                 // Verified password and update the tolerance meter
>                 function verifPsw(jInput, jTooltip){
>                         var val                         = jInput.val();
>                         var meter                       = 
> jTooltip.find(".jpassword-meter");
>                         var info                        = 
> jTooltip.find(".jpassword-info");
>                         var psw                         = securPsw(val);
>
>                         // Advises for write a strong password
>                         var msg                         = "";
>                         if(psw.lowercase < 2){
>                                 msg                             = 
> settings.lang.lowercase;
>                         }else if(psw.uppercase < 2){
>                                 msg                             = 
> settings.lang.uppercase;
>                         }else if(psw.number < 2){
>                                 msg                             = 
> settings.lang.number;
>                         }else if(psw.punctuation < 2){
>                                 msg                             = 
> settings.lang.punctuation;
>                         }else if(psw.special < 2){
>                                 msg                             = 
> settings.lang.special;
>                         }
>                         // Correct length ?
>                         if(val.length < settings.length && psw.level < 10 && 
> msg == "")
> { msg = settings.lang.length.replace(/-X-/g, settings.length); }
>                         // Display of level
>                         if(psw.val == ""){
>                                 meter.css("background-position", "0 0");
>                                 info.html(settings.lang.please);
>                         }else if(psw.level < 5){
>                                 meter.css("background-position", "0 -10px");
>                                 info.html(settings.lang.low + " " + msg);
>                         }else if(psw.level < 10){
>                                 meter.css("background-position", "0 -20px");
>                                 info.html(settings.lang.correct + " " + msg);
>                         }else{
>                                 meter.css("background-position", "0 -30px");
>                                 info.html(settings.lang.high);
>                         }
>                         // Replace value of password
>                         jInput.val(psw.val);
>                         // Function called when writing the password
>                         if($.isFunction(settings.onKeyup)){ 
> settings.onKeyup(jInput); }
>                 }
>
>                 // Verified degree of security of password
>                 function securPsw(val){
>                         val                                     = 
> val.replace(/(^\s+)|(\s+$)/g, "");
>                         var cNbr = cCap = cMin = cPct = cSpe = 1;
>                         var len                         = val.length;
>                         for(var c = 0; c < len; c++){
>                                 var char                = val.charCodeAt(c);
>                                 if(char < 128){ if(char > 47 && char < 58){ 
> cNbr += 1; }else if
> (char > 64 && char < 91){ cCap += 1; }else if(char > 96 && char < 123)
> { cMin += 1; }else{ cPct += 2;} }else{ cSpe += 3; }
>                         }
>                         var lPsw                        = (cNbr * cCap * cMin 
> * cPct * cSpe);
>                         lPsw                            = 
> Math.round(Math.log((lPsw * lPsw)));
>
>                         return { val: val, level: lPsw, number: cNbr, 
> uppercase: cCap,
> lowercase: cMin, punctuation: cPct, special: cSpe };
>                 }
>
>                 // Generate a password
>                 function newPsw(){
>                         var val                         = "";
>                         for(c = 0; c < settings.length; c++){
>                                 var char                = 
> Math.round(32+Math.random()*222);
>                                 var ok                  = 0;
>                                 // Number
>                                 if((char > 47 && char < 58) || (char > 64 && 
> char < 91) || (char >
> 96 && char < 123)){ ok = 1; }
>                                 // Upper or lower case
>                                 if(settings.type == 1 && char < 127){ ok = 1; 
> }
>                                 // Puntuations
>                                 if(settings.type == 2){ ok = 1; }
>                                 // Special
>                                 if(settings.special && (char == 48 || char == 
> 49 || char == 50 ||
> char == 53 || char == 54 || char == 56 || char == 57 || char == 66 ||
> char == 67 || char == 68 || char == 71 || char == 73 || char == 75 ||
> char == 79 || char == 80 || char == 81 || char == 83 || char == 85 ||
> char == 86 || char == 87 || char == 88 || char == 90 || char == 99 ||
> char == 104 || char == 105 || char == 107 || char == 108 || char ==
> 111 || char == 112 || char == 113 || char == 115 || char == 117 ||
> char == 118 || char == 119 || char == 120 || char == 122)){ ok = 0; }
>                                 if(ok == 1){ val += 
> String.fromCharCode(char); }else{ c--; }
>                         }
>                         return val;
>                 }
>
>                 // Show or hide tooltip
>                 function tooltip(jTooltip, effect){
>                         if(effect == "show"){ jTooltip.fadeIn(); }else{ 
> jTooltip.fadeOut
> (); }
>                 }
>
>                 // Get window size
>                 function getWindow(){
>                         var m                           = document.compatMode 
> == "CSS1Compat";
>                         return {
>                                 left : (window.pageXOffset || (m ?
> document.documentElement.scrollLeft : document.body.scrollLeft)),
>                                 top : (window.pageYOffset || (m ?
> document.documentElement.scrollTop : document.body.scrollTop)),
>                                 width : (window.innerWidth || (m ?
> document.documentElement.clientWidth : document.body.clientWidth)),
>                                 height : (window.innerHeight || (m ?
> document.documentElement.clientHeight : document.body.clientHeight))
>                         };
>                 }
>         };
>
>         // Default settings
>         $.fn.jpassword.defaults = {
>                 lang: { please: "A strong password...", low: "Low security.",
> correct: "Correct security.", high: "High security.", length: "-X-
> characters would be a plus.", number: "Why not numbers?", uppercase:
> "And caps?", lowercase: "Some tiny?", punctuation: "Punctuations?",
> special: "Best, special characters?" },
>                 length: 6,                                                    
>                                                           // Length minimal 
> of good password
>                 flat: false,                                                  
>                                                   // Add jPassword after 
> input or show it on
> demand
>                 type: 1,                                                      
>                                                           // 0: low, 1: 
> correct, 2: high. Defined level
> of security
>                 special: 0,                                                   
>                                                           // 0 or 1. If 1, 
> used the special chars
> when generating password
>                 generate: null,                                               
>                                                   // ID of the element whose 
> on click
> generates a password (without #)
>                 onShow: function(){},                                         
>                                           // Function called when the tooltip
> is shown (return: jQuery of input and tooltip)
>                 onHide: function(){},                                         
>                                           // Function called when the tooltip
> is hided (return: jQuery of input and tooltip)
>                 onKeyup: function(){},                                        
>                                           // Function called when writing the
> password (return: jQuery of input)
>                 onComplete: function(){}                                      
>                                           // Function called when the
> process is done (return: jQuery of input and tooltip)
>         };
>
>
>
> })(jQuery);- Hide quoted text -
>
> - Show quoted text -

Reply via email to