


var validated=true;  // global

// call this from onchange
function valid(fld,errm) // varying number of arguments
  {
  var i;
  validated=true;
// scan regular expressions
  for (i=2;i<valid.arguments.length;i++) 
    {
    var rx;
    rx=new RegExp(valid.arguments[i]);
    if (rx.exec(fld.value)!=null ) 
       return true;  // ok
    }
// no matches...
  alert(errm);
  fld.focus();   // put focus back
  validated=false;  // tell onsubmit if necessary
  return false;
  }

// This scans all the onchanged routines
function valid_form(frm)
{
	// force validation of all fields
	var l;
	var i;
	validated=true;
	//alert(frm.elements.length+' '+validated);
	for (i=0;i<frm.elements.length && validated;i++)
	{	//alert ("Validando "+frm.elements[i].name+" "+frm.elements[i].value)
		if (frm.elements[i].onchange!=null)
		{	frm.elements[i].onchange();  // fake change PORQUE NO RULA EN nn EN LOS CAMPOS TIPO SELECT??
		}
	}
	return validated;
}


function formatea_tfno(str)
{	var str_lim='';
	
	// quitamos "no numeros"
	for (var i=0; i<str.value.length; i++)
	{	var c = str.value.charAt(i)
		if (c>="0" && c<="9") 
	  	{	str_lim = str_lim + c;	}
	}
	
	// formateamos
	var rx;
	rx=new RegExp("([0-9]*)([0-9]{3})([0-9]{3})([0-9]{3})$");
	if (rx.exec(str_lim))
	{	if (RegExp.$1)
		{	str_lim = RegExp.$1 + '.' + RegExp.$2 + '.' + RegExp.$3 + '.' + RegExp.$4;	}
		else
		{	str_lim = RegExp.$2 + '.' + RegExp.$3 + '.' + RegExp.$4;	}
	}

	return str_lim;
}

function ControlMaxLong(campo,lng_min,lng_max)
{ 	if (campo.value.length < lng_min || campo.value.length > lng_max)
	{	campo.focus();
		validated=false;
		return false;
	}
	else
	{	return true;	}
}
