function main_chat_pop(){
	var query='service=chat_pop&chat_user='+escape(chat_user)+'&chat_last_id='+chat_last_id+'&chat_active='+(chat_visible ? '1' : '0');
	ajax_send('GET','inc/service.php',query);
	return false;
}

function main_chat_quit(unpersist){
	main_chat_clear_users();
	main_chat_clear_messages();
	if(chat_joined){
		chat_joined=false;
		main_chat_update_view('off');
		chat_selected_user='';
		chat_last_id=0;
		if(unpersist){
			write_cookie('chat_persist','0');
		}
		ajax_send('GET','inc/service.php','service=chat_quit&chat_user='+escape(chat_user));
		clearTimeout(chat_pop_timer);
	}
	main_chat_switch_to_step(1,unpersist);
	return false;
}

function main_chat_hide(){
	document.getElementById('chat_container').style.visibility='hidden';
	document.getElementById('chat_container').style.left='-800px';
	chat_visible=false;
	return false;
}

function main_chat_update_view(view){
	var view_cell=document.getElementById('chat_view'); 
	if(view=='off'){
		view_cell.className='off';
	}else if(view=='on'){
		view_cell.className='on';
	}
}

function main_chat_flick_view(){
	if(chat_view_flick_timer!=0){
		clearTimeout(chat_view_flick_timer);
	}
	chat_view_flick_timer=setTimeout('main_chat_flick_view_action()',500);
}

function main_chat_flick_view_action(){
	var chat_view_cell=document.getElementById('chat_view');
	if(!chat_visible || chat_view_flick_state){
		chat_view_cell.style.visibility=(chat_view_flick_state ? 'inherit' : 'hidden');
		chat_view_flick_state=!chat_view_flick_state;
		chat_view_flick_timer=setTimeout('main_chat_flick_view_action()',500);
	}else{
		clearTimeout(chat_view_flick_timer);
		chat_view_flick_timer=0;
	}
}

function main_chat_launch_timer(){
	chat_last_pop_date=new Date();
	if(chat_pop_timer!=0){
		clearTimeout(chat_pop_timer);
	}
	chat_pop_timer=setTimeout('main_chat_quit(false)',70000);
}

function main_chat_show_smilies(){
	document.getElementById('chat_smilies').style.visibility='inherit';
	return false;	
}

function main_chat_hide_smilies(){
	document.getElementById('chat_smilies').style.visibility='hidden';
	return false;
}

function main_chat_add_smiley(code){
	document.getElementById('chat_tmsg').value+=' '+code;
	main_chat_hide_smilies();
	main_focus_text();
	return false;
	
}

function main_chat_activate(){
	main_generic_div_pos('chat',798,548,'hidden');
	document.getElementById('chat_container').style.visibility='visible';
	chat_visible=true;
	main_focus_text();
	return false;
}

function main_chat_login(){
	var chat_login_obj=document.getElementById('chat_login');
	chat_login=chat_login_obj.value;
	var chat_persist_obj=document.getElementById('chat_persist');
	chat_persist=(chat_persist_obj.checked ? 1 : 0);
	if(chat_login==''){
		alert('Veuillez indiquer votre pseudo');
	}else{
		main_chat_log_user(chat_login,chat_persist);
	}
	return false;
}

function main_chat_log_user(chat_login,chat_persist){
	write_cookie('chat_login',chat_login)
	write_cookie('chat_persist',chat_persist)
	document.getElementById('chat_tmsg').value='';
	ajax_send('GET','inc/service.php','service=chat_join&user='+escape(chat_login));
}

function main_chat_switch_to_step(step,unpersist){
	for(var i=1;i<=2;i++){
		document.getElementById('chat_step'+i).style.visibility=(i==step ? 'inherit' : 'hidden');
	}
	if(unpersist && (step==1)){
		document.getElementById('chat_persist').checked=false;
	}
	return false;
}
function main_chat_push(){
	var info=document.getElementById('chat_tmsg').value;
	var args;
	if(info!='' && chat_joined){
		args='service=chat_push&chat_text='+out_convert(info)+'&chat_user='+escape(chat_user)+'&chat_dest='+escape(chat_selected_user);
		ajax_send('GET','inc/service.php',args);
		document.getElementById('chat_tmsg').value='';
	}
	main_focus_text();
	return false;
}

function main_chat_add_message(text){
    if(typeof(text)=='undefined'){
    	return false;
    }
    if(text==''){
    	return false;
    }
	if(!chat_visible){
		main_chat_flick_view();
	}
 	var n_div=document.createElement("DIV");
  	n_div.className='chat_tmsg';
    n_div.innerHTML=in_convert(text);
	document.getElementById('chat_tarea_content').appendChild(n_div);
	document.getElementById('chat_tarea_container').scrollTop+=n_div.offsetHeight+1;
	return true;
}

function main_chat_clear_users(){
	var obj;
	obj=document.getElementById('chat_users_content');
	obj.innerHTML='';	
	obj=document.getElementById('chat_info');
	obj.innerHTML='';	
	return false;
}

function main_chat_clear_messages(){
	var obj=document.getElementById('chat_tarea_content');
	obj.innerHTML='';
	obj.scrollTop=0;
	chat_last_id=0;	
	return false;
}

function main_chat_update_users_list(){
	var obj,users_numb,n_div;
	main_chat_clear_users();	
	var users=chat_users_list.split(',');
	obj=document.getElementById('chat_users_content');
	users_numb=0;
	for(var i=0;i<users.length;i+=2){
		n_div=document.createElement("DIV");
		n_div.name=users[i];
		n_div.className=(chat_selected_user==users[i] ? 'chat_suser' : 'chat_uuser');
    	if(users[i]==chat_user){
    		n_div.innerHTML='<b>'+users[i]+'</b>';
    	}else{
    		n_div.innerHTML=(users[i+1]==1 ? users[i] : '<i>'+users[i]+'</i>');
	    	n_div.onmousedown=function(){
	    		if(chat_selected_user!=this.name){
	    			chat_selected_user=this.name;
	    		}else{
	    			chat_selected_user='';
	    		}
	    		main_chat_update_users_list();
	    		main_chat_hide_smilies();
	    		main_focus_text();
	    	}
    	}
 		obj.appendChild(n_div);
 		users_numb++;
	}
	obj=document.getElementById('chat_info');
	obj.innerHTML=users_numb+' connect&eacute;'+(users_numb>1 ? 's' : '');
	document.getElementById('chat_notice_content').innerHTML=(chat_selected_user=='' ? 'Actuellement, vous parlez à tous. Cliquez sur le pseudo d\'un connecté pour lui parler en privé.' : 'Actuellement, vous parlez en privé à<br />"'+chat_selected_user+'".<br /><a class="visible_link_c" href="#" onClick="return main_chat_unselect_all(); return false;">Cliquez ici</a> pour parler à tous les connectés.');
	return false;
}

function main_chat_unselect_all(){
	chat_selected_user='';
	main_chat_update_users_list();
	main_chat_hide_smilies();
	main_focus_text();
	return false;
}

function main_check_connection(){
	if((chat_login!='')&&(chat_persist==1)){
		main_chat_log_user(chat_login,chat_persist);
	}
}

function main_focus_text(){
	setTimeout(function(){document.getElementById(chat_joined ? 'chat_tmsg' : 'chat_login').focus();},200);
}

var chat_user='';
var chat_joined=false;
var chat_last_id=0;
var chat_visible=false;
var chat_view_flick_timer=0;
var chat_view_flick_state=false;
var chat_last_pop_date;
var chat_pop_timer=0;
var chat_users_list='';
var chat_selected_user='';


