function addEvent(obj, evType, fn) {
  if (obj.addEventListener) {
      obj.addEventListener(evType, fn, true);
      return true;
    } else if (obj.attachEvent) {
      var r = obj.attachEvent("on"+evType, fn);
      return r;
    } else {
      return false;
    }
}

var ignorevw=true; // Skall V eller W ignoreras?
var ignorecase=true; // Skall matchningen vara cAsE-sensitive?
var lista = new Array();

function searchlist(value,listobj){
	if(lista.length == 0) buildlist(listobj);
	matches=0;
	listobj.length = lista.length;
	for(n=0;n<lista.length;n++){
		if(lista[n].text.substring(0,value.length)==value||ignorevw&&lista[n].text.substring(0,value.length).replace(/w/g,'v')==value.replace(/w/g,'v')||ignorecase&&lista[n].text.toLowerCase().substring(0,value.length)==value.toLowerCase()) {
			listobj[matches].text = lista[n].text;
			listobj[matches].value = lista[n].value;
			matches++;
		}
	}
	listobj.length = matches;
	listobj.selectedIndex=0;
}

function buildlist(obj){
	for(n=0;n<obj.length;n++){
		lista[n] = new makeobj(obj[n].value,obj[n].text);
	}
}

function makeobj(value,text){
	this.value=value; this.text=text;
}



function searchLoad() 
{
	var sword = document.getElementById('searchword');
	var slist = document.getElementById('searchlist');
	var frm_s = document.getElementById('frm_search');

	frm_s.setAttribute('autocomplete','off')
	sword.onfocus = function() {
		slist.style.visibility='visible';
	};
    slist.onblur = function() { slist.style.visibility='hidden'; }
	slist.onclick = function() {
		sword.value=slist.options[slist.selectedIndex].value;
	} 

	sword.onkeyup = function() { searchlist(this.value, slist) };
	slist.ondblclick = function() { frm_s.submit(); }
	frm_s.onblur = function() {
	    slist.style.visibility = 'hidden';
	}
}

addEvent(window, 'load', searchLoad);

