/*
 *	JAVASCRIPT :: module intÃ©gration de Flv
 *
 *	Pixine :: version 1.2
 *	18/06/2010
 *
 *	dÃ©pendance : 
 *		- swfObject
 *		- simpleModal
 *		- dwfReduc
 *
 */

/*		
 *		:: UTILISATION ::
 */
/*
<!-- Javascript :: chargement du FLV -->
<script type="text/javascript" charset="utf-8">
		$(document).ready(function(){
	         	$.flvLoader({
						url : "/files/fck/Image/home/flv/SOCIETE.flv", // URL du flv ou du fichier image
						conteneur : "test", // <div> id du conteneur 
						width : 759, // longueur du flv ou de l'image
						height : 426, // hauteur du flv ou de l'image
						popin : true, // ouverture du flv en popin :: true || false
						lienOuverture : "flvLoader" // id du lien <a> qui commande l'ouveture en popin du flv
						boucle : true // flv : lecture en boucle :: true || false
						fermeture : false, // fermeture auto du flv externalInterface swfReduc
						redirection : "" // ajout un lien cliquable sur le fvl
				})
		})
</script>
<!-- Html -->
<a href="#" class="flvLoader">ckic</a>
<div id="test">



*/
var idFlv = 0

;(function($){
	//	variables du plugin	//
	var	currentSettings // paramÃ¨tres utilisateur
	var defaults // paramÃ¨tres par dÃ©fault
	var debug = false
	/*
	 *		:: FUNCTION CONSTRUCTOR ::
	 */
	jQuery.flvLoader = function(settings){	
		//	paramÃ¨tre par dÃ©fault	//
		defaults = {
			conteneur : "", // conteneur de l'animation
			conteneurSwf : "",
			url : "", // url du flv Ã  charger
			player : "/files/fck/Flash/swf_player/player.swf", // url du player swf Ã  charger
			width : 0, // longueur de l'animation
			height : 0, // hauteur de l'animation
			lienOuverture : "", // identifiant class du lien qui ouvrira le popin
			boucle : false, // lecture en boucle du flv
			popin : false,  // ouverture du flv en popin
			fermeture : false, // fermeture auto du flv externalInterface swfReduc
			redirection : "" // ajout un lien cliquable sur le fvl
		}
		//	initiallisation des paramÃ¨tres	//
		setDefaultCurrentSettings(settings)
		//	vÃ©rification des paramÃ¨tres	//
		if(currentSettingsValid()){
			
			chargement()
			//	chargemnet du contenu	//
			if(currentSettings.lienOuverture != ""){
				$("#"+currentSettings.lienOuverture).attr("href",currentSettings.conteneur).click(function(){
					//currentSettings.popin = true
					currentSettings.conteneur = $(this).attr("href")
					currentSettings.popin = true
					popin()
					return false
				})
			}
			else{
				$("#"+currentSettings.conteneur).css("display", "block")
			}
		}
		idFlv++
	}
	/*
 	*		:: INIT PARAMETRE ::
	*
	*	enregistrement des paramÃ¨tres 
	*	utilisateur
 	*/
	function setDefaultCurrentSettings(settings) {
		currentSettings = $.extend(defaults, settings);
	}
	/*
	 *		:: FUNCTION CHARGEMENT SWF ::
	 */
	function chargement(){
		if(isFlv()){
		//	modif html //
		currentSettings.conteneurSwf = 'animFlv'+idFlv
		$("#"+currentSettings.conteneur).empty().append("<div id='"+currentSettings.conteneurSwf+"'></div>")
		// insertion swf	//
		//parametre pour le swf
				var flashvars = {};
				var params = {
					wmode: "transparent",
					menu: "false",
					scale: "noScale",
					allowscriptaccess: "always"
				};
				swfobject.embedSWF(currentSettings.player+"?width="+currentSettings.width+'&height='+currentSettings.height+'&boucle='+currentSettings.boucle+'&fermeture='+currentSettings.fermeture+'&redirection='+currentSettings.redirection+'&lien='+currentSettings.url, currentSettings.conteneurSwf, currentSettings.width, currentSettings.height, "9.0.0", "/files/fck/Flash/commun/expressInstall.swf", flashvars, params);	
		}
		else{
			currentSettings.conteneurSwf = 'image'+idFlv
			$("#"+currentSettings.conteneur).css("display", "none").empty().append("<div id='"+currentSettings.conteneurSwf+"'><img src='"+currentSettings.url+"' /></div>")	
		}
		popin()
	}
	/*
	 *		:: POPIN	::
	 */
	function popin(){
		if(currentSettings.popin == true){
			$("#"+currentSettings.conteneur).css("display", "none")
			$("#"+currentSettings.conteneur).modal()
		}
	}
	/*
	 *		:: FUNCTION :: VERIFICATION FLV ::
	 */
	function isFlv(){
		if(currentSettings.url.search(".flv") != -1){
			return true
		}
		else{
			return false
		}
	}
	/*
	 *		:: FUNCTION VERIFICATION PARA ::
	 *
	 *	vÃ©rifie si l'utilisateur Ã  rentrÃ© tous les
	 *	paramÃ¨tres pour charger le flv
	 */
	function currentSettingsValid(){
		var msg = ""
		if(currentSettings.url == ""){
			msg += "url du flv manquant \n"
			debug = true
		}
		if(currentSettings.conteneur == ""){
			msg += "conteneur du flv manquant \n"
			debug = true
		}
		if(isFlv()){
			if(currentSettings.width == 0){
				msg += "longueur du flv manquant \n"
				debug = true
			}
			if(currentSettings.height == 0){
				msg += "hauteur du flv manquant \n"
				debug = true
			}
			if(isNaN(currentSettings.width)){
				msg += "la longueur doit Ãªtre un nombre"
				debug = true
			}
			if(isNaN(currentSettings.height)){
				msg += "la hauteur doit Ãªtre un nombre"
				debug = true
			}
		}
		// renvoie du boolean de vÃ©rification	//
		if(debug){
			alert(msg)
			return false
		}
		else{
			return true
		}
	}
})(jQuery)
