var maquette_open_small_width = 392;
var maquette_open_big_width = 588;
var maquette_open_width = 0;
var maquette_close_width = 196;



slidemaquette = new Object;
slidemaquette.opened = "";
slidemaquette.viewport_first = 0; // id de la 1er maquette actuellement visible
slidemaquette.viewport_max = 5; // nb max de maquette dans le view port
slidemaquette.nb_maquettes = 12; // nb total de maquettes
slidemaquette.kind = 0; // 0 = slide de la home / 1 = slide en grand

slidemaquette.init = function() {
	
	slidemaquette.opened = "";
	slidemaquette.viewport_first = 0;
	$("maquette_move_gauche").setStyle("display", "none");
	slidemaquette.create_move();

	slidemaquette.create_click();
		
	if($('slide_maquette_kind').value == "small") {
		maquette_open_width = maquette_open_small_width;
		slidemaquette.kind = 0;
	} else {
		maquette_open_width = maquette_open_big_width;
		slidemaquette.kind = 1;
	}
}

slidemaquette.create_move = function() {
	$('maquette_move_droite').addEvents({
				'click': function(){
						if(slidemaquette.opened != "") {
							slidemaquette.fermer(slidemaquette.opened);
							slidemaquette.move.delay(500,'',1);
						} else {
							slidemaquette.move(1);
						}
				}
	});
		
	$('maquette_move_gauche').addEvents({
	    'click': function(){
					if(slidemaquette.opened != "") {
						slidemaquette.fermer(slidemaquette.opened);
		        slidemaquette.move.delay(500,'',-1);
					} else {
						slidemaquette.move(-1);
					}
	    }
	});	

	ewaconsole.log("create_move done");
}

slidemaquette.create_click = function() {
	$$('div.maquette').each(
		function(el) {
			el.addEvent(
	    'click', function(){
	        slidemaquette.click(this);
	    }.bind(el));
		}
	);
}


slidemaquette.move = function(nb) {
	current_pos = $('maquette_container').getStyle("margin-left");
	if(current_pos == null || current_pos == "") { current_pos = 0; }
	current_pos = current_pos.replace(/px/,'') * 1;
	nb = nb * -1;
	new_pos = current_pos + (nb*maquette_close_width);
	ewaconsole.log("slidemaquette.move : current_pos = " + current_pos + " / new_pos = " + new_pos);
	$('maquette_container').tween("margin-left", new_pos);
	slidemaquette.viewport_first -= nb; 
	if(slidemaquette.viewport_first==0) {
		$("maquette_move_gauche").setStyle("display", "none");
	} else if(slidemaquette.viewport_first >= slidemaquette.nb_maquettes-5) {
		$("maquette_move_droite").setStyle("display", "none");
	} else {
		$("maquette_move_gauche").setStyle("display", "");
		$("maquette_move_droite").setStyle("display", "");
	}
	
	ewaconsole.log("slidemaquette.move : viewport_first = " + slidemaquette.viewport_first);
}


/* click sur une maquette => on l'agrandi, si agrandi on fait rien */
slidemaquette.click = function(these) {
	ids = these.id.split("_");
	id = ids[1];
	
	// si la maquette ouverte est celle que l'on veut on sort.
	if(slidemaquette.opened == id) {
		return;
	}
	
	// une maquette est elle ouverte ? si oui on la ferme
	if(slidemaquette.opened != "") {
		slidemaquette.fermer(slidemaquette.opened);
		slidemaquette.postionner.delay(500, '', id);
		slidemaquette.ouvrir.delay(1000, '', id);
	}
	else {
		slidemaquette.postionner.delay(500, '', id);
		slidemaquette.ouvrir(id);
	}
	
}

// positionner une maquette à la pos 2 du viewport
// important : il faut que toutes les maquettes soient fermées
slidemaquette.postionner = function(id) {
	ewaconsole.log("avant pos : viewport_first = " + slidemaquette.viewport_first);
	
	deplacement = id - (slidemaquette.viewport_first + 1); // nb de deplacement pour aller au view port 2
	ewaconsole.log("id = " + id + " / deplacement de : " + deplacement);
	slidemaquette.move(deplacement);
	
	ewaconsole.log("apres pos : viewport_first = " + slidemaquette.viewport_first);
}

// ouvrir une maquette
slidemaquette.ouvrir = function(id) {	
	if(slidemaquette.viewport_first == 0) {
		slidemaquette.fleche.delay(500, '', 1)
	} else if(slidemaquette.viewport_first == slidemaquette.nb_maquettes-5) {
		slidemaquette.fleche.delay(500, '', 0)
	}
	$('maquette_' + id).tween('width', maquette_open_width);
	slidemaquette.opened = id;
	ewaconsole.log(id);
	id++;
	$("div_titre_"+id).setStyle("display", "none");
	$("div_titre_long_"+id).setStyle("display", "");

}

slidemaquette.fleche = function($li) {
	if($li == 1) {
		$("maquette_move_gauche").setStyle("display", "none");
	} else {
		$("maquette_move_droite").setStyle("display", "none");
	}	
}

// fermer une maquette
slidemaquette.fermer = function(id) {
	$('maquette_' + id).tween('width', maquette_close_width);
	slidemaquette.opened = "";
	slidemaquette.fermer_suite.delay(500, '', id);
}

slidemaquette.fermer_suite = function(id){
	id++;
	$("div_titre_"+id).setStyle("display", "");
	$("div_titre_long_"+id).setStyle("display", "none");
	if(slidemaquette.viewport_first > 7) {
		slidemaquette.fleche(0);
	}
}


window.addEvent('domready',function() { 
		slidemaquette.init();
	}
);


