//sledvashtite funkcii se izpolzvat tursene na prouct prez AJAX, ala Google Suggest - ebalo si e mamata....
//performs the search
function do_AJX_search(elID, target_SDiv, target_subdiv)
{
var d = document;


xmlHttp = GetXmlHttpObject();

if (xmlHttp==null)
{
  alert ("Your browser does not support AJAX! Sorry."); return;
} 

var url="inc/ajax/SrchAutoComplete.php";
url = url + "?stext=" + d.getElementById(elID).value;

esc_url = encodeURI(url);

xmlHttp.onreadystatechange = function () { updResults(elID, target_SDiv, target_subdiv); }
//xmlHttp.onreadystatechange = updResults;
xmlHttp.open("POST", esc_url, true);
xmlHttp.send(null);

}

//obnoviava tablicata s rezultatite ot turseneto
function updResults(elID, target_SDiv, target_subdiv) 
{ 
var d = document;


//alert (xmlHttp.readyState);

	if (xmlHttp.readyState == 4)
	{ 
		ResponseText = xmlHttp.responseText;
		s_result = ResponseText;
  	if ( s_result.length )
  	{
	  	d.getElementById(target_subdiv).innerHTML = "";
			d.getElementById(target_subdiv).innerHTML = s_result;
			d.getElementById(target_SDiv).style.visibility = "visible";
	  }else{
	  	d.getElementById(target_subdiv).innerHTML = "";
			d.getElementById(target_SDiv).style.visibility = "hidden";	  
	  }
	}
}

//obslujva klavishite Up/Down
function handleArrowKeys(event, elID)
	{ 

target_SDiv = 'SDiv_results';
target_subdiv = 'subdiv_results';

			var d = document;

			var cursor = getCursor(elID, target_SDiv, target_subdiv);
			
						
			for ( i = 0; i < d.getElementById(target_SDiv).childNodes.length; i++ )
			{ 
				if (  d.getElementById(target_SDiv).childNodes[i].id == target_subdiv  ) 
				{ 
					var RODITEL = d.getElementById(target_SDiv).childNodes[i]; break;
				}
			
			}

			
			
			if (cursor != -1 && (event.keyCode == 40 || event.keyCode == 38))
			{

				if (event.keyCode == 40)
				{ 
					//alert ("Cursor: " + cursor + "\nArray length: " + RODITEL.childNodes.length );

					if (cursor == RODITEL.childNodes.length)
						RODITEL.childNodes[0].style.backgroundColor = "#a3ceff";
					else if (cursor < RODITEL.childNodes.length - 1)
					{
						RODITEL.childNodes[cursor].style.backgroundColor = "";
						RODITEL.childNodes[cursor + 1].style.backgroundColor = "#a3ceff";
					}
					else if (cursor == RODITEL.childNodes.length - 1)
					{
						RODITEL.childNodes[cursor].style.backgroundColor = "";
						RODITEL.childNodes[0].style.backgroundColor = "#a3ceff";
					}					
					
					
				}
				else
				{
					if (cursor > 0)
					{
						RODITEL.childNodes[cursor].style.backgroundColor = "";
						RODITEL.childNodes[cursor - 1].style.backgroundColor = "#a3ceff";
					}
					if (cursor == 0)
					{
						RODITEL.childNodes[0].style.backgroundColor = "";
						RODITEL.childNodes[RODITEL.childNodes.length - 1].style.backgroundColor = "#a3ceff";
					}					
				}
			}

		
		
	}

//namira kade e tekushtia cursor v rezultatite
function getCursor()
{
	
var d = document;	
		
		//alert (target_subdiv);
		
		if ( d.getElementById(target_subdiv).innerHTML.length == 0 )
			{
				d.getElementById('srchPID').value = '';
				return -1;
			}
		
		
		for ( i = 0; i < d.getElementById(target_SDiv).childNodes.length; i++ )
		{ 
			if (  d.getElementById(target_SDiv).childNodes[i].id == target_subdiv  ) 
			{ 
				var RODITEL = d.getElementById(target_SDiv).childNodes[i]; break;
			}
		
		}
		

		
		for ( i = 0; i < RODITEL.childNodes.length; i++ )
			{
			
			if ( RODITEL.childNodes[i].style && 
					( RODITEL.childNodes[i].style.backgroundColor == "#a3ceff" ||
					RODITEL.childNodes[i].style.backgroundColor == "rgb(163, 206, 255)" )
			   )
			   
			   { 
			   	d.getElementById('srchPID').value = RODITEL.childNodes[i].id; 
			   	return i;
			   }

	    }
		
		d.getElementById('srchPID').value = '';
		return RODITEL.childNodes.length;



}

//obslujva klavishite za tursene i aktivira izbora
function handleKeyUp(event, elID)
	{ 
		
target_SDiv = 'SDiv_results';
target_subdiv = 'subdiv_results';

try{
		
		var d = document;

		if ( js_trim(d.getElementById(elID).value).length < 3 ) 
		{   	
		d.getElementById(target_subdiv).innerHTML = "";
		d.getElementById(target_SDiv).style.visibility = "hidden";
		return; 
		}
		
		//tursene - natisnat e klavish razlichen ot strelkite i Enter
		if (event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13)
		{

			do_AJX_search(elID, target_SDiv, target_subdiv);

		}
		//natisnat Enter - pravim izbor
		else if (event.keyCode == 13)
		{
			var cursor = getCursor();
			
			for ( i = 0; i < d.getElementById(target_SDiv).childNodes.length; i++ )
			{ 
				if (  d.getElementById(target_SDiv).childNodes[i].id == target_subdiv  ) 
				{ 
					var RODITEL = d.getElementById(target_SDiv).childNodes[i]; break;
				}
			}
				
			if (cursor != -1 && cursor < RODITEL.childNodes.length)
			{
				//zarejdame izbranoto id na product v hidden poleto srchPID
				//d.getElementById('srchPID').value = RODITEL.childNodes[cursor].id;
				RODITEL.innerHTML = "";
				d.getElementById(target_SDiv).style.visibility = "hidden";
				
				//alert ( d.getElementById('srchPID').value) ;
			}
		}
	
	
}

catch(express){}
	
	}
	

//trim funkcia za Javascript

function js_trim(str)
{

var trimmed = str.replace(/^\s+|\s+$/g, '') ;

return trimmed;

}