function ruta(id){
	return document.getElementById(id);
}
function Trim(cadena){ 
	while (cadena.charAt(0) == " "){
		cadena = cadena.substr(1, cadena.length - 1);
	}
	while (cadena.charAt(cadena.length - 1) == " "){
		cadena = cadena.substr(0, cadena.length - 1); 
	}
	return cadena; 
}
function textareavac(vari){
	var h;
	trozos = vari.split ("\n");
	if (trozos.length > 1){
		dev ="";
		for (h=0; h<trozos.length; h++){
			if (trozos[h].length > 1){
				dev += trozos[h]+"\n";
			}
		}
		return dev;
	}
	return vari;
}

function valtextarea(vari){
	var i,j;
	if (vari == ""){
		return false;
	}
	var sololetras= "abcdefghijklmnñopqrstuvwxyzáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ,.)(¿?!0123456789 .";
	trozos = vari.split ("\n");
	var ok=0;
	for (h=0; h<trozos.length; h++){
		for (i=0; i<trozos[h].length; i++){
			for (j=0; j<sololetras.length; j++){
				if (trozos[h].charAt(i)==sololetras.charAt(j)){
					ok = 0;
					j=sololetras.length;
				} else{
				
					ok = 1;
				}
			 } 
			if (ok==1){
				return false;
			}
		}
	}
	return true;
};
function textareaval(e){
	e.value = textareavac(e.value);
	e.value = Trim(e.value);
	if (valtextarea(e.value)){
		e.style.cssText = 'color: #000000; font-weight: normal;';
		return true;
	} else {
		e.style.cssText = 'background-color:#FF0000; color: #FFFFFF; font-weight: bold;';
		return false;
	}
}
function valmail(vari){
	var i,j;
	vari = Trim(vari);
	if (vari == ""){
		return false;
	}
	var carpermails= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY-_0123456789";
	trozos = vari.split ("@");
	if (trozos.length!=2){
		return false;
	} else {
		var ok;
		for (i=0; i<trozos[0].length; i++){
			for (j=0; j<carpermails.length; j++){
				if (trozos[0].charAt(i)==carpermails.charAt(j)){
					ok = 0;
					j=carpermails.length;
				} else{
					ok = 1;
				}
			
			}
			if (ok==1){
				return false;
			}
		}
		trozos2 = trozos[1].split (".");
		if (trozos2.length != 2 && trozos2.length != 3){
			return false;
		} else {
			for (i=0; i<trozos2[0].length; i++){
				for (j=0; j<carpermails.length; j++){
					if (trozos2[0].charAt(i)==carpermails.charAt(j)){
						ok = 0;
						j=carpermails.length;
					} else{
						ok = 1;
					}
				
				}
				if (ok==1){
					return false;
				}
			}
		}
	}
	return true;
};
function mailval(e){
	e.value = Trim(e.value);
	if (valmail(e.value)){
		e.style.cssText = 'color: #000000; font-weight: normal;';
		return true;
	} else {
		e.style.cssText = 'background-color:#FF0000; color: #FFFFFF; font-weight: bold;';
		return false;
	}
}

function valnombre(vari){
	var i,j;
	vari = Trim(vari);
	if (vari == ""){
		return false;
	}
	var sololetras= "abcdefghijklmnñopqrstuvwxyzáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ .";
	var ok=0;
	for (i=0; i<vari.length; i++){
		//alert(vari[h]);
		for (j=0; j<sololetras.length; j++){
			if (vari.charAt(i)==sololetras.charAt(j)){
				ok = 0;
				j=sololetras.length;
			} else{
				ok = 1;
			}			
		}
		if (ok==1){
			return false;
		}
	}
	return true;
};

function nombreval(e){
	e.value = Trim(e.value);
	
	if (valnombre(e.value)){
		e.style.cssText = 'color: #000000; font-weight: normal;';
		return true;
	} else {
		e.style.cssText = 'background-color:#FF0000; color: #FFFFFF; font-weight: bold;';
		return false;
	}
}
function valclave(vari){
	var i,j;
	vari = Trim(vari);
	if (vari == ""){
		return false;
	}
	var sololetras= "abcdefghijklmnñopqrstuvwxyzáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ-_0123456789";
	var ok=0;
	for (i=0; i<vari.length; i++){
		//alert(vari[h]);
		for (j=0; j<sololetras.length; j++){
			if (vari.charAt(i)==sololetras.charAt(j)){
				ok = 0;
				j=sololetras.length;
			} else{
				ok = 1;
			}			
		}
		if (ok==1){
			return false;
		}
	}
	return true;
};

function claveval(e){
	e.value = Trim(e.value);
	
	if (valclave(e.value)){
		e.style.cssText = 'color: #000000; font-weight: normal;';
		return true;
	} else {
		e.style.cssText = 'background-color:#FF0000; color: #FFFFFF; font-weight: bold;';
		return false;
	}
}

function esnumero(e){
	e.value = Trim(e.value);
	if(e.value=='' || isNaN(e.value)){
		e.style.cssText = 'background-color:#FF0000; color: #FFFFFF; font-weight: bold;';
		return false;
	} else {
		e.style.cssText = 'color: #000000; font-weight: normal;';
		return true;	
	}
}
function Valitod(a){
	envia ="si";
	for(i=0;i<a.length;i++){
		if(a[i].type!='button' && a[i].type!='submit' && a[i].type!='reset'){
			if (a[i].getAttribute('val')=='mail'){
				if(!mailval(a[i])){
					//alert('El mail es invalido');
					envia ="no";
				}
			} else if (a[i].getAttribute('val')=='texto'){
				if(!nombreval(a[i])){
					//alert('El '+ a[i].name +' es invalido');
					envia ="no";
				}
			} else if (a[i].getAttribute('val')=='num'){
				if(!esnumero(a[i])){
					//alert('El '+ a[i].name +' solo puede tener números');
					envia ="no";
				}
			} else if (a[i].getAttribute('val')=='texarea'){
				if(!textareaval(a[i])){
					//alert('El '+ a[i].name +' esta vacio o tiene caracteres invalidos.');
					envia ="no";
				}
			} else if (a[i].getAttribute('val')=='psw'){
				if(!claveval(a[i])){
					//alert('El '+ a[i].name +' es invalido');
					envia ="no";
				}
			}
			
		}
	}
	if (envia =="si"){
		a.submit();
	}
}