// 2001-08-23 Version mejorada para tratar campos tipo SELECT
var validated=true;  // global


// call this from onchange
function valid(fld, tipo, errm) // varying number of arguments
{
	//return true;	// NO SE VALIDA NADA!
	var i;
	validated=true;
	// scan regular expressions
	for (i=3;i<valid.arguments.length;i++) 
	{	var rx;
		rx=new RegExp(valid.arguments[i]);

		if(tipo=='S')	//SELECT
		{	if (rx.exec(fld.options[fld.selectedIndex].value)!=null ) 
			return true;  // ok
		}
		else	// campo tipo TEXT
		{	if (rx.exec(fld.value)!=null )
			return true;  // ok
		}
	}
	// no matches...
	alert(errm);
	fld.focus();
	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;	}
}
