/**
 * @author David
 */
var optsAgregados = new Object();

function add(id){
	var lista = document.getElementById("lista_"+id);
	var lista2 = document.getElementById("lista2_"+id);
	var index = lista.selectedIndex;
	var l = lista2.length;
	if(index<0){
	   return true;
	}
	
	var opts = lista.options;
	var opts2 = lista2.options;

	var opt = opts.item(index);
	var opt2 = new Option(opt.text,opt.text);

	for (var j =0;j<optsAgregados[id].length;j++){
		if (opt.id == optsAgregados[id][j].id){
			return true;
		}
	}
	
	
	opt2.id = opt.id;
	lista2.options[l] = opt2;
	crearCadena(id);
	opt.disabled = true;
	//lista.remove(index);
	opt.setAttribute("pos",index);
	optsAgregados[id].push(opt);
	
	lista.selectedIndex=-1;
}
function less(id){
	var lista2 = document.getElementById("lista2_"+id)
	var lista = document.getElementById("lista_"+id)
    var index = lista2.selectedIndex
    if(index < 0){
       return true;
    }
	var opt2 = lista2.options[index];
	var tmp_optsAgregados = optsAgregados[id];
	optsAgregados[id] = new Array();
	for (var i=0; i < tmp_optsAgregados.length; i++){
		var opt = tmp_optsAgregados[i];
		if(opt.text != opt2.text){
			optsAgregados[id].push(opt);
		}else{
			//lista.options[opt.getAttribute("pos")] = opt;
			lista.options[opt.getAttribute("pos")].disabled  = false;
		}
	}
    lista2.remove(index);
    crearCadena(id)
}
function setInner(id,lista){
	var lista=document.getElementById(lista+"_"+id);
	var index = lista.selectedIndex;
	if(index<0){
		return true;
	}
	opts = lista.options;
	opt = opts.item(index);
	document.getElementById("visor_"+id).innerHTML = opt.text;
}
function crearCadena(id){

	var cadena_nombres=""
	var cadena_ids=""
	opts = document.getElementById('lista2_'+id).options;
    var i=0;	
    for(i=0;i < opts.length ;++i){
		cadena_nombres+=opts[i].value+separadorAsistentes;
		cadena_ids+=opts[i].id+separadorAsistentes;
	}

    document.getElementById('cadena_nombres_'+id).value=cadena_nombres;
    document.getElementById('cadena_ids_'+id).value=cadena_ids;

    return true
}
function search(bool,event,id,hasta){
	a=parseInt(document.getElementById('last-match_'+id).value)
	var last=parseInt(document.getElementById('last-match_'+id).value)
	
	                var bool2=bool
	if(!bool){
		if(event.keyCode==13){bool2=true;}
	}
	if(bool2 || bool){
		last=parseInt(document.getElementById('last-match_'+id).value)+1
	}
    if(last==-1){last=0;}
	        
	var str=document.getElementById('searchbox_'+id).value;
	str=str.toUpperCase();
	var lm=document.getElementById('last-miss_'+id).value;
	if(str.search(lm)>=0){
		return false;
	}
	var str2=str.replace(/ /g,"");
	if(str2==""){
		return true;
	}
	var num=-1;
	opts=document.getElementById("lista_"+id).options;
    var from=last;
    var to=opts.length;
    if(hasta >0){
        from=0;
        to=hasta;
     }
	for(i=from; i < to ;++i){
		if(opts.item(i).text.match(str)!=null){
				num=i;
				break;
		}
	}
	if(num==-1){
        if(last>0){
	        document.getElementById('last-match_'+id).value=num;
	        return search(bool,event,id,last) ;
		}
		document.getElementById('last-match_'+id).value=num;
	    document.getElementById('last-miss_'+id).value=str;
		return true;
	}
	
    aux='tr_'+num;
    aux+='_'+id;
	var html=opts.item(num).text;
	var start=html.search(str);
	var end=start+str.length;
	p1=html.substring(start,end);
	p2=html.substring(0,start);
	p3=html.substr(end);
	document.getElementById('a1_'+id).innerHTML=p2;
	document.getElementById('a2_'+id).innerHTML=p1;
	document.getElementById('a3_'+id).innerHTML=p3;
	var html2=document.getElementById('tmp_'+id).innerHTML;
	html2=html2.replace(/id="/g,"id=\"aux_");
	document.getElementById('visor_'+id).innerHTML=html2;
	document.getElementById('last-match_'+id).value=num;
	opts.item(num).selected=true;
	if(!bool){
		document.getElementById('searchbox_'+id).focus();
	}
}
