function mLookup(strKeyName)
{
    return(this[strKeyName]);
}

function mAdd() 
{
    for (c=0; c < mAdd.arguments.length; c+=2) 
    {
        this[mAdd.arguments[c]] = mAdd.arguments[c+1];
    }
}

function mDelete(strKeyName) 
{
    for (c=0; c < mDelete.arguments.length; c++) 
    {
        this[mDelete.arguments[c]] = null;
    }
}

function ObjArray(frm) 
{
    this.Add = mAdd;
    this.Lookup = mLookup;
    this.Delete = mDelete;
    
    for (var i=0; i<frm.elements.length; i++)
    {
        val = "";
        
        if ( frm.elements[i].type.indexOf('select') != -1 )
        {
            val = frm.elements[i].options[frm.elements[i].selectedIndex].text
        }        
        else
        {
            val = frm.elements[i].value;
        }
        
        f = frm.elements[i].name;
        
        this[f] = val;
    }
}

function checkMail(email)
{
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (filter.test(email)) 
    {
        return true;
    }
    
    return false;
}

function val_form(frm)
{
    var arrValues = new ObjArray(frm);
    var message = "Los siguientes campos obligatorios no han sido completados:\r\n";
    var errorFields = "";
    switch(arrValues["formType"])
    {
        case "Surrogates":
            if(arrValues["txtNumSocio"] == "")
                errorFields += "\tNumero de Socio\r\n";        
            if(arrValues["txtNombre"] == "")
                errorFields += "\tNombre\r\n";
            if(arrValues["txtApellido"] == "")
                errorFields += "\tApellido\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";                
            if(arrValues["ddlSede"] == "Elegí tu Sede")
                errorFields += "\tSede\r\n";
            if(arrValues["txaComentario"] == "")
                errorFields += "\tComo seria tu sustituto\r\n";                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;
        case "Asociarse":
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre y Apellido\r\n";
            if(arrValues["txtDNI"] == "")
                errorFields += "\tD.N.I.\r\n";
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";
            if(arrValues["ddlSede"] == "Sede")
                errorFields += "\tSede\r\n";                                                                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;
        case "AsociarseLomas":
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre y Apellido\r\n";
            if(arrValues["txtDNI"] == "")
                errorFields += "\tD.N.I.\r\n";
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";                                                              
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;
        case "Contacto":
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre y Apellido\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";                
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";
            if(arrValues["ddlSede"] == "Sede")
                errorFields += "\tSede\r\n";                                                                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break; 
        case "InvitacionGratis":
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre y Apellido\r\n";
            if(arrValues["txtDNI"] == "")
                errorFields += "\tD.N.I.\r\n";
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";
            if(arrValues["ddlSede"] == "Sede")
                errorFields += "\tSede\r\n";                                                                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;
        case "RRHH":
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre y Apellido\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";                
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";                                                                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;                        
        case "SorteoPase":
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre y Apellido\r\n";
            if(arrValues["txtDNI"] == "")
                errorFields += "\tD.N.I.\r\n";
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";
            if(arrValues["ddlSede"] == "Sede")
                errorFields += "\tSede\r\n";                                                                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;
        case "OpenDay":
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre y Apellido\r\n";
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";
            if(arrValues["ddlSede"] == "Sede")
                errorFields += "\tSede\r\n";                                                                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;        
        case "Newsletter":
            if(arrValues["txtNombreNewsletter"].toUpperCase() == "NOMBRE" ||arrValues["txtNombreNewsletter"] == "")
                errorFields += "\tNombre\r\n";
            if(!checkMail(arrValues["txtEmailNewsletter"]))
                errorFields += "\tE-mail\r\n";
            if((document.getElementById("rbSocioSiLeft").checked == false && document.getElementById("rbSocioNoLeft").checked == false)&&(document.getElementById("rbSocioSiFoot").checked == false && document.getElementById("rbSocioNoFoot").checked == false))
                errorFields += "\tSocio o no socio\r\n";                                                                               
            if(errorFields != "")
            {
                alert("Los siguientes campos son invalidos:\r\n" + errorFields);
                return false;
            }
            return true;    
        break;
        case "Corporativo":
            if(arrValues["txtNombreEmpresa"] == "")
                errorFields += "\tNombre de la Empresa\r\n";
            if(arrValues["txtCantidadEmpleados"] == "")
                errorFields += "\tCantidad de empleados\r\n";
            if(arrValues["txtNombreyApellido"] == "")
                errorFields += "\tNombre de Contacto\r\n";
            if(!checkMail(arrValues["txtEmail"]))
                errorFields += "\tE-mail\r\n";                
            if(arrValues["txtTelefono"] == "")
                errorFields += "\tTelefono\r\n";                                                                
            if(errorFields != "")
            {
                alert(message + errorFields);
                return false;
            }
            return true;    
        break;                        
    }                       


}

function submitForm(frm)
{
    if(val_form(frm))
        frm.submit();
    return false;
}