/*-------------------------------------------------------------------
	
								 DÉCADA SOFT  UTILIDADES	©																					
																						
																		Desarrollo:	Década SOFT 2011

-------------------------------------------------------------------*/

/*-------------------------------------------------------------------
					
			Create Request (Para llamar a asps y phps)

-------------------------------------------------------------------*/

function createRequest(){
	try {
		request = new XMLHttpRequest();
	} catch (tryMS) {
		try {
			request = new ActiveXObject("Msxml12.XMLHTTP");
		} catch (otherMS) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed){
				request = null;
			}
		}
	}
	return request;
}

/*-------------------------------------------------------------------
					
			WS (Aspx)
			
	Llamadas a WS, se pasan los parametros y el nombre de la funcion 
	
	a la que debe devolver el resultado.

-------------------------------------------------------------------*/

function LlamaWS(URLWS, parametros, funcionExito){
	$.ajax({	
	   		async:true,
			type: "POST",
			dataType: "text/plain",
			contentType: "application/x-www-form-urlencoded",
			url:URLWS,data:parametros,
			/*headers: {
				'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
				'Accept': 'application/atom+xml,application/xml,text/xml',
			},*/
			beforeSend:inicioEnvio,
			success:funcionExito,
			timeout:40000,
			error:problemas1
    });
	
	
}

function inicioEnvio() {
	//alert("Enviando...")//var x=$("#resultados"); x.html('<strong>Load ... </strong>');
}

function problemas1(XMLHttpRequest, textStatus, errorThrown) {
	//alert("Error ws")//$("#resultados").text("error");
}

/*-------------------------------------------------------------------
					
	XMLS
			
	Para XML que estén en una carpeta o para ASP que devuelven XMLS.
	

-------------------------------------------------------------------*/

function CJL_loadXmlDocument(xmlFile, cbFun){
   var xdoc;
   if( window.ActiveXObject && /Win/.test(navigator.userAgent)){
      xdoc = new ActiveXObject("Microsoft.XMLDOM");
      xdoc.async = false;
      xdoc.load(xmlFile);
      cbFun(xdoc);
      return true;
   }else if( document.implementation && document.implementation.createDocument ){
      xdoc = document.implementation.createDocument("", "", null);
      xdoc.load(xmlFile);
      xdoc.onload = function(){
         cbFun(xdoc);
     }
      return true;
   }else{
      return false;
   }
}


/*-------------------------------------------------------------------
					
	Encode y Decode XMLs de respuesta
	

-------------------------------------------------------------------*/

var xml_special_to_escaped_one_map = {
'&': '&amp;',
'"': '&quot;',
'<': '&lt;',
'>': '&gt;'
};

var escaped_one_to_xml_special_map = {
'<string xmlns="http://localhost">': '',
'&amp;': '&',
'&quot;': '"',
'&lt;': '<',
'&gt;': '>'
};

function encodeXml(string) {
return string.replace(/([\&"<>])/g, function(str, item) {
return xml_special_to_escaped_one_map[item];
});
};

function decodeXml(string) {
return string.replace(/(&quot;|&lt;|&gt;|&amp;)/g,
function(str, item) {
return escaped_one_to_xml_special_map[item];
});
}

/*-------------------------------------------------------------------
					
	String a XML
	
	Pasa un XML a String, eliminando los espacios en blanco.		
	Eliminar espacios en Blanco ("Whitespace") del documento XML. 
	Necesario para Mozilla.

-------------------------------------------------------------------*/

function stringToXML(xmlData, nodoPrincipal) {

	var xmlDoc

	if (window.ActiveXObject) {
		
		//IE
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(xmlData);
	} else if (document.implementation && document.implementation.createDocument) {
		
		//Firefox
		parser=new DOMParser();
		xmlDoc=parser.parseFromString(xmlData,"text/xml");
	}
	
	var caracteresNoBlanco = /\S/
	var msgobj = xmlDoc.getElementsByTagName(nodoPrincipal)[0]
	
	// Iniciar un Ciclo por el número de Elemento XML 
	for (i=msgobj.childNodes.length-1; i >= 0; i--){
		if ((msgobj.childNodes[i].nodeType == 3) && (!caracteresNoBlanco.test(msgobj.childNodes[i].nodeValue))) {
			 // Esta condicional se cumple si es un nodo de Texto en Blanco 
			 msgobj.removeChild(msgobj.childNodes[i])
		 }else{
			if(msgobj.childNodes[i].hasChildNodes()){
				for (j=msgobj.childNodes[i].childNodes.length-1; j >= 0; j--){
					if ((msgobj.childNodes[i].childNodes[j].nodeType == 3) && (!caracteresNoBlanco.test(msgobj.childNodes[i].childNodes[j].nodeValue))) {
						// Esta condicional se cumple si es un nodo de Texto en Blanco 
						 msgobj.childNodes[i].removeChild(msgobj.childNodes[i].childNodes[j])
					}else{
						if(msgobj.childNodes[i].childNodes[j].hasChildNodes()){
							for (k=msgobj.childNodes[i].childNodes[j].childNodes.length-1; k >=0; k--){
								if ((msgobj.childNodes[i].childNodes[j].childNodes[k].nodeType == 3) && (!caracteresNoBlanco.test(msgobj.childNodes[i].childNodes[j].childNodes[k].nodeValue))) {
									// Esta condicional se cumple si es un nodo de Texto en Blanco 
									 msgobj.childNodes[i].childNodes[j].removeChild(msgobj.childNodes[i].childNodes[j].childNodes[k])
								}else{
									
								}
							}
						}
					}
				}
			}	 
		}
	}

	return xmlDoc
}

/*-------------------------------------------------------------------
					
		Reemplazar cabeceras

-------------------------------------------------------------------*/

function reemplazarCabecera(string){
	
	//Primero quito esto del principio <?xml version="1.0" encoding="utf-8"?><string xmlns="http://localhost">
	//alert("Todo el XML: " + string)
	
	var parteFinalStringAQuitar  = '<string xmlns="http://localhost">'
	var parteFinalEtiquetaCierre = '</string>'
	var cabeceraXML = '<?xml version="1.0" encoding="utf-8"?>'
	
	parte1Str = string.substring(string.indexOf(parteFinalStringAQuitar) + parteFinalStringAQuitar.length, string.length)
	
	//alert(parte1Str)
	//Quito la segunda parter </string>
	parte3Str = parte1Str.substring(0, parte1Str.indexOf(parteFinalEtiquetaCierre))
	//alert(parte3Str)
	parte4Str = parte1Str.substring(parte1Str.indexOf(parteFinalEtiquetaCierre)+parteFinalEtiquetaCierre.length, parte1Str.length)
	//alert(parte4Str)
	//
	var cadenaFinal = parte3Str + parte4Str
	
	//alert(cadenaFinal)
	
	//Compruebo si ya esta la cadena del tipo de documento xml, si esta no hago nada y si no esta, la pongo yo
	if(cadenaFinal.indexOf(cabeceraXML) == -1){cadenaFinal = cabeceraXML + cadenaFinal}
	
	//alert(cadenaFinal)
	
	return cadenaFinal
	
	
	/*//parte2Str = string.substring(string.indexOf(stringAQuitarDeXML)+stringAQuitarDeXML.length, string.length)
	
	//Si esta cadena esta al principio de la respuesta, el xml no sera correcto y por lo tanto no funcionara
	var stringAQuitarDeXML = '<string xmlns="http://localhost">'
	var strCierreQuitarXML = '</string>'
	
	parte1Str = string.substring(0, string.indexOf(stringAQuitarDeXML))
	parte2Str = string.substring(string.indexOf(stringAQuitarDeXML)+stringAQuitarDeXML.length, string.length)
	
	var striSinNodoApertura = parte1Str + parte2Str
	
	parte3Str = striSinNodoApertura.substring(0, striSinNodoApertura.indexOf(strCierreQuitarXML))
	parte4Str = striSinNodoApertura.substring(striSinNodoApertura.indexOf(strCierreQuitarXML)+strCierreQuitarXML.length, striSinNodoApertura.length)

	var nuevaString = parte3Str + parte4Str;
	
	return nuevaString*/
}


/*-------------------------------------------------------------------
					
		Selects o Combos

	Vaciar

	Agregar nuevas opciones

-------------------------------------------------------------------*/

/* Vaciar desplegable: recibe el ID del elemento */  
function emptySelect(objID){  
	 while($(objID).childNodes[0]){  
	$(objID).removeChild($(objID).childNodes[0]);  
	}  
}  

 /*Agregar opciones en un select*/
function addOpt(oCntrl, iPos, sTxt, sVal){ 
 var selOpcion=new Option(sTxt, sVal); 
 eval(oCntrl.options[iPos]=selOpcion); 
} 
   
/*-------------------------------------------------------------------
					
			 Precios general


-------------------------------------------------------------------*/

function formatoPrecios(precio){
	//Si el precio viene con algo
	if (precio != "" && precio != undefined){
		//Divido la cadena por la coma
		var arrPrecio = precio.split(",");
		//Si el array solo tiene 1, eso es que no tiene coma (añadimos la coma y los dos ceros)
		if (arrPrecio.length == 1){
			return precio + ",00"
		//Si es mayor que 2, entonces tiene coma (y se revisa si despues de la coma hay un caracter o mas)
		}else{
			//Si la parte despues de la coma solo tiene un caracter
			if(arrPrecio[1].length == 1){
				return precio + "0"
			}else{
				//Si la parte despues de la coma tiene dos caracteres(esta bien)
				if(arrPrecio[1].length == 2){
					return precio
				//Si la parte despues de la coma tiene mas de dos caracteres(se quitan)
				}else{
					var quitarRestoCaracteres = arrPrecio[0] + "," + arrPrecio[1].substring(0,2);
					return quitarRestoCaracteres
				}
			}
		}
	}else{
		return "0,00"
	}
}


//Pasar a formato pantalla
function dePracticoAVisual(numero){
	var aString = numero.toString()
	var conComa = ""
	
	//Tiene comas ya
	/*if(aString.indexOf(".") != -1){
		conComa = aString
	}else{
		trace(aString)*/
	conComa = aString.split(".").join(",");
		/*trace("cambia el punto por la coma: " + conComa)
	}*/
	
	var arrPartes = conComa.split(",")
	var parteSinDecimal = ""
	var parteDecimal = ""

	if (arrPartes[0] != undefined){parteSinDecimal= arrPartes[0] }else{parteSinDecimal=conComa}
	if (arrPartes[1] != undefined){
		if (arrPartes[1].length == 1){parteDecimal = ","+ arrPartes[1] + "0"}
		if (arrPartes[1].length == 2){parteDecimal = ","+ arrPartes[1]}
		}else{
			parteDecimal = ",00"
			}

	var arrCaracteres = parteSinDecimal.split("")
	var numeroCaracteres =arrCaracteres.length
	var nuevaCadena = ""
	var contadorCaracteres= 0
	var i = 0;
	
	for(i=1; i<numeroCaracteres+1; i++){
		nuevaCadena = arrCaracteres[arrCaracteres.length-i] + nuevaCadena
		contadorCaracteres++
		if(contadorCaracteres == 3 || contadorCaracteres == 6 || contadorCaracteres == 9  || contadorCaracteres == 12){
			nuevaCadena = "." + nuevaCadena
		}
	}
	
	if(arrCaracteres.length == 3 || arrCaracteres.length == 6 || arrCaracteres.length == 9){
		nuevaCadena = nuevaCadena.substr(1,arrCaracteres.length+1);
	}

	return nuevaCadena + parteDecimal
}
	
//Pasar a formato js
function deVisualaPractico(numero){
	/*alert("Entra en de visual a practico: " + numero)
	var nuevaCantidad = ""
	nuevaCantidad = numero;
	if(numero.indexOf(".") != -1){nuevaCantidad = numero.split(".").join("");}
	//He descomentado este de abajo
	alert("¿Contiene coma? " + nuevaCantidad.indexOf(","))
	if(nuevaCantidad.indexOf(",") != -1){nuevaCantidad = nuevaCantidad.split(",").join(".");}
	alert(nuevaCantidad)
	nuevaCantidad = numero.split(".").join("");
	nuevaCantidad = nuevaCantidad.split(",").join(".");
	return nuevaCantidad*/
	
	var nuevaCantidad = ""
	//alert(numero)
//	alert(numero.indexOf("."))
	if(numero.indexOf(".") != -1){
		nuevaCantidad = numero.split(".").join("");
	}else{
		nuevaCantidad = numero;
	}
	nuevaCantidad = nuevaCantidad.split(",").join(".");
	return nuevaCantidad
}
   
/*-------------------------------------------------------------------
					
				Tablas


-------------------------------------------------------------------*/

//Obtener el Número de filas de nuestra tabla
function ObtenerNumFilas(idTabla){
	//obtener el numero de filas
	var tabla = document.getElementById(idTabla);
	var numFilas = tabla.rows.length;
	return numFilas
	//alert("Número de Filas: "+ numFilas);
}

//Obtener el número de columnas
function ObtenerNumCol(idTabla){
	//obtener el numero de columnas
	var tabla = document.getElementById(idTabla);
	var numColumnas = tabla.rows[0].cells.length;
	return numColumnas;
}

//Borrar fila
function BorrarFila(numFila){
	

	//alert("Entra en borrar una fila: " + numFila)
	
	//numFila = numFila-1
	
	//alert("Va a borrar la fila: " + numFila )
	
	var tabla = document.getElementById("tablaCarro");
	//tabla.deleteRow(numFila);
	//alert("Indice 1: " + tabla.tBodies[0].rows[numFila-1].sectionRowIndex)
	//alert("Indice 2: " + tabla.tBodies[0].rows[numFila-1].rowIndex)
	tabla.tBodies[0].deleteRow(numFila);
	/*var rows = tabla.tBodies[0].getElementsByTagName('TR');
	for(i=0;i<rows.length;i++){
		row[i].childNodes[0].rowIndex = i;
		//row[i].childNodes[(int) index of child node].id = 
		//row[i].childNodes[(int) index of child node].id = 
	}*/
	indicesFilas();
	pintarTotal();
}

//Numerar los indices de las filas
function indicesFilas(){
	var tabla = document.getElementById("tablaCarro");
	var numFilas = tabla.tBodies[0].rows.length//tabla.rows.length; //tabla.tBodies[0].rows[0].cells.length;
	//alert(numFilas)
//alert(tabla.tBodies[0].rows.length)
	for(i=0;i<numFilas;i++){
	//for(i=1;i<numFilas;i++){
		//alert("I que dara undefined = " + i)
		tabla.tBodies[0].rows[i].cells[7].innerHTML	 = "<a onmouseUp='javascript:BorrarFila(" + i + "); return false'><img src='imgs/papelera.jpg' width='40' height='40' alt='Eliminar' /></a>"
		tabla.tBodies[0].rows[i].cells[8].innerHTML	 = i;
	}
}

function ocultarColumna(){
	
	var tabla = document.getElementById("tablaCarro");
	
	//var numColumnas = tabla.tBodies[0].rows[0].cells.length;
	var totalFilasActuales = tabla.rows.length
	
	//alert("Son: " + totalFilasActuales)
	
	//alert("hay: " + tabla.tBodies[0].rows[0].cells.length + " columnas")
	//fila= tabla.getElementsByTagName('tr').getElementsByTagName('td').length;
	//alert("fila: " + fila)
	
	document.getElementById('tablaCarro').getElementsByTagName('tr')[0].getElementsByTagName('th')[8].style.display = 'none';
	
	fila = document.getElementById('tablaCarro').getElementsByTagName('tr');
	
	for(i=1; i<totalFilasActuales; i++){
		
		fila[i].getElementsByTagName('td')[8].style.display = 'none';
		fila[i].getElementsByTagName('td')[9].style.display = 'none';
		fila[i].getElementsByTagName('td')[10].style.display = 'none';
		///columna = fila[i].getElementsByTagName('td');
		//for (j = 0; j < columna.length; j++){
		////////////////////////tabla.tBodies[0].rows[i].cells[numColumnas-1].style.display = false;
		/////////tabla.tBodies[0].getElementsByTagName('td')[8].style.display=false;
			//alert("Numero de columnas= " + columna.length)
		//columna[columna.length].style.display=false;
		//}
	}
}

function vaciartBody(nombreTabla, desdeIndice){
	var tabla = document.getElementById(nombreTabla);
	var totalFilasActuales = tabla.tBodies[0].rows.length
	//alert("Hay : " + totalFilasActuales )
	var hastaIndice = totalFilasActuales+desdeIndice
	//alert("Desde: " + desdeIndice + " - Hasta: " + hastaIndice)
	for(i=desdeIndice; i<hastaIndice; i++){
		tabla.tBodies[0].deleteRow(i);
	}
	/*var tabla = document.getElementById(nombreTabla);
	var totalFilasActuales = tabla.tBodies[0].rows.length
	alert("Hay : " + totalFilasActuales )
	var hastaIndice = (totalFilasActuales+desdeIndice)-1
	alert("Desde: " + desdeIndice + " - Hasta: " + hastaIndice)
	for(i=hastaIndice; i>desdeIndice; i--){
		alert(i)
		tabla.tBodies[0].deleteRow(i);
	}*/
}

//Ocultar filas
/*function ocultarColumna(ver) {
	//dis= ver ? '' : 'none';
	fila=document.getElementById('tablaCarro').getElementsByTagName('tr');
	var tabla = document.getElementById("tablaCarro");
	var totalFilasActuales = tabla.rows.length
	
	alert("Hay: " + totalFilasActuales + " filas.")
	
	for(i=0; i<totalFilasActuales; i++){
		alert(i)
		//tabla.rows[i].cells[8].style.display=dis;
		//tabla.rows[i].getElementsByTagName('td')[8].style.display=false;
		 fila[i].getElementsByTagName('td')[8].style.display=dis;
		//tabla.rows[0].cells.length;
		//tabla.tBodies[0].rows[i].cells[8]
	}
}*/



//Insertar Fila
function InsertarFila(idTabla, numFila, parametrosCeldas){

//alert("recibe numFila: " + numFila)
	numFila = numFila-1
	
	var tabla = document.getElementById(idTabla);

	tabla.tBodies[0].insertRow(numFila);
	
	var dividirParametros = parametrosCeldas.split("|")
	//alert("Parametros: " + dividirParametros.length)
//	alert("numFila: " + numFila)
	for (f=0; f < dividirParametros.length; f++){
	//	alert("numFila: " + numFila + " - f: " + f)
		tabla.tBodies[0].rows[numFila].insertCell(f);
		tabla.tBodies[0].rows[numFila].cells[f].innerHTML = dividirParametros[f];
	}

	/*// Crear la columna de tipo <th> que hace de cabecera de fila
	var cabecera = document.createElement("th");
	cabecera.setAttribute('scope', 'row');
	cabecera.innerHTML = 'Paraguay'
	
	tabla.tBodies[0].rows[numFila].appendChild(cabecera);
	// Crear las dos columnas de datos y añadirlas a la nueva fila
	tabla.tBodies[0].rows[numFila].insertCell(1);
	tabla.tBodies[0].rows[numFila].cells[1].innerHTML = '210';
	tabla.tBodies[0].rows[numFila].insertCell(2);
	tabla.tBodies[0].rows[numFila].cells[2].innerHTML = '80';*/
}

//Obtener el numero de cuerpos, los cuerpos
function ObtenerNumCuerpos(idTabla){
	//obtener el numero de cuerpos
	var tabla = document.getElementById(idTabla);
	var numCuerpos = tabla.tBodies.length;
	alert("Número de Cuerpos: "+numCuerpos);
}

//Obtener la cantidad de filas que contiene el primer cuerpo
function ObtenerNum1Cuerpos(idTabla){
	 //obtener el numero de filas del cuerpo
	var tabla = document.getElementById(idTabla);
	var numFilasCuerpo = tabla.tBodies[0].rows.length;
	alert("Número de Filas del Primer Cuerpo: "+numFilasCuerpo);
}



//Obtener el texto de la Fila 1, Columna 1
function ObtenerPrimerTexto(idTabla){
	//obtener el texto de la fila 1, columna 1
	var tabla = document.getElementById(idTabla);
	var texto = tabla.tBodies[0].rows[0].cells[0].innerHTML;
	alert("Texto de la Columna 1, Fila 1: "+texto);
}

   
/*-------------------------------------------------------------------
					
				Fechas


-------------------------------------------------------------------*/

function formatoFecha(fecha){
	var nuevoFormatoFecha = fecha;
	var arrFormatoFecha = nuevoFormatoFecha.split("/");
	//trace(arrFormatoFecha[2] + "," + arrFormatoFecha[1] + "," + arrFormatoFecha[0])
	var fechaRespuesta = new Date(arrFormatoFecha[2], (arrFormatoFecha[1]-1), arrFormatoFecha[0]);
	return fechaRespuesta //arrFormatoFecha[0] + "," + arrFormatoFecha[1] + "," + arrFormatoFecha[2];
}

function fechaDosCaracteres(cadena){
	var nuevaCadena = cadena.toString();
	if(nuevaCadena.length == 1){
		return "0"+nuevaCadena
	}else{
		if(nuevaCadena.length == 2){
			return nuevaCadena
		}
	}
}


function compararFechas(fecha1, fecha2){
	//alert(fecha1 + " ------------ " + fecha2)
	var constante = 86400000;
	var diferenciaDias = Math.abs((fecha2.getTime()-fecha1.getTime())/constante);
	//alert(diferenciaDias)
	if (fecha1<fecha2){
		//trace("FALSE")
		return false //"fecha2 mayor que fecha1, diferencia = "+diferenciaDias+" días";
	} else if (fecha1>fecha2) {
		//trace("TRUE")
		return true //mensaje = "fecha1 mayor que fecha2, diferencia = "+diferenciaDias+" días";
	} else {
		//trace("TRUE")
		return true//mensaje = "fecha1 igual que fecha2, diferencia = "+diferenciaDias+" días";
	}
}

function fechaHoraHoy(){

	var fecha_hoy = new Date();
	
	dia = fecha_hoy.getDate();
	mes = fecha_hoy.getMonth()+1;
	anio = fecha_hoy.getFullYear();
	
	if(String(dia).length == 1){ dia = "0" + dia}
	if(String(mes).length == 1){ mes = "0" + mes}
	
	
	
	var fechaStr = (dia + "/" + mes + "/" + anio);
	
		
	var timedate = new Date();
	hour = timedate.getHours();
	minutes = timedate.getMinutes();
	seconds = timedate.getSeconds();
	
	if(String(hour).length == 1){ hour = "0" + hour}
	if(String(minutes).length == 1){ minutes = "0" + minutes}
	if(String(seconds).length == 1){ seconds = "0" + seconds}
	
	time = hour + ":" + minutes + ":" + seconds;
	
	return fechaStr + " " + time

}

/*-------------------------------------------------------------------
					
				Varios


-------------------------------------------------------------------*/


function abrir(direccion, pantallacompleta, herramientas, direcciones, estado, barramenu, barrascroll, cambiatamano, ancho, alto, izquierda, arriba, sustituir){
	var opciones = "fullscreen=" + pantallacompleta +
                 ",toolbar=" + herramientas +
                 ",location=" + direcciones +
                 ",status=" + estado +
                 ",menubar=" + barramenu +
                 ",scrollbars=" + barrascroll +
                 ",resizable=" + cambiatamano +
                 ",width=" + ancho +
                 ",height=" + alto +
                 ",left=" + izquierda +
                 ",top=" + arriba;
    var ventana = window.open(direccion,"_blank",opciones,sustituir);
}


function siUndef(cadena){
	if (cadena == "" || cadena == null || cadena == "undefined"){
		return ""
		}else{
			return cadena
			}
	}



//Cambia el caracter especificado
function CambiarCaracter(cadena, caracter, nuevoCaracter){
	var nuevaCadenaACrear = ""
	var arrayCaracteres= cadena.split("");
	for (var i = 0; i<arrayCaracteres.length; i++) {
		if (arrayCaracteres[i] != caracter){nuevaCadenaACrear = nuevaCadenaACrear + arrayCaracteres[i];}
		if (arrayCaracteres[i] == caracter){nuevaCadenaACrear = nuevaCadenaACrear + nuevoCaracter; }
	}
	return nuevaCadenaACrear
}

//Reemplaza los posibles caracteres raros que vengan de un XML defectuoso
/*function reemplazarCaracteres(datos){
  var strReplace = datos;
  strReplace = strReplace.replace("&", "&amp;").replace("'", "&apos;").replace("<", "&lt;").replace(">", "&gt;").replace('"', "`").replace("`", "&apos;");
								
	return strReplace
}*/

function pasarAdecimal(numATransformar){
	
	var numAcadena = numATransformar+""
	var arrTrans = numAcadena.split(".");
	var respuesta

	if(arrTrans.length < 1){
		if(arrTrans[1].length == 1){
			respuesta = arrTrans[1] + "," + arrTrans[1]+ "0"
		}
	}else if(arrTrans.length == 1){
		respuesta = arrTrans[0] + ",00"
	}else{
		respuesta = numAcadena.split(".").join(",");
	}
	return respuesta
}

//Mapas de imagenes
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->

createXMLDocument = function(string){

	var browserName = navigator.appName;
	var doc;
	if (browserName == 'Microsoft Internet Explorer'){
		doc = new ActiveXObject('Microsoft.XMLDOM');
		doc.async = 'false'
		doc.loadXML(string);
	} else {
		doc = (new DOMParser()).parseFromString(string, 'text/xml');
	}
	return doc;
}



//Parametros de url (metodo GET)
function getParams( name ){
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp ( regexS );
	var tmpURL = window.location.href;
	var results = regex.exec( tmpURL );
	if( results == null )
		return"";
	else
		return results[1];
}
