var base_largeur = 1200;
var base_hauteur = 800;
var rapport = base_largeur / base_hauteur;
var largeur = base_largeur;
var hauteur = base_hauteur;
var move = false;
var vignetteSelected;
var maxVignetteMetier = 0;
var actVignetteMetier = 0;
var positionVignette;
var direction = "gauche";
var tabPosBas = new Array();
var tabPosHaut = new Array();
var timer;
var actImgRotation = 1;
var nbVignettesPublications = 0;

$(document).ready(function(){
	
	var largeur = $(window).width();
	var hauteur = $(window).height();
	
	//manageRotation();
	
	manageBackground(largeur,hauteur);
	manageBandeBlanche(largeur);
	manageBandeVertical(largeur,hauteur);
	manageFooterElements(largeur);
	manageFooterBas(largeur);
	manageBandeauMetier(largeur);
	manageOverflow();
	
	$(window).resize(function(){
		
		largeur = $(window).width();
		hauteur = $(window).height();
		
		manageBackground(largeur,hauteur);
		manageBandeBlanche(largeur);
		manageBandeVertical(largeur,hauteur);
		manageFooterElements(largeur);
		manageFooterBas(largeur);
		manageBandeauMetier(largeur);
		manageOverflow();
		
	});
	
	$("#fleche_gauche").click(function () {
					 
		initFlecheGauche();
		
	});
	
	$("#fleche_droite").click(function () {
										
		initFlecheDroite();
		
	});
	
	// Animation des différents éléments du bas
	
	$("#footer_elements .block").each(function(i){
	
	  if(i<2) {
	    tabPosHaut.push(141);
	    if(i==0) { // Bloc worldwide
	      tabPosBas.push(35);
	    } else { // Bloc news
	      tabPosBas.push(88);
	    }
	  } else { // Blocs publications
      nbVignettesPublications = $(this).find("tr").length;
      tabPosHaut.push(35+53*nbVignettesPublications);
      tabPosBas.push(88);
      
      $(this).find("content").css("height",53*nbVignettesPublications);
      $(this).find(".content .view-content table").css("height", 53*nbVignettesPublications);
    }
    
    $(this).mouseover(function(){
    
      elementBasOver(this,i);
      
    });
    
    $(this).mouseout(function(){
      
      elementBasOut(this,i);
      
    });
	
	});
		
	
	// Initialisation du texte de la homepage

	legende_base = $("#bandeau_metier #vignettes .view .view-header div").html();
	
	$("#bandeau_metier #legende").html(legende_base);	
	
	
	// Initialisation des vignettes métiers
	
	$("#bandeau_metier #vignettes .view-content .views-row").each(function(i){
		
		maxVignetteMetier = i;
		
		positionVignette = 170*i;
		
		var cssObj = {
			'position' : 'absolute',
			'left' : positionVignette,
			'top' : 0
		}
		
		$(this).css(cssObj);
		
		var noeud = $(this).find("div");
		var classes = $(this).attr("class");
		var tab_classes = classes.split(" ");
		var nmb_classes = tab_classes.length;
		
		var legende = $(noeud).find(".views-field-body .field-content").html();
		
		var laclass = tab_classes[1];
		
		$("#bandeau_metier #vignettes ."+laclass).bind("mouseenter", function(e){
			
			clearTimeout(timer);
			
			if(vignetteSelected != laclass) {
				
				vignetteSelected = laclass;
				
				changementOver(laclass,noeud,legende);
				
			}
			
		});

	});
	
	// Affiche la vignette breaking news si disponible
	manageBreakingNews();
	
	// ManageMenu
	
	$('#block-menu_block-3 .menu-name-menu-navigation-primaire ul li.expanded').hover(function(){
		
		devoile($(this));
	  
	},function() {
		
		cache($(this));		
	  
	});
	
	
	$('#block-menu_block-2 .menu-name-menu-primary-navigation ul li.expanded').hover(function(){
		
		devoile($(this));
	  
	},function(){
		
		cache($(this));
	  
	});
	
	
	//Redirection vers publications aprés le click sur un lien de la box "publication"
	
	$("#footer_elements #block-views-publications-block_2 div.content a").click(function () {
		

		window.open($(this).attr("href"));
		
		document.location.href = Drupal.settings.technip.base_url + "/" + Drupal.settings.technip.language + "/publications";
		
		return false;
		
	});
	
});

function manageBackground(lar,haut) {
	
	if((haut > lar) || (lar/rapport < haut)) {
		
		largeur = haut*rapport;
		hauteur = haut;
			
		if(lar<=990) {
			
			largeur = 990;
			hauteur = largeur / rapport;
			
			if(haut > hauteur) {
				
				var cssObj = {
					'left' : 0,
					'top' : 0,
					'margin-left' : 0,
					'margin-top' : 0
				}
				
				if ($.browser.msie && $.browser.version.substr(0,1)<7) {
					
					manageFooterElements2(haut-631);
					manageFooterBas2(haut-631,990);
				
				} else {
					
					manageFooterElements2(haut-630);
					manageFooterBas2(haut-630,990);
					
				}
				
			} else {
				
				var cssObj = {
					'left' : 0,
					'top' : "50%",
					'margin-left' : 0,
					'margin-top' : -(hauteur)/2
				}
				
				if ($.browser.msie && $.browser.version.substr(0,1)<7) {
				
					manageFooterElements2(29);
					manageFooterBas2(30,990);
					
				} else {
					
					manageFooterElements2(30);
					manageFooterBas2(30,990);
					
				}
				
			}
			
		} else {
			
			var cssObj = {
				'left' : "50%",
				'top' :0,
				'margin-left' : -(largeur)/2,
				'margin-top' : 0
			}
			
			if ($.browser.msie && $.browser.version.substr(0,1)<7) {
				
				manageFooterElements2(29);
				manageFooterBas2(30,"100%");
				
			} else {
				
				manageFooterElements2(30);
				manageFooterBas2(30,"100%");
				
			}
			
		}

		$("#background img").attr("width",largeur);
		$("#background img").attr("height",hauteur);
		
		$("#background").css(cssObj);
		
	} else {
		
		if(lar<=990) {
			
			largeur = 990;
			hauteur = largeur/rapport;
			
			if(haut > hauteur) {
				
				var cssObj = {
					'left' : 0,
					'top' :0,
					'margin-left' : 0,
					'margin-top' : 0
				}
				
				if ($.browser.msie && $.browser.version.substr(0,1)<7) {
					
					manageFooterElements2(haut-631);
					manageFooterBas2(haut-631,990);
				
				} else {
					
					manageFooterElements2(haut-630);
					manageFooterBas2(haut-630,990);
				
				}
				
			} else {
				
				var cssObj = {
					'left' : 0,
					'top' :"50%",
					'margin-left' : 0,
					'margin-top' : -(hauteur)/2
				}
				
				if ($.browser.msie && $.browser.version.substr(0,1)<7) {
				
					manageFooterElements2(29);
					manageFooterBas2(30,990);
					
				} else {
					
					manageFooterElements2(30);
					manageFooterBas2(30,990);
					
				}
			
			}
			
		} else {
			
			largeur = lar;
			hauteur = lar/rapport;
			
			var cssObj = {
				'left' : 0,
				'top' : "50%",
				'margin-left' : 0,
				'margin-top' : -(hauteur)/2
			}
			
			if ($.browser.msie && $.browser.version.substr(0,1)<7) {
				
				manageFooterElements2(29);
				manageFooterBas2(30,"100%");
				
			} else {
				
				manageFooterElements2(30);
				manageFooterBas2(30,"100%");
				
			}
			
		}
		
		$("#background img").attr("width",largeur);
		$("#background img").attr("height",hauteur);
		
		$("#background").css(cssObj);
	
	}
	
}

function manageOverflow() {
	
	if($(window).width()>990) {
		
		var cssObj = {
			'overflowX' : 'hidden',
			'width' : 'auto'
		}
		
		$("body").css(cssObj);
		$("html").css(cssObj);
		
	} else {
		
		var cssObj = {
			'overflowX' : 'scroll',
			'width' : 990
		}
		
		$("body").css(cssObj);
		$("html").css(cssObj);
		
	}
	
}

function manageBandeBlanche(lar) {
	
	if(lar>1000) {
		
		if( ( (lar - 1000) % 2) == 0 ) {
			
			var largeurGauche = (lar - 1000) / 2;
			var largeurDroite = (lar - 990) / 2;
			
		} else {
			
			var largeurGauche = ((lar-1) - 1000) / 2;
			var largeurDroite = (lar - 1000) / 2 + 1;
			
		}
		
		var cssObjGauche = {
			'width' : largeurGauche,
			'display' : 'block'
		}
		
		var cssObjDroite = {
			'width' : largeurDroite,
			'display' : 'block'
		}
		
		$("#bande_blanche_gauche").css(cssObjGauche);
		$("#bande_blanche_droite").css(cssObjDroite);
		
	} else {
			
		var cssObjGauche = {
			'width' : 0,
			'display' : 'none'
		}
		
		var cssObjDroite = {
			'width' : 0,
			'display' : 'none'
		}
		
		$("#bande_blanche_gauche").css(cssObjGauche);
		$("#bande_blanche_droite").css(cssObjDroite);
		
	}

}

function manageBandeVertical(lar,haut) {
	
	if(lar>(1000 + (37*2))) {
		
		$("#bande_blanche_verticale").css("left",0);
		
	} else {
		
		$("#bande_blanche_verticale").css("left",(lar - (1000 + (37*2)))/2);
		
	}
	
}


function manageFooterElements(lar) {
	
	if(lar>990) {
		
		var cssObj = {
			'left' : '50%',
			'margin-left' : -495
		}
		
		$("#footer_elements").css(cssObj);
		
	} else {
		
		var cssObj = {
			'left' : 0,
			'margin-left' : 0
		}
		
		$("#footer_elements").css(cssObj);
		
	}
	
}

function manageFooterElements2(haut) {
		
	var cssObj = {
		'bottom' : haut
	}
	
	$("#footer_elements").css(cssObj);
}


function manageFooterBas(lar) {
	
	if(lar>990) {
		
		var cssObj = {
			'left' : 0,
			'margin-left' : 0
		}
		
		$("#footer_home").css(cssObj);
		
	} else {
		
		var cssObj = {
			'left' : 0,
			'margin-left' : 0
		}
		
		$("#footer_home").css(cssObj);
		
	}
	
}

function manageFooterBas2(haut, lar) {
	
	var cssObj = {
		'height' : haut,
		'width' : lar
	}
	
	$("#footer_home").css(cssObj);
	
}

function manageBandeauMetier(lar) {
	
	if(lar>990) {
		
		var cssObj = {
			'left' : '50%',
			'margin-left' : '-425px',
			'right' : 'auto'
		}
		
		$("#bandeau_metier").css(cssObj);
		
	} else {
		
		var cssObj = {
			'left' : 0,
			'margin-left' : '70px',
			'right' : 'auto'
		}
		
		$("#bandeau_metier").css(cssObj);
		
	}

	
}

function changementOver(metier,noeud,legende) {
	
	//ON REPLI TOUT LE RESTE
	
	$("#bandeau_metier #vignettes .view-content .views-row div").each(function(i){
		
		changementOut($(this));
		
	});
	
	
	//ANIMATION MENU
	
	$(noeud).find(".views-field-title").stop();
	
	$(noeud).find(".views-field-title").animate({ 
		height : "28px"
      }, 300, "linear", function(){
		  
		  $(noeud).find(".views-field-title a").css("display","block");
		  $(noeud).find(".views-field-title a").css("opacity",0);
		  
		  $(noeud).find(".views-field-title a").animate({ 
			opacity : 1
		  }, 150);
		  
		  } 
	 );
	
	//BACKGROUND
	
	switch(metier) {
		
		case "views-row-1" :
        metier2="subsea";
        break;
		
		case "views-row-2" :
        metier2="offshore";
        break;
		
		case "views-row-3" :
        metier2="onshore";
        break;
		
		case "views-row-4" :
        metier2="developpement-durable";
        break;
        
    case "views-row-5" :
    case "views-row-6" :
        metier2="home_00";
        break;
		
	}
		
	
	$("#background img").attr("src","/sites/default/files/technip/illustrations/home/background_"+metier2+".jpg");
	
	//IMAGE LEGENDE
	
	makeLegende(legende);
	
}

function makeLegende(legende) {
	
	$("#bandeau_metier #legende").stop();
	
	if($("#bandeau_metier #legende p").html() != $(legende).html()){
		
		$("#bandeau_metier #legende").css("opacity",0);
		
		$("#bandeau_metier #legende").animate({ 
			opacity : 0
		  }, 0, "linear", function(){
			    $(this).css("left",50);
				$(this).empty();
				$(this).html(legende);
				$(this).animate({opacity : 1,left:0},300);
			  }
		  );	
		
	}

}

function getPath() {
	
	var path = "";
	var url = window.location.href;
	var url_elem = url.split("/");
	
	for (var i=0; i<url_elem.length; i++) {
			
		if( (url_elem[i]=="FR") || (url_elem[i]=="EN") ) {
			
			path="../";
			
		}
		
	}
	
	return path;
	
}

function changementOut(noeud) {
	
	$(noeud).find(".views-field-title").stop();
	$(noeud).find(".views-field-title a").css("display","none");
	
	$(noeud).find(".views-field-title").animate({ 
		height : "5px"
      }, 200 );
	
}

function elementBasOver(image,num) {
	
	$(image).stop();
	
	$(image).animate({
        height: tabPosHaut[num]
      }, 400, 'linear' );

}

function elementBasOut(image,num) {
	
	
	
	$(image).stop();
	
	$(image).animate({
        height: tabPosBas[num]
      }, 300, 'linear' );

}
	
function initFlecheGauche() {
	
	if(!move) {
		
		move=true;
		
		if(direction !="droite") {
			
			positionVignette -= 170*(maxVignetteMetier+1);
			
		} else {
			
			positionVignette -= 170;
			
		}
		
		direction = "droite";
		
		
		var position = $("#bandeau_metier #vignettes .view .view-content").position();
			
		var deplacement = position.left+170;
		
		actVignetteMetier-=1;
	
		if(actVignetteMetier<0) {
				
			actVignetteMetier = maxVignetteMetier;
			
		}
		
		$("#bandeau_metier #vignettes .view .view-content .views-row-"+(actVignetteMetier+1)).css("left",positionVignette);
		
		$("#bandeau_metier #vignettes .view .view-content").animate( { left: deplacement}, 300, "linear",function(){
			
			move=false;
			
		});
		
	}
		
	
}

function initFlecheDroite() {
	
	if(!move) {
		
		move=true;
		
		if(direction!="gauche") {
			
			positionVignette += 170*(maxVignetteMetier+1);
			
		} else {
			
			positionVignette += 170;
			
		}
		
		direction = "gauche";
		
		var position = $("#bandeau_metier #vignettes .view .view-content").position();
		
		var deplacement = position.left-170;
	
		$("#bandeau_metier #vignettes .view .view-content").animate( { left:deplacement }, 300, "linear",function(){
		  
		   $("#bandeau_metier #vignettes .view .view-content .views-row-"+(actVignetteMetier+1)).css("left",positionVignette);
		   
		   move=false;
		   
		   actVignetteMetier+=1;
	
			if(actVignetteMetier>maxVignetteMetier) {
					
				actVignetteMetier = 0;
				
			}
		  
		});
		
	}
	
}

function devoile(element) {
	
	var noeud = $(element).find("ul");
		
	$(noeud).stop();
	
	var cssObj = {
		'display' : 'block',
		'opacity' : 0,
		'top' : 20
	}
	
	$(noeud).css(cssObj);
	
	if ($.browser.msie && $.browser.version.substr(0,1)<7) {
		
		$(element).find("span").addClass('over');
		$(element).find("a").addClass('over');
		
	}
	
	$(noeud).animate({ 
												
		'opacity' : 1,
		'top' : 36
		
	}, 250);
	
}

function cache(element) {
	
	var noeud = $(element).find("ul");
	
	$(noeud).stop();
	
	if ($.browser.msie && $.browser.version.substr(0,1)<7) {
		
		$(element).find("span").removeClass('over');
		$(element).find("a").removeClass('over');
		
	}
	
	$(noeud).animate({ 
												
		opacity : 0
		
	}, 100, function(){
		
		$(noeud).css({'display' : 'none'});
		
	});

	
}

var tab_Image = [0,1,2,3,4,5];

function manageRotation() {

	fisherYates(tab_Image);
	
	$('#background').append('<img src="/sites/default/files/technip/illustrations/home/background_home_0'+tab_Image[0]+'.jpg" width="1200" height="800" alt="" />');
	
	timer = setTimeout("rotationImage()",7000);
	
}

function rotationImage() {

	actImgRotation++;
	
	if(actImgRotation == 6) {
	
		actImgRotation = 0;
		
	}
	
	$("#background img").attr("src","/sites/default/files/technip/illustrations/home/background_home_0"+tab_Image[actImgRotation]+".jpg");
	
	timer = setTimeout("rotationImage()",5000);

}

function fisherYates ( myArray ) {
  var i = myArray.length;
  if ( i == 0 ) return false;
  while ( --i ) {
     var j = Math.floor( Math.random() * ( i + 1 ) );
     var tempi = myArray[i];
     var tempj = myArray[j];
     myArray[i] = tempj;
     myArray[j] = tempi;
   }
}

function manageBreakingNews() {
  if(maxVignetteMetier == 5) {
    
	  positionVignette -= 170*(maxVignetteMetier+1);
    
		direction = "droite";
		
		$("#bandeau_metier #vignettes .view .view-content .views-row-6 .views-field-title").css("height", 28);
		$("#bandeau_metier #vignettes .view .view-content .views-row-6 .views-field-title a").css("display","block");
		$("#bandeau_metier #vignettes .view .view-content .views-row-6 .views-field-title a").css("opacity",1);
		
    $("#bandeau_metier #vignettes .view .view-content .views-row-6").css("left", -170);
		$("#bandeau_metier #vignettes .view .view-content").css("left", 170);
		
		actVignetteMetier = 5;
  }

}

