	/************************************************************************************************************
	(C) www.dhtmlgoodies.com, April 2006
	
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	
	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.
	
	Thank you!
	
	www.dhtmlgoodies.com
	Alf Magne Kalleland
	
	************************************************************************************************************/	

	var ajaxBox_offsetX = 0;
	var ajaxBox_offsetY = 0;
	var ajax_list_externalFile_sales = 'index.php?method=salesearch';	// Path to external file
	var minimumLettersBeforeLookup = 2;	// Number of letters entered before a lookup is performed.
	
	var ajax_list_objects_sales = new Array();
	var ajax_list_cachedLists_sales = new Array();
	var ajax_list_activeInput_sales = false;
	var ajax_list_activeItem_sales = null;
	var ajax_list_optionDivFirstItem_sales = false;
	var ajax_list_currentLetters_sales = new Array();
	var ajax_optionDiv_sales = false;
	var ajax_optionDiv_sales_iframe = false;

	var ajax_list_MSIE = false;
	if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)ajax_list_MSIE=true;
	
	var currentListIndex = 0;
	
	function ajax_getTopPos_sales(inputObj)
	{
		
	  var returnValue = inputObj.offsetTop;
	  while((inputObj = inputObj.offsetParent) != null){
	  	returnValue += inputObj.offsetTop;
	  }
	  return returnValue;
	}
	function ajax_list_cancelEvent()
	{
		return false;
	}
	
	function ajax_getLeftPos(inputObj)
	{
	  var returnValue = inputObj.offsetLeft;
	  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
	  
	  return returnValue;
	}
	
	function ajax_option_setValue_sales(e,inputObj)
	{

		if(!inputObj)inputObj=this;

		//var tmpValue = inputObj.innerHTML;
		// if(ajax_list_MSIE)
			// tmpValue = inputObj.innerText;
		// else 
			// tmpValue = inputObj.textContent;

		// if(!tmpValue)
			// tmpValue = inputObj.innerHTML;

		// All above lines commented out by Greg for VI - so we can have detail alongside the model, we put the model into the DIV title 
		// otherwise just getting the DIVs innerHTML will return the model AND the description - which is useless!
		var tmpValue = inputObj.title;
		ajax_list_activeInput_sales.value = tmpValue;

		if(document.getElementById(ajax_list_activeInput_sales.name + '_hidden'))
			document.getElementById(ajax_list_activeInput_sales.name + '_hidden').value = inputObj.id; 
		ajax_options_hide_sales();
		//alert(document.getElementById("hireSearch").value);
		//document.hireSearch.submit();
		if(document.getElementById("search_sales_1")&&(document.getElementById("search_sales_1").value!=''&&document.getElementById("search_sales_1").value!='Sales Product Search'))document.getElementById("salesSearch_1").submit();
		if(document.getElementById("search_sales_2")&&(document.getElementById("search_sales_2").value!=''&&document.getElementById("search_sales_2").value!='Sales Product Search'))document.getElementById("salesSearch_2").submit();

	}
	
	function ajax_options_hide_sales()
	{
				
		if(ajax_optionDiv_sales)
			ajax_optionDiv_sales.style.display='none';	
		if(ajax_optionDiv_sales_iframe)
			ajax_optionDiv_sales_iframe.style.display='none';
	}

	function ajax_options_rollOverActiveItem_sales(item,fromKeyBoard) {
		if(ajax_list_activeItem_sales)
			ajax_list_activeItem_sales.className='optionDiv';
		item.className='optionDivSelected';
		ajax_list_activeItem_sales = item;
		
		if(fromKeyBoard){
			if(ajax_list_activeItem_sales.offsetTop>ajax_optionDiv_sales.offsetHeight){
				ajax_optionDiv_sales.scrollTop = ajax_list_activeItem_sales.offsetTop - ajax_optionDiv_sales.offsetHeight + ajax_list_activeItem_sales.offsetHeight + 2 ;
			}
			if(ajax_list_activeItem_sales.offsetTop<ajax_optionDiv_sales.scrollTop)
			{
				ajax_optionDiv_sales.scrollTop = 0;	
			}
		}
	}
	
	function imgReplace(id){
	
		var img = document.getElementById(id);
		img.src="images/nophoto_75x75.jpg";
	}

	function ajax_option_list_buildList_sales(letters,paramToExternalFile) {

		ajax_optionDiv_sales.innerHTML = '';
		ajax_list_activeItem_sales = false;
		if(ajax_list_cachedLists_sales[paramToExternalFile][letters.toLowerCase()].length<=1){
			ajax_options_hide_sales();
			return;			
		}
		
		ajax_list_optionDivFirstItem_sales = false;
		var optionsAdded = false;
		for(var no=0;no<ajax_list_cachedLists_sales[paramToExternalFile][letters.toLowerCase()].length;no++){
			if(ajax_list_cachedLists_sales[paramToExternalFile][letters.toLowerCase()][no].length==0)continue;
			optionsAdded = true;
			var div = document.createElement('DIV');
			var items = ajax_list_cachedLists_sales[paramToExternalFile][letters.toLowerCase()][no].split(/###/gi);
			
			//Further split added by Greg for VI
			var descriptions = items[items.length-1].split(/#~#/gi);
			
			if(ajax_list_cachedLists_sales[paramToExternalFile][letters.toLowerCase()].length==1 && ajax_list_activeInput_sales.value == items[0]){
				ajax_options_hide_sales();
				return;						
			}
			
			var imgPath ="http://www.ovi1.net/images/Products/" + descriptions[2] +"/P" + items[0] + "_T00.jpg";
			
			div.innerHTML = "<div style='border-bottom:1px solid #f2f2f2;'><img id='" + items[0] + "search' src='" + imgPath +"' width='40px' onError=\"imgReplace('" + items[0] + "search');\" style='margin-right: 3px;'><span style='width: 30px; vertical-align:top;'>" + descriptions[0] + "</span><span style='position: absolute; left: 220px; overflow:hidden; height:40px'>" + descriptions[1] + "</span></div>";
			div.title = descriptions[0]; //ADDED BY GREG FOR VI OTHERWISE WHEN WE SELECT THE ITEM, IT TAKES THE MODEL *AND* DESCRIPTION
				//ALSO HAD TO MAKE CHANGES IN ajax_option_setValue_sales
			div.id = items[0]; 
			div.className='optionDiv';
			div.onmouseover = function(){ ajax_options_rollOverActiveItem_sales(this,false) }
			
			
			
			
			
			div.onclick = ajax_option_setValue_sales;
			
			
			if(!ajax_list_optionDivFirstItem_sales)
				ajax_list_optionDivFirstItem_sales = div;
			ajax_optionDiv_sales.appendChild(div);
		}	

		if(optionsAdded){
			
			ajax_optionDiv_sales.style.display='block';
			if(ajax_optionDiv_sales_iframe)
				ajax_optionDiv_sales_iframe.style.display='';
			//************************************************next line commented by Greg
			//ajax_options_rollOverActiveItem_sales(ajax_list_optionDivFirstItem_sales,true);
		}
					
	}
	
	function ajax_option_list_showContent_sales(ajaxIndex,inputObj,paramToExternalFile,whichIndex)
	{

		if(whichIndex!=currentListIndex)return;
		var letters = inputObj.value;
		
		var content = ajax_list_objects_sales[ajaxIndex].response;

		var elements = content.split('|');
		ajax_list_cachedLists_sales[paramToExternalFile][letters.toLowerCase()] = elements;
		ajax_option_list_buildList_sales(letters,paramToExternalFile);
		
	}
	
	function ajax_option_resize_sales(inputObj)
	{
		ajax_optionDiv_sales.style.top = (ajax_getTopPos_sales(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';
		ajax_optionDiv_sales.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';
		if(ajax_optionDiv_sales_iframe){
			ajax_optionDiv_sales_iframe.style.left = ajax_optionDiv_sales.style.left;
			ajax_optionDiv_sales_iframe.style.top = ajax_optionDiv_sales.style.top;			
		}		
		
	}
	
	function ajax_showOptions_sales(inputObj,paramToExternalFile,e,boxw) //boxw added by Greg for VI
	{

		if (boxw=='undefined') boxw=0;
		if(e.keyCode==13 || e.keyCode==9)return;
		
		if(ajax_list_currentLetters_sales[inputObj.name]==inputObj.value)return;
		if(!ajax_list_cachedLists_sales[paramToExternalFile])ajax_list_cachedLists_sales[paramToExternalFile] = new Array();
		ajax_list_currentLetters_sales[inputObj.name] = inputObj.value;
		if(!ajax_optionDiv_sales){
			ajax_optionDiv_sales = document.createElement('DIV');
			ajax_optionDiv_sales.id = 'ajax_listOfOptions';	
			document.body.appendChild(ajax_optionDiv_sales);
			
			if(ajax_list_MSIE){
				ajax_optionDiv_sales_iframe = document.createElement('IFRAME');
				ajax_optionDiv_sales_iframe.border='0';
				ajax_optionDiv_sales_iframe.style.width = ajax_optionDiv_sales.clientWidth + 'px';
				ajax_optionDiv_sales_iframe.style.height = ajax_optionDiv_sales.clientHeight + 'px';
				ajax_optionDiv_sales_iframe.id = 'ajax_listOfOptions_iframe';
				
				document.body.appendChild(ajax_optionDiv_sales_iframe);
			}
			
			var allInputs = document.getElementsByTagName('INPUT');
			for(var no=0;no<allInputs.length;no++){
				if(!allInputs[no].onkeyup)allInputs[no].onfocus = ajax_options_hide_sales;
			}			
			var allSelects = document.getElementsByTagName('SELECT');
			for(var no=0;no<allSelects.length;no++){
				allSelects[no].onfocus = ajax_options_hide_sales;
			}



			var oldonmouseup = document.body.onmouseup;

			if(typeof oldonmouseup!='function'){

				document.body.onmouseup=ajax_option_keyNavigation_sales;
			}else{

				document.body.onmouseup=function(){
					oldonmouseup();
				ajax_option_keyNavigation_sales() ;}
			}
			
			
			var oldonkeydown=document.body.onkeydown;
			if(typeof oldonkeydown!='function'){
				document.body.onkeydown=ajax_option_keyNavigation_sales;
			}else{
				document.body.onkeydown=function(){
					oldonkeydown();
				ajax_option_keyNavigation_sales() ;}
			}
			
			

			

			
			
			
			
			var oldonresize=document.body.onresize;
			if(typeof oldonresize!='function'){
				document.body.onresize=function() {ajax_option_resize_sales(inputObj); };
			}else{
				document.body.onresize=function(){oldonresize();
				ajax_option_resize_sales(inputObj) ;}
			}
				
		}
		
		if(inputObj.value.length<minimumLettersBeforeLookup){
			ajax_options_hide_sales();
			return;
		}
	
		ajax_optionDiv_sales.style.top = (ajax_getTopPos_sales(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';
		ajax_optionDiv_sales.style.width = boxw + 'px';
		ajax_optionDiv_sales.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';
		if(ajax_optionDiv_sales_iframe){
			ajax_optionDiv_sales_iframe.style.left = ajax_optionDiv_sales.style.left;
			ajax_optionDiv_sales_iframe.style.top = ajax_optionDiv_sales.style.top;			
		}
		
		ajax_list_activeInput_sales = inputObj;
		ajax_optionDiv_sales.onselectstart =  ajax_list_cancelEvent;
		currentListIndex++;
		if(ajax_list_cachedLists_sales[paramToExternalFile][inputObj.value.toLowerCase()]){
			
			ajax_option_list_buildList_sales(inputObj.value,paramToExternalFile,currentListIndex);	

		}else{

			var tmpIndex=currentListIndex/1;
			ajax_optionDiv_sales.innerHTML = '';
			var ajaxIndex = ajax_list_objects_sales.length;
			ajax_list_objects_sales[ajaxIndex] = new sack_sales();
			var url = ajax_list_externalFile_sales + '&' + paramToExternalFile + '=1&letters=' + inputObj.value.replace(" ","+");
			ajax_list_objects_sales[ajaxIndex].requestFile = url;	// Specifying which file to get

			ajax_list_objects_sales[ajaxIndex].onCompletion = function(){ 
			
			ajax_option_list_showContent_sales(ajaxIndex,inputObj,paramToExternalFile,tmpIndex); 
			
			};	// Specify function that will be executed after file has been found
			//alert(11111);
			ajax_list_objects_sales[ajaxIndex].runAJAX();		// Execute AJAX function

		}
		
			
	}
	
	function ajax_option_keyNavigation_sales(e)
	{
		if(document.all)e = event;
		
		if(!ajax_optionDiv_sales)
			return;
		if(ajax_optionDiv_sales.style.display=='none')
			return;
				
		if(e.keyCode==38){	// Up arrow
			if(!ajax_list_activeItem_sales)return;
			if(ajax_list_activeItem_sales && !ajax_list_activeItem_sales.previousSibling)return;
			ajax_options_rollOverActiveItem_sales(ajax_list_activeItem_sales.previousSibling,true);
		}
		
		if(e.keyCode==40){	// Down arrow
			if(!ajax_list_activeItem_sales){
				ajax_options_rollOverActiveItem_sales(ajax_list_optionDivFirstItem_sales,true);
			}else{
				if(!ajax_list_activeItem_sales.nextSibling)return;
				ajax_options_rollOverActiveItem_sales(ajax_list_activeItem_sales.nextSibling,true);
			}
		}

		
		
		if(e.keyCode==13 || e.keyCode==9) {	// Enter key or tab key

			if (!ajax_list_activeItem_sales) {
				ajax_options_hide_sales();	
				return true;
			}

			if(ajax_list_activeItem_sales && ajax_list_activeItem_sales.className=='optionDivSelected')
				ajax_option_setValue_sales(false,ajax_list_activeItem_sales);
			if(e.keyCode==13)
				return true; 
			else 
				return true;

		}
		if(e.keyCode==27){	// Escape key
			ajax_options_hide_sales();			
		}
		
		
	}
	
	
	document.documentElement.onclick = autoHideList;
	
	
	function autoHideList(e)
	{
		if(document.all)e = event;
		
		if (e.target) source = e.target;
			else if (e.srcElement) source = e.srcElement;
			if (source.nodeType == 3) // defeat Safari bug
				source = source.parentNode;		
		if(source.tagName.toLowerCase()!='input' && source.tagName.toLowerCase()!='textarea')ajax_options_hide_sales();
		
		//document.all.submit();
	}
