
// COLOCA el foco en el formulario de login
// -----------------------------------------------------------------------------------------------
function colocaFoco(){
	if(window.document.forms[0] != null){
		var i = 0;
		if (window.document.forms[0].length > 0){
			while	(window.document.forms[0].elements[i].type == "hidden" 
				  || window.document.forms[0].elements[i].type == null 
				  || document.forms[0].elements[i].disabled == true){
					i++;
			}
			if	(window.document.forms[0].elements[i].type != "hidden" 
			  || window.document.forms[0].elements[i].type == null
			  || document.forms[0].elements[i].disabled == false){
				window.document.forms[0].elements[i].focus();
			}
		}
	}
}

// 	ABRE UNA popup como una capa
// -----------------------------------------------------------------------------------------------
function showWin(destino, titulo, alto, ancho) {
	win = new Window({className: "dialog", title: titulo, width:ancho, height:alto, top:230, left:15, destroyOnClose: true, recenterAuto:false}); 
	win.setAjaxContent(destino, "", false, false);
}

// 	RECARGA un contendedor con el resultado de una p
// -----------------------------------------------------------------------------------------------
function cargaContenidoAjax(contenedor, parametros) {
	new Ajax.Updater(contenedor, "resultadoAjax.asp", {parameters: parametros});
}

// FORMATEA los input de los formularios para que acepten los caracteres correspondientes
// -----------------------------------------------------------------------------------------------
function formatoInput(){
	var i = 0;

	$$("input.fecha").each(function(elemento){
//		elemento.observe('keydown', function(event){formatearFecha(event, elemento)});
		elemento.observe('keydown', function(event){cambiarFecha(elemento)});
	});

}

// FORMATEA los input para insertar fechas
// -----------------------------------------------------------------------------------------------
function formatearFecha(e, obj){
	var bool = true;
	var aFecha = obj.value.split("/");
	var sep = aFecha.length;
	var posIni = getSelectionStart(obj); 
	var posFin = getSelectionEnd(obj);
	var seleccion = obj.value.substr(posIni, posFin - posIni);
	
	if(window.event){ // IE
		code = event.keyCode;
	}else if(e.which){ // Netscape/Firefox/Opera
		code = e.which;
	}

	if 	(code != 8 && sep <= 2 &&
	  	((posIni == 2 && obj.value.length == 2) || (posIni == 5 && obj.value.length == 5))){
		obj.value = obj.value + "/";
	}

	if(code != 8 && code!= 39 && code != 37 && (posIni==2 || posIni == 5) && obj.value.substr(posIni, 1)=="/"){
		setPosition(obj, posIni+1, posFin+1);
	}
	
	if(code == 8 && obj.value.substr(posIni-1, 1)=="/" && posIni < obj.value.length){
		setPosition(obj, posIni-1, posFin-1);
		bool = false;
	}
	
	if(code == 46 && obj.value.substr(posIni, 1)=="/"){
		setPosition(obj, posIni+1, posFin+1);
		bool = false;
	}

	if(code == 111){
		bool = false;
	}
	
	if(seleccion.indexOf("/") != -1 && code !=37 && code != 39 && posFin < obj.value.length){
		bool = false;
	}

	return bool;
}

// 
// -----------------------------------------------------------------------------------------------
function getSelectionStart(o) {
	if (o.createTextRange) {
		var r = document.selection.createRange().duplicate()
		r.moveEnd('character', o.value.length)
		if (r.text == '') return o.value.length
		return o.value.lastIndexOf(r.text)
	} else return o.selectionStart
}

// 
// -----------------------------------------------------------------------------------------------
function getSelectionEnd(o) {
	if (o.createTextRange) {
		var r = document.selection.createRange().duplicate()
		r.moveStart('character', -o.value.length)
		return r.text.length
	} else return o.selectionEnd
}

// 
// -----------------------------------------------------------------------------------------------
function setPosition (obj, posIni, posFin) {
	if (obj.createTextRange) {
		var range = obj.createTextRange();
		range.collapse(true);
		range.moveStart('character', posIni);
		range.select();
	  }else{
		obj.selectionStart = posIni;
		obj.selectionEnd = posFin;
	}
}

//ABRE un enlace en ventana externa respetando los estandares html
// -----------------------------------------------------------------------------------------------
function fix_external_links() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("rel") && anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank";
		}
	}
}

//AÑADE las barras en las fechas
//-------------------------------------------------------------------------------------------------
function cambiarFecha(obj){
	contenido = obj.value;
	if ((contenido.length >= 3) && (contenido.indexOf("/") == -1)) {
		obj.value = obj.value.substring(0,2) + "/" + obj.value.substring(2,contenido.length);
	}
	if ((contenido.length >= 6) && (contenido.indexOf("/",4) == -1)) {
		obj.value = obj.value.substring(0,5) + "/" + obj.value.substring(5,contenido.length+1);
	}
	return true;
}

//OBTENEMOS la fecha en letra
function dameFechaLetra(dia, mes, ano){
	var fecha = new Date(ano, mes, dia);
	dias = new Array("Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado");
	meses = new Array("Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro");

	return dias[fecha.getDay()] + " " + dia + " de " + meses[fecha.getMonth()] + " de " + ano;
}