

		{hp.users=function(){
			var oR=hp.http.conn(),bSuggested=false;
			var str = ""
			return {
				attach:function(){
					
					
					hp.utils.addEvent(hp.utils.get('searchBox'),'keyup',hp.users.autocheck);
					hp.utils.addEvent(hp.utils.get('userSearchBtn'),'click',hp.users.search);
					/*hp.utils.get('underlay').addEventListener('click',function (e) {
						hp.utils.get('oUserSuggestBox').style.display = 'none';
						hp.utils.get('underlay').style.display = 'none';
					},true);*/

				},

				
				autocheck: function(e){
					
					var oT=hp.utils.get('searchBox'),oSB=hp.utils.get('oUserSuggestBox');
					var nKey=e.keyCode;

					if(!hp.utils.isInvalidKey(nKey)){;

						hp.http.loading('');
						
						//delete excess spaces
						var param = this.value;
						while (param.search("  ") != -1){
						
							param = param.replace("  "," ");
						}

						if(param.length>2){
						oR.open("get","/get/users/suggest/?s="+param,true);
							oR.onreadystatechange=function() {
								if (oR.readyState==4&&oR.status==200) {
									
									response = oR.responseText;
									
									
									while(response.search("&#") != -1){
									
										response = response.replace("&#180;","´");
										
										response = response.replace("&#192;","À");
										response = response.replace("&#193;","Á");
										response = response.replace("&#194;","Â");
										response = response.replace("&#195;","Ã");
										response = response.replace("&#196;","Ä");
										response = response.replace("&#197;","Å");
										response = response.replace("&#198;","Æ");
										response = response.replace("&#199;","Ç");
										response = response.replace("&#200;","È");
										response = response.replace("&#201;","É");
										response = response.replace("&#204;","Ì");
										response = response.replace("&#205;","Í");
										response = response.replace("&#209;","Ñ");
										response = response.replace("&#210;","Ò");
										response = response.replace("&#211;","Ó");
										response = response.replace("&#212;","Ô");
										response = response.replace("&#213;","Õ");
										response = response.replace("&#214;","Ö");
										response = response.replace("&#217;","Ù");
										response = response.replace("&#218;","Ú");
										response = response.replace("&#219;","Û");
										response = response.replace("&#220;","Ü");
										
										response = response.replace("&#224;","à");
										response = response.replace("&#225;","á");
										response = response.replace("&#226;","â");
										response = response.replace("&#227;","ã");
										response = response.replace("&#228;","ä");
										response = response.replace("&#229;","å");
										response = response.replace("&#230;","æ");
										response = response.replace("&#231;","ç");
										response = response.replace("&#232;","è");
										response = response.replace("&#233;","é");
										response = response.replace("&#236;","ì");
										response = response.replace("&#237;","í");
										response = response.replace("&#241;","ñ");
										response = response.replace("&#242;","ò");
										response = response.replace("&#243;","ó");
										response = response.replace("&#244;","ô");
										response = response.replace("&#245;","õ");
										response = response.replace("&#246;","ö");
										response = response.replace("&#249;","ù");
										response = response.replace("&#250;","ú");
										response = response.replace("&#251;","û");
										response = response.replace("&#252;","ü");
	
									}
									
									var oResponse=eval("("+response+")"),nResultLength=oResponse.suggest.length;								
									
									if(nResultLength>0){
										if(nKey!=8){
											vOld=oT.value,vNew=oResponse.suggest[0].forename.toLowerCase();
											vNew=vNew.substring(vOld.length,vNew.length);
											oT.value=oT.value+vNew;
											//select range
											hp.utils.selectrange(oT,vOld.length,oT.value.length);
											bSuggested=true;
										};
										//move suggest div into position
										var nOT=0,nOL=0,oSF=oT;
										while(oSF.offsetParent!=null){nOT+=oSF.offsetTop;nOL+=oSF.offsetLeft;oSF=oSF.offsetParent;};
										if(!hp.ua.ie()){oSB.style.top=(nOT+26)+"px",oSB.style.left=(nOL)+"px";}else{oSB.style.top=(nOT+29)+"px",oSB.style.left=(nOL+3)+"px";}
										//list suggestions
										oSB.style.display='none';
										oSB.innerHTML='';
										for(var i=0;i<nResultLength;i++){
											oSB.style.display='block';
											oSB.innerHTML+='<a href="" onclick="return false;" id="oSuggestion'+i+'"><div>&nbsp;&nbsp;'+oResponse.suggest[i].forename+' '+oResponse.suggest[i].surname+'<br /></div></a>';
											
										//javascript:document.searchForm.submit();
										}
										//add event triggers
										for(var i=0;i<nResultLength;i++){
											
											oItem=hp.utils.get('oSuggestion'+i);oItem.oT=oT,oItem.oSB=oSB,oItem.vSuggestion=oResponse.suggest[i].forename+ " " + oResponse.suggest[i].surname;
											hp.utils.addEvent(oItem,'click',function(){this.oT.value=this.vSuggestion;this.oSB.style.display='none';});
										}
										//check if 1 and value equal to that 1
										oSB.style.display='block';
										//Display overlay
										hp.utils.get('underlay').style.display = 'block';
											
									} else {
										oSB.style.display='none';
									}
								}
							}
						oR.send(null);
						}
						else if(param.length<=2){
						
							oSB.style.display = 'none';
						}
					}else if(e.keyCode==13){
						hp.utils.selectrange(oT,oT.value.length,oT.value.length);
						oSB.style.display='none';
					}
					
					//Display overlay
					//hp.utils.get('underlay').style.display = 'block';
				},
				
				search: function(){

					hp.utils.get('userSearchBtn').href="/community.asp?p=1&user="+hp.utils.get('searchBox').value+"&company="+hp.utils.get('oFilterCompanyUser').value+"&country="+hp.utils.get('oFilterCountryUser').value;
				}
				
			}
		}()};