/*  ATTENTION :
 *  Lors de la reprise de ce javascript suite à une livraison publicis, il faut mettre
 *  en commentaire toutes les méthodes encadrées par une balise temp.
 */

/*
* Fonction permettant d afficher (ou pas) une div sur le click d'un bouton
* @param {String} ctrlShowHide: requete jQuery representant le controle qui declenche l affichage (ou inverse) du panel
* @param {String} panel: requete jQuery representant le controle panel contenant les infos a afficher ou pas  
*   
*/
jQueryShowPanel = function (ctrlShowHide, panel){
    /* show/hide options layer */    
    jQuery(ctrlShowHide).click(function(){
        try{
            jQuery(this).toggleClass("on");
            jQuery(panel).slideToggle();
            return false;
        }catch( oExpG ){
            window.maif.error.log( oExpG, 'jQuery(document).ready.jQuery(' + ctrlShowHide + ').click' );
        }
    });
}

jQuery(document).ready(function(){
	try{
	  /*recup accessibilite*/
	
	    dojo.require("dojo.cookie"); 
	    dojo.require("dojox.rpc.Service");
	    dojo.require("dojox.rpc.JsonRPC");
	    
	    window.maif.accessibilite = dojo.cookie("accessibilite");
	    //si le cookie est a on on set notre variable de session a "on"
	    // pour le tag no script 
	    if(window.maif.accessibilite == "on")
	    {
	      window.maif.ajax.setAccessibilite('on');
	    }else{
	    //on recupere m'accessibilite dans la session si pas de cookie
	    window.maif.ajax.getAccessibilite();
	    }
	    
	    if (document.addEventListener)
	        document.addEventListener("focus", window.maif.evenements.onElementFocused , true);	    
	    
		var ael_infobulles = {
			infobulle:function () {
				try{
				   jQuery("a.infobulles, a.tooltip").tooltip({
						id : 'infobulle',
						track: true, 
						delay: 0, 
						showURL: false,
						showBody: "|",
						top: 20,
						left: 0
					});
				}catch( oExpA ){
					window.maif.error.log( oExpA, 'jQuery(document).ready.infobulle' );
				}
			}
		}
	    /* temp pour visualiser les diffÃ©rents background */
	    /*
	    jQuery('#navPictos a, .titleSection, #nTEsPerso a').click(function(){
	        //jQuery('body').attr('class', '').addClass(jQuery(this).attr('href'));
	        return false;
	    });
	    */
	    /* fin temp */
	    
	   
	    /* dÃ©rouler des parties */
	    if (jQuery('li.foldable a').size() > 0) {
	       jQuery('li.foldable a').click(function(){
	            try{
		            /* seulement pour les liens qui sont directement dans le LI et pas ce qui sont ajoutÃ©s dans la DIV */
		            if((jQuery(this).parent().get(0).tagName == "LI") && (jQuery(this).next().get(0).tagName == "DIV")) {
		               jQuery(this).toggleClass('active');
		               jQuery(this).next('div').toggle();
		               return false;
		            }
	            }catch( oExpB ){
					window.maif.error.log( oExpB, 'jQuery(document).ready.jQuery("li.foldable a").click' );
				}
	       });
	    }
	   
	    
	    /* infobulles */
	    if (jQuery("a.infobulles, a.tooltip").size() > 0)
	            ael_infobulles.infobulle();
	   
	    
	    /* temp:tabs */
	    /*
	    function switchTabs(onglet){
	        jQuery('#linkTabs a').parent().removeClass('active');
	        jQuery('#linkTabs a[href='+onglet+']').parent().toggleClass('active');
	        jQuery('.tabSection').hide();
	        jQuery(onglet).show();
	    }
	    jQuery('#linkTabs a, #linkTh a').click(function(){
	        onglet = jQuery(this).attr('href');
	        switchTabs(onglet);
	        return false;
	    });
	    */
	    /* fin temp */
	    
	    // temp : rÃ©cupÃ¨re une ancre et active l'onglet idoine au dÃ©marrage
	    /*
	    if(jQuery('.tabSection').length > 0) {
	        if (document.location.hash != "") 
	            switchTabs(document.location.hash);
	        // si pas d'ancre, on affiche le premier
	        else {
	            switchTabs('#'+jQuery('.tabSection:first').attr('id'));
	        }
	    }
	     */
	    /* fin temp */
	    
	    /*
		
		inutile en dehors d'une demo car c'est du dev.
		
	    if (jQuery('#formCalcul').length > 0) {
	        jQuery('#formCalcul').submit(function(){
	            jQuery('#btCalculer').hide();
	            jQuery('#result').html('430 â?¬');
	            jQuery('#blocResultatCotisation').show();
	            return false;
	        });
	    }
	    
	    if (jQuery('#btRecalcul').length > 0) {
	        jQuery('#btRecalcul').click(function(){
	            jQuery('#btCalculer').show();
	            jQuery('#result').html();
	            jQuery('#blocResultatCotisation').hide();
	            return false;
	        });
	    }*/
	    
	    
	    /* calendrier */
	   jQuery.dpText = {
	        TEXT_PREV_YEAR		:	'Année précédente',
	        TEXT_PREV_MONTH		:	'Mois précédent',
	        TEXT_NEXT_YEAR		:	'Année suivante',
	        TEXT_NEXT_MONTH		:	'Mois suivant',
	        TEXT_CLOSE			:	'Fermer',
	        TEXT_CHOOSE_DATE	:	'Choisir une date'
	    }
	
	    if(jQuery('.inputCalendar').size() > 0)
	       jQuery('.inputCalendar').datePicker({clickInput:true});
	
	    
	    if (jQuery(".blocEditable").size() > 0) {
	        jQuery("#leftPart, #rightPart").sortable({ 
	            connectWith: ['#leftPart, #rightPart'],
	            revert: true, 
	            handle: jQuery('.blocEditable .tools .toolMove'),
	            cursor: 'move',
	            containment: 'document', 
	            placeholder: 'placeholder',
	            stop: function(e,ui) {
	                column1 = jQuery(this).attr('id');
	                column2 = jQuery("#rightPart").sortable("serialize");
	            },
	            remove: function(e,ui) { 
	                // block[]=1&block[]=2 etc...
	                column1 = jQuery("#leftPart").sortable("serialize");
	                column2 = jQuery("#rightPart").sortable("serialize");
	            }
	        });
	        
	        jQuery('.blocEditable .tools .toolMinimize').click(function(){
	            try{
		            jQuery(this).parent().parent().children(".inner").slideToggle();
		            jQuery(this).toggleClass("toolMaximize");
		            return false;
	            }catch( oExpC ){
					window.maif.error.log( oExpC, 'jQuery(document).ready.jQuery(".blocEditable .tools .toolMinimize").click' );
				}
	        });
	    }
	    
		
		
		var navButton = jQuery("#navPictos li").not("#navPictos > ul > li");
		if (navButton.size() > 0) {
			navButton.hover(function(){
				try{
					jQuery("> div", this).show();
				}catch( oExpD ){
					window.maif.error.log( oExpD, 'jQuery(document).ready.navButton.hover.a' );
				}
			}, function(){
				try{
					jQuery("> div", this).hide();
				}catch( oExpE ){
					window.maif.error.log( oExpE, 'jQuery(document).ready.navButton.hover.b' );
				}
			});
			
		}
		
		
		
		// table radio check correspondance (templates 39 and 46)
		var formNames = jQuery("input[name=formula], input[name=formula_2]");
		var formNamesLimit = formNames.size()/2;
		formNames.each(function(i){
			jQuery(this).click(function(){
				try{
					jQuery("input[name="+(jQuery(this).attr('name')==='formula_2'?'formula':'formula_2')+"]")[i >= formNamesLimit ? i-formNamesLimit:i].checked=true;
				}catch( oExpF ){
					window.maif.error.log( oExpF, 'jQuery(document).ready.formNames.each' );
				}
			});
		});
		
		
		
		/* show/hide options layer */
	   jQueryShowPanel("a#showHidePanel_1", "#panel_1");
	
		
		/* NAV TOP "ESPACE PERSO" MENU */
		/*
		jQuery("#nTEsPerso a").hover(
			function(){
				jQuery("#nTEsPerso ul").show();
				jQuery("#nTEsPerso a").addClass("active");
				return false;
			}, function(){
				jQuery("#nTEsPerso ul").hide();
				jQuery("#nTEsPerso a").removeClass("active");
				return false;			
			}
		);
		*/
		
		// flash for "souscription"
		/*if (jQuery('#flashVideoPlayer #flash').size() > 0) {
			var flashvars = {
				flvPath: "/content/swf/M000588C0002.flv"
			};
			var params = {};
			var attributes = {  
				id: "playerMAIF",  
				name: "playerMAIF"
			};
			
			swfobject.embedSWF("/content/swf/player_maif.swf", "flash", "331", "278", "8.0.0", "/content/swf/expressInstall.swf" ,flashvars ,params ,attributes);
		}*/
	
		// flash for "home"
		/*if (jQuery('#animFlashHome #myHomeFlash').size() > 0) {
			var flashvars = {
				homexml: "/content/swf/homexml/parametres.xml",
				homeimg: "/content/swf/homeimg/"
			};
			var params = {
				wmode:"transparent"
			};
			var attributes = {  
				id: "flashHome",  
				name: "flashHome"
			};
			
			swfobject.embedSWF("/content/swf/maif_home_20081001.swf", "myHomeFlash", "671", "239", "8.0.0", "/content/swf/expressInstall.swf" ,flashvars ,params ,attributes);
		}*/
		

	   var formSelect = jQuery('form select');
	   var taille = formSelect.size();
		if (taille > 0 && taille < 25) {
			if(!(window.maif.accessibilite == "on" || window.maif.ajax.getAccessibiliteSession == "on")){
		        if(jQuery.NiceJForms.options.buildThem) {
		            jQuery.NiceJForms.build();
		            
		            /* exceptions pour les Guides Pratiques */
		            jQuery('[referto=themaSelect1] a').click(function(){
		                try{
			                /* mise Ã  jour #themaSelect2 */
			                /* Ã  amÃ©liorer en relanÃ§ant la gÃ©nÃ©ration du niceJform uniquement sur lui */
			                jQuery('#themaSelect2').append('<option value="rien">une option en +</option>');
			                jQuery('[referto=themaSelect2]').append('<a href="#" style="cursor: pointer;">une option en +</a>');
			                /* fin maj #themaSelect2 */
			                jQuery('#themaSelect2').removeAttr('disabled');
			                jQuery('.cacheDisabled .cacheOver').fadeOut();
		                }catch( oExpH ){
							window.maif.error.log( oExpH, 'jQuery(document).ready.jQuery("[referto=themaSelect1] a").click' );
						}
		            });
		        }
		        else {
		            // toujours remplacer le select du footer
		            jQuery.NiceJForms.build({where:"#footerEntete"});
		        }
	        }
	    }
 
		
		//sliders
		/*
		if(jQuery(".slider").size() > 0){
			jQuery("p[id^='slider']").addClass("sliderActive");
			jQuery(".slider").sliders();
		}
		*/
		
		// bubbleHelp
		if(jQuery(".bubbleHelp").size() > 0)
			bubbleHelp.init();
		
	}catch( oExp ){
		window.maif.error.log( oExp, 'jQuery(document).ready' );
	}
});

var bubbleHelp = {
	title: null,
	init: function(){
		try{
			bubbleHelp.create();
			
			jQuery(".bubbleHelp").hover(function(){
				bubbleHelp.show(this);
			},
			function(){
				bubbleHelp.hide(this);
			});
			
			/* show bubble by default and hide after 3s */
			bubbleHelp.show(".bubbleHelp");
			setTimeout(function(){ bubbleHelp.hide(".bubbleHelp") }, 3000);
		}catch( oExp ){
			window.maif.error.log( oExp, 'bubbleHelp.init' );
		}
	},
	show: function(elt){
		try{
			if(bubbleHelp.title == null) bubbleHelp.title = jQuery(elt).attr("title");
			
			jQuery("#bubbleHelp .bubbleContent").html(bubbleHelp.title);
			jQuery(elt).attr({ title: "" });
			var offset = jQuery(elt).offset();
			jQuery("#bubbleHelp").css({ left: (offset.left-93) + "px", top: (offset.top+29) + "px" });
			jQuery("#bubbleHelp").show();
		}catch( oExp ){
			window.maif.error.log( oExp, 'bubbleHelp.show' );
		}
	},
	hide: function(){
		try{
			jQuery("#bubbleHelp").hide();
			jQuery(this).attr({ title: bubbleHelp.title });
		}catch( oExp ){
			window.maif.error.log( oExp, 'bubbleHelp.hide' );
		}
	},
	create: function(){
		try{
			bubble = document.createElement("div");
			jQuery(bubble).attr({ id: "bubbleHelp" }).hide();
			jQuery(bubble).append("<span class='top'></span><div class='bubbleContent'></div><span class='notice'>(D&eacute;placer le curseur pour modifier le niveau de franchise)</span><span class='bottom'></span>");
			jQuery("body").append(bubble);
		}catch( oExp ){
			window.maif.error.log( oExp, 'bubbleHelp.create' );
		}
	}
};

jQuery.fn.sliders = function(){
	try{
		var handlePos = function(elt, val){
			jQuery(elt).parent().css({ backgroundPosition: "10px -" + val + "px" });
		};
		
		return this.each(function(){
			try{
				var pos = 0;
				var id = jQuery(this).attr("id");
				id = id.split("slider")[1];
				
				jQuery(this).hover(function(){
					try{
						jQuery(".slider" + id).addClass("sliderHover");
					}catch( oExpB ){
						window.maif.error.log( oExpB, 'jQuery.fn.sliders.each.jQuery(this).hover.a' );
					}
				},
				function(){
					try{
						jQuery(".slider" + id).removeClass("sliderHover");
					}catch( oExpC ){
						window.maif.error.log( oExpC, 'jQuery.fn.sliders.each.jQuery(this).hover.b' );
					}
				});
				
				jQuery(".less", this).click(function(){
					try{
						if(pos > 0) pos = pos - 10;
						handlePos(this, pos);
						
						return false;
					}catch( oExpD ){
						window.maif.error.log( oExpD, 'jQuery.fn.sliders.each.jQuery(".less", this).click' );
					}
				});
				
				jQuery(".more", this).click(function(){
					try{
						if(pos < 30) pos = pos + 10;
						handlePos(this, pos);
						
						return false;
					}catch( oExpE ){
						window.maif.error.log( oExpE, 'jQuery.fn.sliders.each.jQuery(".more", this).click' );
					}
				});
				
				for(i=0; i<4; i++){
					var tagA = document.createElement("a");
					jQuery(".more", this).before(tagA);
					jQuery(tagA).attr({ href: "#" }).addClass("num" + i).click(function(){
						var num = jQuery(this)[0].className.split("num")[1];
						pos = num * 10;
						handlePos(this, pos);
						
						return false;
					});
				}
			}catch( oExpA ){
				window.maif.error.log( oExpA, 'jQuery.fn.sliders.each' );
			}
		});
	}catch( oExp ){
		window.maif.error.log( oExp, 'jQuery.fn.sliders' );
	}
};