	
	function revertParseValue(fid, text){
		switch(parseInt(fid)){
			// tipo tanto por ciento
			case __constants.FIDS.VOLATILITY:
			case __constants.FIDS.INT_RATE:
			case __constants.FIDS.DIVIDEND:
			case __constants.FIDS.RENTABILITY:
			case __constants.FIDS.RENTABILIDADACU_CALC:
			case __constants.FIDS.VOLATILIDADACU_CALC:
				return (parseFloat(text)/100.).toString();
				break;
			default:
				return text;
		}
	}
	
	function parseValue(fid, value){
	
		switch(parseInt(fid)){
			// tipo tanto por ciento
			case __constants.FIDS.VOLATILITY:
			case __constants.FIDS.INT_RATE:
			case __constants.FIDS.DIVIDEND:
			case __constants.FIDS.RENTABILITY:
			case __constants.FIDS.RENTABILIDADACU_CALC:
			case __constants.FIDS.VOLATILIDADACU_CALC:
				return formatPercent(value);
				break;
			// tipo fecha
			case __constants.FIDS.DATE:
			case __constants.FIDS.MATURITY:
				return parseDate(value);
				break;
			// tipo texto
			case __constants.FIDS.VALUE_CODE: 
				return value;
				break;
			// Numerado - tipo de estado
			case __constants.FIDS.STATUS_ID:
				if(value == "0"){
					return "No activo";
				}else{
					return "Activo";				
				}
				break;
			// tipo numero
			default: 
				return formatNumber(value,"#.0000");
		}
	}
	
	function cortarDecimales(num, n,rellenar)
	{	
		return cortarDecimales2(num, n,rellenar);
	}
	
	function formatPercent(num){
		return formatNumber(num,"#.00%",false);
	}
	
	
	function cortarDecimales2(num, n,rellenar){
		
		var aux = num;
		if(!isNaN(aux))
		{
			if(typeof(aux) == "string")
			{
				aux = aux.split(".");
				if (rellenar)			
				{
					var l = n;
					if(!!aux[1])
					{
						l -= aux[1].length;					
					}else
					{
						aux[1] = "";
					}
					for(var i =0; i<l; i++)
					{
						aux[1]+="0";
					}
					aux = aux[0]+"."+aux[1].substring(0,n);
				}else
				{
					aux = (!!aux[1])?(aux[0]+"."+aux[1].substring(0,n)):aux[0];
				}
			}else
			{
				var aux1;
				aux = Math.floor(Math.abs(Math.round(Math.pow(10,n)* aux)));
				if (aux == 0)
				{					
					if (rellenar)
					{
						aux="0."
						while(aux.length<n+2)
							aux+="0";
					}else					
						aux="0"
				}else
				{
					aux1= Math.floor(aux/Math.pow(10,n)).toString();
					if(num<0)		
						aux1= "-" + aux1;
					if (n == 0)
						aux = aux1;
					else
					{
						aux %= Math.pow(10,n);
						aux = aux.toString();
						while(aux.length<n)
							aux="0"+aux;
						if (rellenar)
							aux = aux1 +"."+ aux;
						else
						{
							if (aux == 0)
								aux = aux1;
							else
							{
								while(aux.length>1 && aux.charAt(aux.length-1)=="0")
									aux = aux.substr(0,aux.length-1);
								aux = aux1.toString() +"."+ aux;
							}
						}				
					}
				}
			}
		}
		return aux;
		
	}
	
	  var separator = ",";  // use comma as 000's separator
	  var decpoint = ".";  // use period as decimal point
	  var percent = "%";
	  var currency = "$";  // use dollar sign for currency
	
	  function formatNumber(number, format, showSymbols) {  // use: formatNumber(number, "format")
	    if (number - 0 != number) return number;  // if number is NaN return null
	    var useSeparator = format.indexOf(separator) != -1;  // use separators in number
	    var usePercent = format.indexOf(percent) != -1;  // convert output to percentage
	    var useCurrency = format.indexOf(currency) != -1;  // use currency format
	    var isNegative = (number < 0);
	    number = Math.abs (number);
	    if (usePercent) number *= 100;
	    format = strip(format, separator + percent + currency);  // remove key characters
	    number = "" + number;  // convert number input to string
	
	     // split input value into LHS and RHS using decpoint as divider
	    var dec = number.indexOf(decpoint) != -1;
	    var nleftEnd = (dec) ? number.substring(0, number.indexOf(".")) : number;
	    var nrightEnd = (dec) ? number.substring(number.indexOf(".") + 1) : "";
	
	     // split format string into LHS and RHS using decpoint as divider
	    dec = format.indexOf(decpoint) != -1;
	    var sleftEnd = (dec) ? format.substring(0, format.indexOf(".")) : format;
	    var srightEnd = (dec) ? format.substring(format.indexOf(".") + 1) : "";
	
	     // adjust decimal places by cropping or adding zeros to LHS of number
	    if (srightEnd.length < nrightEnd.length) {
	      var nextChar = nrightEnd.charAt(srightEnd.length) - 0;
	      nrightEnd = nrightEnd.substring(0, srightEnd.length);
	      if (nextChar >= 5) nrightEnd = "" + ((nrightEnd - 0) + 1);  // round up
	
	      while (srightEnd.length > nrightEnd.length) {
	        nrightEnd = "0" + nrightEnd;
	      }
	
	      if (srightEnd.length < nrightEnd.length) {
	        nrightEnd = nrightEnd.substring(1);
	        nleftEnd = (nleftEnd - 0) + 1;
	      }
	    } else {
	      for (var i=nrightEnd.length; srightEnd.length > nrightEnd.length; i++) {
	        if (srightEnd.charAt(i) == "0") nrightEnd += "0";  // append zero to RHS of number
	        else break;
	      }
	    }
	
	     // adjust leading zeros
	    sleftEnd = strip(sleftEnd, "#");  // remove hashes from LHS of format
	    while (sleftEnd.length > nleftEnd.length) {
	      nleftEnd = "0" + nleftEnd;  // prepend zero to LHS of number
	    }
	
	    if (useSeparator) nleftEnd = separate(nleftEnd, separator);  // add separator
	    var output = nleftEnd + ((nrightEnd != "") ? "." + nrightEnd : "");  // combine parts
	    output = ((useCurrency && showSymbols) ? currency : "") + output + ((usePercent && showSymbols) ? percent : "");
	    if (isNegative) {
	      // patch suggested by Tom Denn 25/4/2001
	      output = (useCurrency) ? "(" + output + ")" : "-" + output;
	    }
	    return output;
	  }
	
	  function strip(input, chars) {  // strip all characters in 'chars' from input
	    var output = "";  // initialise output string
	    for (var i=0; i < input.length; i++)
	      if (chars.indexOf(input.charAt(i)) == -1)
	        output += input.charAt(i);
	    return output;
	  }
	
	  function separate(input, separator) {  // format input using 'separator' to mark 000's
	    input = "" + input;
	    var output = "";  // initialise output string
	    for (var i=0; i < input.length; i++) {
	      if (i != 0 && (input.length - i) % 3 == 0) output += separator;
	      output += input.charAt(i);
	    }
	    return output;
	  }
	
	function parseDate(value){
		var v= value.toString().toUpperCase();
			v=v.toString().replace(/[ ]DEC[ ]/g, "/12/")
			v=v.toString().replace(/[ ]NOV[ ]/g, "/11/")
			v=v.toString().replace(/[ ]OCT[ ]/g, "/10/")
			v=v.toString().replace(/[ ]SEP[ ]/g, "/09/")
			v=v.toString().replace(/[ ]AUG[ ]/g, "/08/")
			v=v.toString().replace(/[ ]JUL[ ]/g, "/07/")
			v=v.toString().replace(/[ ]JUN[ ]/g, "/06/")
			v=v.toString().replace(/[ ]MAY[ ]/g, "/05/")
			v=v.toString().replace(/[ ]APR[ ]/g, "/04/")
			v=v.toString().replace(/[ ]MAR[ ]/g, "/03/")
			v=v.toString().replace(/[ ]FEB[ ]/g, "/02/")
			v=v.toString().replace(/[ ]JAN[ ]/g, "/01/")
		return v;
	}