﻿

// Script adapted from: http://www.dynamicsitesolutions.com/javascript/dynamically_changing_input_type/
function changeInputType(oldElm, iType, iValue, 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;
    }
  
    newElm.onfocus = function() 
    {
        if(this.hasFocus) 
        {
            return;
        }
        var newElm = changeInputType(this, 'password',
            (this.value.toLowerCase() == 'password') ? '' : this.value);
        if (newElm) 
        {
            newElm.hasFocus=true;
        }
    }
  
    newElm.onblur = function() 
    {
        if(this.hasFocus)
        {
            if(this.value == '' || this.value.toLowerCase() == 'password') 
            {
                changeInputType(this, 'text', 'password',true);
            }
        }
    }
    // hasFocus is to prevent a loop where onfocus is triggered over and over again
    newElm.hasFocus = false;
    oldElm.parentNode.replaceChild(newElm, oldElm);
    if (iValue) 
    {
        newElm.value = iValue;
    }
    if(!noFocus || typeof(noFocus)=='undefined') 
    {
        window.tempElm = newElm;
        setTimeout("tempElm.hasFocus=true;tempElm.focus();",1);
    }
    return newElm;
}

function clearIntialMessage(textbox, message, validationMessage)
{
    if (textbox.value == message || textbox.value == message + validationMessage)
    {
       textbox.value = "";
    }
}

function resetIntialMessage(textbox, message)
{
    if (textbox != null && textbox.value == "")
    {
        textbox.value = message;
    }
}