/* 



	SearchField 

	written by Alen Grakalic, provided by Css Globe (cssglobe.com)

	please visit http://cssglobe.com/post/1202/style-your-websites-search-field-with-jscss/ for more info

	

*/



this.searchfield = function(){

	

	// CONFIG 

	

	// this is id of the search field you want to add this script to. 

	// You can use your own id just make sure that it matches the search field in your html file.

	var id = "searchfield";

	

	// Text you want to set as a default value of your search field.

	var defaultText = "Search the site...";	

	

	// set to either true or false

	// when set to true it will generate search suggestions list for search field based on content of variable below

	var suggestion = true;

	

	// static list of suggestion options, separated by comma

	// replace with your own

	var suggestionText = "Traction#autotrac.html, cervical#autotrac.html, lumbar#autotrac.html, thorasic#autotrac.html, 1 MHZ#ultrasound608.html, Ultrasound 608#ultrasound608.html, Electroson 608#ultrasound608.html, 3 MHZ#ultrasound709.html, Ultrasound 709#ultrasound709.html , Electroson 709#ultrasound709.html , 1 and 3#ultrasound709.html, Shortwave 300#electrowave300.html, medium power#electrowave300.html,Electrowave 300#electrowave300.html,Shortwave 500#electrowave500.html, high power#electrowave500.html, disc#electrowave500.html, Electrowave 500#electrowave500.html, IFT Vectrostim#vectrostim.html , MST Vectrostim#vectrostim.html , TENS Vectrostim#vectrostim.html, 3 in One#vectrostim.html, Interferential Vectrostim#vectrostim.html, IFT Vectrodyne#vectrodyne.html , Interferential Vectrodyne#vectrodyne.html, vacuum#vac108.html,suction#vac108.html,cup#vac108.html, scanning#laserss.html,laser SS#laserss.html,wound healing SS#laserss.html, pain relief SS#laserss.html, laser#laser302.html,wound healing 302#laser302.html ,pain relief 302#laser302.html, MST Genius#microstim.html,TENS Genius#microstim.html, Muscle stimulator Genius#microstim.html,SD Genius#microstim.html, MST T#electrostimt.html, Muscle stimulator T#electrostimt.html,THERAPUETIC#electrostimt.html, MST DT#electrostimdt.html, Muscle stimulator DT#electrostimdt.html,DIAGNOSTIC#electrostimdt.html,SD DTs#electrostimdt.html, CPM#kinetic.html,LIMB#kinetic.html,FLEXION#kinetic.html,EXTENSION#kinetic.html,PASSIVE MOTION#kinetic.html, TENS#acutens.html, 4 CHANNEL#acutens.html, ACUTENS#acutens.html, Surgical 250B#electrosurge250b.html, 250B#electrosurge250b.html, cautry 250B#electrosurge250b.html, Endoscopy 250B#electrosurge250b.html, Surgical 250EB#electrosurge250eb.html, 250EB#electrosurge250eb.html, cautry 250EB#electrosurge250eb.html,Endoscopy 250EB#electrosurge250eb.html,  Surgical 400D#electrosurge400.html, 400D#electrosurge400.html, cautry 400D#electrosurge400.html,Endoscopy 400D#electrosurge400.html,TUR#electrosurge400.html,Under Water#electrosurge400.html"

		

	// END CONFIG (do not edit below this line, well unless you really, really want to change something :) )

	

	// Peace, 

	// Alen



	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){ // enter

					selectList();

					selectedIndex = 0;

					return false;

				}

				return true;

			}

				

			field.onkeyup = function(e){

			

				var key = getKeyCode(e);

		

				switch(key){

				case 13:

					return false;

					break;			

				case 27:  // esc

					field.value = "";

					selectedIndex = 0;

					clearList();

					break;				

				case 38: // up

					navList("up");

					break;

				case 40: // down

					navList("down");		

					break;

				default:

					startList();			

					break;

				};

				return true;

			};

			

			this.startList = function(){

				var arr = getListItems(field.value);

				document.getElementById('linkUrl').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++){

						var aLink = arr[i].split('#');

						var txtCaption = aLink[0];

						var txtLink = aLink[1];

						li = document.createElement("li");

						a = document.createElement("a");

						//a.href = "javascript:void(0);";

						a.href = txtLink;

						a.i = i+1;

						//a.innerHTML = arr[i];

						a.innerHTML = txtCaption;

						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;

				//Redirect to the page

				//window.location = a.href;

				document.getElementById('linkUrl').value = a.href;

				clearList();

			};			

			

		};

	};

	

	this.clearList = function(){

		if(list){

			list.style.display = "none";

			selectedIndex = 0;

		};

	};		

	this.getKeyCode = function(e){

		var code;

		if (!e) 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);