/* 	SearchField by Alen Grakalic, info: http://cssglobe.com/post/1202/style-your-websites-search-field-with-jscss/ */

this.searchfield = function(){
	var id = "s";
	var defaultText = "Looking for something?";	
	// true = will generate search suggestions list
	var suggestion = true;	
	// suggestion options, separated by comma
	var suggestionText = "museum of food anomalies, hanttula is wonderful, mike hanttula, hanttula fan club, hanttula adventure team, bunnyocalypse, marshmallow bunny apocalypse, spoon journal project"; 

var field=document.getElementById(id);var classInactive="sf_inactive";var classActive="sf_active";var classText="sf_text";var classSuggestion="sf_suggestion";this.safari=((parseInt(navigator.productSub)>=20020000)&&(navigator.vendor.indexOf("Apple Computer")!=-1));if(field&&!safari){field.value=defaultText;field.c=field.className;field.className=field.c+" "+classInactive;field.onfocus=function(){this.className=this.c+" "+classActive;this.value=(this.value==""||this.value==defaultText)?"":this.value};field.onblur=function(){this.className=(this.value!=""&&this.value!=defaultText)?this.c+" "+classText:this.c+" "+classInactive;this.value=(this.value!=""&&this.value!=defaultText)?this.value:defaultText;clearList()};if(suggestion){var selectedIndex=0;field.setAttribute("autocomplete","off");var div=document.createElement("div");var list=document.createElement("ul");list.style.display="none";div.className=classSuggestion;list.style.width=field.offsetWidth+"px";div.appendChild(list);field.parentNode.appendChild(div);field.onkeypress=function(e){var key=getKeyCode(e);if(key==13){selectList();selectedIndex=0;return false}};field.onkeyup=function(e){var key=getKeyCode(e);switch(key){case 13:return false;break;case 27:field.value="";selectedIndex=0;clearList();break;case 38:navList("up");break;case 40:navList("down");break;default:startList();break}};this.startList=function(){var arr=getListItems(field.value);if(field.value.length>0){createList(arr)}else{clearList()}};this.getListItems=function(value){var arr=new Array();var src=suggestionText;var src=src.replace(/, /g,",");var arrSrc=src.split(",");for(i=0;i<arrSrc.length;i++){if(arrSrc[i].substring(0,value.length).toLowerCase()==value.toLowerCase()){arr.push(arrSrc[i])}};return arr};this.createList=function(arr){resetList();if(arr.length>0){for(i=0;i<arr.length;i++){li=document.createElement("li");a=document.createElement("a");a.href="javascript:void(0);";a.i=i+1;a.innerHTML=arr[i];li.i=i+1;li.onmouseover=function(){navListItem(this.i)};a.onmousedown=function(){selectedIndex=this.i;selectList(this.i);return false};li.appendChild(a);list.setAttribute("tabindex","-1");list.appendChild(li)};list.style.display="block"}else{clearList()}};this.resetList=function(){var li=list.getElementsByTagName("li");var len=li.length;for(var i=0;i<len;i++){list.removeChild(li[0])}};this.navList=function(dir){selectedIndex+=(dir=="down")?1:-1;li=list.getElementsByTagName("li");if(selectedIndex<1)selectedIndex=li.length;if(selectedIndex>li.length)selectedIndex=1;navListItem(selectedIndex)};this.navListItem=function(index){selectedIndex=index;li=list.getElementsByTagName("li");for(var i=0;i<li.length;i++){li[i].className=(i==(selectedIndex-1))?"selected":""}};this.selectList=function(){li=list.getElementsByTagName("li");a=li[selectedIndex-1].getElementsByTagName("a")[0];field.value=a.innerHTML;clearList()}}};this.clearList=function(){if(list){list.style.display="none";selectedIndex=0}};this.getKeyCode=function(e){var code;if(!e)var e=window.event;if(e.keyCode)code=e.keyCode;return code}};

// script initiates on page load. 

this.addEvent = function(obj,type,fn){
	if(obj.attachEvent){
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn](window.event );}
		obj.attachEvent('on'+type, obj[type+fn]);
	} else {
		obj.addEventListener(type,fn,false);
	};
};
addEvent(window,"load",searchfield);


