/**
 * Fichier JavaScript du thème deus_fullact
 * 
 * @author nkdeus <www.nkdeus.com>
 * @package deus_fullact
 */

// Inclusion de l'objet FFlash pour l'affichage flash
include('themes/deus_fullact/javascript/FFlash.js');


// Resize des blocks flash dynamiquement
function resize(block, h) {
	var height = Math.round(h);
	
	// Récupération des noeuds enfants
	var nodes = document.getElementById('flash-'+block).childNodes;
	
	// Recherche de l'élément object
	for (var i = 0; i < nodes.length; i++) {
		if (typeof nodes[i].height != 'undefined') {
			if (nodes[i].height == 1000 || nodes[i].height == 800) {
				nodes[i].height = height + 10;
			}
		}
	}
}


// Vérification des valeurs des blocks login
function check(element, string) {
	if (typeof element.value != 'undefined') {
		if (element.value == string) {
			element.value = '';
		} else if (element.value == '') {
			element.value = string;
		}
	}
}


var current = 0, rskins = null, skins = [], length;

/**
 * Script de navigation entre les skins du thème
 * 
 * @param bool next Vers l'avant ?
 */
function navSkin(next) {
	// Paramétrage des informations
	var old = current;
	
	if (rskins == null) {
		rskins = document.getElementById('skins').childNodes;
		
		// Tri des noeuds
		for (var j = 0, i = 0; i in rskins; i++) {
			if (typeof rskins[i].innerHTML != 'undefined') {
				skins[j] = rskins[i];
				j++;
			}
		}
		
		length = skins.length;
	}
	
	// Requête du suivant
	if (next == true) {
		if (current < length-1) {
			current++;
		} else { // On est arrivé au bout : on remet au début
			current = 0;
		}
	} else { // Requête du précédant
		if (current > 0) {
			current--;
		} else { // On est arrivé au bout : on remet à la fin
			current = length-1;
		}
	}
	
	// Mise à jour de l'affichage
	if (current != old) {
		for (i = 0; i < length; i++) {
			if (i == current) {
				skins[i].className = 'selected';
			} else {
				skins[i].className = '';
			}
		}
	}
}


var timer;

// Mise à jour du skin
function setSkin(skin) {
	// Mise à jour du cookie
	// -- Date d'expiration = 1 mois
	var expire = new Date;
	expire.setMonth((expire.getMonth() + 1) % 12);
	
	// -- Création du cookie
	document.cookie = 'dF_skin='+escape(skin)+'; expires='+expire.toGMTString();
	
	// Création des items
	var skinLoad = document.createElement('div');
	skinLoad.id = 'skin-loading';
	
	var bg = document.createElement('div');
	bg.className = 'background';
	
	var wrapper = document.createElement('div');
	wrapper.className = 'wrapper';
	
	var box = document.createElement('div');
	box.className = 'box';
	box.title = 'Loading';
	
	var title = document.createElement('h3');
	title.innerHTML = 'Modification du skin';
	
	var texte = document.createElement('p');
	texte.innerHTML = 'Veuillez patienter.<br />Le skin <strong>'+skin+'</strong> est en cours de chargement...';
	
	var close = document.createElement('a');
	close.innerHTML = 'Annuler';
	close.href = 'javascript: cancelSetting();';
	
	// Linkage
	box.appendChild(title);
	box.appendChild(texte);
	box.appendChild(close);
	
	wrapper.appendChild(box);
	
	skinLoad.appendChild(bg);
	skinLoad.appendChild(wrapper);
	
	document.body.appendChild(skinLoad);
	
	// Style
	var loadSheet = document.createElement('link');
	loadSheet.rel = 'stylesheet';
	loadSheet.type = 'text/css';
	loadSheet.href = 'themes/deus_fullact/styles/loading.css';
	
	document.getElementsByTagName('head')[0].appendChild(loadSheet);
	
	// Redirection
	timer = setTimeout('window.location.reload();', 2500);
}


// Annulation de la mise à jour
function cancelSetting() {
	clearTimeout(timer);
	
	document.body.removeChild(document.getElementById('skin-loading'));
}


/**
 * Fonction d'inclusion d'un fichier
 * 
 * @param string file href du fichier 
 */
function include(file) {
	document.write('<script type="text/javascript" src="', file, '"></script>');
}
