// -------------------------------------------------------------------------------
// 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;
	
// Timer
var TRM							=	50000;

// Controle de janela de chat
function RecepcionistaIni(){
	try {
				
		// Open XML
		objAJAX_recepcionista_chat.open("POST","../inc/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()",TRM);
			}		
		}						
		// Finaliza obj Ajax
		objAJAX_recepcionista_chat.send(null);
		// Atualizando o timeout
		var re = setTimeout("RecepcionistaIni()", ( TRM * 2 ) );
	} catch( e ){
		// Erro
	}
}

// Lendo mensagens	
function RecepcionistaLer(){	

	if( Recepcionista_iniciado ) {
		// Open XML
		objAJAX_recepcionista_chat.open("POST","../inc/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","../inc/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","../inc/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();