﻿
function AddValidationToPostBack()
{    
    var func = function(t, a)
    {
        return ApplyValidation();
    }
    
    var old__doPostBack = __doPostBack;
    
    if (typeof __doPostBack != 'function') 
    {
        __doPostBack = func;
    } 
    else 
    {
        __doPostBack = function(t, a) 
        {
            if (func(t, a)) old__doPostBack(t, a);
        }
    }
    
}

function ApplyValidation()
{
   
    var form = document.getElementById("aspnetForm");
    if(form.action.toLowerCase().indexOf("https://") == -1)        
    {       
        var inputs = document.getElementsByTagName("input");
        if((inputs != null) && (inputs.length > 0))   
        {                
            for (var x=0; x<inputs.length; x++) 
            {
                if(((inputs[x].type == "hidden") ||
                (inputs[x].type == "text") ||
                (inputs[x].type == "password")) && 
                (inputs[x].name != "") && 
                ((inputs[x].id.toLowerCase().indexOf("username") > -1) ||
                (inputs[x].id.toLowerCase().indexOf("password") > -1)))
                {           
                    var emptyTag = document.createElement("input");
                    emptyTag.id = inputs[x].id;
                    emptyTag.setAttribute("TempName", inputs[x].name);
                    emptyTag.value = inputs[x].value;
                    emptyTag.type = inputs[x].type;    
                    if((inputs[x].disabled != null) && (inputs[x].disabled != "undefined"))
                    {
                        emptyTag.disabled = inputs[x].disabled;
                    }
                    if((inputs[x].readonly != null) && (inputs[x].readonly != "undefined"))
                    {
                        emptyTag.readonly = inputs[x].readonly;
                    }
                    emptyTag.onclick = inputs[x].onclick;    
                    emptyTag.onfocus = inputs[x].onfocus;    
                    emptyTag.onblur = inputs[x].onblur;    
                    if(inputs[x].style.display.length > 0)
                    {
                        emptyTag.style.display = inputs[x].style.display;
                    }
                    if((navigator.userAgent.toLowerCase().indexOf("msie") > -1) && (inputs[x].getAttribute("className") != null))
                    {
                        emptyTag.setAttribute("className", inputs[x].getAttribute("className"));                        
                    }
                    else if(inputs[x].getAttribute("class") != null)
                    {
                        emptyTag.setAttribute("class", inputs[x].getAttribute("class"));     
                    }
                    inputs[x].parentNode.replaceChild(emptyTag, inputs[x]);        
                }
            }   
        }
    }  
    else
    {
        RestoreFields();
    }   
    return true;
}

function RestoreFields()
{
    var inputs = document.getElementsByTagName("input");
    if((inputs != null) && (inputs.length > 0))   
    {                
        for (var x=0; x<inputs.length; x++) 
        {
            if(((inputs[x].type == "hidden") ||
            (inputs[x].type == "text") ||
            (inputs[x].type == "password")) && 
            ((inputs[x].id.toLowerCase().indexOf("username") > -1) ||
            (inputs[x].id.toLowerCase().indexOf("password") > -1)))
            {                    
                if((inputs[x].getAttribute("TempName") != null) && (inputs[x].getAttribute("TempName").length > 0))
                {
                    inputs[x].name = inputs[x].getAttribute("TempName");
                    inputs[x].setAttribute("TempName", "");
                }
            }
        }
    }
}
