/********************************************************
 * Copyright (C) 2008-2009, Appasaheb Sawant All rights reserved.
 * Appasaheb Sawant is a registered trademark.
 *
 * THIS SOURCE CODE MAY BE USED FREELY PROVIDED THAT
 * IT IS NOT MODIFIED OR DISTRIBUTED, AND IT IS USED
 * ON A PUBLICLY ACCESSIBLE INTERNET WEB SITE.
 * 
 * AutoComplete Liabry for gettinglist of contry 
 *
 * You can obtain this script at http://www.codehouse.com
 

 
 /****************************************************************************************************************
 /*********************************************************JSON list of Cities************************************/
 //----------------------------------------------------------------------------------------------------------------
 
var COUNTRY_LIST=[
"1500 Ansi-Lumen-Beamer Sondertarife","1200ansi_spezial.php",
"2200 Ansi-Lumen-Beamer","2200ansi.php",
"2700 Ansi-Lumen-Beamer","2700ansi.php",
"3000 Ansi-Lumen-Beamer","3000ansi.php",
"3000 Ansi-Lumen-Ultra Weitwinkel","3000ansi_ww.php",
"3600 Ansi-Lumen FullHD-Beamer","3600ansi.php",
"4500 Ansi-Lumen-Beamer","4500ansi.php",
"5000 Ansi-Lumen-Beamer","5000ansi.php",
"6000 Ansi-Lumen-Beamer","5500ansi.php",
"6500 Ansi-Lumen-Beamer","6500ansi.php",
"7000 Ansi-Lumen-Beamer","7000ansi.php",
"9.000 Ansi-Lumen-Beamer","9000ansi.php",
"10.000 Ansi-Lumen FullHD-Beamer - <font color=red>!neu!</font>","10000ansi.php",
"12.000 Ansi-Lumen-Beamer","12000ansi.php",
"15.000 Ansi-Lumen-Beamer","15000ansi.php",
"Beamer-Zubehör","beamer_zubehoer.php",
"Objektive für Panel 0,8 Zoll","0-8zoll-optiken.php",
"Objektive für Panel 0,99 Zoll","0-99zoll-optiken.php",
"Objektive für Panel 1,3 Zoll","1-30zoll-optiken.php",
"Objektive für Panel 1,8 Zoll","1-80zoll-optiken.php",
"Objektive für Panasonic FullHD","panasonic-optiken.php",
"Aufprojektionsleinwände 4:3","aufprojektion_leinwand_4zu3.php",
"Rückprojektionsleinwände 4:3","rueckprojektion_leinwand_4zu3.php",
"Aufprojektionsleinwände 16:9","aufprojektion_leinwand_16zu9.php",
"Rückprojektionsleinwände 16:9","rueckprojektion_leinwand_16zu9.php",
"TFT - 20 Zoll (50 cm)","lcd20.php",
"LCD - 22 Zoll (55 cm)","lcd22.php",
"LCD - 32 Zoll (81,3cm)","lcd32.php",
"LCD - 40 Zoll Full-HD (102cm)","lcd40.php",
"Plasma - 42 Zoll (107cm)","plasma42.php",
"Plasma - 50 Zoll (127cm)","plasma50.php",
"Plasma - 65 Zoll (165cm)","plasma65.php",
"Hochständer K+M","hochstaender_k_und_m.php",
"Hochständer Unicol","hochstaender_unicol.php",
"Ansteckboxen","plasma_ansteckboxen.php",
"Wandmontage-Set","wandmontage.php",
"Converter/Interfaces","converter.php",
"Videozubehör/Tools","videozubehoer.php",
"DVD-Player Consumer","dvd.php",
"DVD Player blue ray","dvd_blue_ray.php",
"CF Card Player","cf_card_player.php",
"CF Card Player Full HD","cf_card_player_full_hd.php",
"Synchronizer für CF Player","cf_synchronizer.php",
"Videokamera Canon XL1","kamera_xl1.php",
"Videokamera SONY DSR-PD 170","kamera_dsr_pd170.php",
"Beta-Player","beta_player.php",
"Analogway Smartcut 2","smartcut.php",
"Presentation Switcher Extron IN1508","extron_in1508.php",
"Videomischpult Edirol V4","edirol_v4.php",
"Videomischpult Edirol V8","edirol_v8.php",
"Kling und Freitag CA-106 passive Box","kling_und_freitag_ca106.php",
"Kling und Freitag CA-1215 passive Box","kling_und_freitag_ca1215.php",
"Leistungsverstärker QSC RMX 1450","qsc_rmx_1450.php",
"Aktivboxen 2x 65W","aktiv-db_k162.php",
"Aktivboxen 2x db Basic 100W","aktiv-db_basic100.php",
"Aktivboxen 2x db Opera live 210","aktiv-db_live210.php",
"Aktivboxen 2x Mackie SRM-350","aktiv-mackie-srm350.php",
"Aktivboxen 2x RCF 310 ART","aktiv-rcf-art310.php",
"Aktiver Subwoofer RCF ART 705AS","aktiv_rcf705as.php",
"HK-Audio Projector Anlage (aktiv) f&uuml;r bis zu 1000 Personen","hk_projector.php",
"Behringer Xenyx 802 (2 Mikro/ 2 Line) Mixer","behringer_802.php",
"Behringer Xenyx 1202 (4 Mikro/ 4 Line) Mixer","behringer_1202.php",
"Soundcraft 12 Kanal-Mixer EPM12","soundcraft_epm12.php",
"Mackie 16-Kanal-Mixer - Mackie 1604 VLZ Pro","mackie1604.php",
"Midas 24+4 Kanal-Mixer - Midas Venis 320","midas_venis320.php",
"Digitales Mischpult Yamaha 01V96","yamaha_01v96.php",
"2 Kanal-Battle Mixer","numark_dm950.php",
"4+1 Kanal  DJ-Mixer","behringer_djx700.php",
"Numark Ipod-Mixer iDJ2","ipod_mixer.php",
"Mischpult Pioneer DJM-600","pioneer_djm600.php",
"Mischpult Pioneer DJM-800","pioneer_djm800.php",
"Sennheiser E825 S Evolution","sennheiser_e825.php",
"Shure SM 58 LC","shure_sm58.php",
"AKG C430 (Kondensator)","akg_c430.php",
"Sennheiser MD 421U-2","sennheiser_md421.php",
"Shure MX412D/C (Schwanenhals-Tischmikrofon)","shure_mx412.php",
"Sennheiser E 901 Grenzfläche","sennheiser_grenzflaeche.php",
"Sennheiser EW-300 mit SKM-335 Handsender","sennheiser-ew300-handheld.php",
"Sennheiser EW-300 mit ME3 Headset","sennheiser-ew300-headset.php",
"Sennheiser EW-300 mit HSP4 Headset","sennheiser-ew300-headset_HSP4.php",
"Sennheiser EW-300 mit Ansteckmikrofon ME 4","sennheiser-ew300-lavalier.php",
"Niefer NW-617 Wireless Headset","niefer_headset.php",
"Niefer Funkmikrofon mit NW-601 Handsender","niefer_handsender.php",
"Niefer NW618 Wireless LavalierSet","niefer_clip.php",
"Equalizer DBX 1231","dbx1231.php",
"Compressor / Limiter / Gate DBX 266 XLV","dbx226xlv.php",
"Mediensplitter Palmer 1 auf 20","palmer_ppb20.php",
"Kopfhörerspliiter 1 auf 4 HA 4700","powerplay_ha4700.php",
"Delay t.c. electronic D-Two","tc_electronic_delay.php",
"Pioneer CDJ200","cdj_200.php",
"Pioneer CDJ1000","cdj_1000.php",
"CD-Player Single, MP3-fähig","single_cd_player.php",
"Doppel-CD-Player","doppel-cd-player.php",
"Technics SL-1200 MK2","technics_mk2.php",
"Reloop RP2000 MK2","reloop_mk2.php",
"Mobiler Digitalrecorder Zoom H4","zoom_h4.php",
"Digitaler Mitschnitt per Laptop","mitschnitt_per_laptop.php",
"Kleines DJ-Paket","dj_small.php",
"Großes DJ-Paket","dj_large.php",
"Profi DJ-Paket","dj_profi.php",
"Karaoke - Jukebox-Paket","karaoke_jukebox.php",
"Karaoke - Magic-Paket","karaoke_magic.php",
"Strahler","strahler.php",
"Stufenlinsen Scheinwerfer ARRI 650","arri_junior 650.php",
"Verfolgerscheinwerfer 1200W","verfolger_1200.php",
"Spillo HMI 1200","spillo.php",
"Skyrose HMI 2500","skyrose.php",
"UV-Licht","schwarzlich.php",
"Laser","laser.php",
"Stroboskope","stroboskop.php",
"Lichteffekt MartinMania EF2","martin_ef2.php",
"Lichteffekt MartinMania EF3","martin_ef3.php",
"Lichteffekt MartinMania EF4","martin_ef4.php",
"Lichteffekt MartinMania DC1 Aqua","martin_dc1.php",
"Lichteffekt MartinMania DC2 Fire","martin_dc2.php",
"Lichteffekt MartinMania DC3 Oel","martin_dc3.php",
"Lichteffekt Martin PR-1 Gobo-Projektor","martin_gobo_pr1.php",
"Lichteffekt Martin Raptor","martin_raptor.php",
"Lichteffekt Martin EGO 02","martin_ego02.php",
"Lichteffekt Martin EGO 03","martin_ego03.php",
"Lichtstativ mit 4x300W Strahern","lichtstativ.php",
"Stroboskop klein","strobo_klein.php",
"Stroboskop STR 300","strobo_str300.php",
"Stroboskop Botex Energy 2000","strobo_botex_energy2000.php",
"Nebelmaschine Martin Magnum 550","nebel_martin_magnum550.php",
"Nebelmaschine Antari X-510","nebel_antari_x510.php",
"Nebelmaschine Antari ICE101 Bodennebel","nebel_antari_ice101.php",
"Seifenblasenmaschine Antari B100","seife_b100.php",
"Konfetti-Maschine","konfetti.php",
"Dimmer 1-Kanal","dimmer_1kanal.php",
"Dimmer 4-Kanal DMX","dimmer_4kanal_dmx.php",
"Dimmer 6 Kanal (6x2kW)","dimmer_6kanal_digital.php",
"Lichtpult DMX Eurolight LC-2412","eurolight_lc_2412.php",
"MA Lightcommander 12/2","ma_lightcommander.php",
"MA Lighting Scanncommader","ma_lighting_scancommander.php",
"Bühnen","buehnen.php",
"Notebook","notebook.php",
"Funk-Presenter für Notebook","funkpresenter.php",
"Mac-Adapter-Set","mac_adapter.php",
"HP Laserjet 1020 (s/w)","laserjet_1020.php",
"Nashuatec Printstation D420CN (Farbe)","nashuatec_d420cn.php",
"Kopierer Nashuatec DSm618 (s/w)","nashuatec_dsm618.php",
"Flipchart - klappbar","flipchart.php",
"Flipchart - rollbar","flipchart_rollbar.php",
"Moderationstafel","moderationstafel.php",
"Moderatorenkoffer","moderatorenkoffer.php",
"Laserpointer","laserpointer.php",
"Overheadprojektor - Koffer","ohp_koffer.php",
"Overheadprojektor - Profi","ohp_profi.php",
"Diaprojektor SC-669","diaprojektor.php",
"Rednerpult - höhenverstellbar","rednerpult.php",
"Projektortisch","projektortisch.php"
];

//------------------------------------------------------------------------------------------------------------------------------------
/*********************************************************End here **********************************************************************/
/*****************************************************************************************************************************************/ 
 
//Create Object of JSON String 
var objJSON= new Object();

//Evaluate object for values
objJSON=eval(COUNTRY_LIST);

GetCountry=function()
{
	
	//Access DOM elements
	this.element=document.getElementById('AutoCompleteCountry');
	this.objDiv=document.getElementById('AutoCompleteList');
	
	this.getCountryList=function()
	{	
		
		//Call function on onkey up events
		this.element.onkeyup=function(eEvent)
		{
			if(!eEvent)
			{
				eEvent=window.event;		
			}
			
			if(eEvent.keyCode==40 || eEvent.keyCode==38 || eEvent.keyCode==13)
			{
				return false;	
			}
			else
			{
				objGetCountry= new GetCountry();
				objGetCountry.searchCountry(objGetCountry.element,objGetCountry.objDiv);
				
				objEvent= new KeyboardEvents();
				objEvent.getKeyEvent();	
			}
		}	
		
	}
	
	//for serching elements in JSON string 
	this.searchCountry=function (element,objDiv) 
	{ 
		
		objGetCountry= new GetCountry();
		
		var strHTML='';
		var search_value =element.value;
		var allitems=eval(COUNTRY_LIST);
		
		if(search_value.length>0) 
		{
			for (var i=0;i<allitems.length;i=i+2) 
			{
				var name = allitems[i];
				var exp = new RegExp(search_value,"i");
				if(name.match(exp) != null) 
				{
					var elementId = element.getAttribute("id");
					var divId = objDiv.getAttribute("id");
					strHTML+="<div onclick=\"objGetCountry.selectCountry('"+elementId+"','"+name+"','"+divId+"');\" onmouseover=\"this.className='selected';\" onmouseout=\"this.className='notselected';\">"+name+"</div>";
				}
			}
		
			objDiv.innerHTML=strHTML;
			objDiv.style.display="block";
			
		}
		
				
	}
	
	//Select highlighted Element
	this.selectCountry=function(elementId,value,divId)
	{
		document.getElementById(elementId).value=value;
		document.getElementById(divId).style.display="none";
		
		
		var allitems=eval(COUNTRY_LIST);
		
		for (var i=0;i<allitems.length;i=i+2) 
			{
				var name = allitems[i];
				
				
				
				
				if (document.getElementById(elementId).value == name) 
				{
					
					var url = allitems[i+1];
				}
			}
			
			document.location.href=url;

		
		
		
	}
		
}

//Handle Keyboard Events

KeyboardEvents=function()
{
	this.element=document.getElementById('AutoCompleteCountry');
	var current=-1;
	var item_index=0;
	var oNode=0;
	this.getKeyEvent=function()
	{
		this.element.onkeydown=function(eEvent)
		{
			if(!eEvent)
			{
				eEvent=window.event;		
			}
	
			var objDiv=document.getElementById('AutoCompleteList');
			var element=document.getElementById('AutoCompleteCountry');
			
			switch(eEvent.keyCode)
			{
				case 40:
					var item_index=1;
				break;
				case 38:
					var item_index=-1;
					break;
				case 13:
					var strvalue=objDiv.getElementsByTagName("div").item(oNode).innerHTML;	
					objCountry= new GetCountry();	
					objCountry.selectCountry(element.getAttribute("id"),strvalue,objDiv.getAttribute("id")); 
				break;
			}
			
				var total_nodes=objDiv.getElementsByTagName("div").length;
				if(total_nodes>0)
				{		
					if(item_index>0)
					{		
						if(current < total_nodes-1)
						{
							oNode=++current;
						}
					}
					else
					{
						if(current > 0)
						{
							oNode=--current;	
						}
					}
					
					if(current>0)
					{
						if(item_index==1)
						{
							objDiv.getElementsByTagName("div").item(current-1).className="notselected";	
							if(current%10==0)
							{
								objDiv.scrollTop+=140;	
							}
						}
						else
						{
							objDiv.getElementsByTagName("div").item(current+1).className="notselected";		
							if(current%10==0)
							{
								objDiv.scrollTop-=140;	
							}
						}
					}
					else if(current==0 && item_index==-1)
					{
						objDiv.getElementsByTagName("div").item(current+1).className="notselected";	
					}
					
					if(oNode>=0)
					{
						objDiv.getElementsByTagName("div").item(oNode).className="selected";
						
					}
					
					
					
				}
			
		}
	}
}

window.onload=function()
{
	objCountry= new GetCountry();	
	objCountry.getCountryList(); 
}

//----------------------------------------------------------------------------------------------------------------------------------------------
//*********************************************************End here ******************************************************************************
//=================================================================================================================================================
