var _pgt = _pgt || {};

var addthis_config = {
	ui_offset_left: -186
};

function pgt_placeholders() {
	if(!Browser.Features.inputattributes.placeholder)
	{
		$each($$('input, textarea'), function(item, key)
			{
				var overtxt = new OverText(item);
				item.store('overtext', overtxt);
			}
		);
	}
}

function pgt_subheader_nav() {
	pgt_subheader_wrapper = $('pgt_wrapper_subheader');
	if ( pgt_subheader_wrapper != undefined )
	{
		pgt_subheader_nav_slide = new Fx.Slide('pgt_wrapper_sh_content').hide();
		$('pgt_wrapper_sh_content').setStyle('visibility', 'visible');

		pgt_subheader_nav_slide.element.getParent().set({
			'class': 'slideWrapper',
			'styles': {
				'width': '100%'
			}
		});

		pgt_subheader_nav_slide.addEvents({
			'start': function()
			{
				if(pgt_subheader_wrapper.hasClass('opened'))
				{
					pgt_subheader_wrapper.removeClass('opened');
				}
			},
			'complete': function()
			{
				if(this.open)
				{
					pgt_subheader_wrapper.addClass('opened');
				}
			}
		});

		$each($$('#pgt_wrapper_subheader .pgt_inwrapper > ul > li > a'), function(item, id)
		{
			if(id < 4)
			{
				item.addEvent('click', function(e)
				{
					e.stop();
					
					if(!this.hasClass('current'))
					{
						$$('.subnav_pan').setStyle('display','none');
						
						var subnav_target = $$(this.hash);
						
						if(subnav_target.length > 0)
						{
							subnav_target[0].setStyle('display','block');
						}
					}
					
					if(!pgt_subheader_wrapper.hasClass('opened') || this.hasClass('current'))
					{
						pgt_subheader_nav_slide.toggle();
					}
					
					if(!this.hasClass('current'))
					{
						$$('#pgt_wrapper_subheader a.current').removeClass('current');
						
						this.addClass('current');
						
						pgt_subheader_nav_slide.element.getParent().setStyle('height', $('pgt_wrapper_sh_content').getHeight());
					}
				});
			}
		});
		
		$(document.body).addEvent('click', function(e)
		{
		    checkParentSubheader =  e.target.getParent('#pgt_wrapper_subheader');
		    if(checkParentSubheader == null)
		    {
		        pgt_subheader_nav_slide.slideOut();
		    }
		});
	}
	
}

function pgt_subheader_nav_scoots() {
	$$('.subnav_pan ul:not(.single) a').addEvents({
		'mouseover': function(e)
		{
			e.stop();
			this.getParent('li').getParent('li').getElements('.left .subnav_scooter').set({
				'styles':{
					'display': 'none'
				}
			});
			var subnav_target = $$(this.get('rel'));
			if(subnav_target.length > 0)
			{
				subnav_target[0].setStyle('display','block');
			}
		},
		'mouseleave': function(e)
		{
			e.stop();
			this.getParent('li').getParent('li').getElements('.left .subnav_scooter').set({
				'styles':{
					'display': 'none'
				}
			});
			this.getParent('li').getParent('li').getElements('.left .subnav_scooter')[0].set({
				'styles': {
					'display': 'block'
				}
			});
		}
	});
}

function promoSlideDefine(homepage) {
	var promoClick = $$('#promo h2');
	if(promoClick.length > 0)
	{
		myVerticalSlide = new Fx.Slide('verticalSlide',
		{
			onStart: function(el)
			{
				if(this.open == false)
				{
					el.getParent('#promo').addClass('on');
				}
			},
			onComplete: function(el)
			{
				if(this.open == true)
				{
					el.getParent('#promo').removeClass('on');
				}
			}
		}).hide();
		promoClick.addEvent('click', function(e){
			e.stop();
			myVerticalSlide.toggle();
		});
		
		var promoSlideWrapper = $('vSlideWrapper');
		if (promoSlideWrapper != undefined )
		{

			pgtPromoSlider = new deliaPanSlider({
				panWrapper: 'vSlideWrapper',
				panContainer: 'vSlideContent',
				pansSelector: '.vSlideItem',
				scrollby: 3,
				controllers:
				{
					left: $('previous'),
					right: $('next')
				}
			});
			pgtPromoSlider.addEvents({
				'change': function(position){
					$$('.promo_tip_pagination a').removeClass('current')[(position/3).round(0)].addClass('current');
				},
				'first': function()
				{
					$$('.promo_tip_pagination a').removeClass('current')[0].addClass('current');
				},
				'last': function()
				{
					$$('.promo_tip_pagination a').removeClass('current').getLast().addClass('current');
				}
			});
			
			$$('.promo_tip_pagination a').forEach(function(link)
			{
				link.addEvent('click', function(event)
				{
					event.stop();
					
					var promoid = this.get('id')*3-2;
					var promo = 'promotion'+promoid;
					
					pgtPromoSlider.toPan($(promo));
					
					if($$('.promo_tip_pagination a.current'))
					{
						$$('.promo_tip_pagination a.current').removeClass('current');
					}
					
					this.addClass('current');
				});
			});
		}
		
		// Close on outside click
		$(document.body).addEvent('click',function(e) {
			var showingParent = $$('#promo.on')[0];
			if((showingParent != undefined) && (!e.target || !$(e.target).getParents().contains(showingParent)) && (!$(e.target).hasClass('close-button') && !$(e.target).hasClass('griser'))) { 
				myVerticalSlide.toggle();
			}
		});
	}
}

function promoSlide()
{
	return true;
}

function pgtHomeFlashResize()
{
	var homeflash = $(swfobject.getObjectById('pgt_flash_home'));
	if(homeflash != undefined)
	{
		if(document.getCoordinates().height < 768)
			{
				homeflash.setStyles({
				    'height': '500px'
				});
			}
			else
			{
			homeflash.setStyles({
			    'height': '606px'
			});
		}
	}
}

function getFlashMovie(movieName)
{
	if (window.document[movieName])
	{
		return window.document[movieName];
	}
	if (navigator.appName.indexOf("Microsoft Internet")==-1)
	{
		if (document.embeds && document.embeds[movieName])
			return document.embeds[movieName];
	}
	else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	{
		return document.getElementById(movieName);
	}
}

function adjust_button_width(container_id, button_class, button_exception)
{

	var tot_width = $$(container_id)[0].getWidth();				// Largeur Totale dispo Menu
	var elts = $$(button_class);								// Liste des boutons
	
	if($$(button_exception).length > 0) {						// Si on a un/des bouton exclu de la liste
		$each($$(button_exception), function(item){
			var width = item.getWidth();
			
			if(Browser.ie9 || (Browser.Platform.mac && Browser.firefox)){
				width = Math.ceil(width)+1;
				item.setStyle("width", width+'px');
			}
			tot_width -= width;
		});
		selector = button_class;
		exception_each = button_exception.split(', ');
		$each(exception_each, function(except){
			selector += ':not(' + except + ')';
		});
		elts = $$(selector);
	}
	
	elts.getElement('a').setStyle('padding', 0);				// Reinitialisation des paddings des liens des éléments à ajuster
	
	var elts_width = elts.getWidth().sum(); 					// Taille de tous les boutons
	if(Browser.ie9 || (Browser.Platform.mac && Browser.firefox)){
		elts_width = 0;
		elts.each(function(el){
			width = el.getWidth();
			width = Math.ceil(width);
			width=width+1;
			el.getElement('a').setStyle('width', width );
			elts_width += width;
		});
	}

	var elts_nb = elts.length;									// Nombre d'elements presents
	var free_space = tot_width - elts_width;					// Espace libre restant
	var pad =  (free_space / 2 )/elts_nb;						// Padding horizontal
	var int_pad = Math.floor(pad);

	elts.getElement('a').setStyle('padding','0 '+int_pad+'px');
	if(Browser.ie9 || (Browser.Platform.mac && Browser.firefox)){
		elts.each(function(el){
			width = el.getElement('a').getWidth();
			width = Math.ceil(width);
			width=width+1;
		});
	}
	var elts_width = elts.getWidth().sum();

	var reste = tot_width - elts_width;
	
	var x=elts_nb-1;	
	var y=elts[x].getElement('a').getStyle('padding-right').toInt();
	var z=y+reste;
	elts[x].getElement('a').setStyle('padding-right',z+'px');
}

function adjust_font(container_id, button_class, button_exception)
{
	if($$(button_exception).length > 0) {						// Si on a un/des bouton exclu de la liste
		selector2 = button_class;
		exception_each = button_exception.split(', ');
		$each(exception_each, function(except){
			selector2 += ':not(' + except + ')';
		});
		selector2 += '>a';
		elts2 = $$(selector2);
	}
	
	var pad = $$(elts2)[0].getStyle('padding-left').toInt();	
	if(pad <= 4)
	{
		var oldsize = $$(button_class+' > a')[0].getStyle('font-size').toInt();
		var newsize = oldsize - 1;
		$$(button_class+' > a').setStyle('font-size', newsize+'px');

		adjust_button_width(container_id, button_class, button_exception);
	}
}

function adjust_submenu(container_id, button_class, submenu_class, submenu_item_class, exception)
{
	$$(button_class).toggleClass('active');
	$$(button_class).each(function(item){
		if (item.getElement(submenu_item_class) && item.getElement(submenu_class) )
		{
			if (Browser.Platform.ios || Browser.Platform.android) {
				item.addEvent('click',function(){
					if (item.hasClass('mobile'))
					{
						item.removeClass('mobile');
						item.getElement(".pgt-nav_submenu").removeClass('mobile');
					}
					else{
						$$(button_class).getElements(".pgt-nav_submenu").each(function(item){item.removeClass('mobile')});
						$$(button_class).each(function(item){item.removeClass('mobile')});
						item.toggleClass('mobile');
						item.getElement(".pgt-nav_submenu").toggleClass('mobile');
					}
				});
			}
			/* Ajustement de la largeur du submenu */
			var cols = null;
			
			if(!item.hasClass('pgt-useful'))
			{
				var col = item.getElement(submenu_item_class);
				cols = item.getElements(submenu_item_class); 																					/*  Liste des colonnes du sous-menu */
				var nb_col = cols.length;																										/*  Nombre de colonnes du sous menu */
				var col_width = col.getStyle('width').toInt() + col.getStyle('padding-left').toInt() + col.getStyle('padding-right').toInt();	/* Vu qu'on est en display none on ne peux pas utiliser getWidth() */
				var submenu_width = nb_col * col_width; 																						/* Taille du sous-menu */
				item.getElement(submenu_class).setStyle('width', submenu_width+'px');
			}
			else
			{
				var submenu_width = $$('.pgt-useful_layer')[0].getWidth();
				var cols = $$('.pgt-useful')[0].getElements(submenu_item_class);
				var nb_cols = cols.length;
				var col_pad_l = cols[0].getStyle('padding-left').toInt();
				var col_pad_r = cols[0].getStyle('padding-right').toInt();
				var final_width = ((submenu_width - (nb_cols * (col_pad_l + col_pad_r )))/ nb_cols);
				cols.setStyle('width',final_width+'px');
			}
			
			/* Ajuste les taille de colonne pour les separateurs */
			var height = item.getElement(submenu_class).getHeight() - (2 * item.getElement(submenu_item_class).getStyle('padding-top').toInt() );
			cols.setStyle('height', height+'px');
			
			/* Ajustement du placement du submenu */
			var orig_main = $$(container_id)[0].getPosition($$('#pgt_wrapper_header > .pgt_inwrapper')[0]).x ;
			var max_main = orig_main + $$(container_id)[0].getWidth();
			var item_in_main = item.getPosition( $$(container_id)[0] ).x ;
			var dist = submenu_width - ( max_main - item_in_main ) + orig_main;
			if(dist > 0)
			{
				item.getElement(submenu_class).setStyle( 'left' , -dist+'px');
			}
		}
	});
	$$(button_class).toggleClass('active');
}

var ExternalInterface;
var ExternalInterfaceClickId=false;

function select_left_menu_item(item_id)
{
	$$('.left_menu_item').removeClass('current');
	$('item'+item_id).addClass('current');
	ExternalInterfaceClickId = item_id;
}

function packageSlider_MoveTo(moveSlideTo)
{
	if (ExternalInterfaceClickId==moveSlideTo) return void(0);
	if (typeof(ExternalInterface) != 'function')
	{
		if (navigator.appName.indexOf("Microsoft") != -1)
		{
			var  ExternalInterface = window['flash-forfait']
		}else {
			var  ExternalInterface =  document['flash-forfait']
		}
	}
	//console.log(moveSlideTo);
	ExternalInterfaceClickId = moveSlideTo;
	ExternalInterface.packageSlider_MoveTo(moveSlideTo);
}

function popin(link_id,cible_id,url,close)
{
	if( $(link_id) != undefined )
	{
		if(Lightbox==undefined){
			var Lightbox= new Array;
		}
		
		$(link_id).addEvent('click', function(event){

			Lightbox[cible_id] = new PeugeotLightBox({
				title:' ',
				url: url,
				params: {cible:cible_id},
				css: '/defaultSites/peugeot_main/css/peugeot_common/popin_promo.css',
				closeText: close,
				destroyOnClose: true,
				onLoad: function(){
					var content = this._element.getElement('.content');
					var header = this._element.getElement('.header');
						header.getElement('h2').destroy();
						if(content.getElement('h2')){
							content.getElement('h2').inject(header, 'top');
						}
					header.getParent().addClass('condition');
					this.open();
				}
			});
		});
	}
}

function popin_flash(cible_id,close)
{
	if(Lightbox==undefined){
		var Lightbox= new Array;
	}
	Lightbox[cible_id] = new PeugeotLightBox({
		title:' ',
		url: '/index.php?template=peugeot_common/includes/content_pages/popin',
		params: {cible:cible_id},
		css: '/defaultSites/peugeot_main/css/peugeot_common/popin_promo.css',
		onLoad: function(){

			var content = this._element.getElement('.content');
			var header = this._element.getElement('.header');
			
			header.getElement('h2').destroy();
			content.getElement('h2').inject(header, 'top');
			
			header.getParent().addClass('condition');

			this.open()
		}
	});
}

function popin_iframe(url, height, width)
{
	Lightbox = new PeugeotLightBox({
		title:' ',
		url: url,
		css: '/defaultSites/peugeot_main/css/peugeot_common/popin_promo.css'
	});
}

function accordeon()
{
	$$('.titre').addEvent('click',function(){
		if(this.getNext('.content').isVisible()){
			this.getChildren('.arrow').removeClass('active');
			this.getNext('.content').hide();
		}
		else{
			/* this.getParent('.accordeon').getElements('.arrow').removeClass('active'); */
			/* this.getParent('.accordeon').getElements('.content').hide(); */
			this.getChildren('.arrow').addClass('active');
			this.getNext('.content').show();
		}
	});
};

function accordeon_advanced()
{
	var nb = $$('.dialog').length;
	//init
	if (nb) {
		$$('.dialog').addClass('unactive');
		$$('.dialog')[0].getElement('.content').setStyle('background','none');
		$$('.dialog')[0].getElement('.plus').hide();
		$$('.dialog')[0].addClass('add_left');
		$$('.dialog')[nb-1].addClass('add_right');
		if(nb == 4){$$('.dialog').setStyle('width', '230px');}
		else if(nb == 3){$$('.dialog').setStyle('width', '306px');}
		else if(nb == 2){$$('.dialog').setStyle('width', '459px');}
		//hauteur cellules adapatable au plus grand
		var hauteur_max = 0;
		for (var i = 0; i < nb; i++){
			var hauteur = $$('.dialog')[i].getElement('.content').getHeight();
			if(hauteur > hauteur_max){
				hauteur_max = hauteur;
			}
		}
		$$('.dialog .content').setStyle('height',hauteur_max+'px');

		$$('.dialog .head').addEvent('click',function(){
				var index = $$('.dialog').indexOf(this.getParent('.dialog'));

				if($$('.dialog')[index].hasClass('live')){
					$$('.dialog').removeClass('active').addClass('unactive');
					$$('.dialog').removeClass('live');
					$$('.dialog.unactive .content').setStyle('height',hauteur_max+'px');
					$$('.dialog').removeClass('add_right').removeClass('add_left');
					$$('.dialog')[nb-1].addClass('add_right');
					$$('.dialog')[0].addClass('add_left');
				}
				else{
					//gestion des active
					for (var i = index; i >= 0; i--){
						$$('.dialog')[i].addClass('active').removeClass('unactive');
						$$('.dialog')[i].removeClass('live');
						$$('.dialog')[index].addClass('live');
						$$('.dialog')[i].removeClass('add_right').removeClass('add_left');
						$$('.dialog')[0].addClass('add_left');
						$$('.dialog')[index].addClass('add_right');
						if ($$('.dialog')[i].getElement('.button_dark.blue') != undefined)$$('.dialog')[i].getElement('.button_dark.blue').hide();
						if ($$('.dialog')[index].getElement('.button_dark.blue') != undefined)$$('.dialog')[index].getElement('.button_dark.blue').show();
						
					}
					//gestion des retour en non active
					for (var i = index+1; i < nb; i++){
						$$('.dialog')[i].removeClass('active').addClass('unactive');
						$$('.dialog')[i].removeClass('live');
						$$('.dialog.unactive .content').setStyle('height',hauteur_max+'px');
						$$('.dialog')[i].removeClass('add_right').removeClass('add_left');
						$$('.dialog')[nb-1].addClass('add_right');
					}
				}

				//hauteur active
				var hauteur_max_active=0;
				var nb_active=$$('.dialog.active').length;
				for (var i = 0; i < nb_active; i++){
					$$('.dialog.active .content').setStyle('height','auto');
					var hauteur_active = $$('.dialog.active')[i].getElement('.content').getHeight();
					if(hauteur_active > hauteur_max_active){
						hauteur_max_active = hauteur_active;
					}
				}
				if(hauteur_max_active > hauteur_max){
					$$('.dialog.active .content').setStyle('height',hauteur_max_active+'px');
				}
				else{
					$$('.dialog.active .content').setStyle('height',hauteur_max+10+'px');
				}
		});
	}
}

function liste_hub()
{
	$$('.liste_hub .liste_hub_button').getNext('ul').hide();
	$$('.liste_hub .liste_hub_button').addEvent('click',function(){
		if(this.getNext('ul').isVisible()){
			this.getNext('ul').hide();
			this.getElement('.arrow').removeClass('down').addClass('up');
		}
		else{
			this.getNext('ul').show();
			var l = this.getWidth();
			this.getNext('ul').setStyle('width',l+'px');
			if(Browser.ie7)this.getNext('ul').setStyle('width',l-3+'px');
			var h = this.getNext('ul').getHeight();
			this.getNext('ul').setStyle('margin-top',-h-18+'px');
			if(Browser.ie7)this.getNext('ul').setStyle('margin-top',-h+4+'px');
			this.getElement('.arrow').removeClass('up').addClass('down');
		}
	});
};

function liste_footer()
{
	//init
	$$('.liste_footer .liste_footer_button').getParent().getElement('.liste_footer_liste').hide();
	
	// Close element if click outside
	$(document.body).addEvent('click',function(e) {
		var showingParent = $$('.liste_footer_button.active !> div')[0];
		if(!e.target || !$(e.target).getParents().contains(showingParent) && (!$(e.target).hasClass('close-button') && !$(e.target).hasClass('griser'))) { 
			$$('.liste_footer_button.active').fireEvent('click');
		}
	});
	
	$$('.liste_footer .liste_footer_button').addEvent('click',function(){
		if(this.getParent().getElement('.liste_footer_liste').isVisible()){
			this.removeClass('active').getParent().getElement('.liste_footer_liste').hide();
			this.getElement('.arrow').removeClass('up').addClass('down');
			// this.getElement('.arrow').getParent('span').setStyle('color','#ffffff');
			$$('#footer_more').destroy();
		}
		else{
			//all
			$$('.liste_footer_liste').hide();
			$$('.liste_footer .liste_footer_button').removeClass('active');
			//spec
			this.getParent().getElement('.liste_footer_liste').show();
			this.addClass('active');
			
			//ajout footer more
			if ($$('#footer_more').length == 0)
			{
				var footer_more  = new Element('div', {id: 'footer_more'});
				footer_more.inject('pgt_wrapper_footer', 'after');
				//scroll
				var myFx = new Fx.Scroll(window).toBottom();
			}
		}
	});
};

function adjustMaxHeight()
{
	if($('blocks') != undefined)
	{
		var hauteurMax = 0;
		$$('.block_content').each(function(item){
			var hauteur = item.getHeight();
			if( hauteur > hauteurMax )
			{
				hauteurMax = hauteur;
			}
		})
		$$('.block_content').setStyle('height', hauteurMax+'px');
	}
}

Array.prototype.max = function() {
	var max = this[0];
	var len = this.length;
	for (var i = 1; i < len; i++) if (this[i] > max) max = this[i];
	return max;
}

window.addEvent('domready', pgt_placeholders);
window.addEvent('domready', pgt_subheader_nav);
window.addEvent('domready', pgt_subheader_nav_scoots);
window.addEvent('domready', promoSlideDefine);
window.addEvent('domready', function(){
	dEnhancedForm  = new deliaEnhancedForm('.enhancedForm');
	
	if ($('legal_mentions_header'))
	{
		$('legal_mentions_header').addEvent('click', function(e)
		{
			e.stop();
			$$('#legal_mentions_header .overlay')[0].toggle();
			if ($$('#legal_mentions_promo_header .overlay')[0].getStyle('display')=='block')
			{
				$$('#legal_mentions_promo_header .overlay')[0].toggle();
			}
		});
		$$('#legal_mentions_header .overlay a.close')[0].addEvent('click', function(e)
		{
			e.stop();
			$$('#legal_mentions_header .overlay')[0].toggle();
		});
	}
	
	if ($('legal_mentions_promo_header'))
	{
		$('legal_mentions_promo_header').addEvent('click', function(e)
		{
			e.stop();
			$$('#legal_mentions_promo_header .overlay')[0].toggle();
			if ($$('#legal_mentions_header .overlay')[0].getStyle('display')=='block')
			{
				$$('#legal_mentions_header .overlay')[0].toggle();
			}
		});
		$$('#legal_mentions_promo_header .overlay a.close')[0].addEvent('click', function(e)
		{
			e.stop();
			$$('#legal_mentions_promo_header .overlay')[0].toggle();
		});
	}
	
	if ($$('.accordeon')[0] != undefined)
	{
		accordeon();
	}
	if ($$('.accordeon_advanced')[0] != undefined)
	{
		accordeon_advanced();
	}
	if ($$('.liste_hub')[0] != undefined)
	{
		liste_hub();
	}
	if ($$('.liste_footer')[0] != undefined)
	{
		liste_footer();
	}

	$$('.hole').removeClass('hole');
});


