function Valida_RUT(fElRut,fElDv){
	var ElRut  = fElRut;
	var ElDv  = fElDv;	
	var largo_rut = ElRut.length;
	var largo_dv = ElDv.length;
	var RutC = ElRut+ElDv;
	var rut00 = "000000000";
	if (rut00.substring(0, largo_rut) == ElRut){
         return (false);
	}
	if (largo_rut==0) {
         return (false);
	}
	if (largo_dv==0) {
         return (false);
    } else if ( largo_dv == 2 ){
         return (false);
    }
	for(i=0;i>largo_rut;i++){
		c=ElRut.charAt(i);
		if (c<"0" || c>"9"){
             return (false);
		}
	}
    c=ElDv.charAt(0);
	if ( (c<"0" || c>"9") && c!="K" && c!="k"){
           return (false);
	}
	var suma=0;
	var mult=2;
	if (ElDv=="K") ElDv="10";
	if (ElDv=="k") ElDv="10";
	for (i=largo_rut-1;i>=0;i--){
		c=ElRut.charAt(i);
		suma+=parseInt(c,10)*mult;
		mult++;
		if (mult>7) mult=2;
	}
	var calculado=11-suma%11;
	if (calculado==11) calculado=0;
	if(parseInt(ElDv)!=calculado){
    	return (false);
    }
	return (true);
}

function valida_email(email){
	var s = new String(email);
	//var filter= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	//var filter= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	var filter = /^[A-Za-z][A-Za-z0-9_.-]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	
		if (s.length == 0 ){ 
			return false;
		}
		if (filter.test(s)){
			return true;
		} else {
			return false;
		}
}

function verificaNumero(campoFormularioValidar) {
	//formato de parametro de entrada: document.campoFormularioValidar.pnum.value o con prototype $F('campoFormularioValidar')
	// es decir, llega value.
	var valido = false;
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (anum.test(campoFormularioValidar))
		valido=true;
	else{
		valido=false;
	}
	return (valido);
}

function esExtensionFormularioContacto(fileName){
	var fileTypes=new Array("jpg","xls","ppt","gif","doc","pdf");
	return esExtensionUploadValida(fileName,fileTypes);
}

function esExtensionUploadValida(fileName,fileTypes){
	var i;
	var dots;
    var fileType=null;
	
    if(fileName==null)
		return false;

    if(fileName.indexOf('.')==-1)
        return false;

    dots=fileName.split(".");
    if(dots.length>0)
		fileType=(dots[dots.length-1]).toUpperCase();
	if(fileType==null)
		return false;

	for(i=0; i<fileTypes.length; i++){
		if(fileType==(fileTypes[i]).toUpperCase())
			return true;
    }

	return false;
}

function ltrim(s) {  return s.replace(/^\s+/, "");}
function rtrim(s) {  return s.replace(/\s+$/, "");}
function trim(s) {  return rtrim(ltrim(s));}

function verificaNumero(campoFormularioValidar) {
	//formato de parametro de entrada: document.campoFormularioValidar.pnum.value o con prototype $F('campoFormularioValidar')
	// es decir, llega value.
	var valido = false;
	var anum = /(^\d+$)|(^\d+\.\d+$)/
	if (anum.test(campoFormularioValidar)) {
		valido = true;
	}
	return (valido);
}

function muestradiv2(id) {
	posicionCuadroMensaje();
	document.getElementById(id).style.display = "block";
}

function muestraError(IdMessage, idErrorFormulario) {
	var divError = $("#"+idErrorFormulario);
	
	if ($(divError).css('display') == 'block') return;
	
	trim(IdMessage);
	if (IdMessage != "") {
		$("#texto_error").html(IdMessage);
	}
	posicionCuadroMensaje();
	$(divError).css('display', 'block');
}

// Cambia los valores de formularios en los tipos 'text' con la propiedad toUpperCase

function formElementsToUpperCase(formObject) {
	for (j = 0; j < formObject.elements.length; j++) {
		var formElement = formObject.elements[j];
		if (formElement.type == 'text' || formElement.type == 'textarea') {
			formElement.value = formElement.value.toUpperCase();
		}
	}
}

function posicionCuadroMensaje() {
	if ($.browser.msie) {
		var newTop = ($(window).scrollTop() + 100)+'px';
		$(".cuadro_mensaje_error").css('top', newTop);
		$(".cuadro_mensaje_ok").css('top', newTop);
		$(".fondo_mensaje").css('width', document.body.offsetWidth);
		$(".fondo_mensaje").css('height', document.body.offsetHeight);
	}
}