var alerta = new Object();
alerta.email = '\n\nRecuerde que ha de ser de la forma : xxxxx@xxx.xxx';

//javascript document
function envia(){
	if(!document.getElementById('requerido')){return;}
	
	var reqcampos=document.getElementById('requerido').value.split(',');

	for(var i=0;i<reqcampos.length;i++)
	{
	// check if required field is there
	    var f=document.getElementById(reqcampos[i]);
	    if(!f){continue;}
		// test if the required field has an error, 
		// according to its type
	    switch(f.type.toLowerCase())
	    {
	      case 'text':
	        if(f.value=='' && f.id!='email'){lanza_alert(f);f.focus();return false}              
			// email is a special field and needs checking
	        if(f.id=='email' && 
	        !cf_isEmailAddr(f.value)){lanza_alert(f);f.focus();return false}              
	      break;
	      case 'textarea':
	        if(f.value==''){lanza_alert(f);f.focus();return false}              
	      break;
	      case 'checkbox':
	        if(!f.checked){lanza_alert(f);f.focus();return false}              
	      break;
	      case 'select-one':
	        if(!f.selectedIndex && f.selectedIndex==0){lanza_alert(f);f.focus();return false}              
	      break;
	    }
  	 }
  	 return true;

}

function lanza_alert(f){
	var labels = f.form.getElementsByTagName('label');
	for (i=0; i<labels.length ;i++)
	{
		if (labels.item(i).attributes.getNamedItem('for').value== f.id)
			{
				var cp = labels.item(i).childNodes.item(0).nodeValue.split(':'); break;
			}
	}
	var msg = eval("alerta."+f.id);
	if (msg== null) msg='';
	alert('El campo "'+cp[0]+'" es obligatorio. ' + msg );
}

function cf_isEmailAddr(str) 
  {
      return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
  }




