var curSelect;
var curMenu;

var d = document;
var w = window;
var t = true;
var f = false;
var n = null;

Effect.AfterBlindDown = function( element ) {
	element = $(element);
	var oldStyle = {
		top: Element.getStyle(element, 'top'),
		left: Element.getStyle(element, 'left') };
	return new Effect.Move(element, 
		{ x:  0, y: 20, duration: 0.05, afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x: 0, y: -20, duration: 0.1,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x:  0, y: 10, duration: 0.15,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x: 0, y: -10, duration: 0.2, afterFinishInternal: function(effect) { with(Element) {
		undoPositioned(effect.element);
		setStyle(effect.element, oldStyle);
		curMenu = "" ;
	}}}) }}) }}) }}) ;
}

Effect.AfterBlindUp = function( element ) {
	element = $(element);
	var oldStyle = {
		top: Element.getStyle(element, 'top'),
		left: Element.getStyle(element, 'left') };
	return new Effect.Move(element, 
		{ x:  0, y: -20, duration: 0.05, afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x: 0, y: 20, duration: 0.1,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x:  0, y: -10, duration: 0.15,  afterFinishInternal: function(effect) {
		new Effect.Move(effect.element,
		{ x: 0, y: 10, duration: 0.2, afterFinishInternal: function(effect) { with(Element) {
		undoPositioned(effect.element);
		setStyle(effect.element, oldStyle);
		curMenu = "" ;
	}}}) }}) }}) }}) ;
}

Effect.animPanierFold = function() {
	Event.stopObserving( 'detailsPanier' ) ;
	return new Effect.BlindUp(	'panier_liste', {
								duration:		0.2 ,
								afterFinish:	function() {									
									new Effect.AfterBlindUp( 'panier' ) ;
									$( 'detailsPanier' ).innerHTML = _PANIER_VOIR ;
									Cufon.set( 'fontFamily', 'Panier' ).replace( '#panier div.panier_center a.details' );
									Event.observe( 'detailsPanier', 'click', displayPanier );									
								}	
							}
	);
}

Effect.animPanierDisplay = function() {
	Event.stopObserving( 'detailsPanier' ) ;
	return new Effect.BlindDown(	'panier_liste', {
								duration:		0.2 ,
								afterFinish:	function() {
									new Effect.AfterBlindDown( 'panier' ) ;
									$( 'detailsPanier' ).innerHTML = _PANIER_MASQUER ;
									Cufon.set( 'fontFamily', 'Panier' ).replace( '#panier div.panier_center a.details' );
									Event.observe( 'detailsPanier', 'click', foldPanier );
								}	
							}
	);
}

function foldPanier() {
	curMenu = "Menu" ;
	new Effect.animPanierFold( { queue: 'end' } ) ;
}

function displayPanier() {
	curMenu = "Menu" ;
	new Effect.animPanierDisplay( { queue: 'end' } ) ;
}

function hidePanier() {
	var elem = $( 'panier_liste' );
	if( elem.visible() && curMenu != "Menu" ) {
		new Effect.animPanierFold( { queue: 'end' } ) ;
	}
}

function showHideSelect( select )
{
    curSelect = "select_" + select ;
	var objSelect = $( "select_" + select );
	
	if( objSelect.style.display != 'none' ) {
		new Effect.Fade( objSelect, { duration: 0.2 } ) ;
		curSelect = "";
	}
	else {
		objSelect.parentNode.onmouseout	= function(){ curSelect = "" ;}
		new Effect.BlindDown( objSelect, { duration: 0.2 } ) ;
	}
}

function validAndHide( txt, obj, select )
{
    $( "input_" + select ).value = txt;
	if(  $( "input_" + select ).hasClassName( "liste_Grp" ) )	Validator.loadDeclinaison(  $( "input_" + select ) );
	new Effect.Fade( obj.parentNode.parentNode, { duration: 0.2 } ) ;
    $( "p_" + select ).innerHTML = obj.innerHTML;
	curSelect = "" ;
}

function hideSelect() {
	var listSelects = $A( d.getElementsByClassName( 'select_ul' ) );
	listSelects.each( function( opts ) {
		if( opts.visible() && opts.id != curSelect && curSelect != n ) {
			new Effect.Fade( opts, { duration: 0.2 } ) ;
		}
	});
}

function switchToImg( e, listImg ) {
	listImg.each( function( img ) {
		img.removeClassName( "vignette_hover" );
	});
	var img		= Event.element(e);
	var parents = Event.element(e).ancestors();
	var element = parents[4];
	if( element.hasClassName( "vignette" ) ) {
		element.addClassName( "vignette_hover" );
		var img_mini	= img.src ;
		img_redim		= img_mini.replace( "113-106-0-", "330-282-0-" ) ;
		img_no_redim	= img_mini.replace( "113-106-0-", "" ) ;
		$( "img_vignette_pal" ).src = img_redim;
		$( "a_vignette_pal" ).href	= img_no_redim;
	}
}

function prepareSwitchImg() {
	var listImg = $A( d.getElementsByClassName( 'vignette' ) );
	listImg.each( function( img ) {
		Event.observe( img, 'click', function(e) { switchToImg( e, listImg ); } );
	});
}

function switchToOnglet( event, listOnglet ) {
	listOnglet.each( function( onglet ) {
		var parent  = onglet.ancestors();
		var li		= parent[0];
		li.removeClassName( "selected" );
		var li_id	= li.id ;
		var id		= li_id.replace( "li_onglet_", "" ) ;
		if( $( "div_onglet_" + id ) ) $( "div_onglet_" + id ).hide();
	});
	
	var onglet_s	= Event.element(event);
	var parent_s	= onglet_s.ancestors();
	var li_s		= parent_s[0];
	if( ! li_s.hasClassName( "selected" ) ) {
		li_s.addClassName( "selected" );
		var li_s_id	= li_s.id ;
		var id_s	= li_s_id.replace( "li_onglet_", "" ) ;
		if( $( "div_onglet_" + id_s ) ) $( "div_onglet_" + id_s ).show();
	}

	return false;
}

function prepareSwitchOnglet() {
	var listOnglet = $A( d.getElementsByClassName( 'li_onglet' ) );
	listOnglet.each( function( onglet ) {
		Event.observe( onglet, 'click', function(event) { switchToOnglet( event, listOnglet ); } );
	});
}

function redirect( page ) {
	document.location.href = page ;
}

function addInNewsletter( btn, div ) {
	var eMail	= $( 'inputNewsletterEmail' ).getValue();
	var urlAdd	= urlSite + lang + "/ajax/newsletter/" + eMail;

	new Ajax.Request( urlAdd,	{
				method:	'get',
				onCreate: function (Transport) { 	
				},
				onSuccess: isOk = function( Transport, Json ) {														
					if( Json.requestValid != 1 ) {
						displayMessage( btn, div, null ); 
					}
					else {
						if( Json.valid != 1 ) {							
							if( Json.valid == 2 )	displayMessage( btn, div, _MSG_NEWSLETTER_KO ); 
							else					displayMessage( btn, div, null ); 
						}
						else {
							$( 'messageNewsletter' ).innerHTML = _MSG_NEWSLETTER_OK;	
							$( 'inputNewsletterEmail' ).value = "";
							Effect.Fade( 'contentNewsletter', { 
								duration: 0.2, 
								afterFinish: function() { 
									Effect.Appear( 'messageNewsletter', { 
										duration: 0.2, 
										afterFinish: function() { 	
											window.setTimeout( afficheSavDivNewsletter, 2500 ) ;
										} 
									});
								}
							});
						}
					}		
				},
				onFailure:function( Transport ) {
					displayMessage( btn, div, null ); 
				}
			}
		);
}
function afficheSavDivNewsletter() {
	Effect.Fade( 'messageNewsletter', { 
		duration: 0.2, 
		afterFinish: function() { Effect.Appear( 'contentNewsletter', { duration: 0.2 }); }
	});
}

function displayMessage( btn, div, message ) {
	if( message == null )	message = _MSG_ERROR_AJAX;
	Error.setBtn( btn) ;
	Error.setDiv( div ) ;
	Error.setMsg( message ) ;
	Error.displayMessage() ;
}
