//Copy Rights @ RK JS factory

RK_JS = {
	// auto search starts...
	XMLObject:"",auto_id: -1,autoText:"*", 
	getHttpObject : function(){ //for AJAX in auto search
		if(window.XMLHttpRequest){
			return new XMLHttpRequest();
		} else if(window.ActiveXObject) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		} else {
			return null;
		}
	},
	autoSearch : function(ev,box,k){ //search starts here
		var autoId=1;
		if(ev.keyCode == 13)
		{
			document.hsear.submit();
		}
		else if(ev.keyCode == 27){
			RK_JS.autoClose();
		}else if(ev.keyCode == 40){ 
			if(k == 0 ) { if(navigator.appName == "Mozilla" || navigator.appName == "Firefox" ){ exit(); } } // for double jumping modified on 16-09-2010
			if(RK_JS.auto_id >= 0 && document.getElementById("au"+(RK_JS.auto_id+1)+"")){
				RK_JS.auto_id++;
				while(document.getElementById("au"+autoId+"")){
					if(autoId == RK_JS.auto_id){
						document.getElementById("au"+autoId+"").style.background = "#CCCCCC";
						box.value = document.getElementById("auv"+autoId+"").value;
						box.focus();
					}else{
						document.getElementById("au"+autoId+"").style.background = "#FFFFFF";
					}
					autoId++;
				}
			}
		}else if (ev.keyCode == 38){
			if(k == 0 ) { if(navigator.appName == "Mozilla" || navigator.appName == "Firefox" ){ exit(); } } // for double jumping modified on 16-09-2010			
			if(RK_JS.auto_id >=1 && document.getElementById("au"+(RK_JS.auto_id-1)+"")){
			RK_JS.auto_id--;
			while(document.getElementById("au"+autoId+"")){
					if(autoId == RK_JS.auto_id){
						document.getElementById("au"+autoId+"").style.background = "#CCCCCC";
						box.value = document.getElementById("auv"+autoId+"").value;
						box.focus();
					}
					else{
						document.getElementById("au"+autoId+"").style.background = "#FFFFFF";
					}
					autoId++;
				}
			}
		}
		else
		{
			if(box.value != "" ){
				if(RK_JS.autotext == "*" || RK_JS.autoText != box.value){
					RK_JS.autoOpen();
				}
			}else{	
				RK_JS.autoClose();
			}
		}
	},
	autoOpen : function(){ //main action for auto search
		var posX = 0, posY = 0, autoUrl, t1 = t = document.getElementById("com_search");
		if(navigator.appName == "Mozilla" || navigator.appName == "Firefox" || navigator.appName == "Netscape"  )
		 {  posY =0;}
		 else { posY = -20; }
		RK_JS.autoText = t.value;
		RK_JS.auto_id = 0;
		if(!document.getElementById("resultDiv")){
			var resultDiv = document.createElement("div"), conDiv = document.createElement("div"), bodyt = document.getElementsByTagName("body").item(0);
			resultDiv.id = "resultDiv";
			posY += t1.offsetHeight;
			do{
				posX += parseInt(t1.offsetLeft);
				posY += parseInt(t1.offsetTop);
				t1 = t1.offsetParent;
			} while(t1.offsetParent);
			resultDiv.style.width = (t.offsetWidth-7)+"px";
			resultDiv.style.left = posX+"px";
			resultDiv.style.top = posY+"px";
			bodyt.appendChild(resultDiv);
			bodyt.onclick = function() { RK_JS.autoClose(); };
		}
	RK_JS.XMLObject = RK_JS.getHttpObject();
	if(RK_JS.XMLObject != null){
	    autoUrl = "search.php?q="+t.value;
		RK_JS.XMLObject.open("GET",autoUrl,true);
		RK_JS.XMLObject.send(null);
		RK_JS.XMLObject.onreadystatechange = RK_JS.searchOutput;
		}
	},
	searchOutput : function(){ //displaying the search results
	    if(RK_JS.XMLObject.readyState == 1 || RK_JS.XMLObject.readyState == 2 || RK_JS.XMLObject.readyState == 3){
				
			}
		 
		
		if(RK_JS.XMLObject.readyState == 4){
							if(document.getElementById("resultDiv")){
				document.getElementById("resultDiv").innerHTML = RK_JS.XMLObject.responseText;
			}
		}	
	},
	autoClose : function(){ //close the search result
		RK_JS.auto_id = -1;
		RK_JS.autoText = "*";
		while(document.getElementById("resultDiv")){
			document.getElementsByTagName("body").item(0).removeChild(document.getElementById("resultDiv"));
		}
	},
	autoSearchClick: function(){
		window.location="advsearch.php?keys="+document.getElementById("com_search").value;
	}
	// auto search 
};

