// ------------------------------------------------------------------------------- // Cria OBJ AJAX // ------------------------------------------------------------------------------- function objAJAX(){ try{ var ObjAjax = new XMLHttpRequest() } catch(e) { var ObjAjax = new ActiveXObject("Microsoft.XMLHTTP"); } return ObjAjax; } // Objetos var objAJAX_recepcionista_chat = new objAJAX(); // ------------------------------------------------------------------------------- // Variables var ie = document.all; // var ns6 = (navigator.appName.indexOf("Netscape")!=-1); // var isOP = (navigator.appName.indexOf("Opera")!=-1); // var dragapproved = false; // var W = 250; // var H = 200; // var H_titulo = 35; // var W_dif = 25; // var H_dif = 35; // var recepcionista_dados_is_open = true; // var x, y; // var oDiv; var Recepcionista_iniciado = true; // Controle de janela de chat function RecepcionistaIni(){ try { // Open XML objAJAX_recepcionista_chat.open("POST","recepcionista_ini.ajax.php",true); // Header objAJAX_recepcionista_chat.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // Prepara para leitura objAJAX_recepcionista_chat.onreadystatechange = function(){ // Verifica se o XML esta pronto para leitura if( objAJAX_recepcionista_chat.readyState == 4 ){ // Dados XML var dados_xml = objAJAX_recepcionista_chat.responseText; // Comando if( dados_xml == 1 ) { // Janela de chat iniciada RecepcionistaAtendimentoIni(); } // Limpando a condição time out clearTimeout(re); // Aplicando time out setTimeout("RecepcionistaIni()",5000); } } // Finaliza obj Ajax objAJAX_recepcionista_chat.send(null); // Atualizando o timeout var re = setTimeout("RecepcionistaIni()",10000); } catch( e ){ // Erro } } // Lendo mensagens function RecepcionistaLer(){ if( Recepcionista_iniciado ) { // Open XML objAJAX_recepcionista_chat.open("POST","recepcionista_ler.ajax.php",true); // Header objAJAX_recepcionista_chat.setRequestHeader("Content-Type", "text/html"); // Prepara para leitura objAJAX_recepcionista_chat.onreadystatechange = function(){ // Verifica se o XML esta pronto para leitura if( objAJAX_recepcionista_chat.readyState == 4 ){ // Dados XML vindos da pagina var dados_xml = objAJAX_recepcionista_chat.responseText; // Mensagens de comando if( dados_xml ) { // Escreve a mensagem no campo var campo_chat = ns6? document.getElementById("recepcionista_chat_msg") : document.all["recepcionista_chat_msg"]; campo_chat.innerHTML += dados_xml; // Scroll campo_chat.scrollTop = campo_chat.scrollHeight; } // Limpando a condição time out clearTimeout(re); // Aplicando time out setTimeout("RecepcionistaLer()",5000); } } // objAJAX_recepcionista_chat.send(null); var re = setTimeout("RecepcionistaReLer()",10000); } } function RecepcionistaReLer(){ RecepcionistaLer(); } // Enviar mensagem function RecepcionistaEnviar( msg ){ // Mensagem do usuario if( msg ) { // Envia mensagem via Ajax objAJAX_recepcionista_chat.open("POST","recepcionista_enviar.ajax.php",true); objAJAX_recepcionista_chat.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); objAJAX_recepcionista_chat.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); objAJAX_recepcionista_chat.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); objAJAX_recepcionista_chat.setRequestHeader("Pragma", "no-cache"); objAJAX_recepcionista_chat.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); objAJAX_recepcionista_chat.send("mensagem=" + msg); } } // Inicia atendimento do usuario function RecepcionistaAtendimentoIni(){ if (!ie&&!ns6) return; var alvo = ns6? document.getElementById("recepcionista_chat") : document.all["recepcionista_chat"]; if( alvo.style.display == "none" ){ // Inicia recepção de mensagens RecepcionistaLer(); // Abre atendimento alvo.style.display = "block"; Recepcionista_iniciado = true; } } // Minimizar function RecepcionistaMinimizar( acao ){ // Alvo if (!ie&&!ns6) return; var alvo = ns6? document.getElementById("recepcionista_chat_dados") : document.all["recepcionista_chat_dados"]; if( !acao ){ if( alvo.style.display == "none" ){ // Abre alvo.style.display = "block"; recepcionista_dados_is_open = true; } else { // Fecha alvo.style.display = "none"; recepcionista_dados_is_open = false; } } else { // Força maximização da janela alvo.style.display = "block"; recepcionista_dados_is_open = true; } } // Finalizar function RecepcionistaFinalizar(){ if (!ie&&!ns6) return; var alvo = ns6? document.getElementById("recepcionista_chat") : document.all["recepcionista_chat"]; // Finalizar atendimento objAJAX_recepcionista_chat.open("POST","recepcionista_enviar.ajax.php",true); objAJAX_recepcionista_chat.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); objAJAX_recepcionista_chat.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); objAJAX_recepcionista_chat.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); objAJAX_recepcionista_chat.setRequestHeader("Pragma", "no-cache"); objAJAX_recepcionista_chat.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); objAJAX_recepcionista_chat.send("finalizar=1"); // Abre atendimento alvo.style.display = "none"; Recepcionista_iniciado = false; } // -------------------------------------------------------------------------------------------------------- // Controla campo texto // -------------------------------------------------------------------------------------------------------- // Variáveis var isShift = null; var key; // Opera if(isOP) ns6 = true; // Shift function shift( event ){ // Key key = (ns6) ? event.which : event.keyCode; // Controla shift if ( key == 16 )isShift = 1; } // Enter function hitEnter( event, target ){ // Key key = (ns6) ? event.which : event.keyCode; // Verifica Shift if( document.layers && event.modifiers == 4 ) isShift = 1; // Verifica Enter if ( key == 13 && isShift != 1 ){ // Chama funcao de envio RecepcionistaEnviar( target.value ); // Limpa campo target.value = ""; // Envia o foco para o campo target.focus(); } // Desabilita Shift if ( key!=16) isShift = null; } // Posicao inicial do div function RecepcionistaPos(){ // Alvo if (!ie&&!ns6) return; oDiv = ns6? document.getElementById("recepcionista_chat") : document.all["recepcionista_chat"]; // Determinando o scroll if( ie ){ var scrollTop = document.body.scrollTop; } else { var scrollTop = window.pageYOffset } if( oDiv ) { // Width + posição LEFT oDiv.style.width = W; oDiv.style.left = document.body.offsetWidth - ( W + W_dif ); // Width + posição TOP // Controle // minimizar if( recepcionista_dados_is_open ) { oDiv.style.height = H; oDiv.style.top = document.body.offsetHeight - ( H + H_dif ) + scrollTop; } else { oDiv.style.height = 0; oDiv.style.top = document.body.offsetHeight - H_titulo + scrollTop; } } // Reload na funcao setTimeout("RecepcionistaPos()",1); // return false; } // Configurando componentes document.onLoad = RecepcionistaPos(); // Iniciando aplicacao document.onLoad = RecepcionistaIni();