// affiche le bloc demandé et cache les autres
function switch_ar(id_bloc) {
	var liste_blocs = ['image', 'degrade', 'internet', 'uni', 'pc'],
		count_liste = liste_blocs.length,
		i;

	for (i = 0; i < count_liste; i += 1) {
		if (liste_blocs[i] === id_bloc) {
			document.getElementById('ar_' + id_bloc).style.display = 'block';
		}
		else {
			document.getElementById('ar_' + liste_blocs[i]).style.display = 'none';
		}
	}
}

// ==============================
// Gallerie
// ==============================
var prev_galerie_active = false;
var history_galerie = [];
function prev_galerie(categorie) {
	// on évite les lancements multiples
	if (prev_galerie_active) {
		return;
	}
	else {
		prev_galerie_active = true;
	}

	// on vérifie que la catégorie n'est pas dans l'historique
	if (history_galerie[categorie]) {
		document.getElementById('prev_galerie').innerHTML = history_galerie[categorie];
		prev_galerie_active = false;
		return;
	}

	// requête ajax en cours
	document.getElementById('image_req_en_cours').innerHTML = '<em class="rouge">Récupération des images de la catégorie en cours ...</em><br />';

	// XMLHttpRequest
	var xhr = get_http_object();
	xhr.open ('POST','external/banniere/scripts/galerie.php',true);
	xhr.onreadystatechange = function ()	{
		if (xhr.readyState == 4 && xhr.status == 200) {
			// on vérifie s'il n'y a pas d'erreur
			if(/^Erreur/.test(xhr.responseText)) {
				alert(xhr.responseText);
				document.getElementById('image_req_en_cours').innerHTML = '<strong class="rouge">' + xhr.responseText + '</strong>';
				prev_galerie_active = false;
				return;
			}

			// on affiche le HTML
			document.getElementById ('prev_galerie').innerHTML = xhr.responseText;

			// on ajoute à l'historique
			history_galerie[categorie] = xhr.responseText;

			// on termine la fonction -> désactive
			document.getElementById ('image_req_en_cours').innerHTML = '';
			prev_galerie_active = false;
		}
	};
	//envoye d'un texte bidon
	xhr.setRequestHeader ('Content-type','application/x-www-form-urlencoded');
	xhr.send ('categorie=' + escape (categorie));
}


// ==============================
// dégradé
// ==============================
// prévisualisation du dégradé
var prev_degrade_active = false;
function prev_degrade () {
	// on évite les lancements multiples
	if (prev_degrade_active) {
		return;
	}
	else {
		prev_degrade_active = true;
	}
	document.getElementById ('degrade_req_en_cours').innerHTML = '<em class="rouge">Génération de l\'aperçu en cours ...<' + '/em><br /' + '>';

	// paramètres
	var type = (document.getElementById('degrade_type_h').checked) ? 'h' : 'v',
		hex_D = document.getElementById('degrade_D').value,
		hex_F = document.getElementById('degrade_F').value,
		dim_l = document.getElementById('degrade_largeur').value,
		dim_h = document.getElementById('degrade_hauteur').value;

	// XMLHttpRequest
	var xhr = get_http_object();
	xhr.open('GET','external/banniere/scripts/degrade.php?type='+escape(type)+'&hex_D='+escape(hex_D)+'&hex_F='+escape(hex_F)+'&dim_l='+escape(dim_l)+'&dim_h='+escape(dim_h),true);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			// on vérifie s'il n'y a pas d'erreur
			if(/^Erreur/.test(xhr.responseText)) {
				alert(xhr.responseText);
				document.getElementById('degrade_req_en_cours').innerHTML = '<strong class="rouge">' + xhr.responseText + '<' + '/strong>';
				prev_degrade_active = false;
				return;
			}

			// on affiche l'image
			document.getElementById('prev_degrade').innerHTML = '<img src="' + xhr.responseText + '" alt="" />';

			// req, pu en cours ^^
			document.getElementById('degrade_req_en_cours').innerHTML = '';
			prev_degrade_active = false;
		}
	};
	//envoye d'un texte bidon
	xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	xhr.send('');
}

// ==============================
// Image internet / Prévisualisation rapide
// ==============================
// prévisualisation
function prev_internet() {
	setTimeout(prev_internet, 500);
	document.getElementById('prev_internet').innerHTML = '<img alt="" src="'+document.getElementById('url').value+'" />';
}

// ==============================
// Image internet / Prévisualisation finale
// ==============================
// prévisualisation
var prev_internet_active = false;
function prev_serveur_internet() {
	// on évite les lancements multiples
	if(prev_internet_active) {
		return;
	}
	else {
		prev_internet_active = true;
	}

	// requête ajax en cours
	document.getElementById('internet_req_en_cours').innerHTML = '<em class="rouge">Génération de l\'aperçu en cours ...<' + '/em><br /' + '>';

	// paramètres
	var url_img = document.getElementById('url').value;

	// XMLHttpRequest
	var xhr = get_http_object();
	xhr.open('GET','external/banniere/scripts/internet.php?url='+escape(url_img),true);
	xhr.onreadystatechange = function() {
		if (xhr.readyState == 4 && xhr.status == 200) {
			// on vérifie s'il n'y a pas d'erreur
			if(/^Erreur/.test(xhr.responseText)) {
				alert(xhr.responseText);
				document.getElementById('internet_req_en_cours').innerHTML = '<strong class="rouge">' + xhr.responseText + '<' + '/strong>';
				prev_internet_active = false;
				return;
			}
			
			// on affiche l'image
			document.getElementById('prev_ajax_internet').innerHTML = '<img alt="" src="' + xhr.responseText + '" />';

			// req terminée
			document.getElementById('internet_req_en_cours').innerHTML = '';
			prev_internet_active = false;
		}
	};
	//envoye d'un texte bidon
	xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	xhr.send('');
}

// ==============================
// Image ordi
// ==============================
// prévisualisation
function prev_uni(couleur_prec) {
	// paramètres
	var couleur = document.getElementById('couleur_uni').value,
		hauteur = Number(document.getElementById('uni_hauteur').value) + 'px',
		largeur = Number(document.getElementById('uni_largeur').value) + 'px',
		prev_deg_style = document.getElementById('previsualisation_du_degrade').style;

	// on écrit la bannière
	if(couleur != couleur_prec) {
		prev_deg_style.background	= couleur;
		prev_deg_style.height		= hauteur;
		prev_deg_style.width		= largeur;
	}

	// on relance
	setTimeout(prev_uni, 100);
}
