/*	copyright: Eric Di Filippo - big boss studio 2010 / http://www.bigbossstudio.com/
//	technical issues: Eric Di Filippo  : support@big-boss-studio.com
*/
if (typeof BBfwe == "undefined") var BBfwe = {};
if (typeof BBfwe.util == "undefined") BBfwe.util = {};

BBfwe.util.Flash = new function() {
	var BBfweApi = false;
	var notRoot;
	var cible;
	var flashvars = {};	
	var flashvarsAdd = {};	
	var params = {};
	var attributes = {};
	
	var largeurSwf = '100%';
	var hauteurSwf = '100%';
	
	var largeurFitSwf =  995;
	var hauteurFitSwf = 585;
	var playerMinVersion = "9.0.115";
	
	var allowScriptAccess = "always";
	var allowFullScreen = "false";
	
	var asual;
	var bgcolor = "#FFFFFF"
	var noflashimg;
	
	var xmlConfig = '';	
	var stringXmlConfig = '';	
		
	
   return {
            /* Public API
            */            
            init: function(_BBfweApi,_notRoot,_cible,_flashvarsAdd,_largeurSwf,_hauteurSwf,_largeurFitSwf,_hauteurFitSwf,_playerMinVersion,_bgcolor,_allowScriptAccess,_allowFullScreen,_asual,_noflashimg) {   
            	BBfweApi = _BBfweApi;
            	notRoot = _notRoot;
            	cible = _cible;
            	flashvarsAdd = _flashvarsAdd;
            	//
            	largeurSwf = (_largeurSwf == "") ? largeurSwf:_largeurSwf;
            	hauteurSwf = (_hauteurSwf == "") ? hauteurSwf:_hauteurSwf;
            	//
            	largeurFitSwf = (_largeurFitSwf == "") ? largeurFitSwf:_largeurFitSwf;
            	hauteurFitSwf = (_hauteurFitSwf == "") ? hauteurFitSwf:_hauteurFitSwf;            	
            	//
            	bgcolor = (_bgcolor == "") ? bgcolor:_bgcolor;
            	//
            	playerMinVersion = (_playerMinVersion == "") ? playerMinVersion:_playerMinVersion;
            	//
            	asual = _asual;
            	noflashimg = _noflashimg;
            	this.launchApp();
            },
            launchApp: function() {            	
            	$(function(){
            		//si swfadress et pas racine
            		//alert(asual.swfaddress);
					//if(asual.swfaddress && notRoot != ""){
					if(notRoot != ""){
						//on redirige						
						//alert(notRoot);
						window.location = notRoot;
					} else {
						//CONFIGURATION
						var playerVersion = swfobject.getFlashPlayerVersion();
						var majorVersion = playerVersion.major;
						//
						if(majorVersion >= 6){												
							jQuery.each(flashvarsAdd, function(i, val) {
								//console.log(i);
								//console.log(val);
								flashvars[i] = val;
							});								
							//							
							params.bgcolor = bgcolor;
							params.allowScriptAccess = allowScriptAccess;
							params.allowFullScreen = allowFullScreen;
							//							
							attributes.id = cible+"_fl";
							attributes.name = cible+"_fl";
							//
							var datas = '<bbs/>';
							$.ajax({
								type: "GET",
								url: flashvars._URL_CONFIG_,
								cache:false,
								data:'xml='+datas,
								dataType: "string",
								success: BBfwe.util.Flash.succesLoaded
							});	
						} else {
						//VERSION INFERIEURE A 6
							$("#contenu").css({visibility:"visible"});	
							var img = new Image();
							$(img).load(function () {
								$(this).hide();			
								 var o = $.create('div', {'id':'wrapper-install', 'class':'install'}, [' ']);
								// Append object o				 
								$('#'+cible).append($(o));
								//$('#wrapper-install').append(this);        	
								$(this).fadeIn();
								$("#"+cible).click(function(event) {
									window.open( 'http://get.adobe.com/fr/flashplayer/' );
									return false;
								});
							}).error(function () {
							    // 
							}).attr('src', noflashimg);
						}
					}
            	});
			},
			succesLoaded: function(xml) {
				stringXmlConfig = xml;
            	//alert(xml);
            	if(BBfweApi){
					xmlConfig = $(xml).find("resultat").text();
					//for IE
					if (window.ActiveXObject) {
						if (typeof xmlConfig == "string") {
							var resultatTmp = xmlConfig;
							xmlConfig = new ActiveXObject("Microsoft.XMLDOM");
							xmlConfig.async = false;
							xmlConfig.loadXML(resultatTmp);
						}
					}  
            	} else {
            		//for IE
					if (window.ActiveXObject) {						
						if (typeof xmlConfig == "string") {
							var resultatTmp = xml;
							xmlConfig = new ActiveXObject("Microsoft.XMLDOM");
							xmlConfig.async = false;
							xmlConfig.loadXML(resultatTmp);
						}		
						//alert(typeof xmlConfig);				
						xmlConfig  = xmlConfig;	
						//alert(xmlConfig);
					} else {
						xmlConfig = xml;	
						//alert(xmlConfig);
					}            		
            	}
				var rootSwfFile = $(xmlConfig).find("root").text();		
				//alert($(xmlConfig));		
				rootSwfFile = rootSwfFile.replace('{WWW}',flashvars._WWW_);
				rootSwfFile = rootSwfFile.replace('{SITENAME}',flashvars._SITENAME_);
				//alert(rootSwfFile);
				var preloadFile =  $(xmlConfig).find("mainpreload").text();				
				//alert(preloadFile);
				var expressFile = rootSwfFile + $(xmlConfig).find("express").text();
				var zurl = rootSwfFile + preloadFile;
				//alert(zurl);
				if(!BBfweApi){
					//xmlConfig = $(xmlConfig).text();
					//console.log(xmlConfig);
				}
				swfobject.embedSWF(zurl, cible, largeurSwf, hauteurSwf, playerMinVersion,expressFile, flashvars, params, attributes);
				if(largeurSwf == '100%' && hauteurSwf == '100%'){
					swffit.fit(attributes.id,largeurFitSwf,hauteurFitSwf);
				}
				$("#contenu").css({visibility:"visible"});	
			},
			getXmlConfig: function(notRoot,flashvarsObj) {
				//alert(stringXmlConfig);
            	return stringXmlConfig;
			}
			//END Public API//
		}
}();

BBfwe.util.Facebook = new function() {		
	
   return {
            /* Public API
            */            
            init: function(api_key,receiver) {
            	//FB.init(api_key, null, { permsToRequestOnConnect : "publish_stream,photo_upload" }); 
            	//FB.init(api_key, receiver); 
            	FB.init(api_key); 
			},
            login: function() {
            	//alert('login');
				FBFlashBridgeLogIn();
				FBFlashBridgeListener("LOGGED_IN", BBfwe.util.Facebook.onLoggedIn); 
				return FBFlashBridgeisLoggedIn().toString();
			},
			isLogged: function() {
				return FBFlashBridgeisLoggedIn().toString();
			},
			onLoggedIn: function() {
				//alert('onLoggedIn');
				var fl = swfobject.getObjectById("contenu_fl");
				fl.onLogin();	
			},
			showPermissionDialog: function() {
				//alert('showPermissionDialog');
				FB.Connect.showPermissionDialog(
   						 /*"publish_stream,photo_upload",*/
   						 "photo_upload",
    							BBfwe.util.Facebook.permissionHandler);
			},
			permissionHandler: function(param,param2) {
			/*	alert('permissionHandler');
				alert(param);
				alert(param2);*/
				var fl = swfobject.getObjectById("contenu_fl");
				fl.onPermission(param);	
			}
			
			
			//END Public API//
		}
}();


BBfwe.util.Stat = new function() {		
	
   return {
            /* Public API
            */            
            track: function(libelle,provider,obj) {
            	
            	//alert("track : " + libelle);            	
            	//DEFAUT GOOGLE            		
            	pageTracker._trackPageview(libelle);
            	console.log("track : " + libelle);
			}			
			//END Public API//
		}
}();

