/*this page crates an ajax request object. this page is included by other pages that need to perform XMLHttpRequest. */ var sbajax=false; if(window.XMLHttpRequest) sbajax=new XMLHttpRequest(); //IE 7,mozilla,safari,firefox.opera, mostbrowser else if(window.ActiveXObject) //older IE { try { sbajax = new ActiveXObejct("Msxml2.XMLHTTP"); } catch (e1) { try { sbajax = new ActiveXObejct("Microsoft.XMLHTTP"); } catch (e2) {} } } //if(!sbajax) //alert("Some page fuctionality is unavailable."); ///////--------Check chat requests function sbsc_check_requests() { if(sbajax) { sbajax.open('get','sc_check_chat_requests.php'); sbajax.onreadystatechange=sbsc_handle_request; sbajax.send(null); return false; } } function sbsc_handle_request() { if((sbajax.readyState==4) && (sbajax.status==200)) { if(!isNaN(sbajax.responseText) && sbajax.responseText > 0) { sbnotify_chat_requests(sbajax.responseText); // clearInterval(sbtimer_id); } } } ///////--------Check chat request replies function sbsc_check_request_reply(id) { if(sbajax) { sbajax.open('get','sc_check_chat_request_reply.php?sb_id=' + id); sbajax.onreadystatechange=sbsc_handle_request_reply; sbajax.send(null); return false; } } function sbsc_handle_request_reply() { if((sbajax.readyState==4) && (sbajax.status==200)) { if(!isNaN(sbajax.responseText) && sbajax.responseText > 1 && sbajax.responseText < 5 ) //means 2 to 4 { sbnotify_chat_reply(sbajax.responseText); } } } ///////--------Update chat window function sbsc_update_chat_window(id, current_span_id) { if(sbajax) { sbajax.open('get','sc_update_chat_window.php?sb_id=' + id + '&id=' + current_span_id); sbajax.onreadystatechange=sbsc_handle_update_chat_window; sbajax.send(null); return false; } } function sbsc_handle_update_chat_window() { if((sbajax.readyState==4) && (sbajax.status==200)) { if(sbajax.responseText.length > 0) { if(parseInt(sbajax.responseText) == 555) { clearInterval(sbUpdateChatTimer); sbforce_quit(); } else sbaddNode(sbajax.responseText); } } } //////////--------Search sugessions function show_suggestion() { if(sbajax) { sbajax.open('get','gd_show_suggestions.php'); sbajax.onreadystatechange=handle_show_suggestion; sbajax.send(null); return false; } } var wordarr=new Array(); function handle_show_suggestion() { if((sbajax.readyState==4) && (sbajax.status==200)) wordarr=sbajax.responseText.split(/
/); } var TAB = 9; var ESC = 27; var KEYUP = 38; var KEYDN = 40; var ENTER = 13; highlighted = ""; pupupid=""; fieldid=""; function search_text(fieldname,ncpopup,evt1) { fieldid=fieldname; fieldid.className=""; str=fieldid.value; pupupid=ncpopup; //var hey = (evt1)?evt1.target:window.event.srcElement; var key = getKeyCode(evt1); switch(key) { //The control keys were already handled by onkeydown, so do nothing. case TAB: case ESC: case KEYUP: case KEYDN: return; case ENTER: return false; break; default: //alert(key); if(str!="") { document.getElementById(pupupid).innerHTML=""; document.getElementById(pupupid).style.display='block'; //alert(wordarr.length) for(var i=0; i < wordarr.length;i++) { var thisstr=wordarr[i]; if(thisstr.toLowerCase().indexOf(str.toLowerCase())==0)//search for starting text { var tempdiv=document.createElement("div"); tempdiv.innerHTML=thisstr; tempdiv.onclick=makeChoice; fieldid.onkeydown=keyselction; tempdiv.className="suggession"; tempdiv.onmouseover = function(){ highlightThis(this,'y')} tempdiv.onmouseout = function(){ highlightThis(this,'n')} document.getElementById(pupupid).appendChild(tempdiv); } } var ncfound=document.getElementById(pupupid).childNodes.length; if(ncfound==0) { fieldid.className="error"; hidpopup(); } //if(ncfound==1) //{ // fieldid.value=document.getElementById("popups").firstChild.innerHTML; // document.getElementById("popups").firstChild.innerHTML=""; //} }else hidpopup(); } } function highlightThis(obj,yn){ //alert(fieldid.value); if (yn == 'y'){ highlighted.className = 'suggession'; highlighted = obj; highlighted.className = 'keyselection'; fieldid.value=highlighted.innerHTML; }else{ highlighted.className = 'suggession'; highlighted = ''; } } function makeChoice(evt) { var thisDiv = (evt)?evt.target:window.event.srcElement; fieldid.value=thisDiv.innerHTML; hidpopup(); } function makeChoicetab(highlighted) { fieldid.value=highlighted.innerHTML; } function keyselction(evt) { var key = getKeyCode(evt); switch(key) { case TAB: case ENTER: if (highlighted != '' && highlighted != null ){ //acChoose(me.highlighted.id); makeChoicetab(highlighted); } hidpopup(); return false; break; case ESC: hidpopup(); return false; break; case KEYUP: changeHighlight('up'); return false; break; case KEYDN: changeHighlight('down'); return false; break; } } function hidpopup() { document.getElementById(pupupid).innerHTML=""; document.getElementById(pupupid).style.display='none'; } function changeHighlight(way){ obj=document.getElementById(pupupid); fill_obj=fieldid; if(obj.style.display=='none')//if pop not displayed return return; if (highlighted != '' && highlighted != null ){ highlighted.className = 'suggession'; switch(way){ case 'up': if(obj.firstChild == highlighted){ highlighted = obj.lastChild; }else{ highlighted = highlighted.previousSibling; } break; case 'down': if(obj.lastChild == highlighted){ highlighted = obj.firstChild; }else{ highlighted = highlighted.nextSibling; } break; } fill_obj.value=highlighted.innerHTML; highlighted.className = 'keyselection'; //me.highlighted.className = 'selected'; //me.setElemValue(); }else{ switch(way){ case 'up': highlighted = obj.lastChild; break; case 'down': highlighted =obj.firstChild; break; } fill_obj.value=highlighted.innerHTML; highlighted.className = 'keyselection'; //me.setElemValue(); } } function getKeyCode(ev) { if(ev) //Moz { return ev.keyCode; } if(window.event) //IE { return window.event.keyCode; } };