function layer (layer_name) {
	
	this.layer_name = layer_name;
	
	// this.pos_x = position_x_of_layer(layer_name);
	// this.pos_y = position_y_of_layer(layer_name);
	this.pos_x = position_x_of_layer(layer_name);
	this.pos_y = position_y_of_layer(layer_name);
	
	this.hide = hide;
	this.show = show;
	this.display = display;
	
	this.speed = 10;
	this.timeout = 10;
	
	this.anim_init = anim_init;
	this.anim_select = anim_select;
	this.back_select = back_select;

}

function intertitle (code,page,order_num) {
	
	this.code = code;
	this.page = page;
	this.obj_name = "obj_intertitle_"+code;
	this.order_num = order_num;
	this.layer = new layer("layer_intertitle_"+code);

}

function paragraph (code,page,order_num) {
	
	this.code = code;
	this.page = page;
	this.obj_name = "obj_paragraph_"+code;
	this.order_num = order_num;
	this.layer = new layer("layer_paragraph_"+code);
	this.intertitle = new intertitle(code);

}

function page (code,order_num,paragraphs,navigation_with_intertitle) {
	
	this.code = code;
	this.obj_name = "obj_page_"+code;
	this.order_num = order_num;
	this.paragraphs = paragraphs;
	this.image = '';
	this.navigation_with_intertitle = navigation_with_intertitle;

}

function subfolder (code,pages,order_num) {
	
	this.code = code;
	this.obj_name = "obj_subfolder_"+code;
	this.order_num = order_num;
	this.pages = pages;
	this.layer = new layer("layer_subfolder_"+code);
	this.first_page_obj = null;

}


function init() {
	// layer title
	hide_layer(this.layer_title_name);
	move_layer_y(this.layer_title_name,0);
	this.anim_init();
	
	// layer para
	move_layer_y(this.layer_name,-1000);
	hide_layer(this.layer_name);
	
}

function hide() {
	hide_layer(this.layer_name);
}

function show() {
	//move_layer_x(this.layer_name,20);
	//move_layer_y(this.layer_name,400);
	show_layer(this.layer_name);
}

function display() {
	//move_layer_x(this.layer_name,20);
	//move_layer_y(this.layer_name,400);
	show_display_layer(this.layer_name);
}

function anim_init() {
	y_from = position_y_of_layer(this.layer_title_name);
	
	delta_y = 6;
	y = y_from + delta_y;
	move_layer_y(this.layer_title_name,y);
	
	if (y_from + delta_y>-20+this.pos_title_y) {
		show_layer(this.layer_title_name);
	}
	
	//if (Math.abs(delta_y)>=1) {
	if (y<this.pos_title_y) {
		setTimeout(this.obj_name+".anim_init()",this.timeout);
	} else {
		move_layer_y(this.layer_title_name,this.pos_title_y);
		// flag pour anim suivante : array [anim1, anim2, ...]
	}
}


function anim_select() {
	y_from = position_y_of_layer(this.layer_name);
	delta_y = (50 - y_from)/this.speed;
	if (Math.abs(delta_y)!=0) {
		delta_y = (2*(delta_y>0) - 1) * Math.max(Math.abs(delta_y),1);
	}
	
	move_layer_y(this.layer_name,y_from + delta_y);
	
	if (Math.abs(delta_y)>=1) {
		setTimeout(this.obj_name+".anim_select()",this.timeout);
	} else {
		move_layer_y(this.layer_name,position_y_of_layer(this.layer_name));
		hide_layer(this.layer_name);
		show_layer(this.layer_name);
		if (document.forms["form_"+this.layer_name]) {
			document.forms["form_"+this.layer_name].submit();
		}
	}
}


function back_select() {
	y_from = position_y_of_layer(this.layer_title_name);
	delta_y = 5;
	
	move_layer_y(this.layer_title_name,y_from + delta_y);
	
	//if (Math.abs(delta_y)>=1) {
	if (y_from + delta_y<this.pos_title_y) {
		setTimeout(this.obj_name+".back_select()",this.timeout);
	} else {
		// flag pour anim suivante : array [anim1, anim2, ...]
	}
}

