/*
Descrição: Funções globais relativas ao funcionamento principal do chat
Criado em: 22/03/2009
Autor: Hédi Carlos Minin - hedicarlos@gmail.com
*/

function CreateChatWindow(type,id,title){
	
	var photo_src = id == 0 ? 'br/img/semfoto.jpg' : 'br/img/semfoto.jpg';
	
	var inner = '';
	inner += '<div class="talk" title="Mensagens enviadas e recebidas" id="talk' +id+ '"></div>';
	inner += '<a href="#" title="Imagem do interlocutor"><img class="chat_photo" src="' +photo_src+ '" id="photo'+id+'" height="70" /></a>';
	
	inner += '<div class="chat_options">';
	
	inner += '<span id="type' +id+ '">' +title+ ' está digitando...</span>';
	inner += '<a href="javascript:SendSmile(' +id+ ')" title="Enviar smile"><img src="msnnovo/css/send_smile.jpg" border="0" /></a>';
	//inner += '<a href="javascript:LIVROS()" title="Radio lema">Radio lema</a>';
	//inner += '<a href="javascript:RSSG1()" title="Noticias">Noticia G1</a>';
	//inner += '<a href="javascript:RSSYT()" title="Videos">Videos</a>';
	//inner += '<a href="javascript:ChangeUserPhoto()" title="Alterar imagem de exibição">Mudar foto</a>';
	inner += '<a href="javascript:SendPhoto(' +id+ ')" title="Enviar imagem">Enviar imagem</a>';
	inner += '<a href="#" style="cursor:hand;" onclick="$(\'#contatar\').mb_close(); $(\'#contatar\').mb_open(\'br/interacao/contato.php?apelidocontato='+ title +'&origem=messenger\'); document.getElementById(\'contato\').innerHTML = \'<b>Contato com: '+ title +'</b>\';">Recado</a>';
	//inner += '<a href="javascript:Dicas()" title="Ajuda">Dicas de uso</a>';
	inner += '</div>';
	
	inner += '<div class="chat_input">';
	inner += '<input type="text" title="Digite sua mensagem aqui" id="msg' +id+ '" onkeypress="AnalizeKey(' +id+ ')" maxlength="255"  />';
	inner += '</div>';
	
	var wd = new Window();
	wd.id = id;
	wd.width = id == 0 ? 520 : 350;
	wd.height = 320;
	wd.title = title;
	wd.inner = inner;
	var new_window = wd.Create();
	
	if(parseInt(type) == 0){
		FocusWindow(new_window);
		document.getElementById('msg' +id).focus();
	}else{
		document.getElementById('lbw' +id).style.borderColor = '#FF6600';	
		document.title = 'Mensagem recebida de ' +title;
	}
}




function SendPhoto(id){
	
	var body_size = getBodySize();
	
	var inner = '';
	inner += '<div class="send_photo">';
	inner += '<form name="sphoto" method="post" method="post" enctype="multipart/form-data" onsubmit="SendPhotoMessage(' +id+ ')" action="msnnovo/send_photo.php?idreceive=' +id+ '" target="fupload">';
	inner += '<input type="file" name="photo" />';
	inner += '<input type="submit" name="send_photo" value="Enviar" />';
	inner += '</form>';
	inner += '<div id="spm' +id+ '">Enviando, aguarde...</div>';
	inner += '</div>';
	
	var wd = new Window();
	wd.id = 'sp' +id;
	wd.width = 320;
	wd.height = 130;
	wd.top = (body_size[1] / 2) - 100;
	wd.left = (body_size[0] / 2) - 150;
	wd.title = 'Enviar imagem para: <font color="red">' +document.getElementById('tw' +id).innerHTML+ '</font>';
	wd.inner = inner;
	wd.resize = false;
	wd.maximizeButton = false;
	var new_window = wd.Create();
	FocusWindow(new_window);
}


function SendPhotoMessage(id){
	document.getElementById('spm' +id).innerHTML = 'Enviando, aguarde...';
	document.getElementById('spm' +id).style.display = 'block';	
}

function UploadError(id,error){
	document.getElementById('spm' +id).innerHTML = error;
}

function UploadComplete(id,photo_name){
	CloseWindowById('sp' +id);
	
	if(id == user_id){
		document.getElementById('user_photo').src = 'msnnovo/exibicao/' +photo_name;
	}else{
		if(getWindow(id)){
			var photo = '<img src="msnnovo/upload/mini/' +photo_name+ '" onclick="ViewPhoto(this)" title="Ampliar imagem" class="img_talk" height="75" />';
			InsertMessage(id,user_name,'Envia imagem para:<font color="red">' +photo+ '</font>','msgsend');
		}
	}
}

function ViewPhoto(photo){
	var inner = '';
	inner += '<div class="view_photo">';
	inner += '<img src="' +photo.src.replace('mini/','')+ '" >';
	inner += '</div>';
	
	var wd = new Window();
	wd.id = 'vphoto';
	wd.width = 665;
	wd.height = 500;
	wd.title = 'Ampliar imagem';
	wd.inner = inner;
	var new_window = wd.Create();
	FocusWindow(new_window);	
	
}




function ViewVideo(video_code){
	
	var inner = '';
	inner += '<object id="upload" name="upload" data="http://www.youtube.com/v/' +video_code+ '&autoplay=1" type="application/x-shockwave-flash" width="100%" height="100%">';
	inner += '<param name="movie" value="http://www.youtube.com/v/' +video_code+ '&autoplay=1" />';
	inner += '<param name="quality" value="high" />';
	inner += '<param name="wmode" value="transparent" />';
	inner += '</object>';
	
	var wd = new Window();
	wd.id = video_code;
	wd.width = 380;
	wd.height = 300;
	wd.title = 'Visualizar vídeo';
	wd.inner = inner;
	var new_window = wd.Create();
	FocusWindow(new_window);	
}




function ChangeUserPhoto(){
	
	var inner = '';
	inner += '<div class="send_photo">';
	inner += '<form name="sphoto" method="post" method="post" enctype="multipart/form-data" onsubmit="SendPhotoMessage(' +user_id+ ')" action="msnnovo/change_user_photo.php" target="fupload">';
	inner += '<input type="file" name="photo" />';
	inner += '<input type="submit" name="send_photo" value="Enviar" />';
	inner += '</form>';
	inner += '<div id="spm' +user_id+ '">Enviando, aguarde...</div>';
	inner += '</div>';
	
	var wd = new Window();
	wd.id = 'sp' +user_id;
	wd.width = 320;
	wd.height = 130;
	wd.title = 'Alterar minha foto temporária aqui';
	wd.inner = inner;
	wd.resize = false;
	wd.maximizeButton = false;
	var new_window = wd.Create();
	FocusWindow(new_window);	
}




function NegativeUser(){
	
	var userList = '';
	var total_user =  user_list.users.length;
	if(total_user > 1){
		for(var i = 0; i < total_user; i++){
			if(user_list.users[i].id != user_id){
				userList += '<a href="javascript:SelectNegativeUser(' +user_list.users[i].id +',\''+ user_list.users[i].name +'\')" title="Negativar ' +user_list.users[i].name+ '">' +user_list.users[i].name+ '</a>';
			}
		}
	}else{
		userList = '<span>Nenhum usuário conectado</span>';		
	}
	
	var inner = '';
	inner += '<div id="negative_list">';
	inner += userList;
	inner += '</div>';
	inner += '<div id="negative_border">';
	inner += '<div id="negative_options">';
	inner += '<p>Selecione um usuário que deseja negativar. <br /><br />Após ' +max_negative_vote+ '% de negativações o usuário será banido do chat.<br /><br />Isso também se aplica a você. Faça bom uso do chat.</p>';
	inner += '</div>';
	inner += '</div>';
	
	var wd = new Window();
	wd.id = 'neguser';
	wd.width = 400;
	wd.height = 350;
	wd.title = 'Negativar usuário';
	wd.inner = inner;
	var new_window = wd.Create();
	FocusWindow(new_window);	
}

function SelectNegativeUser(id,user){
	
	var inner = '';
	inner += '<div>';	
	inner += '<span>Negativar ' +user+ '?</span>';	
	inner += '<a href="javascript:ConfirmNegative(' +id+ ')">Confirmar negativação</a>';	
	inner += '<a href="javascript:CloseWindowById(\'neguser\')">Cancelar</a>';
	inner += '</div>';
	
	document.getElementById('negative_options').innerHTML = inner;	
}

function ConfirmNegative(id){	
	var aq = new AjaxQueue();
	aq.id = 'negative_options';
	aq.url = 'msnnovo/negative.php';
	aq.loadMessage = 'Negativando...';
	aq.sendVars = 'id_negative=' +id;
	aq.Add();
}




var smile_window = 0;
function SendSmile(id){
	z_index++;
	document.getElementById('smiles').style.zIndex = z_index;	
	document.getElementById('smiles').style.display = 'block';	
	document.getElementById('smiles').style.top = (mouse_y - 140) + 'px';	
	document.getElementById('smiles').style.left = (mouse_x - 220) + 'px';	
	smile_window = id;
}

function SelectSmile(smile){
	if(document.getElementById('msg' +smile_window)){
		var msg = document.getElementById('msg' +smile_window);
		msg.value = msg.value + ' :' +smile+ ': ';	
		msg.focus();
	}
}




function StatusMenu(){
	document.getElementById('status_menu').style.display = 'block';	
}

function ChangeStatus(status){
	var status_label = 'Disponível';
	status = parseInt(status);
	switch(status){
		case 2: status_label = 'Ausente'; break;
		case 3: status_label = 'Ocupado'; break;
		default: status_label = 'Disponível'; 
	}
	user_status = status;
	document.getElementById('status_label').innerHTML = status_label;	
}

function CloseLayers(){
	smile_window = 0;
	document.getElementById('smiles').style.display = 'none';
	//document.getElementById('status_menu').style.display = 'none';
}

function NovaJanela(janela,width,height,titulo,inner){
	this.id = 0;
	this.janela = janela;
	
	var wd = new Window();
	wd.id = janela;
	wd.width = width;
	wd.height = height;
	wd.title = titulo;
	wd.inner = inner;
	var new_window = wd.Create();
	FocusWindow(new_window);	
}


/* POP UP DE MATERIAS */
function MATERIAS2(titulo,largura,altura,url){
	
	var inner = '';
	inner += '<div id="artigo" style="overflow: auto; height: 100%; padding: 3px;">';
	inner += '</div>';
	
	var wd = new Window();
	wd.id = 'artigo';
	wd.width = largura;
	wd.height = altura;
	wd.title = titulo;
	wd.inner = inner; 
	var new_window = wd.Create();	
	FocusWindow(new_window);
	
    MATERIAS2GET(url);
}

function MATERIAS2GET(url){
       ajaxLoad(url, 'artigo');
}


/*
inicializa chat
*/
function Initialize(){
	
	document.getElementById('system_load').style.display = 'none';
	
	var body_size = getBodySize();
	var inner = '<a href="javascript:CreateChatWindow(0,0,\'Todos os usuários\')" class="all_user" title="Iniciar conversa com todos os usuários">Todos os usuários</a>';
	inner += '<div id="listuser">Lendo usuários...</div>';

	var wd = new Window();
	wd.id = 'listuser';
	wd.width = 250;
	wd.height = 380;
	wd.top = 90;
	wd.left = body_size[0] - 310;
	wd.title = 'Usuários conectados';
	wd.inner = inner;
	wd.closeButton = false;
	var new_window = wd.Create();
	FocusWindow(new_window);
	
	document.getElementById('icons_border').style.display = 'block';
	EnableSound();
	readMessage();
}

document.onclick = CloseLayers;

window.onload = function(){
	document.getElementById('system_load').style.display = 'none';
	document.getElementById('icons_border').style.display = 'block';
	EnableSound();
	readMessage();
	
	//Initialize();
}
