Current Path : /var/www/html/clients/rebirth.e-nk.ru/jscripts/ |
Current File : /var/www/html/clients/rebirth.e-nk.ru/jscripts/ipb_xhr_findnames.js |
var mem_div='ipb-get-members';var divobj;var iframeobj;var formobj;var xmlobj;var _result_cache=new Array();var _div_rows=0;var _cur_updown_pressed=0;var _last_key_code=0;var _event_key_code=0;var _cur_input_val='';var _old_input_val='';var _hiliteindex=-1;var _hilite_sug_div;var _complete_div_list;var delay_action=false;var _allow_update=true;var _form_onsubmit_saved;var _urllookup;var _timemout_main=0;var _timeout_blur=0;var _in_focus=0;main_loop=function(){if((_old_input_val!=_cur_input_val)&&(_cur_input_val.length>=3)&&(_in_focus==1)){if(!delay_action&&_allow_update){var cached=_result_cache[_cur_input_val];if(cached){returnSearch(_cur_input_val,cached[0],cached[1]);}else{do_request_function=function(){if(!xmlobj.readystate_ready_and_ok()){return;}var returned=xmlobj.xmlhandler.responseText;if(returned.charAt(0)=='<'){return false;}else{eval(returned);}};xmlobj=new ajax_request();xmlobj.onreadystatechange(do_request_function);xmlobj.process(ipb_var_base_url+'&act=xmlout&do='+_urllookup+'&name='+escape(inobj.value));inobj.focus();}}delay_action=false;}_old_input_val=_cur_input_val;_timemout_main=setTimeout('main_loop()',10);return false;};function init_js(formobjname,fieldobjname,urllookup){if(!urllookup){_urllookup='get-member-names';}else{_urllookup=urllookup;}formobj=document.getElementById(formobjname);inobj=document.getElementById(fieldobjname);divobj=document.getElementById(mem_div);inobj.setAttribute("autocomplete","off");inobj.onfocus=function(){_in_focus=1;};inobj.onblur=onblurhandler;inobj.onsubmit=submit_handler;if(formobj.onsubmit){_form_onsubmit_saved=formobj.onsubmit;}formobj.onsubmit=submit_handler;if(inobj.createTextRange){inobj.onkeyup=new Function("return onkeyuphandler(event);");}else{inobj.onkeyup=onkeyuphandler;}cache_name_results("",new Array(),new Array());_cur_input_val=inobj.value;document.onkeydown=keydownhandler;set_up_key_down();}function set_up_key_down(){if(document.createEventObject){var y=document.createEventObject();y.ctrlKey=true;y.keyCode=70;document.fireEvent("onkeydown",y)}}function keydownhandler(event){if(!event&&window.event){event=window.event;}if(event){_last_key_code=event.keyCode;}}function onblurhandler(event){if(!event&&window.event){event=window.event;}if(!_cur_updown_pressed){_in_focus=0;my_xr_hide_div(divobj);_hiliteindex=-1;if(_last_key_code==9){_last_key_code=-1;}}_cur_updown_pressed=false;}function key_handler_function(){if(_event_key_code==40||_event_key_code==38){_allow_update=false;blur_then_focus();}else{_cur_updown_pressed=false;_allow_update=true;}_cur_input_val=inobj.value;handle_cursor_press(_event_key_code);}function handle_cursor_press(eventcode){if(eventcode==40){hilite_new_value(_hiliteindex+1);}else if(eventcode==38){hilite_new_value(_hiliteindex-1);}else if(eventcode==13||eventcode==3){if(_hiliteindex!=-1){my_xr_hide_div(divobj);_hiliteindex=-1;}return false;}return true;}function hilite_new_value(index){if(_div_rows<=0){return;}my_show_div(divobj);if(index>_div_rows){index=_div_rows-1;}if(_hiliteindex!=-1&&index!=_hiliteindex){set_style_for_element(_hilite_sug_div,'wrapdiv');}if(index<0){_hiliteindex=-1;inobj.focus();return;}_hiliteindex=index;_hilite_sug_div=divobj.getElementsByTagName('DIV').item(index);set_style_for_element(_hilite_sug_div,'spanhilite');newval=find_span_value_for_class(_hilite_sug_div,'namespan');if(newval&&typeof(newval)!='undefined'){inobj.value=find_span_value_for_class(_hilite_sug_div,'namespan');}}function blur_then_focus(){_cur_updown_pressed=true;inobj.blur();_timemout_blur=setTimeout("set_input_field_focus();",10);return;}function set_input_field_focus(){inobj.focus();}function set_style_for_element(c,name){try{if(!c){return;}}catch(e){return;}c.className=name;switch(name){case 'wrapdiv':c.style.backgroundColor="white";c.style.color="black";if(c.displaySpan){c.displaySpan.style.color="green";}break;case 'wrapspan':c.style.display="block";c.style.paddingLeft="3";c.style.paddingRight="3";c.style.height="16px";c.style.overflow="hidden";break;case 'namespan':c.style.cssFloat="left";c.style.width='100%';break;case 'idspan':c.style.cssFloat="right";c.style.display='none';break;case 'spanhilite':c.style.backgroundColor="#3366cc";c.style.color="white";if(c.displaySpan){c.displaySpan.style.color="white";}break;}}function find_span_value_for_class(i,dc){try{if(!i){return;}}catch(e){return;}var ga=i.getElementsByTagName('span');if(ga){for(var f=0;f<ga.length;++f){if(ga[f].className==dc){var value=ga[f].innerHTML;if(value==" "){return "";}else{return value;}}}}else{return "";}}function display_suggested_list(na,ia){while(divobj.childNodes.length>0){divobj.removeChild(divobj.childNodes[0]);}_div_rows=0;for(var f=0;f<na.length;++f){_div_rows++;var od=document.createElement("DIV");set_style_for_element(od,'wrapdiv');od.onmousedown=sb_mdown;od.onmouseover=sb_mover;od.onmouseout=sb_mout;var span_wrap=document.createElement("SPAN");set_style_for_element(span_wrap,'wrapspan');var span_name=document.createElement("SPAN");span_name.innerHTML=na[f];var span_id=document.createElement("SPAN");set_style_for_element(span_name,'namespan');set_style_for_element(span_id,'idspan');od.displaySpan=span_id;span_id.innerHTML=ia[f];span_wrap.appendChild(span_name);span_wrap.appendChild(span_id);od.appendChild(span_wrap);divobj.appendChild(od);}var mid=inobj;var left_px=_get_obj_leftpos(mid);var top_px=_get_obj_toppos(mid)+mid.offsetHeight;var width=parseInt(divobj.style.width);var height=parseInt(divobj.style.height);divobj.style.position="absolute";if((left_px+width)>=document.body.clientWidth){left_px=left_px+mid.offsetWidth-width;}if((top_px+height)>=document.body.clientHeight){top_px=top_px-height;}divobj.style.left=left_px+"px";divobj.style.top=top_px+"px";divobj.style.display="block";_hiliteindex=-1;if(is_ie){try{if(!document.getElementById('if_xhr_'+mem_div)){iframeobj=document.createElement('iframe');iframeobj.src='javascript:;';iframeobj.id='if_xhr_'+mem_div;document.getElementsByTagName('body')[0].appendChild(iframeobj);}else{iframeobj=document.getElementById('if_xhr_'+mem_div);}iframeobj.scrolling='no';iframeobj.frameborder='no';iframeobj.className='iframeshim';iframeobj.style.position='absolute';iframeobj.style.width=parseInt(divobj.offsetWidth)+'px';iframeobj.style.height=parseInt(divobj.offsetHeight)+'px';iframeobj.style.top=divobj.style.top;iframeobj.style.left=divobj.style.left;iframeobj.style.zIndex=divobj.style.zIndex-1;iframeobj.style.display="block";}catch(error){}}}function cache_name_results(mstring,na,ia){_result_cache[mstring]=new Array(na,ia);}returnSearch=function(mstring,namearray,idarray){cache_name_results(mstring,namearray,idarray);if(_in_focus!=1){return false;}display_suggested_list(namearray,idarray);if(_div_rows>0){divobj.style.height=16*_div_rows+4;}else{my_xr_hide_div(divobj);_hiliteindex=-1;}};submit_handler=function(event){delay_action=true;var retval=true;if(_hiliteindex!=-1){return false;}else{if(_form_onsubmit_saved){eval('tmpsubmit = '+_form_onsubmit_saved);retval=tmpsubmit();}return retval;}};onkeyuphandler=function(event){_event_key_code=event.keyCode;key_handler_function();};sb_mdown=function(){delay_action=true;inobj.value=find_span_value_for_class(this,'namespan');};sb_mover=function(){set_style_for_element(this,'spanhilite');};sb_mout=function(){set_style_for_element(this,'wrapdiv');};function my_xr_hide_div(dobj){dobj.style.display="none";if(is_ie){try{document.getElementById('if_xhr_'+mem_div).style.display="none";}catch(e){}}}