	/*
		funcion: xmlhttpPost
	*/
	function xmlhttpPost(URL, opciones) {
		
	    var xmlHttpReq = null, temporizador = null;
		var READY_STATE_UNINITIALIZED=0;
		var READY_STATE_LOADING=1;
		var READY_STATE_LOADED=2;
		var READY_STATE_INTERACTIVE=3;
		var READY_STATE_COMPLETE=4;
		var TIEMPO_MAXIMO_ESPERA=50000;
		
		var Ajax = {
			probar: function() {
				var objeto;
		
				for (var i = 0; i < arguments.length; i++) {
			  		var probarObjeto = arguments[i];
				  	try {
						objeto = probarObjeto();
						break;
				  	} catch (e) { 
						//shita la payasa no es este.
					}
				}
			
				return objeto;
			}
		}
		
		xmlHttpReq = Ajax.probar(
					 	function() {return new ActiveXObject('Msxml2.XMLHTTP')},
						function() {return new ActiveXObject('Microsoft.XMLHTTP')},
						function() {return new XMLHttpRequest()}
					 ) || false;
		
		if (xmlHttpReq) {
		
			//timeout de 5 segundos
			temporizador = setTimeout(function() {
				xmlHttpReq.abort();
				alert("UPS, parece ke esto esta demorando mas de lo habitual. Porfavor reintenta");
				cargando("cargador", null, false);
			}, TIEMPO_MAXIMO_ESPERA);
			
			xmlHttpReq.open(opciones.metodo, URL, true);
			xmlHttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
			xmlHttpReq.setRequestHeader("Content-length", opciones.parametros.length);
			xmlHttpReq.setRequestHeader("Connection", "close");
			xmlHttpReq.onreadystatechange = function() {
				if (xmlHttpReq.readyState == READY_STATE_COMPLETE) {
						if (xmlHttpReq.status == 200) {
							
							//si todo ok limpio el temporizador
							clearTimeout(temporizador);
							//Ejecuto el onExito
							if (opciones.onExito != null) {
								opciones.onExito(xmlHttpReq);
							}
						}
				};
				if (xmlHttpReq.readyState == READY_STATE_LOADING) {
					/*if (opciones.cargador != null) {
						adminConf.cargador = opciones.cargador;
						cargando(opciones.cargador, null, true);
					}*/
					cargandov2(true);
				}
			};
			xmlHttpReq.send(opciones.parametros);
		} else {
			alert("Cambia tu navegador");
		}
    }
	
	/*
		funcion: cargando
	*/
	function cargando(box, clase, activar, imagen) {
		var imagenes = new Array(Array("loading3.gif", "25", "25"), Array("loading.gif", "128", "128"));
		var imagen = (imagen == null ? 0:imagen);
	
		if (!$(box)) {
			var obj = document.createElement('div');
			obj.id = box;
			$("top").appendChild(obj);
		} else {
			var obj = $(box);
		}
		
		if (activar) {
			obj.innerHTML = "";
			obj.className = clase;
			obj.innerHTML = "<img src=\"img/int/"+ imagenes[imagen][0] +"\" width=\""+ imagenes[imagen][1] +"\" height=\""+ imagenes[imagen][2] +"\" />";
		} else {
			obj.className = "";
			obj.innerHTML = "";
		}
	}
	
	function validarRut(obj) {
		var rut = obj;
		var tmpRUT = rut.value;
		var tmpstr = "";
		var i;
		
		//obtener solo los digitos del rut
		for ( i=0; i < tmpRUT.length ; i++ ) {
			if ( tmpRUT.charAt(i) != ' ' && tmpRUT.charAt(i) != '.' && tmpRUT.charAt(i) != '-' ) {
				tmpstr = tmpstr + tmpRUT.charAt(i);
			}
		}
		
		tmpRUT = tmpstr;
		
		var dvr = '0';
		var suma = 0;
		var mul = 2;
		var res;
		dv = tmpRUT.charAt(tmpRUT.length - 1);
		
		for (i= tmpRUT.length - 2 ; i >= 0; i--) {
			suma = suma + tmpRUT.charAt(i) * mul;
			if (mul == 7) {
				mul = 2;
			} else {
				mul++;
			}
		}
		
		res = suma % 11;
		
		if (res == 1) {
			dvr = 'k';
		} else if (res == 0) {
			dvr = '0';
		} else {
			dvi = 11 - res;
			dvr = dvi + "";
		}
		//13549660k
		if (dvr != dv.toLowerCase()) {
			return false;
		} else {
			return true;
		}
	}
	
	function formatearRUT(rut) {
		var invertido = "";
		var drut = "";
		var largo;
		var i;
		var tmpstr = "";
		
		//obtener solo los digitos del rut
		for ( i=0; i < rut.length ; i++ ) {
			if ( rut.charAt(i) != ' ' && rut.charAt(i) != '.' && rut.charAt(i) != '-' ) {
				tmpstr = tmpstr + rut.charAt(i);
			}
		}
		
		rut = tmpstr;
		largo = rut.length;
		
		for ( i=(largo-1),j=0; i>=0; i--,j++ ) {
			invertido = invertido + rut.charAt(i);
		}
		
		drut = drut + invertido.charAt(0);
		drut = drut + '-';
		cnt = 0;
		
		for ( i=1,j=2; i<largo; i++,j++ ) {
			if ( cnt == 3 ) {
				drut = drut + '.';
				j++;
				drut = drut + invertido.charAt(i);
				cnt = 1;
			} else {
				drut = drut + invertido.charAt(i);
				cnt++;
			}
		}
		
		invertido = "";
		
		for ( i=(drut.length-1),j=0; i>=0; i--,j++ ) {
			invertido = invertido + drut.charAt(i);
		}
		
		return invertido;
	}
	
	function Trim(TRIM_VALUE) {
		if (TRIM_VALUE.length < 1) {
			return "";
		}
		TRIM_VALUE = RTrim(TRIM_VALUE);
		TRIM_VALUE = LTrim(TRIM_VALUE);
		if (TRIM_VALUE == "") {
			return "";
		} else {
			return TRIM_VALUE;
		}
	} //End Function

	function RTrim(VALUE) {
		var w_space = String.fromCharCode(32);
		var v_length = VALUE.length;
		var strTemp = "";
		if (v_length < 0) {
			return "";
		}
		var iTemp = v_length -1;

		while (iTemp > -1) {
			if (VALUE.charAt(iTemp) == w_space) {
				//
			} else {
				strTemp = VALUE.substring(0,iTemp +1);
				break;
			}
			iTemp = iTemp-1;
		} //End While
		return strTemp;
	} //End Function

	function LTrim(VALUE) {
		var w_space = String.fromCharCode(32);
		if (v_length < 1) {
			return"";
		}
		var v_length = VALUE.length;
		var strTemp = "";
		var iTemp = 0;

		while (iTemp < v_length) {
			if (VALUE.charAt(iTemp) == w_space) {
				//
			} else {
				strTemp = VALUE.substring(iTemp,v_length);
				break;
			}
			iTemp = iTemp + 1;
		} //End While
		return strTemp;
	} //End Function
	
	function cargandov2(mostrar) {
		if (mostrar) {
			$("loadingBox").setStyle({'display': 'block'});
		} else {
			$("loadingBox").setStyle({'display': 'none'});
		}
	}
	
	/* BOX LOADING */	
		var persistclose = 0;
		var startX = 10
		var startY = 5;
		var verticalpos = "fromtop" ;
		
		function iecompattest(){
			return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
		}
		
		function staticbar() {
			barheight=document.getElementById("loadingBox").offsetHeight
			var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
			var d = document;
			function ml(id) {
				var el = d.getElementById(id);
				el.style.visibility = "visible"
				if(d.layers) {
					el.style = el;
				}
				el.sP = function(x,y) { 
					this.style.right = x+"px";
					this.style.top = y+"px";
				};
				el.x = startX;
				if (verticalpos=="fromtop") {
					el.y = startY;
				} else {
					el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
					el.y -= startY;
				}
				return el;
			}
			window.stayTopLeft = function() {
				if (verticalpos=="fromtop") {
					var pY = ns ? pageYOffset : iecompattest().scrollTop;
					ftlObj.y += (pY + startY - ftlObj.y)/8;
				} else {
					var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
					ftlObj.y += (pY - startY - ftlObj.y)/8;
				}
				ftlObj.sP(ftlObj.x, ftlObj.y);
				setTimeout("stayTopLeft()", 10);
			}
			
			ftlObj = ml("loadingBox");
			stayTopLeft();
		}
	/* FIN BOX LOADING*/
