
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();
		
				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 params = {};
					var popupWidth		= BBTool_msgData.attr("popupWidth");
						params.width	= (typeof(popupWidth)!="undefined"&&popupWidth!=null&&popupWidth!="") ? popupWidth + "px" : Math.floor(BBVars.pageWidth/3)+"px";
					var popupHeight		= BBTool_msgData.attr("popupHeight");
						params.height	= (typeof(popupHeight)!="undefined"&&popupHeight!=null&&popupHeight!="") ? popupHeight + "px" : "auto";
						
					var BBTool_msgBox_elementsSettings = 
								jQuery.extend( {}, {
									width: 		popupWidth,
									height:		popupHeight
									}, BBSettings.BBPopup.elementsSettings
								);
						jQuery.extend(BBTool_msgBox_elementsSettings, params);
						
					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();
						});
						
					}	
					
				}
				
					//$(".msgData", BBTool_msgData).each( function() { alert($(this).attr("target")+" "+$(this).html())});
					
					// 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 !important;");
						
						// 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
						}, function() {
					
							// On met a jour le contenu de la cible
							jQuery("div.content", HTMLTarget).animate({opacity: 0}, function() {

								(append) ? jQuery("div.content", HTMLTarget).append(HTML) : jQuery("div.content", HTMLTarget).html(HTML);
					
								if(jQuery("img", HTMLTarget).length>0) {
									jQuery("img", HTMLTarget).batchImageLoad({
										loadingCompleteCallback: BBTool_popUpDspContent(HTMLTarget, msgData, BBTool_msgCallback)
									});
								} else BBTool_popUpDspContent(HTMLTarget, msgData, BBTool_msgCallback);
							
							});
							
							//jQuery(this).css({overflow: "auto"});
							
						})
						
					});
				
				//alert(jQuery("*[style!='']").length);
				
				
			} else alert(msgData);
			
		}
		
	}
	
	void(0);
	
};

function BBTool_popUpDspContent(HTMLTarget, msgData, BBTool_msgCallback) {

	jQuery(HTMLTarget).animate({
		width: jQuery("div.content", HTMLTarget).outerWidth()+"px",
		height: jQuery("div.content", HTMLTarget).outerHeight()+"px"
	}, function() {
		jQuery("div.content",HTMLTarget).animate({opacity: 1}, 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');
		});
	});
	
}
