	function checkearForm(nombreForm, opciones) {
		var docForm = document.forms[nombreForm];
		var strAux, error = 0, errors = '', aviso = '', focus_sw = true;;
		var i;
		
		for (i = 0; i < docForm.elements.length; i++) {
			error = 0;
			formElem = docForm.elements[i];
			strAux = new String(formElem.onblur);
			
			if (strAux.indexOf("onchangeMessage") != -1) {
				error = eval(onchangeMessage(formElem) + error);
				if (error > 0) {
					switch (opciones.avisos) {
						case "alert":
								aviso += "- " + formElem.title + " es requerido\n";
								if (focus_sw) { formElem.focus();focus_sw = false;}
								break;
						case "css":
								$(formElem).css('borderColor:#CC0000');
								break;
					}
				
					errors += 'error';
				} else {
					if (formElem.id.indexOf("email") != -1) {
						if (!formElem.value.match(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/)) {
							errors += 'error';
							if (focus_sw) { formElem.focus();focus_sw = false;}
							
							switch (opciones.avisos) {
								case "alert":
										aviso += "- " + formElem.title + " debe ser un mail verdadero\n";
										break;
							}
						}
					}
					
					if (formElem.id.indexOf("rut") != -1) {
						if (!validarRut(formElem)) {
							errors += 'error';
							if (focus_sw) { formElem.focus();focus_sw = false;}
							
							switch (opciones.avisos) {
								case "alert":
										aviso += "- " + formElem.title + " no es valido\n";
										break;
							}
						} else {
							formElem.value = formatearRUT(formElem.value);
						}
					}
				}
				error = NaN;
			}
		}
		
		switch (opciones.avisos) {
			case "alert":
					if (aviso != '') { 
						alert("Han ocurrido los siguientes errores : \n\n" + aviso);
					}
					break;
		}
		document.MM_returnValue = (errors == '');
		return (errors == '' ? true:false);
	}
	
	function obtenerDatos(form, opciones) {
		if (checkearForm(form, {avisos:opciones.avisos})) {
			cargandov2(true);
			$.ajax({
				data: recogerDatosForm(form),
				type: "POST",
				url: opciones.url,
				success: opciones.callback
			});
		}
	}
	
	function onchangeMessage(obj) {
		var error;
		
		if (obj.value == "") {
			error = 1;
		} 
		
		return error;
	}
	
	function recogerDatosForm(formName) {

		var strSubmitContent = '';
		var formElem;
		var strLastElemName = '';
		var docForm = document.forms[formName];
		var valorTextArea = "";
		
		for (i = 0; i < docForm.elements.length; i++) {
			
			formElem = docForm.elements[i];

			switch (formElem.type) {
				case 'text':
					strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&';
					break;				
				case 'hidden':
					strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&';
					break;				
				case 'password':
					strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&';
					break;				
				case 'textarea':
					valorTextArea = formElem.value;
					if (formElem.value == "") {
						//veo si este textarea tiene un tinymce seteado
						if (formElem.name.indexOf("-mce") != -1) {
							valorTextArea = tinyMCE.getInstanceById(formElem.id).getBody().innerHTML;
						}
					}
					
					strSubmitContent += formElem.name + '=' + escape(valorTextArea) + '&';
					break;
				case 'select-one':
					if (formElem.selectedIndex >= 0) {
						strSubmitContent += formElem.name + '=' + (typeof formElem[formElem.selectedIndex] == "undefined" ? '-1':escape(formElem[formElem.selectedIndex].value)) + '&';
					}
					break;
				case 'radio':
					if (formElem.checked) {
						strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&';
					}
					break;
				case 'checkbox':
					if (formElem.checked) {
						// Continuing multiple, same-name checkboxes
						if (formElem.name == strLastElemName) {
							// Strip of end ampersand if there is one
							if (strSubmitContent.lastIndexOf('&') == strSubmitContent.length-1) {
								strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
							}
							// Append value as comma-delimited string
							strSubmitContent += ',' + escape(formElem.value);
						}
						else {
							strSubmitContent += formElem.name + '=' + escape(formElem.value);
						}
						strSubmitContent += '&';
						strLastElemName = formElem.name;
					}
					break;
					
			}
		}
		
		// Remove trailing separator
		strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
		return strSubmitContent;
	}

	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
	
	/*
		funcion: cargandov2
	*/
	function cargandov2(mostrar) {
		if (mostrar) {
			$("#loadingBox").css({display: 'block'});
		} else {
			$("#loadingBox").css({display: 'none'});
		}
	}
	
	var min_size = 70;
	var tamagnoLetras = 70;
	var max_size = 110;
	
	function agrandarTexto(idElemento) {
		if (document.all || document.getElementById) {
			var elemento = null;
			if (idElemento == "body") {
				var aReturn = document.getElementsByTagName("body");
				elemento = aReturn[0];
			} else {
				elemento = document.all ? document.all[idElemento] : document.getElementById(idElemento);
			}
			if (elemento) {	
				// el valor esta indicado en porcentaje:
				if (tamagnoLetras <= max_size) {
					tamagnoLetras += 10;
					if (elemento.length) {
						for (i=0; i<elemento.length; i++) {
							elemento[i].style.fontSize = (tamagnoLetras+'%');
							}
					} else {
						elemento.style.fontSize = (tamagnoLetras+'%');
					}
				}
			}
		}
	}
	
	function achicarTexto(idElemento) {
		if (document.all || document.getElementById) {	
			var elemento = null;
			if (idElemento == "body") {
				var aReturn = document.getElementsByTagName("body");
				elemento = aReturn[0];
			} else {
				elemento = document.all ? document.all[idElemento] : document.getElementById(idElemento);
			}
			if (elemento) {	
				// el valor esta indicado en porcentaje:
				if(tamagnoLetras >= min_size) {
					tamagnoLetras -= 10;
					if (elemento.length) {
						for (i=0; i<elemento.length; i++) {
							elemento[i].style.fontSize = (tamagnoLetras+'%');
						}
					} else {
						elemento.style.fontSize = (tamagnoLetras+'%');
					}
				}
			}
		}
	}
	
	function addBookmark(title,url) {
		if (window.sidebar) { 
			window.sidebar.addPanel(title, url,""); 
		} else {
			if( document.all ) {
				window.external.AddFavorite( url, title);
			} else {
				if( window.opera && window.print ) {
					return true;
				}
			}
		}
	}

	function MM_openBrWindow(theURL,winName,features) { //v2.0
  		window.open(theURL,winName,features);
	}
	
	function MM_goToURL() { //v3.0
  		var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  		for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	}

	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 setFlashWidth(newW){
		document.getElementById('menu').style.width = newW+"px";
		//document.getElementById('main_top').style.width = newH+"px";	
	}

	/* 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*/
