﻿function regValidate(reg)
{
    var result = true;

    if (reg == "1")
    {
        if (!checkEmpty("UserName", "errUN1"))
            result = false;
        else if (!checkName("UserName", "errUN2"))
            result = false;
    }
        
    if (!checkEmpty("FirstName", "errUN3"))
        result = false;
    if (!checkEmpty("LastName", "errUN3"))
        result = false;
    if (!checkEmpty("City", "errCity"))
        result = false;    
    if (!checkEmpty("EMail", "errEml1"))
        result = false;
    if (!checkEmail("EMail", "errEml2"))
        result = false;
    if (reg == "1")
    {
        if (!checkEmpty("Password", "errPass1"))
            result = false;
        if (!checkEmpty("Password2", "errPass2"))
            result = false;
        if (!checkChecked("regAgree", "errAgree"))
            result = false;
    }

    if (!checkEqual("Password", "Password2", "errPass3"))
        result = false;   

    var msgDiv = document.getElementById("regErrMsg");
    if(result) msgDiv.className="hidden";
    else msgDiv.className="";

    return result;
}

function checkEmpty(inputID, errName)
{
    var input = document.getElementById(inputID);    
    if (input && input.value != "" && input.value != null)
    {
            showErr(errName, false);
            return true;
    }
    showErr(errName, true);
    return false;
}

function checkEmail(inputID, errName)
{
    var input = document.getElementById(inputID);
    mailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
    if(input)
    {
        if(mailpat.test(input.value))
        {
            showErr(errName, false);
            return true;
        }
    }
    showErr(errName, true);
    return false;
}

function checkEqual(inputID1, inputID2, errName)
{
    var input1 = document.getElementById(inputID1);
    var input2 = document.getElementById(inputID2);
    if(input1 && input2)
    {
        if(input1.value == input2.value)
        {
            showErr(errName, false);
            return true;
        }
    }
    showErr(errName, true);
    return false;
}

function checkChecked(inputID, errName)
{
    var input = document.getElementById(inputID);
    if(input)
    {
        if(input.checked)
        {
            showErr(errName, false);
            return true;
        }
    }
    showErr(errName, true);
    return false;
}

function checkName(inputID, errName)
{
    var input = document.getElementById(inputID);
    if (input)
    {
        url = "/actions/CheckUser.aspx?username=" + escape(input.value);
        var request = new FactoryXMLHttpRequest();
        request.open("GET", url, false);
        request.send(null);
        var response = request.responseText;        
        if (response == "ok")
        {            
            showErr(errName, false);
            return true;
        }
    }
    showErr(errName, true);
    return false;
}

function showErr(errID, show)
{
    var em = document.getElementById(errID);
    if(em) em.className = show ? "" : "hidden";    
}