var tAS = -1;

jQuery.noConflict();

jQuery(document).ready(function(){

	var Sprak_Suffix = jQuery("#Sprak_Suffix").val();
	var BeskrArtgr = "";
	var BeskrVarum = "";
	if (Sprak_Suffix == "SV")
	{
			BeskrArtgr = "Artikelgrupper...";
			BeskrVarum = "Varumärken...";
	}
	else if (Sprak_Suffix == "EN")
	{
			BeskrArtgr = "Groups...";
			BeskrVarum = "Brands...";
	}	
	
	
	jQuery("#sokterm").keyup(function(e) {
		var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
 		if ((key != 38) && (key != 40) && key != 13)
		{
			var chars = jQuery("#sokterm").val();
			if (chars == "ä"){chars = '-a';}
			if (chars != '')
			{
				chars = chars.toLowerCase();
				
			 	var url = '/cgi-bin/ibutik/xml.pl?funk=as_fil&chars='+ chars + '&Sprak_Suffix=' + Sprak_Suffix;
				
				jQuery.get(url,function(data){
					var elementCount = data.getElementsByTagName('artikel').length;
					var varumCount = data.getElementsByTagName('varumarke').length;
					var artgrpCount = data.getElementsByTagName('artikelgrupp').length;
					var container = document.getElementById("LSS_Result");
					var result = false;
					if (container)
					{
						container.innerHTML = '';
					}
					var ul = document.createElement("ul");
					if ((elementCount > 0) && (container))
					{
					
						
						for (var i = 0; i < elementCount;i++)
						{
							
							var beskr = "";
							
							var knappar = "";
							if (data.getElementsByTagName('artikel')[i].childNodes[0].textContent)
							{
								beskr = data.getElementsByTagName('artikel')[i].childNodes[0].textContent;
								knappar = data.getElementsByTagName('artikel')[i].childNodes[1].textContent;	
							}
							else
							{
								beskr = data.getElementsByTagName('artikel')[i].childNodes[0].text;
								knappar = data.getElementsByTagName('artikel')[i].childNodes[1].text;
							}
							
							
							var li = document.createElement("li");
							li.id = 'LSS_Artikel_' + i;
							if (i == 0)
							{
								li.className = "LSS_First";
							}				
							else if ((i+1) == elementCount)
							{						
								li.className = "LSS_Last";
							}
							else
							{
								li.className = "LSS_Artikel";
							}	
							
							li.innerHTML = '<span>'+beskr+'</span>' + knappar;						
							addEvent(li,"click",LSS_SelectIt);
							addEvent(li,"mouseover",LSS_HoverIt);						
							
							ul.appendChild(li);
						
							result = true;
							
							
							
							
						}
						
						
				 	}
				 	if ((varumCount > 0) && (container))
				 	{
				 		var liDivider = document.createElement("li");
				 		liDivider.className = "LSS_Divider";
				 		liDivider.innerHTML = BeskrVarum;
				 		ul.appendChild(liDivider);
				 			
				 		for(var i = 0;i < varumCount;i++)
				 		{
					 		var varum = data.getElementsByTagName('varumarke')[i].childNodes[0].nodeValue;
							var liV = document.createElement("li");
							liV.id = data.getElementsByTagName('varumarke')[i].attributes.getNamedItem("id").value;;
							liV.innerHTML = varum;
							
							addEvent(liV,"mouseover",LSS_HoverIt);
							addEvent(liV,"click",LSS_SelectItVarum);
					 		ul.appendChild(liV)
				 		}
				 		
				 		result = true;
	
				 	}
				 	
 				 	if ((artgrpCount > 0) && (container)) 
 				 	{ 
 				 		var liDivider = document.createElement("li"); liDivider.className = "LSS_Divider";
						liDivider.innerHTML = BeskrArtgr; 
						ul.appendChild(liDivider);
   				 	for(var i = 0;i < artgrpCount;i++) 
   				 	{ 
   				 		var artgrp =data.getElementsByTagName('artikelgrupp')[i].childNodes[0].nodeValue;
    				 	var liA = document.createElement("li"); 
    				 	liA.id = data.getElementsByTagName('artikelgrupp')[i].attributes.getNamedItem("id").value; 
    				 	liA.innerHTML = data.getElementsByTagName('artikelgrupp')[i].attributes.getNamedItem("path").value;
						 	addEvent(liA,"mouseover",LSS_HoverIt);
						 	addEvent(liA,"click",LSS_SelectItArtgrp); 
						 	ul.appendChild(liA) 
						} 
				 	 result= true;
				 	}
	
				 	if (result)
				 	{
				 		container.appendChild(ul);
				 		jQuery("#LSS_Result").show();
				 	}
				 	else
				 	{
						jQuery("#LSS_Result").hide();
				 	}					
				});
			}
			else
			{
				jQuery("#LSS_Result").hide();
			}
		}
		
	
		
	});
	
	jQuery("#sokterm").keydown(function(e) {
		var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
		
		if ((key == 38) || (key == 40))
		{
			if (key == 40)
			{
				tAS++;
			}
			else
			{
				tAS--;
			}
			//alert(tAS);
			var container = document.getElementById("LSS_Result");
			var elements = container.getElementsByTagName("ul");
			if (elements.length > 0)
			{
				var ulResult = elements[0];
				if (ulResult)
				{
					var lis = ulResult.getElementsByTagName("li");
					if(lis.length>0)
					{
						for (var i = 0; i < lis.length;i++)
						{
							var hoverExp = new RegExp("(^|\\s)LSS_Hover(\\s|$)");
							
							var li = lis[i];
							
							if (i == tAS)
							{
								li.className += " LSS_Hover";
								var dividerExp = new RegExp("(^|\\s)LSS_Divider(\\s|$)");	
								
								if (!dividerExp.test(li.className))
								{ 
									var allHTML = li.innerHTML.toLowerCase();
									
									var start = 0;
									var stopp = allHTML.indexOf('<div class=');
									
									var sokterm = '';
									if (stopp > 0)
									{
									   sokterm = allHTML.substr(start,stopp).replace(/^\s+|\s+$/g, '');
									}
									else
									{
										sokterm = allHTML;
									}
									sokterm = sokterm.replace('<span>','');
									sokterm = sokterm.replace('</span>','');
									sokterm = sokterm.replace('<br>','');
									sokterm = sokterm.replace("&amp;", '&');
									jQuery("#sokterm").val(sokterm);
								}
								else
								{
									jQuery("#sokterm").val("");
								}
							}
							else
							{
								li.className = li.className.replace(hoverExp,'$1 $2');
							}
							
						}
					}
				}
			}
		}
		else
		{
			tAS = -1;
		}

	});
	
	jQuery("form:first").submit(function() {
		if (jQuery("#sokterm").val() != '')
		{
			return true;
		}
		return false;
	});
	
	jQuery(document).click(function(){
		jQuery("#LSS_Result").hide();
	});	
	
});

LSS_HoverIt = function()
{
	this.className += " LSS_Hover";  
	addEvent(this,"mouseout",function(){
		var liClass = new RegExp("(^|\\s)LSS_Hover(\\s|$)");
		this.className = this.className.replace(liClass,'$1 $2');
	});
}



LSS_SelectIt = function()
{
	var allHTML = this.innerHTML.toLowerCase();
	
	var start = 0;
	var stopp = allHTML.indexOf('<div class=');
	if (stopp)
	
	var sokterm = '';
	if (stopp > 0)
	{
	   sokterm = allHTML.substr(start,stopp).replace(/^\s+|\s+$/g, '');
	}
	else
	{
		sokterm = allHTML.replace(/^\s+|\s+$/g, '');;
	}
	sokterm = sokterm.replace('<span>','');
	sokterm = sokterm.replace('</span>','');
	sokterm = sokterm.replace('<br>','');
	sokterm = sokterm.replace("&amp;", '&');
	
	jQuery("#sokterm").val(sokterm);
	
	if (jQuery("#sokterm").val() != '')
	{
		document.LSS_Sok.submit();
	}
	
}

LSS_SelectItVarum = function()
{
	var sokterm = this.innerHTML;
	var varum = this.id.split('_');
	document.getElementById('varum').value=varum[1];
	
	
	jQuery("#sokterm").val(sokterm);
	
	if (jQuery("#sokterm").val() != '')
	{
		document.LSS_Sok.submit();
	}
	
}
LSS_SelectItArtgrp = function()
{
	var sokterm = this.innerHTML;
	var artgrp = this.id.split('_');
	document.getElementById('artgrp').value=artgrp[1];
	
	
	jQuery("#sokterm").val(sokterm);
	
	if (jQuery("#sokterm").val() != '')
	{
		document.LSS_Sok.submit();
	}
	
}
addEvent = function(obj, type, fn)
{
	if (obj.addEventListener)
		obj.addEventListener(type, fn, false);
	else 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]);
	}
}
	
function removeEvent( obj, type, fn ) 
{
	if ( obj.detachEvent ) 
	{
	  obj.detachEvent( 'on'+type, obj[type+fn] );
	  obj[type+fn] = null;
	} 
	else
	  obj.removeEventListener( type, fn, false );
}






