
function draw_popups() {
	document.write("<div id=\"fondmodal\" style=\"position:absolute;left:0px;top:0px; z-index:500; width:200%; height:200%; display:none; visibility:none; background-color:#e9e9e9; filter:alpha(opacity=80); opacity:.80;\"></div>");
	for ( var i = 0; i < 5; i++) {
		draw_popup(i);
	}
}

function draw_popup(id) {
	document.write("<div id=\"popup_"+id+"\" class=\"popup\">");
	draw_cadre_h("popup_"+id, true);
	document.write("<table id=\"tb_popup_"+id+"\" class=\"tb_popup\" border=\"1\">");
	document.write("<tr>");
	document.write("<td colspan=\"2\">");
	document.write("<div id=\"d_popup_t_"+id+"\" class=\"d_popup_t\"></div>");
	document.write("<img class=\"img_close\" src=\"images/menu/close.gif\" onclick=\"closePopup('popup_"+id+"');\">");
	document.write("</td>");
	document.write("</tr>");
		
	document.write("<tr>");
	document.write("<td id=\"pop_td_menu_l\">");
	
	draw_cadre_h("d_popup_l_"+id);
	document.write("<div id=\"d_popup_l_"+id+"\" class=\"d_popup_l\"></div>");
	draw_cadre_f("d_popup_l_"+id);
	
	document.write("</td>");
	document.write("<td>");
	
	draw_cadre_h("d_popup_c_"+id);
	document.write("<div id=\"d_popup_c_"+id+"\" class=\"d_popup_c\"></div>");
	draw_cadre_f("d_popup_c_"+id);
	
	document.write("</td>");
	document.write("</tr>");
	document.write("</table>");
	draw_cadre_f("popup_"+id, true);
	document.write("</div>");
}

/**
 * Cette methode permet de positionner le popup en fonctin de son <b>id</b>.
 * @param id
 * @return
 */
function positionPopup(id) {
	var popup = $("popup_"+id);
	
	var h = document.body.clientHeight;
	var w = document.body.clientWidth;
	// var h = document.body.scrollHeight;
	// var w = document.body.scrollWidth;
	
	popup.style.top = 20;
	popup.style.left = 20;
	popup.style.width = w - 2*(popup.style.left.substring(0,2));
	popup.style.height= h - 2*(popup.style.top.substring(0,2));
	
	// on fixe la hauteur de la boite centrale du popup !!
	$("d_popup_c_"+id).style.height 
	               = (9*popup.style.height.substring(0, popup.style.height.length-2)) / 10;
	
	$("fondmodal").style.display="block";
	// Effets d'affichage !!!
	if(popup.style.display != "block") {
		$("popup_"+id).style.display = 'block';
		new Effect.Opacity("popup_"+id, { from: 0.0, to: 1.0, duration: 0.5 });
		//chooseEffect("popup_"+id);
	}
	else {
		chooseEffect("d_popup_c_"+id);
	}
	
	// Ensuite on met en place le positionnement dynamique du popup.
	var os = document.createAttribute("onscroll");
	os.nodeValue = "scrollPopup(\"popup_"+id+"\")";
	$("popup_"+id).parentNode.setAttributeNode(os);
	// $("popup_"+id).onmousemove=function(){scrollPopup("popup_"+id);}
}

/**
 * Affiche le menu de navigation du popup en s'inspirant sur l'affichage des <i>'menus bottom'</b>. 
 * @param indice - Indice du menu.
 * @param popup  - Le rang du popup (son z-index en quelque sorte).
 * @return
 */
function nav_menu(indice, popup) {
	// debug_script_menu(menus);

	var m = menus.menu[indice];
	if( m ) {
		var str = "";
		str += "<table id=\"pop_tb_menu_b\" class=\"tb_menu_b\">";
		str += "<tr>";
		str += "<td>";
		str += "<div id=\"pop_menu_"+indice+"\" class=\"menu_b\">";
		// ajout du nom du menu .
		str += "<div id=\"pop_items_"+indice+"\" class=\"items_b\">";
		for (var j = 0; j < m.items.length; j++) {
			var item = m.items[j];
			str += "<div id=\"pop_item_"+indice+"_"+j+"\" class=\"item_b\">";
			if(item == null) continue;
			if(item.sous_items.length == 0) {
				str += "<a href=\"javascript:void(0)\" onclick=\""+((item.action!=null)?item.action:"")+"\">"+item.name+"</a>";
			} else {
				str += "<em>"+item.name+"</em>";
				str += "<div id=\"pop_sousitems_"+indice+"_"+j+"\" class=\"sousitems_b\">";
				for ( var k = 0; k < item.sous_items.length; k++) {
					var sous_item = item.sous_items[k];
					if(sous_item == null) continue;
					str += "<div id=\"pop_sousitem_"+indice+"_"+j
					    + "\" class=\"sousitem_b\"><a href=\"javascript:void(0)\" onclick=\""
					    + ((sous_item.action && sous_item.action!=null && sous_item.action!="")?sous_item.action:"") + "\">"
					    + sous_item.name + "</a></div>";
//					erreur : menus != blocks
//					if (block.sous_items[k].nouveau) {
//						str += "<img src=\"images/menu/new.gif\" />";
//					}
				}
				str += "</div>";
			}
			str += "</div>";
		}
		str += "</div>";
		str += "</div>";
		str += "</td>";
		str += "</tr>";
		str += "</table>";
		
		if (!menus.contentPopup) {
			load_content2(indice, popup, str);
		} else {
			load_content1(indice, popup, str);
		}
	}
}

function call_block_action(a, b, indice, popup) {
	// ------------------------------------------------------------
	do_block_change = function (r_val) {
		document.getElementById("d_popup_c_"+popup).innerHTML = r_val;

		if (!menus.contentPopup) {
			reduiceLeftPanel();
		} else {
		}
		
		nav_menu(indice, popup);
	};
	// ------------------------------------------------------------
	
	if (b != null && b != '' && b != 'undefined') {
		x_call_temp(a, b, varlang, do_block_change);
	}
	else {
		x_call_temp(a, varlang, do_block_change);
	}
	if (menus.contentPopup) {
		showPopup(0);
	}
}

function showPopup(id) {
	positionPopup(id);
}


function load_content1(indice, popup, str) {
		// ------------------------------------------------		
		var menu_popup = document.getElementById("d_popup_l_"+popup);
		if(menu_popup) {
			menu_popup.innerHTML = str;
		}
		
		// ------------------------------------------------
		var menu_popup = $("d_popup_l_"+popup);
		if(menu_popup) {
			menu_popup.innerHTML += "<div id=\"d_popup_l_"+popup+"_pub\" class=\"pub\">"+ajax_loader()+"</div>";
		}
		readPub = function (r_val) {
			var menu_popup = $("d_popup_l_"+popup+"_pub");
			if(menu_popup) {
				menu_popup.innerHTML = r_val;
			}
		};
		// 
		var menu_popup = $("d_popup_t_"+popup);
		if(menu_popup) {
			menu_popup.innerHTML = ajax_loader();
		}
		readBarre = function (r_val) {
			var menu_popup = $("d_popup_t_"+popup);
			if(menu_popup) {
				menu_popup.innerHTML = r_val;
			}
		};
		// ------------------------------------------------

		// Affichage des informations de publicites
		x_call_pub(""+(Math.round( 10*Math.random() )), varlang, readPub);
		x_call_popup_barre(""+(Math.round( 10*Math.random() )), varlang, readBarre);

}

function load_content2(indice, popup, str) {
	var str1 = "<div id=\"popup_tmp\" class=\"popup2\">"
	    + "<table id=\"tb_popup_tmp\" class=\"tb_popup\" border=\"1\">"
	    + "<tr>"
	    + "<td id=\"pop_td_menu_t\" colspan=\"2\">"	
	    + "<div id=\"d_popup_t_tmp\" class=\"d_popup_t\"></div>"
	    + "</td>"
	    + "</tr>"
	    + "<tr>"
	    + "<td id=\"pop_td_menu_l\">"
	    + "<div id=\"d_popup_l_tmp\" class=\"d_popup_l\">"
	         + str
	         + "<div id=\"d_popup_l_tmp_pub\" class=\"pub\">" + "</div>"
	    + "</div>"
	    + "</td>"
	    + "<td>"
	    + "<div id=\"d_popup_c_tmp\" class=\"d_popup_c\">"+$('d_popup_c_'+popup).innerHTML+"</div>"
	    + "</td>"
	    + "</tr>"
	    + "</table>"
	    + "</div>";
	
	// ------------------------------------------------
	var content = $("div_cadres");
	content.innerHTML = str1;
	// ------------------------------------------------
	// Affichage des informations de publicites
	x_call_pub(""+(Math.round( 10*Math.random() )), varlang, function(r_val) { $("d_popup_l_tmp_pub").innerHTML = r_val;});
	x_call_popup_barre(""+(Math.round( 10*Math.random() )), varlang, function(r_val) {$("d_popup_t_tmp").innerHTML = r_val;});

}


/* ============================================================================================= */
/* =================================   EFFETS D'ANIMATIONS   =================================== */
/* ============================================================================================= */
/**
 * Effets de fermeture du popup (au hazard).
 * @param id
 * @return
 */
function closePopup(id) {
	switch ( Math.round( 10*Math.random()) ) {
	case 0 : Effect.Puff(id, { duration: 3.0 }); break;
	case 1 : Effect.Fade(id, { duration: 3.0 }); break;
	case 2 : Effect.Fold(id, { duration: 3.0 }); break;
	case 3 : Effect.Fold(id, { duration: 3.0 }); break;
	case 4 : Effect.Shrink(id, { duration: 3.0 }); break;
	case 5 : Effect.Shrink(id, { duration: 3.0 }); break;
	case 6 : Effect.Squish(id, { duration: 3.0 }); break; 
	case 7 : Effect.Squish(id, { duration: 3.0 }); break;
	case 8 : Effect.DropOut(id, { duration: 3.0 }); break;
	case 9 : Effect.SwitchOff(id, { duration: 3.0 }); break;
	default:
		break;
	}
    document.getElementById('fondmodal').style.display='none';
	return false;
}

/**
 * Cette methode permet de choisir un effet d'affichage au hasard.
 * @param id - l'identifiant de la zone a afficher.
 * @return
 */
function chooseEffect(id) {
	switch ( Math.round( 10*Math.random()) ) {
	case 0 : Effect.SlideDown(id, { duration: 3.0 }); break;
	case 1 : Effect.SlideDown(id, { duration: 3.0 }); break;
	case 2 : Effect.Grow(id, { duration: 3.0 }); break;
	case 3 : Effect.Grow(id, { duration: 3.0 }); break;
	case 4 : Effect.Grow(id, { duration: 3.0 }); break;
	case 5 : Effect.BlindDown(id, { duration: 3.0 }); break;
	case 6 : Effect.BlindDown(id, { duration: 3.0 }); break;
	case 7 : Effect.BlindDown(id, { duration: 3.0 }); break;
	case 8 : Effect.Appear(id, { duration: 3.0 }); break;
	case 9 : Effect.Appear(id, { duration: 3.0 }); break;
	default:
		break;
	}
	
	$(id).scrollTop = 10;
	return false;
}

/*
document.write("<>");
document.write("<>");
document.write("<>");
*/

/*
function positionPopup(id) {
	var popup = $("popup_"+id);
	
	var h = document.body.scrollHeight;
	var w = document.body.scrollWidth;
	
	popup.style.top = 20;
	popup.style.left = 20;
	popup.style.width = w - 2*(popup.style.left.substring(0,2));
	popup.style.height= h - 2*(popup.style.top.substring(0,2));
	
	// on fixe la hauteur de la boite centrale du popup !!
	$("d_popup_c_"+id).style.height 
	               = (9*popup.style.height.substring(0, popup.style.height.length-2)) / 10;
	
	// effets d'affichage !!!
	if(popup.style.display != "block") {
		//displays the popup
		$("popup_"+id).style.display = 'block';
		//$("popup_"+id).style.visibility = 'visible';
		new Effect.Opacity("popup_"+id, { from: 0.0, to: 1.0, duration: 0.5 });
		//chooseEffect("popup_"+id);
	}
	else {
		chooseEffect("d_popup_c_"+id);
	}
}
*/
/* ============================================================================================= */
/* ======================================   UTILITAIRES   ====================================== */
/* ============================================================================================= */
/* *** Repositionne automatiquement le popup au centre de la page *** */
function scrollPopup(id) {
	var popup = $(id);	
	if(popup) {
		var h = popup.style.height.substr(0, popup.style.height.length-2);
		if(document.body.scrollHeight > (document.body.clientHeight+scrollY)) {
			popup.style.top = (document.body.clientHeight+scrollY)-h;
		}
	}
}



