function Formulario(){}
Formulario.prototype.validarTodo=todo
function todo(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('Selecccione Una Opción en '+res.id)
					break
				}
		}
		else
		{			
			if (elementos[i].value=="")
    	{
    		alert(msg+" "+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("Inserte un Mail valido (nombre@dominio.sufijo)")
					elementos[i].focus()
					break;
				}
			}
   	}
	}
	if(i>=elementos.length)
		document.forms[nform].submit()
}
Formulario.prototype.validarAlgunos=algunos
function algunos(nform,controles,msg)
{
	for(var i=0;i<controles.length;i++)
	{
		var ctr=document.getElementById(controles[i])		
		if(ctr.type=='checkbox' || ctr.type=='radio')
		{
			var res=opcionesForms(ctr, ctr.type)
			if(!res.val)
			{
				alert("Seleccione una Opcion en "+res.id)
				break
			}
		}
		else if(ctr.value=="")
		{
			alert(msg+" "+ctr.name)
			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("Inserte un Mail valido (nombre@dominio.sufijo)")
					ctr.focus()
					break;
				}
		}
	}
		if(i>=controles.length)
		document.forms[nform].submit()
}

function opcionesForms(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};
}
