/*
SELECT WRITABLE:

- El fichero que contenga este script de configurar las variables:

mouseOverColorSW =  "#B9DDFB";
var mouseOutColorSW =  "#FFFFFF";
var pathDataSW = "selectWritable.xml.php";
var configSW=[
	['formTrabajo', 'juzgado', 3, 'codJuzgado', 'codCliente', 'No has elegido el cliente', 'cod_cliente', 'clientes_juzgados', 'nombre', 83, 540, 247],
	['formTrabajo', 'interprete', 3, 'codInterprete', '', '', '', 'usuarios', 'nombre', 112, 540, 247]
];

- Debe contener una función que se llama tras elegir una copcion de SW para poder controlar el evento si es que es necesario: 

function customOnSelectOptionSW(iConfig)
{
	if (iConfig==0) {
		// ...
	} else if (iConfig==1) {
		// ...
	}
	// ...
}

- Estilos de la tabla del SW

<style type="text/css">
div#outSelectWritable table {
	border:1px solid #000000;
	background-color:#FFFFFF;
}
</style>

- Dentro del <body></body> debe haber una capa:
<div id="outSelectWritable" style="display:none; position:absolute; top: 0; left: 0;"></div>

- El campo de texto que usa SW debe tener el evento:
onkeyup="selectWritable(0)"
El número que se le pasa es el indice dentro de la configuración en configSW

*/

function selectOptionSW(objTD, codigo, iConfig)
{
	var form = document.getElementById(configSW[iConfig][0]);
	var campoSelectWritable = configSW[iConfig][1];
	var campoFormDestino = configSW[iConfig][3];
	
	form.elements[campoSelectWritable].value = objTD.innerHTML;
	form.elements[campoFormDestino].value = codigo;
	
	var div = document.getElementById("outSelectWritable");
	div.style.display = "none";
	
	customOnSelectOptionSW(iConfig);
}

function inOptionSW(objTD)
{
	objTD.style.backgroundColor= mouseOverColorSW;
}

function outOptionSW(objTD)
{
	objTD.style.backgroundColor= mouseOutColorSW;
}

function resultSelectWritable() 
{
    if (req.readyState == 4) {
        if (req.status == 200) {
			var item = req.responseXML.getElementsByTagName("item")[0];
		    var iConfig = getElementTextNSSelect("content", "encoded", item, 0);
		
            var item = req.responseXML.getElementsByTagName("item")[1];
		    var content = getElementTextNSSelect("content", "encoded", item, 0);
			
			var div = document.getElementById("outSelectWritable");
			
			var topDiv = configSW[iConfig][9];
			var anchoCentradoDiv = configSW[iConfig][10];
			var desplazamientoLeftDiv = configSW[iConfig][11];
			
			if (document.body.clientWidth > anchoCentradoDiv) {
				div.style.top = topDiv+"px";
				var izq = ((document.body.clientWidth - anchoCentradoDiv) / 2) + desplazamientoLeftDiv;
				div.style.left = izq+"px";
			} else {
				div.style.top = topDiv+"px";
				div.style.left = desplazamientoLeftDiv+"px";
			}
			
			div.innerHTML = content;
			if (content != "") {
				div.style.display = "";
			}
        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

function selectWritable(iConfig)
{
	var form = document.getElementById(configSW[iConfig][0]);	
    //var form = document.getElementsByTagName(configSW[iConfig][0]);

    
	// Si ya hubiera una selección, la quitamos
	var campoFormDestino = configSW[iConfig][3]; 
	form.elements[campoFormDestino].value = "";
	
	var campoFiltroForm = configSW[iConfig][4];
	var mensajeFiltroVacio = configSW[iConfig][5];
	var campoFiltroValue="";
	if (campoFiltroForm!="" && mensajeFiltroVacio != "") {
		campoFiltroValue = form.elements[campoFiltroForm].value;
		if (campoFiltroValue == "") {
			alert(mensajeFiltroVacio);
			form.elements[campoFiltroForm].focus();
			return;
		}
	}
	
	var campoSelectWritable = configSW[iConfig][1];
	var numLetras = configSW[iConfig][2];
	if (form.elements[campoSelectWritable].value.length >= numLetras)
	{
		var pagina = pathDataSW+"?iConfig="+iConfig+"&selectWritableValue="+escape(form.elements[campoSelectWritable].value)+"&table="+configSW[iConfig][7]+"&field="+configSW[iConfig][8]+"&campoFiltro="+configSW[iConfig][6]+"&campoFiltroValue="+campoFiltroValue;
		form.debug.value = pagina;
		loadDocSelect(pagina, resultSelectWritable);
	} else {
		var capa = document.getElementById("outSelectWritable").style;
		capa.display = "none";
	}
}
