function sl(id) { return document.getElementById(id); }

var b1=0; 
function show(el){
	if(el=="keyboard" && b1==0){
		sl('keyboard-add').style.background='url("i/keyboard_add.png") no-repeat bottom right';		   b1=1;	
		$('#k').slideDown("slow");		
	}
	else if(el=="keyboard" && b1==1){
		sl('keyboard-add').style.background='url("i/keyboard_add.png") no-repeat top right';	   	   b1=0;
		$('#k').slideUp("slow");	
	}	
	
	sl('sbi').focus();	
}

function wr(item){
var input=sl('sbi');
input.style.direction="rtl";
input.focus();
if (input.setSelectionRange) {
var srt = input.selectionStart;
var len = input.selectionEnd;
if (srt < len) srt++;
input.value = input.value.substr(0,srt)+item+input.value.substr(len);
input.setSelectionRange(srt+1,srt+1);
}
else{
var range=document.selection.createRange();
range.text=item;}
input.focus();
input.scrollTop = input.scrollHeight;	
}

function installSearch() {
 if (window.external && ("AddSearchProvider" in window.external)) {
   // Firefox 2 and IE 7, OpenSearch
   window.external.AddSearchProvider("http://www.arabic-keyboard.org/search/opensearch.xml");
 }
}
function hideSearch(){
	$('#opensearch').fadeOut('slow');
	$.cookie("hide", "yes", { expires: 7 });
	}

function op(el){
	var input=sl("sbi").value;
	var encode = encodeURI(input);
 if(el=="back"){
 		var target = sl("sbi");
		target.focus();
        if (target.setSelectionRange) {
         var srt = target.selectionStart;
         var len = target.selectionEnd;
        if (srt < len) srt++;
         target.value = target.value.substr(0, srt - 1) + 
		 target.value.substr(len);
         target.setSelectionRange(srt - 1, srt - 1);
		 target.focus();
        } else 
		if (target.createTextRange) {
		 self.VKI_range = document.selection.createRange();
         try { self.VKI_range.select(); } 
		catch(e) {}
		  self.VKI_range = document.selection.createRange();
          if (!self.VKI_range.text.length) 
		  self.VKI_range.moveStart('character', -1);
          self.VKI_range.text = "";
		  target.focus(); }	
		else target.value = target.value.substr(0, target.value.length - 1);
		     target.focus();
			return true;
 
  }
  else if(el=="search"){  
	sl("sbi").value = input;
	
  }
  else if(el=="google"){
	MeinFenster = window.open("http://www.arabic-keyboard.org/search/?cx=partner-pub-1712545686841324%3Avo83cg-ig7m&cof=FORID%3A9&ie=UTF-8&q="+encode);
   }
    else{
  MeinFenster = window.open("http://www.youtube.com/results?search_type=&search_query="+encode);
  }
}
 

function trans(p){
var en2ar=new Array(
	"W","ً",
	"3","ع",
	"a","ا",  
	"b","ب","p","ب",  
	"t","ت",
	"7","ح",
	"c","ث","سس","ث","ت'","ث",  
	"j","ج",
	"ح'","خ","x","خ","5","خ",
	"k","ك",  
	"d","د",  
	"د'","ذ", 
	"r","ر",  
	"z","ز","ر'","ز",  "R","ز",
	"s","س", 
	"ثه","ش","س'","ش",
	"S","ص","9","ص",
	"ص'","ض","D","ض","9'","ض",
	"T","ط","6","ط",
	"ط'","ظ","Z","ظ", 
	"ع'","غ","gه","غ","ع'","غ","gه","غ",
	"f","ف","v","ف",
	"ك'","ق","K","ق","q","ق", 
	"l","ل",
	"m","م",
	"n","ن",
	"h","ه",
	"w","و","o","و","u","و",
	"y","ي","i","ي",
	"e","آ",
	"و'","ؤ","وء","ؤ",
	"ءي","ئ","ء#","ئ", "ي'","ئ",
	"#","ى", "آآ","ى", 
	"اءء","إ","I","إ","A","إ",
	"ءا","أ","ا'","أ",
	"_","ـ",
	"2","ء","-","ء",
	"ه'","ة", "H","ة",
	//7arakat
	"ا=","َ", 
	"و=","ُ", 
	"ي=","ِ",
	"ون=","ٌ",
	"ين=","ٍ",
	"ان=","ً",
	"1","أ",
	"ءءء","ــــــ"
);
 
	
	
	for(i=0;i<en2ar.length;i=i+2){
		p=p.replace(en2ar[i],en2ar[i+1]);
	}
	return p;
	
}	 
 

this.searchfield = function(){
	
	var suggestion = true;
	var suggestionText =""; 	
	var field = sl("sbi");	
	var jfield =$("#sbi");
	var classInactive = "sf_inactive";
	var classActive = "sf_active";
	var classText = "sf_text";
	var list=sl('liste');

	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;  
		
			
		};
		field.onblur = function(){
			this.className = (this.value != "") ? this.c + " " +  classText : this.c + " " +  classInactive;
			clearList();
		};
		if (suggestion){
			
			var selectedIndex = 0;
			
			field.setAttribute("autocomplete", "off");
			field.onkeypress = function(e){
				
				var key = getKeyCode(e);
		
				if(key == 13){ // enter
					selectList();						
					selectedIndex = 0;
					clearList();
					return true;
				};	
			};
			
			
			jfield.bind("keyup", 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"); 
					selectList(this.i);	
					break;
				case 40: // down
					navList("down");
					selectList(this.i);						
					break;
				default:
				
					ajax();		
								
					break;
				};
			});
			
			function ajax(){	
				$.ajax({
				   type: "GET",
				   url: "/function/hole.php",
				   data: "q1="+encodeURI(field.value)+"&q2="+trans(trans(field.value)), 
				   success: function(msg){
				   suggestionText=msg;
				   startList();
					
				   }
				});
			}
			
			this.startList = function(){
				var arr = getListItems(field.value);
				if(field.value.length > 0 && field.value.length<30){
					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);	
							sl('cse-search-box').submit();
							clearList();
							return false;
						};					
						li.appendChild(a);
						list.setAttribute("tabindex", "-1");
						list.appendChild(li);	
					};	
					$('.sf_suggestion ul').slideDown("fast");			
				} 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;
			
			};			
			
		};
	};
	
	this.clearList = function(){
		if(list){ 
			$('.sf_suggestion ul').fadeOut("fast");
			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);


function change(inhalt,no,a){
	sl('cse-search-box').action=inhalt;
	sl('bild').src=no;
	sl('sbi').focus();
	var El=sl('auswahl').getElementsByTagName("a")
	var c=El.length;
	for(i=0; i<c; i++ ){
	El[i].style.borderBottom="0px solid #fff";
	El[i].style.color="#999";}
	a.style.borderBottom="2px solid #FF3333";
	a.style.color="#444"; 
}
function search_google(){
	sl('sbi').value=sl('f-input').value;
	sl('cse-search-box').submit();

}

jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); 
        }
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { 
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
						if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

var timeout    = 300; //dropdown hide
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
    ddmenuitem = $(this).find('ul').css('visibility', 'visible');
}
function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}
function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}
function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}
	  
$(document).ready(function() {				

	$('#nav > li').bind('mouseover', jsddm_open);
	$('#nav > li').bind('mouseout',  jsddm_timer);  
		
	sl('sbi').focus();		
	
	/*
	if($.cookie("hide")!="yes"){
		if ( ($.browser.msie && $.browser.version.substr(0,3)>7.0) ||
			( $.browser.mozilla && $.browser.version.substr(0,3)>=1.5) ){
			$('#opensearch').show();
			}
	}
	*/
	 
				
});


