/*
TODo:
Debbug de l'affichage / masquege de la scrollBar

###############################################################################################################
#	@Daweed																																													
#	www.daweed.info
#	plus d'info sur le 	http://blog.daweed.info/laboratoire/laboratoire-javascript/gerer-la-position-et-les-scrolls-dun-site-flash-au-sein-dune-page-html	
																					

#	::	SWFintegrator v 2.0	::																	
#
#	@ PARAM @
#	->	 new SWFintegrator(sFlashContenaire);
#			* sFlashContenaire = id de la div contenaire
#			
#	->	setTemplate(sType)
#	sType		:	"CC" / "FS" / "TC"/"CL"
#			*type de template : CentreCentre / FullScreen / Top Center / Center / top
#
#	->	setMinSize(W,H)
#			*Taille minimum 	W= largeur / H=Hauteur;
#
#	->	setMaxSize(W,H)
#			*Taille max ( que poru le fullscreen ) 	W= largeur / H=Hauteur;
			
			
			
#	Testé sous:
#	- FireFox
#	- IE7
#	- IE6

#	Mise a jour: 11/02/2008	
#	v 2.0 :
#
#	- modification de la méthode d'appel du SWFINTEGRATOR
#	- intégration de nouveaux Gabarits
#	- integration d'un taille maxi pour le mode FullScreen
#	- integration d'un methode pour modifier les tailles du flash a la volée, depusi le fla

#	Mise a jour: 11/12/2007	
#	v 1.1 :
#
#	- script rendus commpatible avec les doctypes ( pour faire plaisir a mes amis des standarts web )
#	- intégration de l'option display none/block pour eviter les sautes au chargement.

###############################################################################################################
*/

/*
DO NOT EDIT BELOW THAT POINT
*/


function SWFintegrator(sFlashContenaire){	
	
		//passer les parametres a la fonction constructeur
		this.init(sFlashContenaire);		
};

m_SWFintegrator = SWFintegrator.prototype={	

	//initialisation de la classe.
	init:function(iMinWidth,iMinHeight,sFlashContenaire){
		
		m_SWFintegrator.oFlashContent	=	document.getElementById(m_SWFintegrator.setDivContainer(sFlashContenaire));
		m_SWFintegrator.oBody = document.getElementsByTagName("body")[0];
		m_SWFintegrator.oHtml = document.getElementsByTagName("html")[0];	
			
		
		//gestionnaire d'evenement
		m_SWFintegrator.addEvent(window, "load", m_SWFintegrator.FireOnLoad,false);		
		m_SWFintegrator.addEvent(window, "resize", m_SWFintegrator.FireOnResize,false);
		
	},
	
	//les fonctions qui se lancent au chargement
	FireOnLoad:function(){
			m_SWFintegrator.getScreenSize()	
			m_SWFintegrator.initCss();
			m_SWFintegrator.setTemplate(m_SWFintegrator.sCssType);			
	},
	

	//les fonctions qui se lancent au resize
	FireOnResize:function(){				
		m_SWFintegrator.setTemplate(m_SWFintegrator.sCssType);				
	},

	//initialiser le css de base
	initCss:function(){		
		m_SWFintegrator.oBody.style.margin=0;			
		m_SWFintegrator.oBody.style.padding=0;
		m_SWFintegrator.oBody.style.border=0;
		m_SWFintegrator.oBody.style.width="100%";
		m_SWFintegrator.oBody.style.height="100%";
		
		m_SWFintegrator.oHtml.style.margin=0;
		m_SWFintegrator.oHtml.style.padding=0;
		m_SWFintegrator.oHtml.style.border=0;
		m_SWFintegrator.oHtml.style.width="100%";
		m_SWFintegrator.oHtml.style.height="100%";
		
		m_SWFintegrator.oFlashContent.style.margin=0;		
		m_SWFintegrator.oFlashContent.style.padding=0;
		m_SWFintegrator.oFlashContent.style.border=0;

		
		m_SWFintegrator.oHtml.setAttribute("overflow","auto");
		m_SWFintegrator.oBody.setAttribute("overflow","auto");
			
	},
	
	//récupere la résolution de l'écran
	getScreenSize:function(){
					
		if (window.innerWidth){				
	     	m_SWFintegrator.iScreenWidth = window.innerWidth;
	        m_SWFintegrator.iScreenHeight = window.innerHeight;
	    }
	    else if (document.all){	    		
	    	m_SWFintegrator.iScreenWidth = document.body.clientWidth;
	    	m_SWFintegrator.iScreenHeight = document.body.clientHeight;
		}
		
	},	
	
	setTemplate:function(type){
	
		this.getScreenSize();
		m_SWFintegrator.sCssType = type;
		
		//Case : center / center	
		if(m_SWFintegrator.sCssType=="CC"){			
			m_SWFintegrator.oFlashContent.style.position="absolute";
			m_SWFintegrator.oFlashContent.style.width=m_SWFintegrator.iMinWidth+"px";
			m_SWFintegrator.oFlashContent.style.height=m_SWFintegrator.iMinHeight+"px";
		
				
			
			//gestion de la position horizontale
			if(m_SWFintegrator.iScreenWidth<m_SWFintegrator.iMinWidth)
			{	
			
				m_SWFintegrator.oFlashContent.style.left="0%";		
				m_SWFintegrator.oFlashContent.style.marginLeft="0";	
			}else
			{
				
				m_SWFintegrator.iMarginLeft=-m_SWFintegrator.iMinWidth/2;
				m_SWFintegrator.oFlashContent.style.left="50%";
				m_SWFintegrator.oFlashContent.style.marginLeft=m_SWFintegrator.iMarginLeft+"px";
				//alert(m_SWFintegrator.iMarginLeft)
			}			
			
			//gestion de la position  verticale
			if(m_SWFintegrator.iScreenHeight<m_SWFintegrator.iMinHeight)		
			{
				
				m_SWFintegrator.oFlashContent.style.top="0%";
				m_SWFintegrator.oFlashContent.style.marginTop="0";
			}else
			{	
				m_SWFintegrator.iMarginTop=-m_SWFintegrator.iMinHeight/2;	
				m_SWFintegrator.oFlashContent.style.top="50%";
				m_SWFintegrator.oFlashContent.style.marginTop=m_SWFintegrator.iMarginTop+"px";				
			}
			
		
		}
		
		
		//Case FullScreen 
		if(m_SWFintegrator.sCssType=="FS"){	
		
			
			m_SWFintegrator.oFlashContent.style.position="absolute";
			
			//GESTION DE LA LARGEUR
			//largeur flash < taille minimum
			if(m_SWFintegrator.iMinWidth>m_SWFintegrator.iScreenWidth){
			
				m_SWFintegrator.oFlashContent.style.width=m_SWFintegrator.iMinWidth+"px";
				m_SWFintegrator.oFlashContent.style.left="0%";
				m_SWFintegrator.oFlashContent.style.marginLeft="0";	
			
			}
			
			//largeur flash ddans les limites
			if(m_SWFintegrator.iMinWidth<m_SWFintegrator.iScreenWidth && m_SWFintegrator.iMaxWidth>m_SWFintegrator.iScreenWidth){
				
				m_SWFintegrator.oFlashContent.style.width="100%";
				m_SWFintegrator.oFlashContent.style.left="0%";
				m_SWFintegrator.oFlashContent.style.marginLeft="0";	

				
			}
			
			//largeur flash > taille maxi
			if(m_SWFintegrator.iMaxWidth<m_SWFintegrator.iScreenWidth){
			
				m_SWFintegrator.oFlashContent.style.width=m_SWFintegrator.iMaxWidth+"px";				
				m_SWFintegrator.iMarginLeft=-m_SWFintegrator.iMaxWidth/2;
				m_SWFintegrator.oFlashContent.style.left="50%";
				m_SWFintegrator.oFlashContent.style.marginLeft=m_SWFintegrator.iMarginLeft+"px";
				
			}
			
			//GESTION DE LA HAUTEUR
			//hauteur flash < taille minimum
			if(m_SWFintegrator.iMinHeight>m_SWFintegrator.iScreenHeight){
				m_SWFintegrator.oFlashContent.style.height=m_SWFintegrator.iMinHeight+"px";
				m_SWFintegrator.oFlashContent.style.top="0%";
				m_SWFintegrator.oFlashContent.style.margintop="0";	
			}
			
			//hauteur flash ddans les limites
			if(m_SWFintegrator.iMinHeight<m_SWFintegrator.iScreenHeight && m_SWFintegrator.iMaxWidth>m_SWFintegrator.iScreenHeight){
				m_SWFintegrator.oFlashContent.style.height="100%";
				m_SWFintegrator.oFlashContent.style.top="0%";
				m_SWFintegrator.oFlashContent.style.marginTop="0";					
			}
			
			//hauteur flash > taille maxi
			if(m_SWFintegrator.iMaxHeight<m_SWFintegrator.iScreenHeight){
				m_SWFintegrator.oFlashContent.style.height=m_SWFintegrator.iMaxHeight+"px";				
				m_SWFintegrator.iMarginTop=-m_SWFintegrator.iMaxHeight/2;
				m_SWFintegrator.oFlashContent.style.top="50%";
				m_SWFintegrator.oFlashContent.style.marginTop=m_SWFintegrator.iMarginTop+"px";	
				
			}
			
			
		}
		
		//case top / Center
		if(m_SWFintegrator.sCssType=="TC"){			
			m_SWFintegrator.oFlashContent.style.position="absolute";
			m_SWFintegrator.oFlashContent.style.width=m_SWFintegrator.iMinWidth+"px";
			m_SWFintegrator.oFlashContent.style.height=m_SWFintegrator.iMinHeight+"px";
			m_SWFintegrator.iMarginLeft=-m_SWFintegrator.iMinWidth/2;
			m_SWFintegrator.iMarginTop=0;		
			
			//gestion de la position horizontale
			if(m_SWFintegrator.iScreenWidth<m_SWFintegrator.iMinWidth)
			{			
				m_SWFintegrator.oFlashContent.style.left="0%";		
				m_SWFintegrator.oFlashContent.style.marginLeft="0";	
			}else
			{
				m_SWFintegrator.oFlashContent.style.left="50%";
				m_SWFintegrator.oFlashContent.style.marginLeft=m_SWFintegrator.iMarginLeft+"px";
			}				
		}

		
		//case center / Left
		if(m_SWFintegrator.sCssType=="CL"){			
			m_SWFintegrator.oFlashContent.style.position="absolute";
			m_SWFintegrator.oFlashContent.style.width=m_SWFintegrator.iMinWidth+"px";
			m_SWFintegrator.oFlashContent.style.height=m_SWFintegrator.iMinHeight+"px";
			m_SWFintegrator.oFlashContent.style.left=0+"px";			
	
			m_SWFintegrator.iMarginTop=-m_SWFintegrator.iMinHeight/2;
			
			//gestion de la position  verticale
			if(m_SWFintegrator.iScreenHeight<m_SWFintegrator.iMinHeight)		
			{
				m_SWFintegrator.oFlashContent.style.top="0%";
				m_SWFintegrator.oFlashContent.style.marginTop="0";
			}else
			{		
				m_SWFintegrator.oFlashContent.style.top="50%";
				m_SWFintegrator.oFlashContent.style.marginTop=m_SWFintegrator.iMarginTop+"px";				
			}	
			
		}	


		
		
		

		
		//pour eviter la saute au chargement	
		if(	m_SWFintegrator.oFlashContent.style.display="none"){
			// a coupler avec un <div id="flashContent" style="display:none"></div>
			m_SWFintegrator.oFlashContent.style.display="block";
		}	

			
		
	},
	
	setMinSize:function(W,H){
		m_SWFintegrator.iMinWidth = W;
		m_SWFintegrator.iMinHeight = H;
	},
	
	setMaxSize:function(W,H){
		m_SWFintegrator.iMaxWidth = W;
		m_SWFintegrator.iMaxHeight = H;
	},
	
	
	//gérer une scrollDynamique
	setDyn_Size:function(W,H){			
		m_SWFintegrator.iMinWidth = W;
		m_SWFintegrator.iMinHeight = H;			
		m_SWFintegrator.setTemplate(m_SWFintegrator.sCssType);		
	},
	

	//Retourne le nom de la div contenaire du flash
	setDivContainer:function(DivContainer){		
		if(DivContainer){
			return DivContainer;
		}else{
			// valeur par defait du swfObject
			return "flashcontent";
		}
	},
	
	
	//gestionnaire d'evenement de l'objet
	addEvent: function(element, eventType, doFunction, useCapture){	
			
		if (element.addEventListener) {		
			element.addEventListener(eventType, doFunction, useCapture);
			return true;	
					
		} else if (element.attachEvent) {		
			var r = element.attachEvent('on' + eventType, doFunction);
			return r;
						
		} else {		
			element['on' + eventType] = doFunction;				
		}		
	}
	
	
}
