var $j = jQuery.noConflict();
var openTg = false;

var ie6 = false;
$j(document).ready(function () {
	if(jQuery.browser.version == "6.0" && jQuery.browser.msie){
		ie6 = true;
	}
	if(ie6) {
		initNavigation();
		initSortPart();
		hideSelectElements();


	
		//DD_belatedPNG.fix('*'); 
	
	}

	$j("#tg img:first").load(function(){
		initTG();
	});
	initTG();
	initInputTextEvents("#mainContainer");
	initContextuelNav();
	initPPSlider();
		

	

});


	function getHash() {
	  var hash = window.location.hash;
	  return hash.substring(1); // remove #
	}
	 
	function getLinkTarget(link) {
	  return link.href.substring(link.href.indexOf('#')+1);
	}

	function hideSelectElements() {
		$j("#navigation .sRub li,#image").hover(
			function () {	
					$j("select").css("visibility","hidden");
				},
				function () {	
					$j("select").css("visibility","visible");
				}
		);
	}

		function initSortPart(){
				$j(".catalogueSortPart .standard").hover(
				function () {	
						$j(this).find("li ul").css("display","block");
					},
					function () {	
						$j(this).find("li  ul").css("display","none");
					}
				   );
            }
			
			function initNavigation(){
				var menu = $j("#navigation");
				menu.addClass("js");
				$j("#navigation .sRub li,#navigation .rubTransHasSnav").hover(
				function () {	
						$j(this).find(".ssRub").css("display","block");
						$j(this).addClass("hover");
					},
					function () {	
						$j(this).find(".ssRub").css("display","none");
						$j(this).removeClass("hover");
					}
				   );
            }

			
            function initTG(){
					$j("#tg .tgNavigation a").each(function(){
						$j(this).attr("id",Math.floor( Math.random() * 100 + 1 ));
					});
					
					if($j("#tg .tg:first").find("li").length == 0) {
					$j("#tg .tgInnerN1").css("height",$j("#tg1").height());
					}
					
					$j("#tg .gal1").each(function(){
						if($j(this).find("ul li").length > 10){
							$j(this).css("position","relative");
							$j(this).append("<div class=\"btnBottomTG\" style=\"z-index:10;font-size:1px;cursor:pointer;width:188px; height:130px;position:absolute;right:0;top:130px;\"></div>");
							$j(this).append("<div class=\"closeTG\" style=\"z-index:10;font-size:1px;cursor:pointer;display:none;position:absolute;right:0;bottom:0;\"></div>");
						}
					});
				
					var autoSlide;
					var slidingElm = 0;
					function slideTg(){
						if(slidingElm == 4) slidingElm = 0;
						var tg = $j("#tg .tgNavigation a").get(slidingElm);
						$j(tg).click();
						slidingElm = slidingElm + 1;
						autoSlide = setTimeout(function() { slideTg() } ,5000);
					};
					
					slideTg();
					

					
				
				
					$j("#tg").hover(
						function () {	
							clearTimeout(autoSlide);
						},
						function () {
							autoSlide = setTimeout(function() { slideTg() } ,5000);	
						}
					);
		
		
					$j("#tg .tgNavigation a").bind("click",function(){
						
						var this_elm = $j(this).attr("id")
						var elm = $j($j(this).attr("href"));
						var elm_position = elm.position().left;
						$j('.btnBottomTG').bind("click",function(){
							$j("#tg .tgInnerN1").animate({height: $j(this).parent().parent().parent().height()}, "fast",function(){
								$j('.btnBottomTG').css("display","none");
								$j('.closeTG').css("display","block");
							});							
						});
						$j('.closeTG').bind("click",function(){		
							$j('.closeTG').css("display","none");
							$j("#tg .tgInnerN1").animate({height: "260"}, "fast",function(){
								$j('.btnBottomTG').css("display","block");
							});							
						});
						if(openTg != $j(this).attr("id")){
						
								
						$j("#tg .tgNavigation a").each(function(i){

							if($j(this).attr("id") == this_elm ) {
								slidingElm = i ;
							}
						});
						
							if(($j(elm).find("ul li").length > 5 )){
								$j("#tg .tgInnerN1").animate({height: "260"}, "fast",function(){
									$j("#tg .tgSlideBox").animate({right: elm_position}, "fast",function(){
											$j('.btnBottomTG').css("display","block");
											$j('.closeTG').css("display","none");
									});
								});
							}
							else if($j(elm).find("li").length == 0){
								$j("#tg .tgInnerN1").animate({height: $(elm).height()}, "fast",function(){
									$j("#tg .tgSlideBox").animate({right: elm_position}, "fast",function(){
											$j('.btnBottomTG').css("display","block");
											$j('.closeTG').css("display","none");
									});
								});
							}
							else{
								$j("#tg .tgInnerN1").animate({height: "130"}, "fast",function(){
									$j("#tg .tgSlideBox").animate({right: elm_position}, "fast",function(){
											$j('.btnBottomTG').css("display","block");
											$j('.closeTG').css("display","none");
									});
								});
							}
							$j("#tg .tgNavigation a").parent().removeClass("tgNavigationActive");
							$j("#tg .tgNavigation a").parent().removeClass("tgNavigationActive1");
							$j(this).parent().toggleClass("tgNavigationActive");
							if($j(this).parent().hasClass("tgNavigation1")) {
								$j(this).parent().toggleClass("tgNavigationActive1");
							}
							openTg = $j(this).attr("id");
							return false;							
						}
						else{
							return false;
						}				
					});
				
			}
            
			
            function initContextuelNav(){
            	var elms_snav = $j(".hasAccordion .contextuelNavScat");
            	elms_snav.hide();
            	//$j(".hasAccordion .contextuelNavScat:first").show();
            	
				
            	 $j(".hasAccordion .contextuelNavCat[href^=#]").click(function () {
				 	var cible = $j(this).attr("href");
					if($j(cible).css("display") == "none")  $j(".hasAccordion .contextuelNavScat").css("display","none");
					
						$j(cible).slideToggle("fast");
			
					return false;
						
                });
				
				//#CNlicenses
				//if(getHash() == "CNlicenses") $j("#contextuelSpace a[href=#CNlicenses]").click();
				if($j("#tplHome").length) $j("#contextuelSpace a[href=#CNlicenses]").click();
            
            }
	


         function initPPSlider(){
				
				
				
				
				var pdtLength_R1 = $j("#ri1 .cataloguePdtList li").size();
				var pdtLength_R2 = $j("#ri2 .cataloguePdtList li").size();
		
				function hidePdtCatalogueList(){

						if((pdtLength_R1 > 4) || (pdtLength_R2 > 4)){
							$j("#relationshipsInformationsBlock  .cataloguePdtList").css("overflow","hidden");
							$j("#relationshipsInformationsBlock  .cataloguePdtList").css("height",390);
							
						}
				}
				hidePdtCatalogueList();
				
				$j("#relationshipsInformationsBlock .riInnerN2").css("height",$j("#relationshipsInformationsBlock .tab:first").height());

				
            	$j("#relationshipsInformationsBlock .riNavigation a,a[href=#ri3]").bind("click",function(){
            		slideRi($j(this));
					return false;
            	});

				$j("#toggle_associated").bind("click",function(){
					var rows = pdtLength_R1 % 3;
					var size = 390 * rows;
					showPdts(size);
					return false;
				});
				$j("#toggle_related").bind("click",function(){
					var rows = pdtLength_R2 % 3;
					var size = 390 * rows;
					showPdts(size);
					return false;
				});

				function showPdts(size){
					$j("#relationshipsInformationsBlock  .riInnerN2").css("height","auto");
					$j("#relationshipsInformationsBlock  .cataloguePdtList").css("overflow","visible");
					$j("#relationshipsInformationsBlock  .cataloguePdtList").animate({height: size}, "fast");
					$j("#relationshipsInformationsBlock .seeMore").hide();	
				}
				function slideRi(link){
					var elm = $j(link.attr("href"));
					link = $j(".riNavigation a[href="+link.attr('href')+"]");
            		var elm_position = elm.position().left;
					
					
					$j("#relationshipsInformationsBlock .riSlideBox").animate({right: elm_position}, "fast",function(){
						hidePdtCatalogueList();
						$j("#relationshipsInformationsBlock .seeMore").show();	
						$j("#relationshipsInformationsBlock  .riInnerN2").animate({height: $j(elm).height()}, "fast");					
					});	

					$j("#relationshipsInformationsBlock .riNavigation li").removeClass("riNavigationActive1");
					$j("#relationshipsInformationsBlock .riNavigation li").removeClass("riNavigationActive2");
					$j("#relationshipsInformationsBlock .riNavigation li").removeClass("riNavigationActive3");

	
            		if(link.parent().hasClass("riNavigation1")) {
            			link.parent().toggleClass("riNavigationActive1");
            		}
					else if(link.parent().hasClass("riNavigation2")) {
            			link.parent().toggleClass("riNavigationActive2");
            		}
					else if(link.parent().hasClass("riNavigation3")) {
            			link.parent().toggleClass("riNavigationActive3");
            		}
										
			
				}
				
            }
			
			
			
			
			
			
			
			

var mendatory_error = "Champ obligatoire.";
var invalidEmail_error = "Veuillez saisir une adresse email valide.";
var cp_error = "Votre code postal doit &ecirc;tre compos&eacute de 5 chiffres.";

function initCheckForms(elm,popin){
	$j(elm+" form").each(function(){

		var required = $j(this).find(".required");
		var cp = $j(this).find(".cp");
		var email = $j(this).find(".email");
		var form = $j(this);

		var radios = $j(this).find("input:radio");
		var groupe_radios = new Array();
		var name_radio = "";
		radios.each(function(i){
			if((name_radio != this.name) || (i == radios.length-1)){
				groupe_radios.push(name_radio);
			}
			name_radio = this.name;
		});

		
		
		$j(this).find('.bt[type=submit]').bind("click",function() {

	
			var submitUsed = $j(this);
	        var relSubmitUsed = submitUsed.attr("rel");

			var hasError = false;
			var div_callBack = $j(this).find("callBack");
			form.find(".erreur").remove();
			// champs requis
			required.each(function(){
				var div_label = $j(this).parent().prev();
				var label = $j(this).parent().prev().text();
				//errreur detectee
				if(this.value == ""){
					hasError = true;
					$j("<span class='erreur'>"+mendatory_error+"</span>").insertAfter($j(this).parent());
				}
			});
			cp.each(function(){
				var div_label = $j(this).parent().prev();
				var label = $j(this).parent().prev().text();
				//erreur detectee
				if(this.value.length < 5){
					hasError = true;
					$j("<span class='erreur'>"+cp_error+"</span>").insertBefore(div_label);	
				}
			});
			//champs emails
			email.each(function(){
				var div_label = $j(this).parent().prev();
				var label = $j(this).parent().prev().text();
				var reg_email = RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
				//erreur detectee
				if(!reg_email.test(this.value)){
					hasError = true;
					$j("<span class='erreur'>"+invalidEmail_error+"</span>").insertAfter($j(this).parent());
				}
			});
			
			
			//INSERER ICI LES CAS PARTICULIERS
	
			
			for(var i=0; i< groupe_radios.length;i++){
				if(groupe_radios[i] != "")
				{

						var check = false;
						var groupe = document.getElementsByName(groupe_radios[i]);
						var div_label = $j(document.getElementById(groupe_radios[i])).parent().prev();
												
						for (j=0;j < groupe.length; j++){
							if(groupe[j].checked) check = true;
						}
						if(check == false){
							hasError = true;
							$j("<span class='erreur'>"+mendatory_error+"</span>").insertBefore(div_label);
						}
				}
			}

			// si pas d'erreurs
			if(hasError == false) {
				if(form.hasClass("ajaxForm")){
					// traitement specifique ajax
					popin.popin_type = "popin_little";
					popin.popin_link = $j(form).attr("action");
					popin.successForm(popin);
					return false;
				}
				else{
					return true;
				}
			}
			else {
				return false;
			}
	
			
			return false;
		});

	});
}			
			
			
			
function initInputTextEvents(elm){
	var input = elm +"  input[type=text]";
	var textarea = elm +" textarea";
	$j(input+","+textarea).each(function(){
		this.value = this.defaultValue;
	});
	$j(input+","+textarea).bind("focus",function(){
		if($j(this).attr("value") == this.defaultValue) this.value = ""
	});
}

		
			
			
function popin(){
	
	var elm_window_width;
	var elm_window_height;
		
	this.popin_type;
	this.popin_link;
	
	
	this.build = function(popin){
		$j(document.body).append('<div id="overlay"></div>');
		$j("#overlay").css({'width' : elm_window_width,'height' : elm_window_height});
			 $j.ajax({
			  url: this.popin_link+"?ajax",
			  global: false,
			  contentType: "application/x-www-form-urlencoded;charset=UTF-8",
			  type: "GET",
			  dataType: "html",
			  success: function(callBack){
				$j("#popin .popinN2").append(callBack);
				$j("#popin .hasBtn").append('<a class="btnClose" href="#" title="Fermer la fenetre"></a>');
				initInputTextEvents("#popin");
				
				var email_value = $j("#newsletterEmailField").attr("value");
				$j("#c_email").attr("value",email_value);
				
				initCheckForms("#popin",popin);
		
				
				$j("#popin .btnClose").bind("click",function(){
					popin.close(popin);	
					return false;
				});	
					
			  }
		   });
		  var target_elm =  $j(document.body); 
		if(ie6) {
			target_elm =  $j(".msie6"); 
		}
		target_elm.append('<div class="'+this.popin_type+'"><div id="popin"><div class="popinN1"><div class="popinN2"></div></div></div></div>');
	}
	this.remove = function(){
		$j("#overlay").remove();
		$j("#popin").remove();
	}
	this.close = function(popin){	
		if(ie6){
			$j("#popin").css('display','none');
			$j("select").css("visibility","visible");
			popin.remove();
		}
		else{
			$j("#popin").fadeOut("fast",function () {
				popin.remove();
			});
		} 
		$j("#overlay").fadeTo("slow", 0);
	}
	this.open = function(){
		$j("#overlay").css('display','block');
	
		$j("#overlay").css("opacity", 0.83);
		$j("#overlay").fadeTo("fast", 0.63);
		
		if(ie6){
			$j("#popin").css('display','block');
			$j("select").css("visibility","hidden");
		}
		else{
			$j("#popin").fadeIn("slow",function () {
			});
		} 
	}

	this.init = function(popin){
		elm_window_width = $j(document.body).innerWidth();
		elm_window_height = $j(document.body).innerHeight();
		$j(".popinLink").bind("click",function(){
			window.scrollTo(0,0); 
			//rel, href pour un lien;
			//class, name   pour un bouton ou autre;
			if($j(this).get(0).nodeName == "BUTTON"){
				var css_class = $j(".newsletterFormSubmit").attr("class").split(" ");
				popin.popin_type = css_class[0];
				var elm_name = $j(this).attr("name");
				popin.popin_link = $j("#"+elm_name).attr("action");
			}
			else{
				popin.popin_type = $j(this).attr("rel");
				popin.popin_link = $j(this).attr("href");
			}
			
			popin.build(popin);
			popin.open();
			
			return false;
		});
		
	}
	
	
	
	this.successForm = function(popin){
		popin.remove(popin);	
		popin.build(popin);
		popin.open();
	}

}

$j(document).ready(function () {

	var popins = new popin();
	popins.init(popins);

	
});