﻿function validateForm(thisform)
{
    with (thisform)
    {
        var errorCount = 0;
        var errorString = "Please Enter Following Mandatory Fields : \n";
        var errorStringEmail = "";
        if (elements["__sendEmail"] != null)
            var emailArray = elements["__sendEmail"].value.split(",");
        
        if (elements["__required"] != null)
        {
            //var regExpEmail = /email/;
            var requiredArray = elements["__required"].value.split(",");
            for (i = 0;i < requiredArray.length;i++)
            {
                if (requiredArray[i] != undefined)
                {
                    if (trimAll(requiredArray[i]) != "")
                    {
                        //var pos = trimAll(requiredArray[i]).toLowerCase().search(regExpEmail);
                        //if (pos != -1)
                        //{
                        var cnt = 0;
                        if (elements["__sendEmail"] != null)
                        {
                            for (k=0;k<emailArray.length;k++)
                            {
                                if (emailArray[k] != undefined)
                                {
                                    if (trimAll(emailArray[k]) != "")
                                    {
                                        if (trimAll(emailArray[k]) == trimAll(requiredArray[i]))
                                            cnt++;
                                    }
                                }                                    
                            }
                        }
                        if (cnt == 0)
                        {
                            if (!validateRequired(trimAll(__formID.value),trimAll(requiredArray[i])))
                            {
                                errorCount++;
                                errorString += "* " + trimAll(requiredArray[i]) + "\n";
                            }
                        }
                    }
                }
            }
        }
        if (elements["__sendEmail"] != null)
        {
            for (l=0;l<emailArray.length;l++)
            {
                if (emailArray[l] != undefined)
                {
                    if (trimAll(emailArray[l]) != "")
                    {
                        if (!validateEmail(trimAll(__formID.value),trimAll(emailArray[l])))
                        {
                            errorCount++;
                            errorStringEmail += "* Please Enter Valid " + trimAll(emailArray[l]) + "\n";
                        }
                    }
                }
            }
        }
        if (errorCount==0)
        {
            if (elements["__popupConfirmation"] != null)
            {
                alert(__popupConfirmation.value);
            }
            return true;
        }
        else
        {
            if (errorStringEmail == "")
                alert(errorString);
            else if (errorCount > 1)
                alert(errorString + errorStringEmail);
            else
                alert(errorStringEmail);
            return false;
        }
    }
}
function validateRequired(formID,required)
{
    if (document.forms[formID].elements[required].type == undefined)
    {
        var seleted = false;
        for (j=0;j<document.forms[formID].elements[required].length;j++)
        {
            if (document.forms[formID].elements[required][j].checked)
                seleted=true;
        }
        if (!seleted)
        {
            //alert("Please Select Radio " + required);
            //document.forms[formID].elements[required][0].focus();
            return false;
        }
        else
            return true;
    }
    else if (document.forms[formID].elements[required].type=="text")
    {
        if (document.forms[formID].elements[required].value==null||document.forms[formID].elements[required].value=="")
        {
            //alert("Please enter text " + required);
            //document.forms[formID].elements[required].focus();
            return false;
        }    
        else
            return true;
    }
    else if (document.forms[formID].elements[required].type=="checkbox")
    {
        if (document.forms[formID].elements[required].checked==false)
        {
            //alert("Please select checkbox " + required);
            //document.forms[formID].elements[required].focus();
            return false;
        }
        else
            return true;

    }
    else if (document.forms[formID].elements[required].type=="radio")
    {
        if (document.forms[formID].elements[required].checked==false)
        {
            //alert("Please select radio " + required);
            //document.forms[formID].elements[required].focus();
            return false;
        }
        else
            return true;

    }
    else if (document.forms[formID].elements[required].type=="select-one")
    {
        if (document.forms[formID].elements[required].value==null||document.forms[formID].elements[required].value=="")
        {
            //alert("Please select checkbox " + required);
            //document.forms[formID].elements[required].focus();
            return false;
        }
        else
            return true;

    }
}
function validateEmail(formID,email)
{
    //alert("IN VALIDATE EMAIL");
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var address = document.forms[formID].elements[email].value;
    if(reg.test(address) == false) 
    {
    //    alert('Invalid Email Address');
        //document.forms[formID].elements[email].focus();
        return false;
    }
    else
        return true;
}
function trimAll(sString) 
{ 
    while (sString.substring(0,1) == ' ') 
    { 
        sString = sString.substring(1, sString.length); 
    } 
    while (sString.substring(sString.length-1, sString.length) == ' ') 
    { 
        sString = sString.substring(0,sString.length-1); 
    } 
    return sString; 
} 
