
this.search2 = 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 = "select";
	
	// Text you want to set as a default value of your search field.
	var defaultText = "";	
	
	// 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 = "Abohar, Achalpur, Adilabad, Adityapur, Adoni, Agartala, Agartala MCl, Agra, Ahmadabad, Ahmadnagar, Aizawl, Ajmer, Akola, Akot, Alandur, Alappuzha, Aligarh, Alipur Duar, Allahabad, Alwal, Alwar, Amalner, Ambajogai, Ambala, Ambala Cantonment, Ambala Sadar, Ambattur, Ambikapur, Ambur, Amravati, Amreli, Amritsar, Amroha, Anakapalle, Anand, Anantapur, Anantnag, Anjangaon, Anjar, Aonla, Arakonam, Arambagh, Arani, Araria, Arrah, Aruppukkottai, Asansol, Ashoknagar, Ashoknagar Kalyangarh, Attur, Auraiya, Aurangabad, Aurangabad, Avadi, Avaniapuram, Ayodhya, Azamgarh, Badharghat, Badlapur, Bagaha, Bagalkot, Bagbahra, Bahadurgarh, Baharampur, Baheri, Bahraich, Baidyabati, Baj Baj, Balaghat, Balangir, Baleshwar, Ballarpur, Ballia, Bally, Bally Cantonment, Balotra, Balrampur, Balurghat, Banda, Bangalore, Bangaon, Bankra, Bankura, Bansbaria, Banswara, Bapatla, Baramati, Baramula, Baran, Baranagar, Baraut, Barbil, Barddhaman, Bardoli, Bareli, Bargarh, Bari, Bari Brahmana, Baripada, Barmer, Barnala, Barpeta, Barsi, Basavakalyan, Basirhat, Basmat, Basoda, Basti, Batala, Bathinda, Beawar, Begusarai, Behta Hajipur, Bela, Belampalli, Belgaum, Bellary, Bettiah, Betul, Beypur, Bhabua, Bhadohi, Bhadrak, Bhadravati, Bhadravati, Bhadreswar, Bhagalpur, Bhalswa Jahangirpur, Bhandara, Bharatpur, Bharuch, Bhatpara, Bhavnagar, Bhawanipatna, Bhilai, Bhilwara, Bhimavaram, Bhind, Bhiwadi, Bhiwandi, Bhiwani, Bhongir, Bhopal, Bhubaneswar, Bhuj, Bhuli, Bhusawal, Bid, Bidar, Bidhannagar, Bihar, Bijapur, Bijnor, Bikaner, Bilaspur, BinaEtawa, Binnaguri, Bisalpur, Bishnupur, Biswan, Bobbili, Bodhan, Bodinayakkanur, Bokaro, Bolpur, Bombay, Bommanahalli, Bongaigaon, Borsad, Botad, Brahmapur, Brajrajnagar, Budaun, Bulandshahr, Buldana, Bundi, Burari, Burhanpur, Buxar, Byatarayanapura, Calcutta, Chaibasa, Chakdaha, Chalisgaon, Challakere, Champdani, Chamrajnagar, Chandannagar, Chandausi, Chandigarh, Chandkheda, Chandlodiya, Chandpur, Chandrapur, Channapatna, Charkhi Dadri, Charoda, Chas, Chengalpattu, Cheruvannur, Chhapra, Chhatarpur, Chhibramau, Chhindwara, Chik Ballapur, Chikhli, Chikmagalur, Chilakalurupet, Chilla Saroda Bangar, Chinnachawk, Chintamani, Chiplun, Chirala, Chirmiri, Chitradurga, Chitrakut Dham, Chittaurgarh, Chittur, Chomun, Chopda, Churu, Contai, Cuddapah, Dabgram, Dabhoi, Dabra, Dabwali, Dadri, Dahanu, Dahod, Dallo Pura, Daltenganj, Damoh, Daosa, Darbhanga, Darjiling, Dasarahalli, Datia, Davanagere, DehraDun, DehraDun Cantonment, Dehri, Delhi, Deoband, Deolali, Deoli, Deoria, Devghar, Dewas, Dhamtari, Dhanbad, Dhar, Dharapuram, Dharmapuri, Dharmavaram, Dhaulpur, Dhenkanal, Dholka, Dhone, Dhoraji, Dhrangadhra, Dhuburi, Dhule, Dhulian, Dhuri, Dibrugarh, Didwana, Digdoh, DighaMainpura, Diglur, Dilli Cantonment, Dimapur, Dinapur, Dindigul, Dinhata, Diphu, Disa, Dod Ballapur, Dum Dum, Dumraon, Durg, Durgapur, Edakkara, Edathala, Eluru, Erode, Etah, Etawah, Faizabad, Faridabad, Faridkot, Faridpur, Farrukhabad, Fatehpur, Fatehpur, Fazilka, Firozabad, Firozpur, Firozpur Cantonment, Gadag, Gadchiroli, Gaddiannaram, Gadwal, Gajraula, Gajuvaka, Gandhidham, Gandhinagar, Ganga Ghat, Ganganagar, Gangapur, Gangarampur, Gangawati, Gangoh, Garulia, Gaya, Gayespur, Gharoli, Ghatal, Ghatlodiya, Ghaziabad, Ghazipur, Gobindgarh, Godhra, Gohad, Gohana, Gokak, Gokalpur, Gola Gokarannath, Gola Range, Gonda, Gondal, Gondiya, Gopalganj, Gopalpur, Gopichettipalaiyam, Gorakhpur, Goura, Gudalur, Gudivada, Gudiyattam, Gudur, Gulbarga, Guna, Guntakal, Guntur, Gurdaspur, Guwahati, Gwalior, Habra, Hajipur, Haldwani, Halisahar, Hanumangarh, Haora, Hapur, Harda, Hardoi, Haridwar, Harihar, Hasanpur, Hassan, Hastsal, Hathras, Haveri, Hazaribag, Himatnagar, Hindaun, Hindupur, Hinganghat, Hingoli, Hiriyur, Hisar, Hosakote, Hoshangabad, Hoshiarpur, Hospet, Hosur, Hubli, HugliChunchura, Hyderabad, Ichalkaranji, Idappadi, Ilkal, Imphal, Indore, Ingraj Bazar, Islampur, Itanagar, Itarsi, Jabalpur, Jabalpur Cantonment, Jaffrabad, Jagadhri, Jagdalpur, Jagraon, Jagtial, Jahanabad, Jahangirabad, Jaipur, Jaisalmer, Jalandhar, Jalaun, Jalgaon, Jalna, Jalor, Jalpaiguri, Jamalpur, Jamkhandi, Jammu, Jamnagar, Jamnagar, Jamshedpur, Jamui, Jamuria, Jangipur, Jaora, Jaunpur, Jaypur, Jetpur, Jhalawar, Jhansi, Jhargram, Jharia, Jharsuguda, Jhumri Tilaiya, Jhunjhunun, Jind, Jodhpur, Jorapokhar, Jorhat, Junagadh, Kadayanallur, Kadi, Kadiri, Kagaznagar, Kairana, Kaithal, Kakinada, Kalamassery, Kaliyaganj, Kallur, Kalna, Kalol, Kalyan, Kalyani, Kamareddi, Kamarhati, Kambam, Kamthi, Kanakapura, Kanchipuram, Kanchrapara, Kandi, Kannan Devan Hills, Kannangad, Kannauj, Kannur, Kanpur, Kanpur Cantonment, Kapra, Kapurthala, Karaikal, Karanja, Karauli, Karawal Nagar, Karimganj, Karimnagar, Karnal, Karnul, Karsiyang, Karur, Karwar, Kasganj, Kashipur, Kataka, Kathua, Katihar, Katras, Katwa, Kavali, Kavundampalaiyam, Kayankulam, Kendujhar, Keshod, Khadki, Khagaria, Khagaul, Khajuri Khas, Khambhat, Khamgaon, Khammam, Khandwa, Khanna, Kharagpur, Kharagpur Railway Settlement, Khardaha, Khargone, Kharia, Khatauli, Khopoli, Khora, Khurja, Kirari Suleman Nagar, Kiratpur, Kishanganj, Kishangarh, Koch Bihar, Kochi, Kodar, Kohima, Kolar, Kolhapur, Kollam, Kollegal, Kondukur, Konnagar, Kopargaon, Koppal, Koratla, Korba, Kosi Kalan, Kot Kapura, Kota, Kottagudem, Kottayam, Kovilpatti, Koyampattur, Koyilandi, Kozhikkod, Krishnagiri, Krishnanagar, Krishnarajapura, Kuchaman, Kukatpalle, Kulti, Kumarapalaiyam, Kumbakonam, Kundla, Kuniyamuthur, Kunnamkulam, Kurichi, Ladnun, Laharpur, Lakhimpur, Lakhimpur, Lakhisarai, Lakhnau, Lakhnau Cantonment, Lalbahadur Nagar, Lalitpur, Lanka, Latur, Lohardaga, Lonavale, Loni, Ludhiana, Lunglei, Machilipatnam, Madgaon, Madhavaram, Madhipura, Madhubani, Madhyamgram, Madras, Madurai, Maduravoyal, Mahadevapura, Mahbubnagar, Maheshtala, Mahoba, Mahuva, Mainpuri, Maisuru, Makrana, Malappuram, Malaut, Malegaon, Maler Kotla, Malkajgiri, Malkapur, Mancheral, Mandamarri, Mandidip, Mandoli, Mandsaur, Mandya, Mangalagiri, Mangaluru, Mango, Mangrol, Manjeri, Manmad, Mannargudi, Mansa, Markapur, Masaurhi, Mathura, Mau, Mau, Mauranipur, Mawana, Mayiladuthurai, Meerut, Memari, Mettupalayam, Mettur, Midnapur, Mira Bhayandar, Mirat, Mirat Cantonment, Miryalaguda, Mirzapur, Mithe Pur, Modasa, Modinagar, Moga, Mohali, Mokama, Molarband, Moradabad, Morena, Mormugao, Morvi, Motihari, Mubarakpur, Mughal Sarai, Mundka, Munger, Muradnagar, Murwara, Mustafabad, Muzaffarnagar, Muzaffarpur, Nadiad, Nagaon, Nagapattinam, Nagaur, Nagda, Nagercoil, Nagina, Nagpur, Naihati, Najibabad, Nalasopara, Nalgonda, Namakkal, Nanded, Nandurbar, Nandyal, Nangloi Jat, Narasapur, Narasaraopet, Narnaul, Narwana, Nashik, Navadwip, Navagam Ghed, Navghar, Navi Mumbai, Navi Mumbai, Navsari, Nawabganj, Nawada, Nawalgarh, Nedumangad, Nellur, Nerkunram, Neyveli, Neyyattinkara, Ni Barakpur, Ni Dilli, Nimach, Nimbahera, Nipani, Nirmal, Nizamabad, Noida, Nokha, North Barakpur, North Dum Dum, Nuzvid, Obra, Old Maldah, Ongole, Orai, Osmanabad, Ozhukarai, Palakkad, Palakollu, Palasa, Palghar, Pali, Palitana, Pallavaram, Pallichal, Palwal, Palwancha, Pammal, Panaji, Panchkula, Pandharpur, Panihati, Panipat, Pannuratti, Paradwip, Paramakkudi, Parbhani, Patan, Patancheru, Pathankot, Patiala, Patna, Pattanagere, Pattukkottai, Payyannur, Phagwara, Phaltan, Phulia, Phulwari, Phusro, Piduguralla, Pilibhit, Pilkhuwa, Pimpri, Pithampur, Pithoragarh, Pollachi, Pondicherry, Ponnani, Ponnur, Porbandar, Port Blair, Proddatur, Pudukkottai, Pujali, Pul Pehlad, Puliyankudi, Puna, Punamalli, Pune, Pune Cantonment, Puri, Purnia, Puruliya, Pusad, Puth Kalan, Puttur, Qutubullapur, Rabkavi, Rae Bareli, Raghogarh, Raichur, Raiganj, Raigarh, Raipur, Rajamahendri, Rajampet, Rajapalaiyam, Rajendranagar, Rajkot, Rajnandgaon, Rajpur, Rajpura, Rajsamand, Ramachandrapuram, Ramagundam, Ramanagaram, Ramanathapuram, Ramgarh, Ramgarh Nagla Kothi, Ramod, Rampur, Rampur Hat, Ranaghat, Ranchi, Ranibennur, Raniganj, Ranip, Ratangarh, Rath, Ratlam, Ratnagiri, Raurkela, Raurkela Industrial Township, Raxaul, Rayachoti, Rayadrug, Rayagada, Renukut, Rewa, Rewari, Rishikesh, Rishra, Robertsonpet, Rohtak, Roshan Pura, Rudrapur, Rupnagar, Rurki, Sadat Pur Gujran, Sagar, Sagar, Saharanpur, Saharsa, Sahaswan, Sahibganj, Salem, Samalkot, Samana, Samastipur, Sambalpur, Sambhal, Sandila, Sangareddi, SangliMiraj, Sangrur, Sankarankoil, Sardarshahr, Sarni, Sasaram, Satara, Satna, Sattenapalle, Saunda, Sawai Madhopur, Sehore, Sendhwa, Seoni, Serilungampalle, Shahabad, Shahabad, Shahada, Shahdol, Shahjahanpur, Shahpur, Shajapur, Shamli, Shantipur, Shegaon, Sheopur, Sherkot, Shikohabad, Shiliguri, Shillong, Shimla, Shimoga, Shirpur, Shivapuri, Sholapur, Shorapur, Shrirampur, Shrirampur, Sibsagar, Siddhapur, Siddipet, Sidhi, Sidlaghatta, Sihor, Sikandarabad, Sikandarabad, Sikar, Silchar, Sillod, Sindari, Singrauli, Sira, Sirhind, Sirsa, Sirsi, Sirsilla, Sitamarhi, Sitapur, Siuri, Sivakasi, Siwan, Sonipat, Sopur, South Dum Dum, Srikakulam, Srikalahasti, Srinagar, Srivilliputtur, Sujangarh, Sukhmalpur Nizamabad, Sultanpur, Sultanpur Majra, Sunabeda, Sunam, Supaul, Surat, Suratgarh, Surendranagar, Suriapet, Tadepalle, Tadepallegudem, Tadpatri, Tajpul, Talipparamba, Tambaram, Tanda, Tandur, Tanuku, Tarn Taran, Tenali, Tenkasi, Tezpur, Thalassery, Thaltej, Thana, Thanesar, Thanjavur, Theni Allinagaram, Thiruthangal, Thiruvananthapuram, Thiruvarur, Thrippunithura, Thrissur, Thuthukkudi, Tigri, Tikamgarh, Tilhar, Tindivanam, Tinsukia, Tiptur, Tiruchchirappalli, Tiruchengode, Tirunelveli, Tirupathur, Tirupati, Tiruppur, Tirur, Tiruvalla, Tiruvannamalai, Tiruvottiyur, Titagarh, Tohana, Tonk, Tumkur, Tundla, Tuni, Tura, Udagamandalam, Udaipur, Udgir, Udhampur, Udumalaipettai, Udupi, Ujhani, Ujjain, Ulhasnagar, Ullal, Ulubaria, Una, Unjha, Unnao, Upleta, Uppal Kalan, Uran Islampur, UttarparaKotrung, Vadakara, Vadodara, Valparai, Valsad, Vaniyambadi, Vapi, Varanasi, Vasai, Vastral, Vejalpur, Velampalaiyam, Velluru, Veraval, Vidisha, Vijalpor, Vijayawada, Viluppuram, Vinukonda, Virappanchatram, Virar, Virudhachalam, Virudunagar, Visakhapatnam, Visnagar, Vizianagaram, Vrindavan, Vuyyuru, Wadhwan, Wadi, Wani, Wanparti, Warangal, Wardha, Warud, Washim, Wokha, Yadgir, Yamunanagar, Yavatmal, Yelahanka, Yemmiganur, Ziauddin Pur"; 
	
	// 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;
				};	
			};
				
			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;
				};
			};
			
			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",search2);


