function LCase(Value) {
	return Value.toString().toLowerCase();
}
function UCase(Value) {
	return Value.toString().toUpperCase();
}
function Len(Expression) {
	return Expression.toString().length;
}
function Left(Str, Length) {
	if (Length < 0) {
		alert("Invalid Length argument\n\nLeft function (js2vb.js)"); return "";
	}
	return Str.substring(0, Length);
}
function Right(Str, Length) {
	if (Length < 0) {
		alert("Invalid Length argument\n\nRight function (js2vb.js)"); return "";
	}
	return Str.substring(Len(Str) - Length, Len(Str));
}
function Mid(Str, Start, Length) {
	if (Length < 1) {
		alert("Invalid Length argument\n\nMid function (js2vb.js)"); return "";
	}
	if (Start < 0) {
		alert("Invalid Start argument\n\nMid function (js2vb.js)"); return "";
	}
	return Str.substring(Start-1, Start-1 + Length);
}
function InStr(Start, String1, String2, Compare) {
	if (Start < 1) {
		alert("Invalid Start argument\n\nInStr function (js2vb.js)"); return "";
	}
	if (Start > Len(String1)) return 0;
	if (Len(String2) == 0) return Start;
	if (Compare == 1) {String1 = LCase(String1); String2 = LCase(String2);}
	if (Start > 1) {
		var index = Right(String1, Len(String1) - Start + 1).indexOf(String2)
		if (index == -1) {return 0;} else {return index + Start;}
	} else {
		return String1.indexOf(String2) + 1
	}
}
function InStrRev(StringCheck, StringMatch, Start, Compare) {
	if (Start == 0 || Start < -1) {
		alert("Invalid Start argument\n\nInStrRev function (js2vb.js)"); return "";
	}
	if (Len(StringMatch) == 0) return Start;
	if (Compare == 1) {StringCheck = LCase(StringCheck); StringMatch = LCase(StringMatch);}
	if (Start > 1) {
		return Left(StringCheck, Start).lastIndexOf(StringMatch) + 1;
	} else {
		return StringCheck.lastIndexOf(StringMatch) + 1;
	}
}
function IsNull(Expression) {
	return (Expression == null);
}
function IsEmpty(Expression) {
	return (Expression.toString().length == 0);
}
function IsObject(Expression) {
	return (typeof Expression == "object");
}
function IsArray(VarName) {
	return (VarName.constructor.toString().indexOf("Array") == -1);
}

function Trim(s) 
{
  // Remove leading spaces and carriage returns
  
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }

  // Remove trailing spaces and carriage returns

  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}
function pad(number,length) {
    var str = '' + number;
    //alert(str.length);
    while (str.length < length)
        str = '0' + str;
    return str;
}
function vmedida(mcampo) {
//alert("medida");
vcampo=UCase(mcampo.value)+"       ";
//alert(Mid(vcampo,1,3));
pre=Mid(vcampo,1,3);
pre2=pre;
if (isNum(Mid(vcampo,3,1)) || Mid(vcampo,3,1)==' ') {

pre=Mid(vcampo,1,2);
	pre2=pre;
	if(pre=='PC') {
	pre2='P C';
	}
	if(pre=='PS') {
	pre2='P S';
	}
	if(pre=='RC') {
	pre2='R C';
	}
	if(pre=='RS') {
	pre2='R S';
	}
}
//alert(pre2);
pre_valid=InStr(1,"P C,P S,R C,R S,RCC,RCS,RKC,RKS,PRC,PRS",pre2,1)
pok=0;
//alert("medida2");

if	(pre_valid>0) {
pok=1;
}
//alert("PREVALID");
//alert(pre_valid);

if (isNum(Mid(vcampo,3,1)) || Mid(vcampo,3,1)==' ') {
numeros=Trim(Mid(vcampo,3,7));
} else {
numeros=Trim(Mid(vcampo,4,7));
}
//alert("numeros="+numeros);
nok=0;
if (isNum(numeros)) {
nok=1;
numeros=pad(numeros,4);
}
//alert(numeros);
if (pok==1 && nok==1) {
		//alert(pre2+numeros);
		mcampo.value=pre2+numeros;
		return true;
} else {
alert("Número de Medida Invalido");
mcampo.focus();
return false;
}
}
function fValidar(vmedida){
cmedida=(vmedida.value);
var tipo='';
var medidaNum='';
var num='';
var numeroOk='';
var result = cmedida.length;
	if (result >7){
		alert("Número de Medida Inválida.");
		vmedida.value='';
		vmedida.focus();
	}else{
		if (result<=4 && !isNaN(cmedida) && cmedida!=''){			
			cmedida=pad(cmedida,4);
			numeroOk=1;
		}else{
			var strTemp = cmedida.toUpperCase();
			t = Left(strTemp,3);
			if (t=='P S'){
				tipo="P S";
			}else if (t=='P C'){
				tipo="P C";	
			}else if (t=='R C'){
				tipo="R C";	
			}else if (t=='R S'){
				tipo="R S";	
			}else if (t=='RCC'){
				tipo="RCC";	
			}else if (t=='RCS'){
				tipo="RCS";		
			}else if (t=='RKS'){
				tipo="RKS";	
			}else if (t=='RKC'){
				tipo="RKC";	
			}else if (t=='PRC'){
				tipo="PRC";	
			}else if (t=='PRS'){
				tipo="PRS";	
			}
			if (tipo==''){
				var strTemp = cmedida.toUpperCase();
				t = Left(strTemp,2);
				if (t=='PS'){
					tipo="P S";
				}else if (t=='PC'){
					tipo="P C";	
				}else if (t=='RC'){
					tipo="R C";	
				}else if (t=='RS'){
					tipo="R S";	
				}
				num=cmedida;
				var objRegExp  =  /[^0-9]/g;
				medidaNum=num.replace(objRegExp,""); 
				medidaNum=pad(medidaNum,4);
				//alert(medidaNum);
			}else{
				num=cmedida;
				var objRegExp  =  /[^0-9]/g;
				medidaNum=num.replace(objRegExp,""); 
				medidaNum=pad(medidaNum,4);
			}//cerrar el else de tipo==''		
		}//cerrar el else de result<4 y isNaN
	}//cerrar el else de result>7
	if (numeroOk==1){
		vmedida.value=cmedida;
	}else if (tipo!='' && medidaNum !=''){
		tipo=tipo+medidaNum;
		//alert(tipo);
		vmedida.value=tipo;		
	}else if (vmedida.value==''){
		
	}else{
		alert("Número de Medida Inválida.");
		vmedida.value='';
		vmedida.focus();
	}
}//cerrar la funcion
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

function isNum(p)
{

for(i=0;i<p.length;i++)
{
	a=parseInt(p.charAt(i));
	if(a>=0 || a<=9)
		return true;
	}
	return false;
}
