var indexForm=0

function trimSpaces(strValue) {
	var ichar, icount;
	ichar = strValue.length - 1;
	icount = -1;
	while (strValue.charAt(ichar)==' ' && ichar > icount)
		--ichar;
	if (ichar!=(strValue.length-1))
		strValue = strValue.slice(0,ichar+1);
	ichar = 0;
	icount = strValue.length - 1;
	while (strValue.charAt(ichar)==' ' && ichar < icount)
		++ichar;
	if (ichar!=0)
		strValue = strValue.slice(ichar,strValue.length);
	return strValue;
}

function isNumber(fld)
{
	var nums = "0123456789";

	for (var intLoop = 0; intLoop < fld.length; intLoop++) {
		if (nums.indexOf(fld.charAt(intLoop)) == -1) {
			return false;
		}
	}
	return true;
}

function isCurrency(fld)
{
	var nums = "0123456789";
	var decs = false;

	for (var intLoop = 0; intLoop < fld.length; intLoop++) {
		if (nums.indexOf(fld.charAt(intLoop)) == -1) {
		  if (!decs) {
			  if ((fld.charAt(intLoop) == '.' || fld.charAt(intLoop) == ',') && intLoop > 0) {
			    decs = true;
			  } else {
			    return false;
			  }
			} else {
  	    return false;
			}
		}
	}
	return true;
}

function isMailAddress(fld)
{
var ret = true;

  if (fld==null || fld=="") {
    ret = false;
  }
  
  if (fld.indexOf(' ') > -1) {
    ret = false;
  }
  
  if (!(fld.indexOf('@') > 0 && (fld.indexOf('@') == fld.lastIndexOf('@')))) {
    ret = false;
  }

  if (!(fld.indexOf('.') > 0 && ((fld.lastIndexOf('@')+1) < fld.lastIndexOf('.')) && ((fld.lastIndexOf('.')+1) < (fld.length-1)) )) {
    ret = false;
  }
  
  return ret;
}


function isValid(textName, name, type, maxLen, minLen) {

  var val = eval("document.forms[indexForm]."+name+".value");
  var ret = true;

  val = trimSpaces(val);
  
  //validar longitud de campo
  
  if (val.length < minLen || val.length > maxLen) {
    alert("Error de longitud en el campo "+textName);
    return false;
  }
  
  if (val.length > 0 && type == 'N') {
    ret = isNumber(val);
  }
  
  if (val.length > 0 && type == 'M') {
    ret = isMailAddress(val);
  }
  
  if (val.length > 0 && type == '$') {
    ret = isCurrency(val);
  }
  
  if(!ret) {
    alert("Error de formato en el campo "+textName);
  }

  return ret;
}


function abrirVentana( url, height, width)
{
  var parms;
  
  parms = "dialogWidth:"+width+"px;dialogHeight:"+height+"px;help:no;status:no";
  
  var ret = window.showModalDialog( url, null, parms);
  
  return ret;
}

