function iteditFindObj(n, d) { //MM_findObj
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=iteditFindObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function iteditEsCheckOk(valor,formato){
	var expresion = new RegExp(formato);
	return expresion.test(valor);
}

function iteditEsFecha(valor) {
	switch (itCultureInfo.DateElementOrder) {
		case 'ymd': formato = '^(19[0-9][0-9]|20[0-9][0-9]|[0-9][0-9])([\.,/,-])([1-9]|0[1-9]|1[012])([\.,/,-])([1-9]|0[1-9]|[12][0-9]|3[01])$';
		break;
		case 'mdy':	formato = '^([1-9]|0[1-9]|1[012])([\.,/,-])([1-9]|0[1-9]|[12][0-9]|3[01])([\.,/,-])(19[0-9][0-9]|20[0-9][0-9]|[0-9][0-9])$';
		break;
		default:formato = '^([1-9]|0[1-9]|[12][0-9]|3[01])([\.,/,-])([1-9]|0[1-9]|1[012])([\.,/,-])(19[0-9][0-9]|20[0-9][0-9]|[0-9][0-9])$'; //dmy
	};
	return iteditEsCheckOk(valor,formato);
}

function iteditEsTextoNumero (valor){
	var formato = '^(\\w*)$';    
	return iteditEsCheckOk(valor,formato);
}

function iteditEsNumero (valor){
	var formato = '^-?([\\d,\.,\,])*$';    
	return iteditEsCheckOk(valor,formato);
}

function iteditEsDigito (valor){
	var formato = '^(\\d*)$';   
	return iteditEsCheckOk(valor,formato);
}

function iteditFormatoFecha() {
	var sep = itCultureInfo.DateSeparator;
	switch (itCultureInfo.DateElementOrder) {
		case 'ymd': formato = 'yyyy'+sep+'MM'+sep+'dd';
		break;
		case 'mdy':	formato = 'MM'+sep+'dd'+sep+'yyyy';
		break;
		default:formato = 'dd'+sep+'MM'+sep+'yyyy'; //dmy
	};
	return formato;
}

function iteditValidarForm() {
	var i,p,q,nm,test,out,num,min,max,errors='',args=iteditValidarForm.arguments;
	var formatoFecha=iteditFormatoFecha();
	for (i=0; i<(args.length-2); i+=3) { 
		test=args[i+2]; 
		val=iteditFindObj(args[i]); 
		out=args[i+1];
		if (val) { 
			nm=val.name;
			if (out==""){out=nm;}
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='- ' + itTraduccion.GetMensaje('form.emailrequired',out) + '.\n';
				} else if (test.indexOf('isDate')!=-1) {
					if (!iteditEsFecha(val)) errors+='- ' + itTraduccion.GetMensaje('form.daterequired',out,formatoFecha) + '.\n';
				} else if (test.indexOf('isTxNum')!=-1) {
					if (!iteditEsTextoNumero(val)) errors+='- ' + itTraduccion.GetMensaje('form.txtnumberonly',out) + '.\n';
				} else if ((p=test.indexOf('isTxMin'))!=-1) { 
					min=test.substring(p+7);
					if (val.length<min) errors+='- ' + itTraduccion.GetMensaje('form.txtmin',out,min,val.length) + '.\n';
				} else if ((p=test.indexOf('isTxMax'))!=-1) { 
					max=test.substring(p+7);
					if (val.length>max) errors+='- ' + itTraduccion.GetMensaje('form.txtmax',out,max,val.length) + '.\n';
				} else if ((p=test.indexOf('isDigMin'))!=-1) { 
					min=test.substring(p+8);
					if (!iteditEsDigito(val)) errors+='- ' + itTraduccion.GetMensaje('form.numberonly',out) + '.\n';
					if (val.length<min) errors+='- ' + itTraduccion.GetMensaje('form.numbermin',out,min,val.length) + '.\n';
				} else if (test!='R') {
					if (!iteditEsNumero(val)) errors+='- ' + itTraduccion.GetMensaje('form.numberrequired',out) + '.\n';
					if (test.indexOf('inRange') != -1) { 
						p=test.indexOf(':');
						min=Number(test.substring(8,p)); 
						max=Number(test.substring(p+1));
						if (val<min || max<val) errors+='- ' + itTraduccion.GetMensaje('form.numberrange',out,min,max) + '.\n';
					}
				}
			} else if (test.charAt(0) == 'R') errors += '- ' + itTraduccion.GetMensaje('form.fieldrequired',out) + '.\n';
		}
	} 
	if (errors) alert(itTraduccion.GetMensaje('form.erroresdetectados')+':\n'+errors);
	document.IT_returnValue = (errors == '');
}

function iteditCamposIguales() {
  var val1,val2,campo1,campo2,args=iteditCamposIguales.arguments;
  if (document.IT_returnValue==true){
  	val1=iteditFindObj(args[0]);
  	val2=iteditFindObj(args[2]);
 	val1=val1.value;
	val2=val2.value;
  	if (val1!=val2) {
		campo1=args[1];
		campo2=args[3];
		alert(itTraduccion.GetMensaje('form.fieldsequal',campo1,campo2));
  	}
 	document.IT_returnValue = (val1==val2);
 }
}

function iteditConfirmarForm(msj) {
	if(confirm(msj))
		document.IT_returnValue = true;
	else
		document.IT_returnValue = false;
}

function iteditChkEnabled() {
	args = iteditChkEnabled.arguments;
	objCheck = args[0];

	objLabel = document.getElementById(args[1]);
	for (i=2; i<(args.length); i+=1) { 
		objInput = document.getElementById(args[i]);
		if (objCheck.checked) {
			objInput.disabled = false;
			objLabel.style.color = 'green';
		}
		else {
			objInput.disabled = true;
			objLabel.style.color = '';
		}
	}
}
