function dss_addLoadEvent(fn) { if(typeof(fn)!="function")return; var tempFunc=window.onload; window.onload=function() { if(typeof(tempFunc)=="function")tempFunc(); fn(); } } function changeInputType( oldElm,iType,iValue,blankValue,noFocus) { if(!oldElm || !oldElm.parentNode || (iType.length<4) || !document.getElementById || !document.createElement) return; var newElm = document.createElement('input'); newElm.type = iType; if(oldElm.name) newElm.name = oldElm.name; if(oldElm.id) newElm.id = oldElm.id; if(oldElm.className) newElm.className = oldElm.className; if(oldElm.size) newElm.size = oldElm.size; if(oldElm.tabIndex) newElm.tabIndex = oldElm.tabIndex; if(oldElm.accessKey) newElm.accessKey = oldElm.accessKey; newElm.onfocus = function(){return function(){ if(this.hasFocus) return; var newElm = changeInputType(this,'password',iValue, (this.value.toLowerCase()==iValue.toLowerCase())?true:false); if(newElm) newElm.hasFocus=true; }}(); newElm.onblur = function(){return function(){ if(this.hasFocus) if(this.value=='' || (this.value.toLowerCase()==iValue.toLowerCase())) { changeInputType(this,'text',iValue,false,true); } }}(); // hasFocus is to prevent a loop where onfocus is triggered over and over again newElm.hasFocus=false; oldElm.parentNode.replaceChild(newElm,oldElm); if(!blankValue) newElm.value = iValue; if(!noFocus || typeof(noFocus)=='undefined') { window.tempElm = newElm; setTimeout("tempElm.hasFocus=true;tempElm.focus();",1); } return newElm; }