/* maximum of file selector in the offerer form */
var max_rows = 10;
/* number of rows appended after each click on the adding button */
var appended_once = 1;

/* build a file input row */
function make_row(container) {
    var li = document.createElement('li');
    container.appendChild(li);
    var file_upload = document.createElement('input');
    file_upload.type = 'file';
    file_upload.name = 'filename';
    file_upload.size = 40;
    li.appendChild(file_upload);
}

/* add some file input rows */
function add_rows() {
    var ul = document.getElementById('upload_list');
    var count = ul.getElementsByTagName('input').length;
    if (count >= max_rows)
        alert('Le nombre maximal de champs est atteint');
    else { 
        var ul = document.getElementById('upload_list');
        for (j = 0; j < appended_once && count < max_rows; j++, count++)
            make_row(ul);
    }
}

/* highlight an image
   the clicked image is displayed in the center of the page */
function highlight_photo(obj) {
    var old = document.getElementById('highlighted');
    old.src = obj.src;
}

function check_upload() {
    var ul = document.getElementById('upload_list');
    var uploads = ul.getElementsByTagName('input');
    var existing = parseInt(document.getElementsByName('nb_image').item(0).value);
    var methods = document.getElementsByName('update_image');
    var filenames = 0;
    var method = '';
    for (var i = 0; i < uploads.length; i++) {
        if (uploads[i].value != '')
            filenames++;
    }
    for (var i = 0; i < methods.length; i++) {
        if (methods[i].checked)
            method = methods[i].value;
    }
    if (method == 'add' && existing + filenames > max_rows) {
        var errmsg = 'Vous possédez déjà ';
        errmsg += existing;
        errmsg += ' image(s)\n';
        errmsg += 'Vous ne pouvez en rajouter que ';
        errmsg += (max_rows - existing);
        alert(errmsg);
        return false;
    }
    else
        return true;
}

function show_userland_submenu(elt) {
    elt.getElementsByTagName('div')[0].className = 'submenu';
	var img = elt.getElementsByTagName('img')[0];
	img.src = img.src.replace(/closed/, 'opened');
	img.alt = "menu replié";
}

function hide_userland_submenu(elt) {
	elt.getElementsByTagName('div')[0].className = 'form-hidden';
	var img = elt.getElementsByTagName('img')[0];
	img.src = img.src.replace(/opened/, 'closed');
	img.alt = 'menu déplié';
}

/*
elt est le li constituant le titre de section
*/

function close_image(elt) {
	with (document.getElementById(elt.id + '-img')) {
		src = src.replace(/opened/, 'closed');
		alt = "menu replié";
	}
}

/*
elt est le li constituant le titre de section
*/

function open_image(elt) {
	with (document.getElementById(elt.id + '-img')) {
		src = src.replace(/closed/, 'opened');
		alt = "menu déplié";
	}
}

/*
elt est le li qui ouvre le sous-menu
*/

function show_section_submenu(elt) {
	with (document.getElementById(elt.id + '-sub').style) {
		top = elt.offsetTop;
		visibility = 'visible';
	}
	open_image(elt);
	// fermer un precedent menu
	hide_previous_submenu(elt);
}

/*
elt est le div du sous menu qui vient de s'ouvrir
On compare l'id de ce sous menu a l'id
d'un menu précédemment ouvert 
*/

function hide_previous_submenu(elt) {
	// chercher un sous-menu ouvert 
	var divs = document.getElementsByTagName('div');
	var div_id;
	for (var i = 0; i < divs.length; i++) {
		if ((div_id = divs[i].id) &&
			divs[i].style.visibility == 'visible' &&
		    div_id.indexOf('sub', 0) != -1 && 
			div_id != elt.id + '-sub') {
			divs[i].style.visibility = 'hidden';
			hide_section_submenu(divs[i], null);
			break;
		}
	}
}

/* elt est le div du sous-menu dans lequel se trouve le pointeur
evt est l'évènement js associé 
*/

function hide_section_submenu(elt, evt) {
	var y = 0;

	if (evt && evt.layerY)
		y = evt.layerY;
	else if (evt && evt.offsetY)
		y = evt.offsetY;
	if (y > elt.offsetHeight || !evt)  {
		elt.style.visibility = 'hidden';
		with (document.
				getElementById(elt.id.substring(0, elt.id.indexOf('sub', 0)) + 'img')) {
			src = src.replace(/opened/, 'closed');
			alt = 'menu replié';
		}
	}
}

/*
hide the submenu of a section title 
elt is the li element we leave at event
*/

function hide_my_submenu(elt, evt) {
	var x_in_page = y_in_page = 0;
	var style = document.getElementById(elt.id + '-sub').style;

	if (evt && evt.pageX) {
		x_in_page = evt.pageX;
		y_in_page = evt.pageY;
	} else if (evt && evt.clientX) {
		x_in_page = evt.clientX;
		y_in_page = evt.clientY;
	}
	if (style.visibility == 'visible' && 
		(x_in_page < document.getElementById('conteneur').offsetLeft + elt.offsetWidth / 4 ||
		 y_in_page < document.getElementById('gauche').offsetTop + 10 ||
		 y_in_page > document.getElementById('gauche').offsetTop + 
		 			 document.getElementById('categories-menu').offsetHeight - 10)) {
		style.visibility = 'hidden';
		close_image(elt);
	}
}

