/* 

	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(){
	var id = "SearchField";
	var defaultText = "إبحث عن أيقونتك ...";	
	var suggestion = true;
	var suggestionText = "ابتسامات, ابتسامه, smile, مندهش, مستغرب, surprise, , حب, رومانسيه, love, مكسوف, blushing, غاضب, زعلان, angery, لعب, مهرج, clown, مجروح, قلب , مكسور, broken heart, ابتساماتابتسامهsmileبرافوااحسناوكىok, مستعجل, بسرعه, heary, اسعاف, شكرا, thanks, Skype, s, بلد, برنامج, ايقونه, icon, طفل, baby, سلام, مع السلامه, bye, وجه متحرك, اعتذار, اسف, sorry, لسان, tongue, عيون متحركه, rolling eyes, غلط, mistakethumbs down, يعاقب, برافوا, يصفق, clapping, ambulanse, يضرب, يلاكم, صح, ok, يلعب, كورة, كرة, يفكر, thinking, يبارز, يواجه, facine, يبكى, crying, غضبان, مضايق, angry, السلام عليكم, هاى, hi, ينام, نوم, sleeping, هادىء, cool, نسيان, رأس, اعدام, موت, dead, يصارع, facing, sleep, اوك, لأ, no, يأكل, eat, punsh, يغسل اسنان, يفرش اسنان, تعبان , مرهق, heart, smiles, هديه, كوره, حاسب, pc, جهاز, computer, تليفون, موباي, لجوال, telephone, mobile, ابتسامهsmile, مريض, يقرأ, read, هكر, فضاء, space, محارب, ملاك, angle, عيد ميلاد, birth day, اوكى, موسيقى, music, loveromanse, رسام, الوان, فرشاة, تصميم, ياهو, yahoo, شات, chat, ياهوو, nero, نيرو, نسخ, اسطوانه, اسطوانات, dvd, كره, ارضيه, العالم, world, كوكب, ارضيه, planet, مجلد, folder, package, network, lan, شبكه, لينكس, linux, لينوكس, نظام, التشغيل, علم, flag, drive, مشغل, طابعه, printer, العالم, متصفح, browser, netscape, internet, انترنت, متصفحbrowsernetscapeinternetانترنت, متصفحbrowser, تنظيف, clear, web, www, ويب, سهم, اتجاة, arrow, العالمworld, كمبيوتر, computrer, مربع, دائرة, العالمworldwebwwwويبcomputrerكمبيوترشبكهكابلcable, computre, كابل, cable, مودم, modem, الفضاء, هكر, فضاء, قواعد, بيانات, data base, insert, ادخال, اضافه, ملفات, radio, راديو, سماعه, كلام, صوت, rss, maps, archive, خرائط, ارشيف, مشخصات, ارشفه, معلومات, information, about, nike, تسوق, bage, مشتريات, العاب , playstation, games, بلاى استيشن, توقف, stop, mistake, x, delete, سيجار, سجائر, نار, fire, smoke, صور, هشكل, symantecanti , viruse, فيروسات, فيروس, مضاد, انتى فيرس, نغمات, اغانى, tones, كتابه, ورقه, قلم, تدوين, مدونات, افكار, كتاب, book, ben, pencil, ملاحظات, ورقه, paper, word, file, مضغوط, cd, copy, صوره, شعار, logo, حبر, مستند, ملف, document, html, لغه, برمجه, pdf, adobe reader, ppt, image, text, نص, xls, محرك, hard, هارد, ايقونه, سله, المحذوفات, recyclbin, ملفات, مجلدات, محذوفات , كاميرا, فيديو, تصوير, Camera , Video , Photography , Photos, ساعه, ارقام, بوصله, موبايل, picture, صقر, طائر, جناح, ويندوز, تشغيل, windows, زر, سياره, عربيه, سياره, ناقله, طريق, شارع, مرور, ورده, رسم, ورق, محفوظات, اوبرا, opera, اغلاق, power, shut down, عدسه, يبحث, search, معدن, مفتاح, كهرباء, key, صوره, دراسه, مثلث, حساب, رياضيات, سابوره, طباشير, تعليم, تدريس, فرشاه, معلم, مدرس, مكعبات, سداسى, اضلاع, مساحات, مقاسات, ايقون, حول, يدور, مجلدات, songe, حافله, بحث, search, مكعب, صندوق, خشب, شباك, قفل, مغلق, block, تحميل, جارى, load, اشخاص, افراد, قياده, التحميل, انتظر, loading, pm, mail, رساله, send, ارسال, سمكه, fish, بحر, خلاصات, shop, خريطه, map, user, مستخدم, عضو, 3d max, ماكس, 3gp, اسهم, تفاحه, apple, rar, win, zip7, game, firefox, فايرفوكس, المتصفح, فوتوشوب, photoshop, وردة, download, اطار, شخص, طائره, اخبار, news, جرائد, cd, explorer, media, edit, vidio, playmedia, نافذه, سجل, حمايه, safe, add, code, control, تحكم, استفهام, ؟, skin studio, مروحه, pictuer, vido, خط, php, اشكال, java, جافا, window, لعبه, ball, sport, رياضه, كوتشينه, ظرف, coloure, شنطه, اكسسوار, كاس, زجاج, ايميل, email, حراره, مؤشر, قياس, شطرنج, عصا تحكم, romance, سؤال, هل, صاروخ, سرعه, طيران, fly, speed, plane, مج, شاى, كوب, ملعقه, قهوه, طبق, يقدم, a, member, adobe acrobat reader, قراءة , اعاده تحميل, f5, refresh, حافظه, ازرار, حاسبه, calculate, globle, se, جمع, sum, hardware, @, pen, رقم, عنوان, street, number, بطه, ريسيفر, معدات, ادوات, fotoshop, adoble acrobat reader, adoble reader, قراءة الملفات, ae, au, aw, br, cp, cf, co, di, دريم ويفر, dream weaver, en, fw, f, fb, fx, fm, fh, نجمه, star, gi, flower, ai, foto shop, programme, فراشه, فرشه, ic, id, jr, lr, ps, pr, rh, vc, عنكبوت, جديد, نظيف, new, clean, ?, استفسار, Aim, صورة, جواب, ريموت, clock, منبه, وقت, time, جرس, رنه, مدرسه, راحه, person, 120%, 52%, حفظ, group, videio, سينما, شريط, تسجيل, record, ارنب, rabbit, بيانات, data, وكاله فضاء, نجوم, سماء, nasa, تعجب, !, tone, اداه, هاردديسيك, harddisk, p, قوائم, vedio, مفك, مطرقه, تصليح, net, correct, ini, jpg, امتداد, افلام, .rtf, .txt, .WRI, inf., pdf., قراءةه, مساعده, اعمده, xls., mp3., fon., ttf., tt, dll., خلايا, cell, ppt., psd., photo shop, AI., نت, محذوفات, recycline, المحذوفات, recycle bin, doc, repair, فك, تركيب, help, هلال, قمر, اخراج, output, videos, اصلاح, engine, modom, توصيل, التقاط, فلاش, اعاه تحميل, communication, اتصالات, هارديسيك, arround, ماوس, شاشه, نافذة, ini., jpg., play, rft., txt., كتابه, wri., i, box, hlp., ميديا, msg., screen, سماعه, voice, mouse, نسخه, vista, eps., house, بيت, منزل, عائله, جيش, مسلح, امريكا, army, light, اضاءه, لمبه, اناره, دوله , افريقيا, save, طب, صيدليه, علاج, دواء, كبسوله, حقنه, apg, تجميع, ترتيب, اجزاء, tv, كرتونه, 01, مسطره, sea, زينه, حوض, ماء, gzip, شمسيه, sit, sitx, tar, tgz, zip, شمس, تنزيل, اتجاه, forword, back, معلومه, اشاره, aiff, mp3, ogg, wav, wma, بلياردو, avg, air, avi, ضفدعه, تأخير, ارجاع, كاسيت, قدم, فاكهه, موز, اكل, طعام, food, bat, كنبه, ديكور, patch, فيلم, BioHazard, tornet, تورنت, BitdefenderSZ, bmp, اجنده, يد, عين, hand, eye, مدونه, blog, blogger, blutooth, بلوتوث, bluray, ضوء, color, bobines video, مسلسل, كراسه, كاب, طاقيه, ملابس, سفينه, طوق, Bouee, دائره, كرتون, هدايا, حفله, Brazil, Bridge, سفر, bag, Broken, تلف, مقطوع, توقيت, bs, messanger, msn, حشره, صرصار, car, جراج, address, فاير فوكس, لاصق, بضائع, Calculator, مسائل, Calendar, شهر, سنه, يوم, تاريخ, نتيجه, تقويم, photo, Camino, Candles, شمع, شموع, عصا, فيونكه, Captivate, كره ارضيه, مبانى, عمارات, brush, css, طابع, Drop, Drug, دكتور, طبيب, DWeaver, e3, حروف, eastpak, حرب, Ecuador, تحرير, Egg, مطبخ, elvis, empty, فارغ, بيضه, بيضاوى, شفاف, bin, حمار, حيوان, jbl, England, Entourag, error, علامه, EvilFoxSZ, Excel, exe, Extension Manager, External, eyedropper, FAQ, favorites, مفضله, fax, فاكس, fella, FermerSZ, ferrari, نقل, fichiers avi, fichiers CDA, compresse , 7zip, cab, مكعب, fichiers divx, fichiers flac, fichiers mov, fichiers mp3, fichiers mp4, fichiers ogg, png, psd, fichiers wma, fichiers xvid, yes, File Zilla, fz, afp, default, ftp, gif, http, jpeg, mailto, mkv, mov, movie, mp4, mpg, ogm, pict, ram, rm, sound, tga, tiff, vob, wmv, 'printer, oytput, FileZilla, Film, يجد, find, Finder, غابه, جدار نارى , جدار حمايه , firewall, firewiredrive, hd, Fireworks, flac, Flash, swf, FlashGet, Flex, Flex Builder, Flickr, Flock, اثار, اقدام, floppy, قرص, ديسك, disk, 9, سحابه, public, apps, desktop, home, منزل بيت, locked, pink, lock, خاص, مواقع, site, جدول, Font Expert, fe, حرف, o, tc, Font TT, Foobar, ذاكره, بيانان, مفتوح, محفوظ, CartonFerme , casino, CAT Helmet, work, عامل, بترول , صحراء, كلب , country, CAT Bag, CAT Barrel, بيترول, برميل, سباكه, CAT Boots, احذيه, مشى, shoes, CAT Calender, CAT Cap, CAT Caution, CAT Gloves, جوانتى, Lamp, CAT Plate, CAT Sweat, اناقه, CAT Tools, عمل, Watch, تنظيف, الارض, مقشه, chair, كرسى, مكتب, مواصلات, ساحر, شعر, Chart Bar, مخطط, Chart Pie, think, im, hello, Christmas-Bell, عيد ميلاد المجيد, كريسمس, احتفال, Christmas, شجره, tree, Chrome, Cible, Cigarretes, تدخين, CInema, مقص, قطع, tool, cut, clap, كلاكيت, input, keyboard, لوحه المفاتيح, cle-USB, Clipboard, ملاحظه, Close, closed-floder, اوامر, coffee, ماكينه, coldefusion, fc, stats, احصائيات, colors, قوس قزح, Command Prompt, رموز, /:c, comment, تعليق, قابل للكسر, machine, اله, Control Panel, تصحيح, ct, control_panel, Controller, كنترول, control-panel, copy, x2, جردل, Counter Strike, ضرب, مسدس, بندقيه, سلاح, قص, cpu, شحن, cc, Creative Jukebox, مكالمه, 10, ountry, water, cs, imageready, CUE, cup, coffe, مشروب, magic, راكب, فولكس, واجن, vw, duck, animal, mule plus, Daemon Tools, sky, وجه, face, Dashboard, عداد, Database, قاعده بيانات, حديد, DeamontoolsSZ, Default Netprinter, default-document, حذف, مسح, قاعده, Delete Database, Dell Media Experience, عماره, مبنى, ماك, mac, desktopfolder, Deviant Art, DeviantART, digital-camera, Director, شاحنه, Disque, DiversSZ, Divx, txt, Documents, زهرة, dossier ardoise video, Ferme , خشب, ارابيسك, DossierEmuleSZ, favorit, hareware, ماريو, ليمون, ice, ثلج, سيارة, FrameMaker, France, فرنسا, Freebox, Freehand, Frontpage, full, complete, ملىء, recyclebin, شكل بيضاوى, Full Trash, طرابيزه, مائده, تقديم, مطعم, سرير, اوضه, غرفه, bed, مفارش, مفرش, Gaim, remote, Garden , حديقه, ورد, زهره, منتزه, Generic , Germany, g, Ghana , globe, gnu_dip, مباراه, مكسب, ماتش, GoLive, gl, Good, google-earth, Google Talk, Grabit, عظمه, Graphics, Graphic, shape, مخروط, Graphics-Application, Graveur, Gravure, ويندور, اخضر, Growl, رعب, guide, guitarstrato, Half Life, halo, خليه, نحل, عسل, شمعدان, شمعه, hard disk, هارديسك, Hard-Drive, HautparleursSZ, HD OpenDrive Alt, HD Windows or Bootcamp, firewire, hdd-usb, HDDVD, HD-Firewire, HD-Network, HD-Removable, هلب, HD-Win, عجله, دراجه, date, calender, holmes, شخصيه, حذاء, ازياء, اتصال, home_telephone, ميعاد, مقابله, meeting, horn, بوق, فرقه, كافيتريا, مصيف, رمل, ساعه رمليه, hp, c, نظافه, e, جيتار, مساحه, ميجا, لوحه مفاتيح, key board, laptop, وحده, معالجه, MediaPlayer, فأره, Projector, Quicktime, سله محذوفات, Steam-Dock, Tower, وحده معاجه, uTorrent, Winamp, W, كتابه النصوص, ًw, النصوص, ْx, ُe, httrack, دب, IceCream, وجبه, ثعلب, facebook, flickr_, soup, technorati, tumblr, twitter, youtube, ziki, ford, Illustrator, برجل, هندسه, لون, incoming, InCopy, InDesign, Info, Info-Shield, insurance, دولار, $, عمله, Internal HD, iPhone, iPod, garden lantern, ISO, song, اغانىISO, يابان, tea, JEdit, كترول, سوبر ماريو, jo, K, kapsules, Kaspersky, Kazaa Media Desktop, بيانى, عيد, ميلاد, Kodak Easy Share, Korea_Republic, LabviewSZ, Last FM, Lego Digital Designer, Lightroom, Limewire, Linked In, in, مرئيه, تليفزيون, مشاهده, Livebox, Log Off, shutdown, coca cola, زجاجه, غطاء, Macromedia, Macromedia Director, Dreamweaver, Macromedia Fireworks, Macromedia Flash, Macromedia Freehand, تجاره, رفع, رافعه, states, Maintenance, make, manette, عيد مبلاد, قناع, MaskAI, robbort, MathML2, w3, validator, مطابق, المعايير, Maxthon, Maya, مايا, McAfee, m , virus, media-cilp, Megaupload, Memo, memory card, كارت, Messagerie, شكل, شبح, مكسيك, micro, اذاعه, رايو, microphone, Microsoft Antispyware, Microsoft Media Center, Microsoft Office Access, Microsoft Office Excel, Microsoft Office Frontpage, Microsoft Office Onenote, n, Microsoft Office Outlook, Microsoft Office Picture Manager, Microsoft Office PowerPoint, Microsoft Office Publisher, Microsoft Office Word, وورد, Microsoft Zune, Microsoft-Escell, Microsoft-Word, midi, Mighty Ducks, mightymouse, بيض, Mini_Plane, Mininova, minus, طرح, Mirc, MiseEnVeille, Moins, mon, girl, بنت, فستان, Motorola, 4, Mozilla , Mozilla Suite, Mozilla Thunderbird, player, MP3 Tag, mpeg, msdos, ماسنجر, multimedia, انسان الى, robort, my document, My Globe IM, Foobar Classic, Smart FTP, snitch, Snowflake, الثلج, Snowman, Sock, Software, Songbird, sonicstage, Sony Acid, Sony Ericsson, Sony Playstation, Sony Vaio Control Center, Sony Vegas, Sosogiguchi (cypress spout), SoulSeek, Soundbooth, sb, Spain, liux, speaker, راديوا, audio, انفجار, sportsbag, رحله, Spreadsheet, SpybotSZ, Srt-Sub, stack, StandBy, Star Wars, اطوال, Steam, Stockage, ايقاف, قف, Style XP, طالب, subscriptions, subwoofer, ردايو, suitcase, SVG1, Switch, -, Symbol-Construction, النظافه, _, System , contol, l, t, TableSZ, ترابيزه, اثاث, Tag, نبات, زرع, Task Schedule, Tasks, Tatami, سجاد, تلفون, منزلى, شركه, تلفزيون, Tentacles Folder, termi, جندى, Terminal, TheWorld, sms, ستاره, الرعب, ماسك, TheGimp, Theme, Thumbs_down, ابهام, Thumbs_Up, ThunderBirdSZ, Tidav, اضاءة, Tissue paper box, منديل, toothpaste, معجون, اسنان, Torrent, TorrentSZ, u, touch screen kiosk, touches, دعوه, عيدميلاد, برقيه, فرح, trackmania, Trash, نسكافيه, plant, نخله, bus, Traveler, ts, ttf, TuneUPSZ, TweakxpSZ, اله كاتبه, Ubuntu, UltraEdit, ue, UltraISO, Umbrella, umd, UMPC, Under-construction, usb, Utilities, اداة, vault, نقود, vbs, VectorNTISZ, تخطيط, veille, جارى التحميل, VeilleSZ, Version Cue, -video, VideoLan, VinyleSZ, ViOrb, Visio , VLC Media Player, Vroum, سباق, Walkman, اثار اقدام, Warning, Weather, الطقس, درجه الحراره, webcam, Webroot Spysweeper, Websites, Wiki, ادخال اوامر, Windows Restart, Windows Security, Windows Stand By, Windows Turn Off., WinMX, Winrar, Winzip, Wireless Card, Wizard, write-document, Wyzo, Xfire, xhtm, Xion Media Player, xml, XnView, Xoops, برج, مراقبه, Yahoo Widgets, z, ZoneAlarm, Zoom , robot, Paint , Panel Setting, panneau de configuration old school, papillon, Parapluie, ParfeuSZ, باب, door, Paste, pathing, Pause, pda , mobil, قلب حب, Peevish Parrot, pensieve, phone, دليل, تليفونات, ريشه, picasa, مخده, pinguim-root, pinguim-user, نباتات, Plus, P-madSZ, Podcast, عصفور, مركب, سيارات, portable, Portugal , power-mac, PowerPoint, Premier Pro, Presentation-Edit, طباعه, Private, Program Defaults, program-group, مشروع , PS3SZ, psp, PublisherSZ, purse, مرأة, QnextSZ, Quake, شيطان, Quark Express, Quicken, q, loding, radio, ram-driver, Real One, 1, Real Player, r, Reboot, Recent Document, RedemSZ, stand by, remote-control, Removable Drive, memory, Restart, اعاده تشغيل, rich-text-document, rmvb, Road Sign, RoboHelp, Rocketdock, Roxio Easy Media Creator, Rudolph, غزال, rocket, Run , Safari, اتجاهات, بنك, SamuSZ, cristmis, نويل, Saudi_Arabia, سيف, scanner, عرض, out, scanners-and-cameras, Scheduled Tasks, scheduled-tasks, Security , Sega, Select, serduchka, Server, سيرفر, Settings, Share, Shareaza, shared-music, shared-picturesايقونه, share-overlay, sharing, شرائح, SidaSZ, sign, SilverDreamweaverMX, SilverFireworksMX, SilverFlashMX, SilverFreehandM, sims, Smart , foobar2000, mask, MyArtPlot, asdas"; 

	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.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",searchfield);

