/* Funções básicas para a manipulação do Ajax*/

/*Com base no tipo de browser, gera o objeto apropriado para a manipulação do Ajax*/
function makeObject(){
	var x;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		x = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		x = new XMLHttpRequest();
	}
	return x;
}
/*Define uma variável global com o resultado da função makeObject*/
var request = makeObject();
var form;
/*Função responsável pela atualização do div, informe o id do div como parâmetro*/
function parseInfoLogin(){
	if(request.readyState == 1){
		document.getElementById('div_pam').innerHTML = '<div align="center"><img src="http://www.gamevicio.com.br/images/progress.gif">&nbsp;Aguarde...</div>';
	}
	if(request.readyState == 4){
		var answer =  String (request.responseText);
		document.getElementById('div_pam').innerHTML = answer;
	}
}



/*Obtém os dados do formulário e envia através do método POST para checagem e validação*/
function Login(){
	 var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
	request.open('post', RelativeRoot() + 'misc/ajax/login.php?mode=login');
	request.onreadystatechange = parseInfoLogin;
	request.setRequestHeader("Content-Type", contentType);
	request.send(createQuery(form));
}
/*Faz o Logoff do usuário conectado*/
function Logoff(){
	
		request.open('get', RelativeRoot() + 'misc/ajax/login.php?mode=logoff');
		request.onreadystatechange = LogoffTemp;
    	request.send('');

}
/*Função anexa ao Logoff, pois foi preciso repetir duas vezes o Logoff para que a função funcionasse devidamente*/
function LogoffTemp(){
	if(request.readyState == 1){
		document.getElementById('div_pam').innerHTML = '<div align="center"><img src="http://www.gamevicio.com.br/images/progress.gif">&nbsp;Aguarde...</div>';
	}
	if(request.readyState == 4){
		LoginCheck();
	}
}
/*Checa se o usuário está logado, do contrário exibe o formulário para o login*/
function LoginCheck(){
	if (!LoginCheckCookie()){
		request.open('get', RelativeRoot() + 'misc/ajax/login.php?mode=check');
		request.onreadystatechange = parseInfoLogin;
	    	request.send('');
	}
}
function LoginCheckCookie(){
	var img = readCookie("bbavatar");
	var userid = readCookie("bbuserid");
	var username = readCookie("bbusername");
	var s = "";
	if ((img.length>3) && (username.length>3) ){
		s = '<table width="100%" border="0" id="table1">';
		s+='<tr>';
		s+='<td colSpan="2">';
		s+='<div align="center">';
		s+='<b>Painel de Acesso a Membros</b></div>';
		s+='</td>';
		s+='</tr>';
		s+='<tr>';
		s+='<td align="center">Você está logado como ';
		s+='<a href="http://forum.gamevicio.com.br/index.php?action=profile;u=' + userid + '">';
		s+= username + '</a><br>';
		s+= '<br>';
		s+='<a href="javascript:Logoff()">Encerrar sessão</a></td>';
		s+='<td>';
		s+='<a target="_blank" href="http://forum.gamevicio.com.br/index.php?action=profile;u=' + userid + '">';
		s+='<img src="' + img + '" align="right" border="0"></a></td>';
		s+= '</tr>';
		s+='</table>';
		document.getElementById('div_pam').innerHTML = s;
		return true;
	}else{
		return false;
	}
}

/**Adiciona ../ até alcançar a raiz do site. Útil para se construir caminho relativos a partir da raiz*/
function RelativeRoot(){
	var strHref = window.location.pathname;
	var bar = 0;
	var path = '';
	for(n=0;n!=strHref.length;n++){
		if (strHref.charAt(n)=='/'){
			bar++;	
		}
	}

	if( bar < 2 ){
		return path; 
	}
	
	for(n=1;n!=bar;n++){
		path = '../' + path;
	}
	
	return path;
}
