function Formulario(){

    this.validarTodo=function(nform,msg)
    {
        var elementos=document.forms[nform].elements
        for(var i=0;i<elementos.length;i++){
            if(elementos[i].type=='checkbox' || elementos[i].type=='radio')
            {
                var res=opcionesForms(elementos[i], elementos[i].type)
                if(res.val)
                    i+=res.val-1
                else
                {
                    alert('nop' + elementos[i].name )
                    break
                }
            }
            else
            {
                if (elementos[i].value=="")
                {
                    alert("Llene el campo "+ elementos[i].name)
                    elementos[i].focus()
                    break
                }
                else if(elementos[i].name.toLowerCase()=="mail" || (elementos[i].name).toLowerCase()=="correo" || (elementos[i].name).toLowerCase()=="email" || (elementos[i].name).toLowerCase()=="e-mail")
                {
                    if( ! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(elementos[i].value) )
                    {
                        alert("Mail no valido")
                        elementos[i].focus()
                        break;
                    }
                }
            }
        }
        if(i>=elementos.length)
            document.forms[nform].submit()
    }
    this.validarAlgunos=function algunos(nform,controles,msg)
    {
        for(var i=0;i<controles.length;i++)
        {
            var ctr=document.getElementById(controles[i])
            if(ctr){
                if(ctr.type=='checkbox' || ctr.type=='radio')
                {
                    var res=this.opcionesForms(ctr, ctr.type)
                    if(!res.val)
                    {
                        alert("Llene el campo "+ctr.name)
                        break
                    }
                }
                else if(ctr.value=="")
                {
                    alert("Llene el campo "+ctr.name.replace(/_/g,' '))
                    break;

                }

                else if(ctr.name.toLowerCase()=="mail" || (ctr.name).toLowerCase()=="correo" || (ctr.name).toLowerCase()=="email")

                {

                    if( ! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(ctr.value) )

                    {

                        alert("Llene el campo (nombre@dominio.sufijo)")

                        ctr.focus()

                        break;

                    }

                }
            }

        }
        if(i>=controles.length)
            document.forms[nform].submit()
    }



    var opcionesForms=function (control, tipo)

    {

        /*var jefe=control.parentNode

		var total=0

		for(var j=0;j<jefe.childNodes.length;j++)

		{

			if(jefe.childNodes[j].type==tipo)

			{

				total++

				if(jefe.childNodes[j].checked)

				{var entro=true;}				

			}

		}

		if(entro)

			return{id:jefe.id, val:total};

		else return{id:jefe.id, val:null};*/

	

        if(tipo=="radio")

        {
            var radios =document.getElementsByName(control.name)
            for(var i=0; i<radios.length;i++)

            {
                    if(radios[i].checked)

                    {

                        var entro=true;
                        break;

                    }

                }
            if(entro) return{
                val:radios.length
                };
            else return{
                val:null
            };
        }

    }
}

