var blnNewArray = false;

function filter(form,txt,list){

    //generate backup if not already done
    var same = false;
    
    if (blnNewArray == false){
    	
    	blnNewArray = true;
    	list.bakid = null;
        list.baktext = null;
    
        list.bakid = new Array();
        list.baktext = new Array();
			
        var n;
		
        for (n=0;n<list.length;n++){
               	
               	list.bakid[n] = list[n].value;
	        	list.baktext[n] = list[n].text;
      }
    }
    //Remove everything from list
    var d;
    //original list length
    var listlength = list.bakid.length;

    for(d=0;d<listlength;d++){
        //remove options
        list.remove(0);
    }


    //Find matches and populate list box
    //get length of searchstring
    var txtlen = txt.length;
    var e;
    var c=0;
	var x;
	
        for(e=0;e<listlength;e++){

        	
        	var check = list.baktext[e].substr(0,txtlen);
            if(check.toLowerCase() == txt.toLowerCase()){
                //Create new options
	             if(same == false){
		       			// create the option
		                list.options[list.options.length] = new Option(list.baktext[e], list.bakid[e]);
                }
                
			
            }
    }
    


}

function new_array(){
	
	var blnNewArray = false;
	
}

function remove(list){

	    var n;
	    var x;
		var arraycounter = 0;
		var delete_array = new Array();
		
		
        for (n=0;n<list.length;n++){
        	
        	if(list.options[n].selected){	
        	
        		delete_array[arraycounter] = list[n].value;
        		arraycounter++;
        	}
	
        }
        
          for (n=0;n<list.length;n++){
          	
          	for(x=0;x<arraycounter;x++){
          		
          		if(list[n].value == delete_array[x]){

          			list.remove(n);	
          		}	
          	}
          	
          }	
		
}
