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);
	}
  }}();
  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;
}