//  Fonction Générales au Site.
function BackImage(id, img){
	var object = document.getElementById(id);
	if(object.style.backgroundImage == "") object.setAttribute("style", "background:url("+img+") no-repeat top left;"); else object.setAttribute("style", "");
}

function ChangeText(id, type, text){
	var object = document.getElementById(id);
	if(type == "text") object.text = text
	else if(type == "form") object.value = text
}

// Afficher ou Disparaitre un controle (de façon déroulable).
function ShowOrHide(type){
	$(type).slideToggle("normal");
}

// Modifier la largeur ou hauteur d'un controle (de façon progressif).
function Width(type, width){
	width = parseInt(width);
	$(type).animate({'width': width+"px"}, "normal");
}
function Height(type, height){
	height = parseInt(height);
	$(type).animate({'height': height+"px"}, "normal");
}

// Rendre Opaque ou Translucide un contrôle (de façon progressive).
function FadeTo(type, speed){
	speed = parseFloat(speed / 100);
	if(speed > 1) speed = 0.5;
	$(type).fadeTo("normal", speed);
}

function DateExpiration(DateExp){
	var aujourdhui = new Date(0);
	var aujourdhuidate = aujourdhui.getTime();
	if(aujourdhuidate > 0) DateExp.setTime (DateExp.getTime() - aujourdhuidate);
}

function FixeCookie(nom, valeur, expire, path, domaine,securise){
	document.cookie = nom + "=" + escape(valeur) + ((expire) ? "; expires=" + expire.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domaine) ? "; domain=" + domaine : "") + ((securise) ? "; secure" : "");
}

function SupprCookie(nom, path, domaine){
	if(GetValeurCookie(nom)) document.cookie = nom + "=" + ((path) ? "; path=" + path : "") + ((domaine) ? "; domain=" + domaine : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}

function ValeurCookie(Pos){
	var endstr = document.cookie.indexOf (";", Pos);
	if(endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring (Pos, endstr));
}

function GetValeurCookie(nom){
	var cookielength = document.cookie.length;
	var arg = nom + "=";
	var arglength = arg.length;
	var i = 0;
	while(i < cookielength){
		var j = i + arglength;
		if (document.cookie.substring(i, j) == arg) return ValeurCookie (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

function deplace_menu_1(nom, valeur){
	var menu = GetValeurCookie("emplacement_menu_1");
	if(menu == null) menu_1 = "gauche";
	if(menu != "gauche" && menu != "droite") menu = "gauche";
	var expdate = new Date();
	DateExpiration(expdate);
	expdate.setTime(expdate.getTime() + (364 * 24 * 60 * 60 * 1000));
	FixeCookie(nom, valeur, expdate);
}

function deplace_menu_2(nom, valeur){
	var menu = GetValeurCookie("emplacement_menu_2");
	if(menu == null) menu = "droite";
	if(menu != "droite" && menu != "centre" && menu != "gauche") menu = "droite";
	var expdate = new Date();
	DateExpiration(expdate);
	expdate.setTime(expdate.getTime() + (364 * 24 * 60 * 60 * 1000));
	FixeCookie(nom, valeur, expdate);
}


//  Fonctions dédiés à PF.
function SoHChar(charnum){
	var char1 = document.getElementById('CHAR1');
	var char2 = document.getElementById('CHAR2');
	var char3 = document.getElementById('CHAR3');
	var object = document.getElementById('CHAR'+charnum);
	
	if(object.style.display == '') object.style.display = 'none'; else object.style.display = '';
	if(charnum == 1){char2.style.display = 'none'; char3.style.display = 'none';}
	else if(charnum == 2){char1.style.display = 'none'; char3.style.display = 'none';}
	else{char1.style.display = 'none'; char2.style.display = 'none';}
}

function AddOrRemove(id, value){
	var object = document.getElementById(id);
	var points = document.getElementById('Points');
	if(points.innerHTML < 0) points.innerHTML = 0;
	else if((points.innerHTML == 15 && value <= 0) || points.innerHTML > 15) points.innerHTML = 15;
	else{
		value = parseInt(object.innerHTML) + parseInt(value);
		if(value >= document.getElementById('Def_'+id).value && ((points.innerHTML == 0 && value <= object.innerHTML) || points.innerHTML > 0)){
			points.innerHTML = parseInt(points.innerHTML) - parseInt(value) + parseInt(object.innerHTML);
			if(value >= 0) object.innerHTML = value; else object.innerHTML = 0;
			document.getElementById('Val_'+id).value = object.innerHTML;
		}
	}
}

function ChangeStats(id, value){
	document.getElementById('Val_'+id).value = value;
	document.getElementById('Def_'+id).value = value;
}

function CalculStats(id, type){
	var Vie = document.getElementById('Hp');
	var Energie = document.getElementById('Mp');
	var Endurance = document.getElementById('End');
	var For = document.getElementById('For').innerHTML;
	var Def = document.getElementById('Def').innerHTML;
	var Mag = document.getElementById('Mag').innerHTML;
	var Vit = document.getElementById('Vit').innerHTML;
	
	Vie.innerHTML = parseInt(HP[0]) + (parseInt(For) * parseInt(HP[1])) + (parseInt(Def) * parseInt(HP[2])) + (parseInt(Mag) * parseInt(HP[3])) + (parseInt(Vit) * parseInt(HP[4]));
	Energie.innerHTML = parseInt(MP[0]) + (parseInt(For) * parseInt(MP[1])) + (parseInt(Def) * parseInt(MP[2])) + (parseInt(Mag) * parseInt(MP[3])) + (parseInt(Vit) * parseInt(MP[4]));
	Endurance.innerHTML = parseInt(SP[0]) + (parseInt(For) * parseInt(SP[1])) + (parseInt(Def) * parseInt(SP[2])) + (parseInt(Mag) * parseInt(SP[3])) + (parseInt(Vit) * parseInt(SP[4]));
}

function ChangeClassType(){
	var object = document.getElementById('Class_Type');
	if(object.value == 1){
		object.value = 0;
		BackImage('Bad_Class', '');
	}
	else{
		BackImage('Bad_Class', 'documents/image/Power_Full/Bad_Class.png');
		object.value = 1;
	}
}

ImgNum = 0;
ImgTot = 3;
anim = new Array();
delay = 250;
start = 0;
increment = true;
image = 0;

function ChangeClass(maxclass){
	var object = document.getElementById('Class_Num');
	var classes = document.getElementById('Classes').value;
	var classtype = document.getElementById('Class_Type').value;
	
	if(parseInt(object.value) + 1 >= parseInt(maxclass))classnum = 0; else classnum = parseInt(object.value) + 1;
	classes = classes.split('[-]');
	
	classfind = false;
	while(!classfind){
		if(classnum >= maxclass) classnum = 0;
		if(classes[classnum] == "locked") classnum = parseInt(classnum) + 1;
		else{
			stats = classes[classnum].split('--');
			if(stats[5] == 0 && stats[6] == document.getElementById('Class_Type').value){
				document.getElementById('For').innerHTML = stats[0];
				document.getElementById('Def').innerHTML = stats[1];
				document.getElementById('Mag').innerHTML = stats[2];
				document.getElementById('Vit').innerHTML = stats[3];
				
				ChangeStats('For', stats[0]);
				ChangeStats('Def', stats[1]);
				ChangeStats('Mag', stats[2]);
				ChangeStats('Vit', stats[3]);
				
				document.getElementById('SpriteChar').name = stats[4];
				document.getElementById('SpriteChar').src = "documents/image/Power_Full/Sprites/2_"+stats[4]+".png";
				document.getElementById('ClassName').value = stats[7];
				document.getElementById('Points').innerHTML = 15;
				
				for(i = 0; i < ImgTot; i++){
					anim[i] = new Image;
					anim[i].src = 'documents/image/Power_Full/Sprites/'+(i + 1)+'_'+stats[4]+'.png';
				}
				/*stop('Char');
				animation('Char', stats[4]);*/
				classfind = true;
			}
			else classnum = parseInt(classnum) + 1;
		}
	}
	object.value = classnum;
	CalculStats();
}

function Switch(id){
	var object = document.getElementById('Sprite'+id);
	object.src = anim[ImgNum].src;
	if(increment) ImgNum++; else ImgNum--;
	if(ImgNum < 1) increment = true;
	else if(ImgNum >= ImgTot){ImgNum = ImgNum - 2; increment = false;}
	setTimeout("next('"+image+"', 1)", delay);
}

function next(id, launch){
	if(delay <= 0) delay = 250;
	if(delay > 0 && image != 0 && (launch == 1 || start == 0)) Switch(id);
	if(launch == 0) start = 1;
}

function animation(id, sprite){
	var tmpid = image;
	if(start > 0) stopall();
	
	if(tmpid != id){
		for (i = 0; i < ImgTot; i++){
			anim[i] = new Image;
			anim[i].src = 'documents/image/Power_Full/Sprites/'+(i + 1)+'_'+sprite+'.png';
		}
		if(delay <= 0){delay = 250; setTimeout("animation('"+id+"', '"+sprite+"')", delay);} else{image = id; next(image, 0);}
	}
}

function stopall(){
	stop(1);
	stop(2);
	stop(3);
}

function stop(id){
	var object = document.getElementById('Sprite'+id);
	object.src = 'documents/image/Power_Full/Sprites/2_'+object.name+'.png';
	image = 0;
	spr = 0;
	start = 0;
	delay = 0;
}

