// Initialisation des paramètres
function paramExt ()
	{	
		for (var p in param)
			if ( expExt.test(p) )
				param_ext[p] = param[p];
	}
// Mise à jour des paramètres actifs
function validExt ()
	{
		applyTexture ();
					
		for (var p in param)
		{	
			if ( expExt.test(p) )
				param[p] = param_ext[p];
		}
		
		loadIframe();
		document.getElementById('popup_area').style.display = 'none'; 
	}
// Initialisation des éléments de la popup
function initExt ()
	{	
		// Initialisation des aperçus
		setBodyColor( param['ext_color_1'], param['ext_color_2']);
		setTexture(param['ext_tex']);
		
		var max_texture = document.getElementsByName("set_bkg_texture").length;
		for (var texture = 1 ; texture < max_texture ; texture++)
		{
			document.getElementById("bkgTexture"+texture).style.background = "url("+storeUrl+textureUrl+texture+".gif)";
		}
		
		document.getElementsByName("set_bkg_color")[param['ext_color_1']].checked = true;
		if (param['ext_color_2'] == '-1')
			document.getElementById("extsecondcolorvalue").checked = true;
		else
			document.getElementsByName("set_bkg_color_gradient")[param['ext_color_2']].checked = true;
		document.getElementsByName("set_bkg_texture")[param['ext_tex']].checked = true;
			
		document.getElementById('popup_area').style.display = 'block'; 
	}
// Met a jour les couleurs de fond dans le choix des textures et la prévisualisation
function setBodyColor (main_color, opt_color)
	{
		// On récupère le nombre de textures proposées
		var max_texture = document.getElementsByName("set_bkg_texture").length ;
		
		// Cas sans dégradé
		if (opt_color == '-1')
		{
			if (ua.indexOf ("MSIE") != -1)
			// Cas particulier de IE
			{		
				// Mise à jour de la prévisualisation
				document.getElementById("bkgcolorpreview").style.filter = "";
				// Mise à jour des textures
				for ( i = 0; i < max_texture ; i++)
						document.getElementById("bkgColTexture"+i).style.filter = "";
			}
			else
			// Autres navigateurs
			{
				document.getElementById("bkgcolorpreview").style.background = param['color'+main_color];
				for ( i = 0; i < max_texture ; i++)
						document.getElementById("bkgColTexture"+i).style.background = param['color'+main_color];
			}
		}
		else 
		// Cas avec dégradé
		{	
			if (ua.indexOf ("MSIE") != -1)
			{
				document.getElementById("bkgcolorpreview").style.filter = "progid:DXImageTransform.Microsoft.Gradient(endColorstr='"+param['color'+opt_color]+"', startColorstr='"+param['color'+main_color]+"', gradientType='0');";
				for ( i = 0; i < max_texture ; i++)
					document.getElementById("bkgColTexture"+i).style.filter = "progid:DXImageTransform.Microsoft.Gradient(endColorstr='"+param['color'+opt_color]+"', startColorstr='"+param['color'+main_color]+"', gradientType='0');";
			}
			else if (ua.indexOf ("Firefox") != -1)
			{
				document.getElementById("bkgcolorpreview").style.background = "-moz-linear-gradient(-90deg,"+param['color'+main_color]+","+param['color'+opt_color]+")";
				for( i = 0; i < max_texture ; i++)
					document.getElementById("bkgColTexture"+i).style.background = "-moz-linear-gradient(-90deg,"+param['color'+main_color]+","+param['color'+opt_color]+")";
			}
			else if (ua.indexOf ("Safari") != -1 || ua.indexOf ("Chrome") != -1)
			{
				document.getElementById("bkgcolorpreview").style.background = "-webkit-gradient(linear, left top, left bottom, from("+param['color'+main_color]+"), to("+param['color'+opt_color]+"))";
				for( i = 0; i < max_texture ; i++)
					document.getElementById("bkgColTexture"+i).style.background = "-webkit-gradient(linear, left top, left bottom, from("+param['color'+main_color]+"), to("+param['color'+opt_color]+"))";
			}
			else alert('Ce navigateur ne prend pas en compte le fond en dégradé');
		}
	}
// Met a jour la texture dans l'aperçu
function setTexture (texture_nb)
	{
		if (texture_nb == 0)
			document.getElementById("bkgtexturepreview").style.background = "";
		else
			document.getElementById("bkgtexturepreview").style.background = "url("+storeUrl+textureUrl+texture_nb+".gif)";
	}
// Valide la texture de l'aperçu
function applyTexture ()
	{
		// On récupère le fond de l'aperçu
		var preview_texture = document.getElementById("bkgtexturepreview").style.background;
		// On extrait le numéro de texture
		var i_start = preview_texture.indexOf("textures/")+ 9;
		var i_end = preview_texture.indexOf(".gif");
		
		// Si aucune texture n'est présente
		if (i_start == -1 || i_end == -1) 
			// On indique 0
			param_ext['ext_tex'] = 0;
		else
		{	
			// Sinon on extrait le numéro de la texture et on l'applique
			param_ext['ext_tex'] = preview_texture.substring(i_start, i_end);
		}
		
	}
// Met a jour la premiere couleur de la zone externe
function firstColorChange (val)
	{	
		param_ext['ext_color_1'] = val;
		setBodyColor( val, param_ext['ext_color_2']);
	}
// Met a jour la deuxieme couleur de la zone externe
function secondColorChange (val)
	{ 	
		param_ext['ext_color_2'] = val;
		setBodyColor( param_ext['ext_color_1'], val);
	}
