var imageRatio = 0 ;
var maxH       = 0 ;
var maxW       = 0 ;
var minH       = 0 ;
var minW       = 0 ;
var deltaH     = 0 ;
var deltaW     = 0 ;
var delta     = 0 ;
var pos_image  = '' ; 
var position   = 1 ;
var originSize = $(window).width() > 1440 ? 1 : -1 ;

$(document).ready(function(){		
	onLoadFunction();
	if ( navigator.platform.substring('Mac') != -1 && $.browser['mozilla'] ){
		if ( $(window).width() > 1440 ){
			$('.sem #block4').css('margin-top', '-5px');
			$('.bg-2 p').css('font-size', '0.8em');
			$('.bg-2 p strong').css('font-size', '1em');
		}else{
			$('.sem #block4').css('margin-top', '-70px');
		}
	}		
	background_position();
});


function backgroundManage(){	
	if (  $('.background').val() != undefined ){
		$('#background').css('width', $('.background').attr('max-width'));
		$('#background').css('height', $('.background').attr('max-height'));
		maxH = parseInt($('.background').attr('max-height')) ;
		maxW = parseInt($('.background').attr('max-width')) ;
		minW = parseInt($('.background').attr('min-width')) ;
		minH = parseInt($('.background').attr('min-height')) ;
		deltaH = parseInt($('.background').attr('deltaH')) ;
		deltaW = parseInt($('.background').attr('deltaW')) ;
		pos_image =  $('.background').attr('position') ;		
	}
	resizeWindow();
	footer_position();
}

function onLoadFunction(){	
	backgroundManage();
	addSlider();		
	bind_link();
	theytrustus();
	$(window).bind('resize', function(){resizeWindow();});
	dataCulture();
	addCarousel();
	privacypolicy();
	//if ( $.browser.msie ){
		resizeWindow();
	//}
	mail();
}

function bind_link(){
	$('.data').live('click', function(e){
		  e.preventDefault();
		  var id = $(this).parent().attr('id');
		  $('#'+id).css('cursor', 'pointer');
		  var href = location.protocol + '//' + location.host + '/' + $('#'+id+' .data h1 a').attr('href');
		  if( href != undefined ){
			  if (e.ctrlKey || e.metaKey || e.which == 2) {
			     window.open(href);
			  }else{
				  location.href = href ;
			  }				  
		  }		  
		});
	$('#subblock-3').bind('click', function(e){
		$('#block6').css('visibility', 'hidden');
	});
}

function changePage(id, href){	
	var div = $('#'+id).parent().children();
	div.each(function(e){
		if ( $(div[e]).attr('id') != id ){
			$(div[e]).toggleClass('fadeOut');
		}
	});
	$('#header').toggleClass('fadeOut fadeIn');
	$('#footer').toggleClass('fadeOut fadeIn');
	$('#background').toggleClass('fadeOut fadeIn');
	$('#background img').attr('style','');
	$('.fadeOut').fadeOut(1000,function(){		
		$.ajax({
			 url:href+'&format=ajax'
			,dataType:"json"
			,success:function(content){
				$('body').attr('class',content.lang+' '+content.bodyclass)
				$('#header img').attr('src',content.imagepath+'logo.png')
				$('#background').html(content.background);
				$('#'+id).attr('class', content.data['class-id']);
				subcontent = '<div id="'+id+'" class="'+$('#'+id).attr('class')+'">'+$('#'+id).html()+'</div>';				
				$('#content').html(subcontent+content.content);
				$('#'+id+' h1 a').attr('href', 'index.php?lang='+content.lang);
				var div = $('#'+id).parent().children();
				div.each(function(e){					
					if ( $(div[e]).attr('id') != id ){
						$(div[e]).toggleClass('fadeIn');
					}
				});
				backgroundManage();	
				$('.fadeOut').removeClass('fadeOut');
				$('.fadeIn').fadeIn(1000, function(){
					$('.fadeIn').removeClass('fadeIn');
					onLoadFunction();
				});	
			}
		});
	
	
				
	});    	
}

function resizeWindow(){
	if (  $('.background').val() != undefined ){
		background_position();
	}	
	if ( $('.lifeatkeyade') ){
		lifeatkeyade();
	}
	footer_position();
	dataCulture();
	privacypolicy();
	mailR();
	if ( $.browser.msie ){
		if ( $(window).width() < 1440  ){
			$('#logo').css('width', '104px');
			$('#logo').css('height', '28px');
			$('#logo').css('margin', '6px');
		}
		if ( $('.international') ){
			$('#worldmap').css('width', '416px');
			$('#worldmap').css('height', '250px');
		}else{
			$('#worldmap').css('width', '625px');
			$('#worldmap').css('height', '311px');
			$('#worldmap').css('margin-left', '50px');
		}
	}
	if ( $('.ui-slider-vertical .ui-slider-handle') ){
		if ( $.browser['webkit'] ){
			$('.ui-slider-vertical .ui-slider-handle').css('margin-left', 0 );
			if( $('.privacy-policy').html() != null ){
			}
			else if( $('.casestudies').html() == null ){
				if (  $(document).width() < 1440 && originSize == 1 ){
					$('.ui-slider-vertical .ui-slider-handle').css('margin-left', '150px' );
				}
				if (  $(document).width() > 1440 && originSize == -1 ){
					$('.ui-slider-vertical .ui-slider-handle').css('margin-left', '-140px' );
				}
			}
			else{
				if (  $(document).width() < 1440 && originSize == 1 ){
					$('.ui-slider-vertical .ui-slider-handle').css('margin-left', '190px' );
				}
				if (  $(document).width() > 1440 && originSize == -1 ){
					$('.ui-slider-vertical .ui-slider-handle').css('margin-left', '-180px' );
				}
			}
		}
		if ( $.browser['mozilla'] ){
			if ( $('body').hasClass('careers')  ){
				if (  $(document).width() < 1440 ){
					$('#b7').css('margin-top', '185px' );				
				}
				else{
					$('#b7').css('margin-top', '215px' );				
				}			
			}
			if ( $('body').hasClass('privacy-policy')  ){
				if (  $(document).width() < 1440 ){
					$('.privacy-policy .ui-slider-vertical .ui-slider-handle').css('margin-top', '255px');
				}
				else {
					$('.privacy-policy .ui-slider-vertical .ui-slider-handle').css('margin-top', '320px');
				}
			}
		}	
	}

}

/* Slider */
function addSlider(){
	
	$( "#slider" ).slider({
		orientation: "vertical",
		range: "min",
		min: 0,
		max: 100 ,
		value: $('#slide').height(),
		slide: function( event, ui ) {		
			delta = $('#block1').height() - $('#slide').height() - 20;
			if ( delta < 0 ){
				$('#slide').css('margin-top', (100 - ui.value) * delta / 100 );
				
			}
		}
	});
	 $('#slide')
     .bind('mousewheel', function(event, delta) {
    	 	$('#slider').slider({value : $('#slider').slider('value') + delta});
    	 	delta = $('#block1').height() - $('#slide').height() - 20;
			if ( delta < 0 ){
				$('#slide').css('margin-top', (100 - $('#slider').slider('value')) * delta / 100 );
			}
         return false;
     });
	$('#slide p.link a').each(function(){
		$(this).bind('click', function(e){
			e.preventDefault();	
			if ( $(this).parent().prev('p.subcontent').css('display') == 'none' ){
				$(this).parent().prev('p.subcontent').slideToggle("slow");
				$(this).text($(this).text()
							.replace('Lire', 'Cacher')
							.replace('Show', 'Hide')
						);

			}else{
				$(this).parent().prev('p.subcontent').slideToggle("slow");
				$(this).text($(this).text().replace('Cacher', 'Lire').replace('Hide', 'Show'));
			}
			if ( $('#slide').height() < $('#block1').height() ){
				$('#slider').slider('value', 100);
				$('#slide').css('margin-top', 0);
			}else{
				$('#slider').slider();
			}
			
		});
	});
	
	if ( $.browser['webkit'] ){
		$('#slider').css('left', '-730px');
		if ( $('body').hasClass('casestudies')  ){
			$('#slider').css('left', '-940px');
		}
		if ( $(window).width() < 1440 ){
			$('#slider').css('left', '-585px');
			if ( $('body').hasClass('casestudies') ){
				$('#slider').css('left', '-755px');
			}else if( $('body').hasClass('privacy-policy')  ){
				$('#slider').css('left', '-730px');
			}
		}
	}
	
	if ( $.browser['mozilla'] ){
		if ( $('body').hasClass('privacy-policy')  ){
			$('#slider').css('left', '-730px');
		}
		$('.ui-slider .ui-slider-handle').css('position', 'relative');	
	}
	
}


/* Carousel function */
function addCarousel(){
	if ( $('#jcarousel') ){
		$('#jcarousel').jcarousel({
	    	wrap: 'circular',
	    	scroll: 1,
	        initCallback: mycarousel_initCallback,
	        buttonNextHTML: null,
	        buttonPrevHTML: null	    		
	    });	
		$('#block6').css('visibility', 'hidden');
	}
	
}

function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt){
	
	length = carousel.size();
	if ( i < 0 ){
		position = i ;
		do{
			position = length + position ;
		}while( position < 0 );
		position = position  + 1 ;
	}else{
		position = (i % length) + 1 ; 
	}
	if ( first_call == true ){
		first_call = false ;
		position = 1 ;
	}



}

function mycarousel_initCallback(carousel){
	$('a.previous').bind('click', function(){
		carousel.prev();
		position -= 1 ;
		displayCarousel(position, carousel.size());
		return false;
	});
	$('a.next').bind('click', function(){
		carousel.next();
		position += 1 ;
		displayCarousel(position, carousel.size());
		return false;
	});		
}

function displayCarousel(position2, length){
    if ( position2 < 1 ){
    	position = length ;
    }else if( position2 > length ){
    	position = 1 ;
    }
    $('.item').css('display', 'none');
    $('#item-' + position ).css('display', 'block');
}

/* Background image */
function vert_resize(height){
	var ratio =  maxH / maxW ;
	$('.background').css('height', height+"px" );
	$('.background').css('width', ($('.background').css('height').replace('px','') / ratio) +"px" );
	$('#background').css('width', $('.background').css('width'));
	$('#background').css('height', $('.background').css('height'));	
	if ( checking_maxsize() ){
		vert_resize(maxH);
	}
}

function hor_resize(width){
	var ratio =  maxH / maxW ;
	$('.background').css('width', width + "px");			
	$('.background').css('height', ( $('.background').css('width').replace('px','') * ratio)+"px" );
	$('#background').css('width', $('.background').css('width'));
	$('#background').css('height', $('.background').css('height'));
	if ( checking_maxsize() ){
		hor_resize(maxW);
	}
}

function checking_maxsize(){
	return ( parseInt($('.background').css('width').replace('px','')) > maxW 
			|| parseInt($('.background').css('height').replace('px','')) > maxH )
}

function background_position(){
	
	if (  $('.background').val() != undefined ){
		$('.background').css('visibility', 'hidden');
		windowH = $(window).height();	 
		windowW = $(window).width();
		
		// image horizontale
		if ( pos_image == 'center' ){	
			if ( windowW > maxW + deltaW ){
				// mise  a la taille max
				hor_resize(maxW);
			}else{
				// resize horizontale 
				hor_resize(windowW - deltaW);
				$('#background').css('top', 'auto')
			}
			var diff = $('#content').outerHeight() + $('#header').outerHeight() + parseInt($('.background').css('height').replace('px','')) - deltaH ;
			if ( windowH < diff ){						
				vert_resize(windowH - $('#content').outerHeight() - $('#header').outerHeight() + deltaH  )			
				var delta = $('#content').outerHeight() +  $('#header').outerHeight() - windowH + deltaH ;
			}		
			if ( windowH < $('#content').outerHeight() + $('#header').outerHeight() + $('#footer').height() ){
				hor_resize(minW);		
				$('#background').css('top',( $('#content').outerHeight() + $('#header').outerHeight() - deltaH ) );
				$('#background').css('height', ( parseInt($('#background').css('height').replace('px','') - deltaH) ) );
			}
			if ( parseInt($('.background').css('width').replace('px','')) < minW ){	
				hor_resize(minW);					
				$('#background').css('top', $('#content').height() + $('#header').height() - deltaH +'px' );
				var delta = $(window).height() - $('#content').height() - $('#header').height() + deltaH  - parseInt($('#background').css('height').replace('px','')) ;			
				$('#background').css('padding-bottom', delta + 'px');
				$('#background').css('height', ( parseInt($('#background').css('height').replace('px','')) + delta )+'px');
			}else{
				$('#background').css('bottom', 0);
				$('#background').css('height', ( parseInt($('#background').css('height').replace('px','')  ) ) );
			}
			
		}else{
			// image verticale
			var margin =  ( windowW - $('#content').width() ) / 2 ;
			
			vert_resize(maxH);
			if ( windowH <  $('#header').height() + $('#content').height() - deltaH ){
				vert_resize( $('#header').height() + $('#content').height() - deltaH );
			}else{
				vert_resize( windowH -$('#header').height() - deltaH );
			}		
	
			if ( pos_image == 'right' ){
				var stopMargin = $('.background').css('width').replace('px','') * deltaW/ 100  ;
				left = margin - stopMargin +$('#content').width() ;
				delta = $(window).width() - parseInt($('.background').css('width').replace('px','')) - left ;  
				if ( delta < 0 ){
					$('#background').css('left', left+"px");
					$('#background').css('width', ( parseInt($('#background').css('width').replace('px','')) + delta )+"px");
					$('#background').css('margin-right', delta+"px");
				}
			}else{
				var stopMargin = $('.background').css('width').replace('px','') * deltaW / 100  ;			
				delta = margin - stopMargin ;
				if ( delta < 0 ){					
					$('#background').css('margin-left', delta + 'px');
				}
			}
			if ( windowH > ( $('#header').height() + deltaH + parseInt($('#background').css('height').replace('px','')) ) ){
				$('#background').css('top', windowH - parseInt($('#background').css('height').replace('px','')) );
			}else{
				$('#background').css('top', $('#header').height() + deltaH+'px');
			}
		}
		switch ( pos_image ){
			case "center" :
				$('#background').css('left', (windowW - $('#background').css('width').replace('px','')) / 2 );
				break;
			case "left" :
				$('#background').css('left', 0);
				break;
			case "right" :
				$('#background').css('left', (windowW - $('#background').css('width').replace('px','')) );
				break;			
			default :
				break;
		}
		$('.background').css('visibility', 'visible');
	}
}

function lifeatkeyade(){
	if ( ! $.browser['msie'] ){
		$('#b9').addClass('rounded');
	}
	$('.lifeatkeyade #block2').css('visibility', 'hidden');
	var width  = 1920;
	var height = 1023;
	var ratio = width / height ;
	
	if ( $.browser['webkit'] ){
		delta = 15 ;
	}
	if ( $.browser['mozilla'] ){
		delta = 13 ;
	}
	if ( $.browser['opera'] ){
		delta = 13 ;
	}
	if ( $.browser['msie'] ){
		
		delta = 22 ;
	}
	windowW = $(window).width() + delta ;
	windowH = $(window).height() + delta ;
	$('body').css('overflow', 'hidden');
	if ( ( windowW / windowH ) > ratio ){
		$('.lifeatkeyade #block2 img').attr('width', windowW);
		$('.lifeatkeyade #block2 img').attr('height', windowW / ratio);
	}else{
		$('.lifeatkeyade #block2 img').attr('height', windowH);
		$('.lifeatkeyade #block2 img').attr('width', windowH * ratio);		
	}	
	$('.lifeatkeyade #block2').css('width', windowW );
	$('.lifeatkeyade #block2').css('height', windowH -$('#header').height());
	$('.lifeatkeyade .next').bind('click', function(e){lak_next();e.preventDefault();});
	$('.lifeatkeyade .previous').bind('click', function(e){lak_previous();e.preventDefault();});
	$('.lifeatkeyade #block2').css('visibility', 'visible');
}

function lak_next(){	
	fadeImage('next');
}

function lak_previous(){		
	fadeImage('previous');	
}

function fadeImage(which){		
	switch( which ){
		case 'next' :
			image = 'img.masterN' ;
			back_index += 1 ;
			if ( back_index > back_image.length -1 ){
				back_index = 0 ;
			}
			break;
		case 'previous' :			
			image = 'img.masterP' ;	
			back_index -= 1 ;
			if( back_index < 0 ){
				back_index = back_image.length -1 ;
			}
			break;
	}
	$('.lifeatkeyade #block2 img.master').fadeOut(800,function(){
		prepareImage();
		$('.lifeatkeyade #block2 img.master').fadeIn(800, function(){
			
		});
	});
}

function prepareImage(){
	$('.lifeatkeyade #block2 img.master').attr('src', back_image[back_index]);
	$('.lifeatkeyade #block2 img.masterN').attr('src', back_image[ ( back_index+1 > back_image.length -1  ? 0 : back_index+1 )]);
	$('.lifeatkeyade #block2 img.masterP').attr('src', back_image[( back_index-1 < 0  ?  back_image.length -1 : back_index-1 )]);	
}

function footer_position(){
var content;

	if ( $('body').hasClass('lifeatkeyade') ){	
		$('#footer').css('position','absolute' );
		$('#footer').css('top', parseInt($(window).height()) - parseInt($('#footer').height()) );		
	}else{
		content = $('#content').height() == 0 ? $('#content-2').height() : $('#content').height() ;
		
		foot_top =  ( $(window).height() - $('#footer').height()  - content - $('#header').height() - 5  ) ;
		$('#footer').css('margin-top', foot_top +"px" );	
		if ( foot_top < 0 ){
			 $('#footer').css('margin-top', 0);		
		}

		if ( $('#slide').attr('id') == 'slide' ){
			$('#footer').css('position','absolute' );	
			if ( $(window).width() < 1440 ){
				$('#footer').css('top', '468px');
			}else{
				$('#footer').css('top', '597px');
			}
			
		}

	}
	// alert($('#footer').css('margin-top'));
	
}

function theytrustus(){
	if ( $('.theytrustus') ){
		$('.theytrustus #vert-wrapper img').each(function(e,v){
			$(v).bind('mouseenter',function(){
				$(v).attr('src',$(v).attr('src')
					.replace('logos/','rolls/').replace('logos_','decoupe_'));
				$(v).css('z-index','99');
			});
			$(v).bind('mouseleave',function(){
				$(v).attr('src',$(v).attr('src')
					.replace('rolls/','logos/').replace('decoupe_','logos_'));
				$(v).css('z-index','0');
			});			
		});
		if ( $.browser.msie ){
			if ( $(window).width() < 1440 ){
				$('#logo-list').css('margin-top', '330px');
			}
		}
	}
}

function dataCulture(){
	if ( $('.dataculture') ){
		dataCultureR();
		$('.dataculture #block4').bind('click', function(){			
			$('#block6').css('visibility', 'visible');
		});
		$('.dataculture #overlay').bind('click', function(){
			$('#block6').css('visibility', 'hidden');
		});
		$('.dataculture .subblock').bind('click', function(e){
			e.stopPropagation();
		});
	}
}

function dataCultureR(){
	if ( ! $.browser.msie ){
		$('#subblock-2').addClass('rounded');
		$('#subblock-3').addClass('rounded');
	}
	$('#block6').css('width', $(window).width()  );	
	$('#overlay').css('height', ($(window).height() - $('#header').height()) );
	$('#content-2').css('left', ( ($(window).width() - $('#content-2').width() ) / 2 ) );
	$('#content-2').css('top', $('#content').css('margin-top'));
}

function privacypolicy(){
	if ( $('body').hasClass('privacy-policy') ){
		privacypolicyR();
		$('.policyprivacy').bind('click', function(e){				 
			$('#block4').css('visibility', 'visible');
			e.preventDefault();	
		});
		$('#overlay').bind('click', function(e){
			e.preventDefault();	
			$('#block4').css('visibility', 'hidden');
		});
		$('.optout').bind('click', function(e){
			e.preventDefault();	
			$.ajax({
				  url: "optout.php",
				  context: document.body,
				  success: function(){
				    $('#content-2').html($('#optoutdone').html());
				  }
				});
		});
	}
}

function privacypolicyR(){
	$('#block4').css('width', $(window).width()  );	
	$('#overlay').css('height', ($(window).height() - $('#header').height()) );
	$('#content-2').css('left', ( ($(window).width() - $('#content-2').width() ) / 2 ) );
	$('#content-2').css('top', $('#content').css('margin-top'));
}

function mail(){
	mailR()
	$(function(){
		$("label").inFieldLabels(); 
	});
	
	$('#contactus a').bind('click', function(e){
		$('.blockMail').css('display', 'block');
		$('#calque').css('display', 'block');
		$('.blockMail .formmail').css('visibility', 'visible');
		$('#button').css('visibility', 'visible');
		$('.blockMail form p label').css('visibility', 'visible');
		$('.blockMail #confirm').css('display', 'none');
		e.preventDefault();
	});

	$('#calque').bind('click', function(){
		$('#calque').css('display', 'none');
		$('.blockMail').css('display', 'none');
		
	});
}

function mailR(){
	$('#calque').css('height', ( $(window).height() - $('#header').height() ) );
	$('#calque').css('top',  $('#header').height() + 1);
	$('.blockMail').css('left', ( ($(window).width() - $('.blockMail').width() ) / 2 ) );
	$('.blockMail').css('top', $('#header').height() + ( ( $('#content').height() - $('.blockMail').height() ) / 2 ) );
}

function openContact(){
		$('.blockMail').css('display', 'block');
		$('#calque').css('display', 'block');
		$('.blockMail .formmail').css('visibility', 'hidden');
		$('#button').css('visibility', 'hidden');
		$('.blockMail form p label').css('visibility', 'hidden');
		$('.blockMail #confirm').css('display', 'block');
}

function verifyForm(){
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if ( document.form.email.value.search( emailRegEx ) == -1)  {
		mon_alert( invalidMail );
	}
	else {
		if ( document.form.name.value != "" && document.form.company.value != "" && document.form.message.value != "" ) {
			document.forms["form"].submit();
		}
		else {
			mon_alert( emptyFields );
		}
	}
}

function mon_alert( text ){
	alert( text );
}
