
function BBTool_closeMsgBox() {
	if(typeof(BBVars.tmpProID)!="undefined") {
		BBVars.currentProdID	= BBVars.tmpProdID;
		BBVars.currentProdEAN	= BBVars.tmpProdEAN;
		BBVars.currentProdSale	= 1;
		BBVars.currentOptionID	= BBVars.tmpOptionID;
		BBVars.currentProdQty	= BBVars.tmpProdQty;
	}
	BBSettings.BBPopup.elementsSettings.width = "756px";
	BBSettings.BBPopup.elementsSettings.height = "auto";
	jQuery('#BBTool_msgBox').fadeOut(function(){
		jQuery('#BBTool_msgBox').remove();
		jQuery('#BBTool_overlay').fadeOut(function(){
			jQuery('#BBTool_overlay').remove();
		});
	});
	jQuery('embed, object, select').css({ 'visibility' : 'visible' });
	void(0);
};

function BBTool_openMsgBox(msgData, isAjax, params) {

	if(typeof(msgData)!="undefined"||typeof(msgData)!="undefined") {
		if(msgData!="") {
			if(isAjax) {
				var BBTool_msgLabel			= '<div class="content">'+jQuery("#msgLabel", msgData).html()+'</div>';
				var BBTool_msgBody			= jQuery("#msgBody", msgData).html();
				var BBTool_msgData			= jQuery("#msgData", msgData);
				var BBTool_msgIsError		= (jQuery(msgData).attr("status")=="0") ? true : false;
				var BBTool_msgShow			= (jQuery(msgData).attr("status")=="2"||typeof(jQuery(msgData).attr("status"))=="undefined"||jQuery(msgData).attr("status")==null) ? false : true;
				var BBTool_msgCallback		= (jQuery(msgData).attr("callback")=="") ? false : jQuery(msgData).attr("callback");
				var BBTool_pageScroll		= BBTool_getPageScroll();
				var BBTool_loadImg			= (typeof(params)!="undefined") ? eval(params.loadImg) : true;
		
				if(BBTool_msgShow) {
		
					// Creation des parametres de l overlay a partir des settings par defaut
					// Ajout de la largeur et de la hauteur de la page			
					var BBTool_msgBox_overlaySettings = 
								jQuery.extend( {}, {
										width:		BBVars.pageWidth+"px",
										height:		BBVars.pageHeight+"px"
									}, BBSettings.BBPopup.overlaySettings
								);
							//jQuery.extend(BBTool_msgBox_overlaySettings, params.overlay);
		
					// Creation des parametres de la popup a partir des settings par defaut
					// Ajout de la position calculee par rapport aux dimensions de la page
					var BBTool_msgBox_boxSettings = 
								jQuery.extend( {}, {
										top:		BBTool_pageScroll[1] + (BBVars.windowHeight / 10)+"px",
										left:		BBTool_pageScroll[0]+"px"
									}, BBSettings.BBPopup.msgBoxSettings
								);
							//jQuery.extend(BBTool_msgBox_boxSettings, params.box);
								
					// Creation des parametres du contenu de la popup a partir des settings par defaut
					// Si non specifie dans les parametres par defaut, ajout de la largeur du contenu en fonction de la largeur de la page
					var BBTool_msgBox_elementsSettings = 
								jQuery.extend( {}, {
									width: 		Math.floor(BBVars.pageWidth/3)+"px",
									height:		"auto"
									}, BBSettings.BBPopup.elementsSettings
								);
						//jQuery.extend(BBTool_msgBox_elementsSettings, params.popup);
						
					if($('#BBTool_msgBox').length==0) {
						$('<div id="BBTool_overlay">&nbsp;</div><div id="BBTool_msgBox"><div id="BBTool_msgBoxContent"><a id="BBTool_msgBoxCloseBtn" class="btn" href="javascript: BBTool_closeMsgBox();"><span>'+BBLabels.label_popupClose+'</span></a><div id="BBTool_msgBoxHeader">'+BBTool_msgLabel+'</div><div id="BBTool_msgBoxBody">'+BBTool_msgBody+'</div><div id="BBTool_msgBoxFooter"></div></div></div>').appendTo("body");
						//$('#BBTool_msgBox div').css({width: Math.floor(BBVars.pageWidth/3)+"px", display: "block"});
					} else {
						$('#BBTool_msgBoxHeader').html(BBTool_msgLabel);
						$('#BBTool_msgBoxBody').html(BBTool_msgBody);
					}
					
					$('#BBTool_msgBoxContent').css(BBTool_msgBox_elementsSettings);
					
					if(BBTool_msgIsError) $('#BBTool_msgBox').addClass("error");
					else $('#BBTool_msgBox').removeClass("error");
				
					$('embed, object, select').css({ 'visibility' : 'hidden' });
		
					if( typeof($("#BBTool_overlay").css("position")) == "undefined" || $("#BBTool_overlay").css("position") != "absolute") {
						$('#BBTool_msgBox').css(BBTool_msgBox_boxSettings);
						$('#BBTool_overlay').css(BBTool_msgBox_overlaySettings).fadeIn("normal", function() {
							$('#BBTool_msgBox').fadeIn();
						});
						
					}	
					
				}
				
				// Affichage du contenu de chaque div contenant des donnees
				$(".msgData", BBTool_msgData).each( function() {
				
					// Recuperation de la cible pour affichage
					// Si aucune cible n est definie, on affiche les donnees dans le corps de la popup
					var HTMLTarget	= ($(this).attr("target")=="none") ? "#BBTool_msgBoxBody" : "#"+$(this).attr("target");
					var HTML		= $(this).html();
					var append		= ($(this).attr("append")=="true") ? true : false;
					var objWidth	= jQuery(HTMLTarget).width()+"px";
					var objHeight	= jQuery(HTMLTarget).height()+"px";
					
					// On rajoute un div container pour pouvoir calculer la hauteur du contenu
					// On check si ce div n existe pas deja pour eviter la duplication du contenu
					if(jQuery("div.content", HTMLTarget).length==0) {
						if(!append) jQuery(HTMLTarget).html("");
						jQuery(HTMLTarget).append('<div class="content" />');
					}
	
					// On check si le contenu a afficher n est pas deja dans un container dont le contenu a ete charge dynamiquement
					// Si c est le cas, vu que sa hauteur a ete fixee par les fonctions d animation dans l attribut style
					// On force sa hauteur sur "auto" dans l attribut style du container afin que sa hauteur s ajuste apres chargement du nouveau contenu
					
					var parent = jQuery(HTMLTarget).closest("div.content").parent();
					if( parent.length > 0) parent.attr("style","height: auto;");
					
					// On fixe en css les dimensions du conteneur
					
					jQuery(HTMLTarget).css({
						height:		objHeight,
						width:		objWidth,
						overflow: 	"hidden"
						
					// On cache le contenu de la cible
					}).animate({
						height: 	objHeight,
						width:		objWidth
					}, 100, function() {
				
						// On met a jour le contenu de la cible
						jQuery("div.content", HTMLTarget).animate({opacity: 0}, 100, function() {

							(append) ? jQuery("div.content", HTMLTarget).append(HTML) : jQuery("div.content", HTMLTarget).html(HTML);
				
							if(jQuery("img", HTMLTarget).length>0&&BBTool_loadImg) {
								jQuery("img", HTMLTarget).batchImageLoad({
									loadingCompleteCallback: BBTool_popUpDspContent(HTMLTarget, append, msgData, BBTool_msgCallback)
								});
							} else BBTool_popUpDspContent(HTMLTarget, append, msgData, BBTool_msgCallback);
						
						});
						
						//jQuery(this).css({overflow: "auto"});
						
					})
					
				});
				
			} else alert(msgData);
			
		}
		
	}
	
	void(0);
	
};

function BBTool_popUpDspContent(HTMLTarget, append, msgData, BBTool_msgCallback) {

	jQuery("#loaderLayer").animate({opacity: 0}, function() { jQuery(this).remove(); });

	jQuery(HTMLTarget).animate({
		width: jQuery("div.content", HTMLTarget).outerWidth()+"px",
		height: ((append)?jQuery(HTMLTarget).outerHeight():0) + jQuery("div.content", HTMLTarget).outerHeight()+"px"
	}, 100, function() {
		jQuery("div.content",HTMLTarget).animate({opacity: 1}, 1000, function() {
	
			// Si une callback est definie et qu elle existe, on l appelle en lui passant les donnees retournees par l ajax
			// On attend que la page soit mise a jour avant de manipuler l HTML
			if($.isFunction(eval(BBTool_msgCallback))) 
				eval(BBTool_msgCallback+"(msgData)");
			
			if(BBVars.isMsIE) jQuery(this).get(0).style.removeAttribute('filter');
		});
	});
	
}
