/*
config.js

Config générale en JavaScript

Par Morgin

*/

var news = 0;
var cdc = 0;
var affichage = 'none'; // Par défaut, le div n'est pas affiché
var enable_deplacement = 0;

/*****************
	Code Général
*******************/

function toggleBasic(element){
	var display = $(element).style.display;
	if(display == 'block' || display == 'inline'){
		$(element).style.display = 'none';
	}else{
		$(element).style.display = 'block';
	}
	return false;
}

function toggleBasicTable(element){
	var display = $(element).style.display;
	if(display == 'table-row'){
		$(element).style.display = 'none';
	}else{
		$(element).style.display = 'table-row';
	}
	return false;
}

function selectionner(div, choix){

	var liste = document.getElementById(div);
	var imgs = liste.getElementsByTagName('img');
	for(var i=0; i<imgs.length; i++){
		imgs[i].style.display = 'none';
	}
	
	var select = div+'_img_'+choix;
	$(select).style.display = 'inline';
	
	$(div+'_input').value = choix;
}

function XMLHttp(){
	var variable = "Indéfini";
	if (window.XMLHttpRequest){ 
		variable = new XMLHttpRequest(); 
		return variable;
	}else if (window.ActiveXObject){
		variable = new ActiveXObject("Microsoft.XMLHTTP");
		return variable;
	}else if(window.ActiveXObject("Msxml2.XMLHTTP")){
		variable = new ActiveXObject("Msxml2.XMLHTTP");
		return variable;
	}else{
	    alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest ! Mettez le à jour.');
	    return false;
	}
}

function rebour(tps, div, force){ //Définition d'une fonction
	if (tps>=0) {
		var heure = Math.floor(tps/3600);
		if(heure >= 24){
			var jour = Math.floor(heure/24);
			var moins = 86400*jour;
			var heure = heure-(24*jour);
		}else{
			var jour = 0;
			var moins = 0
		}
		moins = moins+3600*heure;
        var minutes = Math.floor((tps-moins)/60);
		moins = moins + 60*minutes;
        var secondes = tps-moins;
		minutes = ((minutes < 10) ? "0" : "") + minutes;
		secondes = ((secondes < 10) ? "0" : "") + secondes; 
		if(jour > 0){
			document.getElementById(div).innerHTML = jour+'J '+heure+'H '+minutes+'min '+secondes+"sec";
		}else{
			if(document.getElementById(div)){
				if(heure > 0) document.getElementById(div).innerHTML = heure+'H '+minutes+'min '+secondes+'sec';
				else document.getElementById(div).innerHTML = minutes+'min '+secondes+'sec';
			}
		}
        var restant = tps-1;
        setTimeout("rebour("+restant+", '"+div+"', '"+force+"')", 1000);
	}else{
		if(!isNaN(force) && document.getElementById(div)){
			if(force < 20) {
				var id = 'img_force_'+force;
				document.getElementById(id).src = 'images/design/barre_pleine.png';
			}
			setTimeout("rebour(3599, '"+div+"', '"+(force+1)+"')", 0);
		}else window.location.reload();
	}
}

function screen(screen, taille1, taille0){
	window.open('screen.html?s='+screen, "Screen "+screen, "height="+taille1+",width="+taille0+",location=no");
	return false;
}

function info_deplacement(id, nom, info){
	document.getElementById("pnj_lieu").src = "images/personnage/"+id+"_pnj.png";
	document.getElementById("nom_lieu").innerHTML = nom;
	document.getElementById("info_lieu").innerHTML = info;
}

function verif(){
	if(scroll() < 206 && affichage == "block") bulle();
	setTimeout("verif()", 1000);
}

function bulle(){

	if(affichage == 'none'){
		affichage='block';
	}else{
		affichage='none';
	}
	
	setTimeout("verif()", 1000);
	
	document.getElementById('bulle_haut').style.display = affichage;	
}

function scroll(){
	if(document.all){
		return document.documentElement.scrollTop;
	}else if(navigator.appName=='Microsoft Internet Explorer'){
		return window.pageXOffset;
	}else{
		return window.pageYOffset;
	}
}

function deplacement(x, y){
	if(enable_deplacement == 0){
		window.location.replace('accueil.html&x='+x+'&y='+y);
		enable_deplacement=1;
	}
}

/**************
	Chat
****************/

// Ajouter des smiley par voie automatique
function smiley(smiley, type){
	$('message_'+type).value += ' '+smiley;
	return true;
}

//Aggrandir
function agrandir_chat(type){
	window.open("com-"+type+".html", "Chat", "height=650px,width=750px,location=no");
}

//Actualisation
function rafraichir(type, rang){
	recevoir(''+type+'', rang);
	setTimeout('rafraichir("'+type+'", '+rang+')', 2500);
}

// Remplacement de &
function remplacer(chaine){

	var nv_message = '';
	
	for(var i = 0; i < chaine.length; i++){
		nv_message = nv_message + chaine.charAt(i);
		if (chaine.charAt(i) == "&") nv_message = nv_message.replace("&", "_amp_");
	}

	return nv_message;
}
	
//Envoi du message
function envoyer(message, type, rang){
	if($('message_'+type).value != ""){
		$('message_'+type).style.backgroundImage = 'url("images/autres/chargement.gif")'; 
		var xhr = XMLHttp();
		xhr.open('POST','ajax/chat.php', false);
	    xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
	    var data = 'message='+remplacer(message)+'&type='+type+'&rang='+rang;
	    xhr.send(data);
		$('message_'+type).value = "";
		recevoir(''+type+'', rang);
		$('message_'+type).style.backgroundImage = ""; 
	}
}

//Fonction pour prendre les messages dans le fichier xml correspondant

function recevoir(type, rang){
	var div = $('block_'+type);
	var xhr = XMLHttp();
	xhr.open('POST', 'ajax/chat.php', true);
	xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
	xhr.onreadystatechange = function(){
		if (xhr.readyState == 4 && div){
			var nv_text = xhr.responseText;
			if(div.innerHTML != nv_text){
				div.innerHTML = nv_text;
			}
		}else if(!div) alert('Votre page ne peut charger le chat.');
	}  
    var data = 'read='+type+'&rang='+rang;
    xhr.send(data);
}

// Fonction de suppression

function suppression(num, type){
	var valid = confirm("Etes vous sûr ?");
	if(valid==true){
		$('message_'+type).style.backgroundImage = 'url("images/autres/chargement.gif")'; 
		var xhr = XMLHttp();
		xhr.open('POST', 'ajax/chat.php', false);
		xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
	    var data = 'supprime='+num+'&type='+type;
	    xhr.send(data);
		$('message_'+type).style.backgroundImage = ''; 
	}
}

//Fin  du chat


/******************
	Fonctions administratives
******************/

function calcul_monstre(sens){
	if(sens == 0){
		var attaque = parseInt(document.getElementById('attaque').value);
		var defense = parseInt(document.getElementById('defense').value);
		var habilete = parseInt(document.getElementById('habilete').value);
		var total = attaque*2+defense+habilete*2;
		var niveau = Math.round((total-220)/6);
		if(niveau > 20) niveau = niveau-4;
		if(niveau > 30) niveau = niveau-4;
		if(niveau > 40) niveau = niveau-7;
		if(niveau > 50) niveau = niveau-7;
		if(niveau > 60) niveau = niveau-9;
		if(niveau > 70) niveau = niveau-9;
		if(niveau > 80) niveau = niveau-2;
		if(niveau > 90) niveau = niveau-2;
		if(niveau > 100) niveau = niveau-2;
		if(niveau > 110) niveau = niveau-2;
		document.getElementById('niveau').value = Math.round(niveau/2);
		document.getElementById('viande').value = Math.round(defense/14);
		document.getElementById('pv').value = Math.round(defense/3.5);
	}else{
		var niveau = parseInt(document.getElementById('niveau').value);
		
		if(niveau > 20) niveau = niveau-4;
		if(niveau > 30) niveau = niveau-4;
		if(niveau > 40) niveau = niveau-7;
		if(niveau > 50) niveau = niveau-7;
		if(niveau > 60) niveau = niveau-9;
		if(niveau > 70) niveau = niveau-9;
		if(niveau > 80) niveau = niveau-2;
		if(niveau > 90) niveau = niveau-2;
		if(niveau > 100) niveau = niveau-2;
		if(niveau > 110) niveau = niveau-2;
		
		var total = ((niveau+1)*6)+194;
		
		var coef = 1;
		while(coef > 0.7) coef = Math.round(Math.random()*Math.pow(10,2))/Math.pow(10,2);
		var coef2 = 1;
		while(coef2 < 1) coef2 = Math.round(Math.random()*Math.pow(10,2))/Math.pow(10,2);	
		
		var defense;
		var habilete;
		defense = Math.round((total/coef2)*coef);
		var reste = total-defense;
		habilete = Math.round(reste/2);
		reste = reste-habilete;
		var attaque = Math.round(reste);
		
		document.getElementById('attaque').value = attaque;
		document.getElementById('defense').value = defense;
		document.getElementById('habilete').value = habilete;
		document.getElementById('pv').value = Math.round((habilete+attaque)*(15/defense));
		document.getElementById('viande').value = Math.round((attaque+defense+habilete)/4);
	}
}

function afficher(num){
	
	if($('option_admin_'+num)){
		var display=$('option_admin_'+num).style.display;
		toggleBasic('option_admin_'+num);
		if(display == 'block' || display == 'inline'){
			$('menu_admin_'+num).src='images/autres/menu_non_deroule.png';
		}else{
			$('menu_admin_'+num).src='images/autres/menu_deroule.png';
		}
	}
	
	return false;
}

function listeMembre(div){

	toggleBasic('liste_'+div);
	ajaxListe(div);

	return false;
}

/***************
	Fonction de Mootools
****************/

function ScrollTo(element){
	new Fx.Scroll(window).toElement(element);
	return false;
}

function toggle(element){
	var myFx = new Fx.Slide(element, {
		duration: 2000,
		transition: Fx.Transitions.Pow.easeOut
	});
	myFx.toggle();
	return false;
}


/******************
	Gestion des fieldset sous IE
*******************/

function arrondirFieldset(){
	var contenu;
	var fieldsets = document.getElementsByTagName('fieldset');
	for(var i=0; i<fieldsets.length; i++){
		contenu = fieldsets[i].innerHTML;
		fieldsets[i].innerHTML = '<span class="top"><span class="b1"></span><span class="b2"></span><span class="b3"></span><span class="b4"></span></span><div class="boxcontent">'+contenu+'<div style="clear:both;"></div></div><span class="bottom"><span class="b4b"></span><span class="b3b"></span><span class="b2b"></span><span class="b1b"></span></span>';
		contenu = '';
	}
}

/****************************
	Gestion du javascript de combat
*****************************/

function combattre(){
	var largeur = (document.body.clientWidth);
	var hauteur = (document.body.clientHeight);
	
	if(largeur < 1000){
		var attention = 'Votre écran est trop petit pour afficher correctement le système de combat. Appuyer sur CTRL+molette de votre souris vers le bas pour avoir un affichage de meilleur qualitée.\nMerci';
	}else{
		var attention = '';
	}
	
	alert('Continuer ? \n (- 1 F) \n');
	
	if(attention != ''){
		alert(attention);
	}
	
}

