// JavaScript Document
window.onload = cargaPrevia;
function cargaPrevia(){
	ponerFoco();
	externalLinks();
	soloLectura();
	marcarCampoSeleccionado();
}

function etiquetaTieneClase(etiqueta, clase){
	return etiqueta.className.indexOf(clase) >= 0;
}

var claseCampoSeleccionado = "campoSeleccionado"

function ponerFoco(){
	var claseFoco = "foco";
	var eTexto = document.getElementsByTagName("input");
	for (var i=0; i<eTexto.length; i++){
		var etiqueta = eTexto[i];
		if (etiqueta.getAttribute("type") == "text" || etiqueta.getAttribute("type") == "file" || 
			etiqueta.getAttribute("type") == "checkbox" || etiqueta.getAttribute("type") == "password" || 
			etiqueta.getAttribute("type") == "radio" || etiqueta.getAttribute("type") == "submit"){
			if (etiquetaTieneClase(etiqueta, claseFoco)){
				var remp = etiqueta.className.match(' '+claseFoco)?' '+claseFoco:claseFoco;
				etiqueta.className = etiqueta.className.replace(remp,'');
				etiqueta.focus();
				
				if (!etiquetaTieneClase(etiqueta, claseCampoSeleccionado)){
					etiqueta.className += ' '+claseCampoSeleccionado;
				}
			}
		}
	}
	
	var eTexto = document.getElementsByTagName("textarea");
	for (var i=0; i<eTexto.length; i++){
		var etiqueta = eTexto[i];
		if (etiquetaTieneClase(etiqueta, claseFoco)){
			var remp = etiqueta.className.match(' '+claseFoco)?' '+claseFoco:claseFoco;
			etiqueta.className = etiqueta.className.replace(remp,'');
			etiqueta.focus();
			
			if (!etiquetaTieneClase(etiqueta, claseCampoSeleccionado)){
				etiqueta.className += ' '+claseCampoSeleccionado;
			}
		}
	}
	
	var eTexto = document.getElementsByTagName("select");
	for (var i=0; i<eTexto.length; i++){
		var etiqueta = eTexto[i];
		if (etiquetaTieneClase(etiqueta, claseFoco)){
			var remp = etiqueta.className.match(' '+claseFoco)?' '+claseFoco:claseFoco;
			etiqueta.className = etiqueta.className.replace(remp,'');
			etiqueta.focus();
			
			if (!etiquetaTieneClase(etiqueta, claseCampoSeleccionado)){
				etiqueta.className += ' '+claseCampoSeleccionado;
			}

		}
	}
}

function externalLinks(){
	if (!document.getElementsByTagName) return;
	var links = document.getElementsByTagName("a");
	for (var i=0; i<links.length; i++){
		var vinculo = links[i];
		if (vinculo.getAttribute("href") && vinculo.getAttribute("rel") == "externo"){
			vinculo.target = "_blank";
			if (vinculo.title!=""){
				vinculo.title = vinculo.title+" (este enlace se abrirá en una nueva ventana)";
			}else{
				vinculo.title = "este enlace se abrirá en una nueva ventana";
			}
		}
	}
}

function soloLectura(){
	var eTexto = document.getElementsByTagName("input");
	var claseFoco = "foco";
	for (var i=0; i<eTexto.length; i++){
		var etiqueta = eTexto[i];
		if (etiqueta.getAttribute("type") == "text" || etiqueta.getAttribute("type") == "file" || 
			etiqueta.getAttribute("type") == "checkbox" || etiqueta.getAttribute("type") == "password" || 
			etiqueta.getAttribute("type") == "radio" || etiqueta.getAttribute("type") == "submit"){
			if (etiqueta.getAttribute("readonly")){
				if (!etiqueta.id){
					etiqueta.id = etiqueta.name;
				}
				etiqueta.className += ' desactivado';
				etiqueta.tabIndex = "-1";
			}
		}
	}
	
	var eTexto = document.getElementsByTagName("textarea");
	for (var i=0; i<eTexto.length; i++){
		var etiqueta = eTexto[i];
		if (etiqueta.getAttribute("readonly")){
			if (!etiqueta.id){
				etiqueta.id = etiqueta.name;
			}
			etiqueta.className += ' desactivado';
			etiqueta.tabIndex = "-1";
		}
	}
	
	var eTexto = document.getElementsByTagName("select");
	for (var i=0; i<eTexto.length; i++){
		var etiqueta = eTexto[i];
		if (etiqueta.getAttribute("readonly")){
			if (!etiqueta.id){
				etiqueta.id = etiqueta.name;
			}
			etiqueta.className += ' desactivado';
			etiqueta.tabIndex = "-1";
		}
	}
}

function marcarCampoSeleccionado(){
//	var claseCampoSeleccionado = "campoSeleccionado"
//	var claseBotonSeleccionado = "botonSeleccionado"
	var fields = document.getElementsByTagName("input");
	for (i=0;i<fields.length;i++){
		if (fields[i].type=="text" || fields[i].type=="file" || fields[i].type=="checkbox" ||
			fields[i].type=="password" || fields[i].type=="radio"){
			
			fields[i].onfocus = function(){
				if (!etiquetaTieneClase(this, claseCampoSeleccionado)){
					this.className += ' '+claseCampoSeleccionado;
				}
			}
			fields[i].onblur = function(){
				if (etiquetaTieneClase(this, claseCampoSeleccionado)){
					var remp = this.className.match(' '+claseCampoSeleccionado)?' '+claseCampoSeleccionado:claseCampoSeleccionado;
					this.className = this.className.replace(remp,'');
				}
			}
		}
	}
	
	var fields = document.getElementsByTagName("textarea");
	for (i=0;i<fields.length;i++){
		fields[i].onfocus = function(){
			if (!etiquetaTieneClase(this, claseCampoSeleccionado)){
				this.className += ' '+claseCampoSeleccionado;
			}
		}
		fields[i].onblur = function(){
			if (etiquetaTieneClase(this, claseCampoSeleccionado)){
				var remp = this.className.match(' '+claseCampoSeleccionado)?' '+claseCampoSeleccionado:claseCampoSeleccionado;
				this.className = this.className.replace(remp,'');
			}
		}
	}
	
	var fields = document.getElementsByTagName("select");
	for (i=0;i<fields.length;i++){
		fields[i].onfocus = function(){
			if (!etiquetaTieneClase(this, claseCampoSeleccionado)){
				this.className += ' '+claseCampoSeleccionado;
			}
		}
		fields[i].onblur = function(){
			if (etiquetaTieneClase(this, claseCampoSeleccionado)){
				var remp = this.className.match(' '+claseCampoSeleccionado)?' '+claseCampoSeleccionado:claseCampoSeleccionado;
				this.className = this.className.replace(remp,'');
			}
		}
	}
}
