//Convertir select en input con autocompletado
// necesario meter funcino enn /gifsv/codigo/ajax/ajaxauto.php
function convertToAutocompleter(urlscript,idEl,postVar,query,fn,options) {

	var oAuto = $(idEl);
	
	if(oAuto && oAuto.options && oAuto.options.length > 0) {
		
		var idHidden = oAuto.id;
		oAuto.id = "_"+idHidden;
		
		var oHidden = new Element('input',{
			"id" : idHidden,
			"name" : idHidden,
			"type" : "hidden",
			"value": oAuto.options[oAuto.options.selectedIndex].value}
		).injectBefore(oAuto);	

		var oInput = new Element('input',{
			"id" : 'ac_'+idHidden,
			"name" : 'ac_'+idHidden,
			"type" : "text",
			"class" : oAuto.className,
			"value": oAuto.options[oAuto.options.selectedIndex].text}
		).setStyle('width',oAuto.getCoordinates().width+'px').injectBefore(oAuto);

		if(isEmpty(oHidden.value)) oInput.addClass('auto-sin-id');
		else oInput.addClass('auto-con-id');
				
		oAuto.id = null; oAuto.name = null;
		oAuto.setStyle('display','none');

		var options = new Object();
		options.inheritWidth = false;
		options.postVar = postVar;
		options.postData = queryToJson(query);
		options.onRequest = function (el) {
			//alert(this.oldValue);
			if(this.oldValue != $('ac_'+idEl).value) {
				$(idEl).value = '';
				//$('ac_'+idEl).setStyle('border','2px solid #1f1f1f');
				this.observer.element.removeClass('auto-con-id');
				this.observer.element.addClass('auto-sin-id');
			}
		}

		options.fn = fn;
		
		var indicator = new Element('div', {'class': 'autocompleter-loading',
			'styles': {'display': 'none'}}).setHTML('').injectAfter(oInput);

		var completer = new Autocompleter.Ajax.Xhtml(oInput, urlscript, options);
		return completer;		
	
	} else {
		alert('El elemento '+idEl+' no se encuentra\n'
			+'o no es un elemento de tipo SELECT');
	}


}

function isEmpty(txt) {
   if ((txt.toString().length==0) ||
   (txt.toString()==null)) {
      return true;
   }
   else { return false; }	
}

// Parsear query a objeto
// Ej: curso=13&funcion=buscarCurso ===> {"curso":13,"funcion":"buscarCurso"}
function queryToJson (query) {
	query = query.replace(/\?/g,"");
	var aQuery = query.split("&");
	var size = aQuery.length;
	var oQuery = new Object();
	var aParam;
	
	for( var i=0; i < size; i++ ){
		aParam = aQuery[i].split("=");
		if(aParam[1] != undefined) {
			aParam[0] = aParam[0].replace(/;/g,"");
			eval('oQuery.'+aParam[0]+'="'+aParam[1]+'";');
		} 
	}
	return oQuery;
}


