
/****** CONFIG ********/

// attente en milisecondes entre deux scroll
var SET_SCROLL_INTERVAL = 15;

// nb de pixels a chaque scroll
var SET_SCROLL_PIXELS = 2;

// Hauteur de la zone visible du menu en pixels
var SET_VISIBLE_AREA = 440;

// Hauteur des elements li des menus (height + margin + padding ?) en pixels
var SET_LI_HEIGHT = 42;

// Temps d'affichage de la page d'impression
var SET_TIMEOUT_IMPRESSION = 10;

/******** NE PAS EDITER APRES CETTE LIGNE **************/

// Globalisation d'une variable destinée à faire réference à l'élement <ul> du menu
var oUL;

// Globalisation d'une variable destinée a faire référence à l'interval utilisé pour le scroll
var SCROLL_INTERVAL_CONTENAIR;

// Empécher la sélection
document.onselectstart = new Function ("return false");

function errorHandler(){
	//alert('une erreur');
	return true;
}

window.onerror = errorHandler;


/*** LISTE / SCROLL ***/

// Fonction appelée "onload"
function initScrollBar(){
	// Affecte la variable globale
	oUL = document.getElementById('liste_elems');

	// Effectue le scroll indiqué dans l'url
	if(typeof(oUL) == 'object' && GetVal('scroll') != false){
		oUL.style.top = GetVal('scroll') + 'px';
	}

	if(GetVal('page') == 'print'){
		self.print();
		//setTimeout("self.document.location.href = 'index.asp'", (SET_TIMEOUT_IMPRESSION*1000));

	}
}


function scrollUp(){
	stopScroll();
	SCROLL_INTERVAL_CONTENAIR = setInterval('do_scrollUp()', SET_SCROLL_INTERVAL);
}
function do_scrollUp(){
	if(parseInt(oUL.style.top) > ((oUL.childNodes.length * SET_LI_HEIGHT)-SET_VISIBLE_AREA)*-1 ){
		oUL.style.top = (parseInt(oUL.style.top) - SET_SCROLL_PIXELS) + 'px';
	}
	else{
		stopScroll();
	}
}


function scrollDown(){
	stopScroll();
	SCROLL_INTERVAL_CONTENAIR = setInterval('do_scrollDown()', SET_SCROLL_INTERVAL);
}
function do_scrollDown(){
	if(parseInt(oUL.style.top) < 0){
		oUL.style.top = (parseInt(oUL.style.top) + SET_SCROLL_PIXELS) + 'px';
	}
	else{
		stopScroll();
	}
}


function stopScroll(){
	clearInterval(SCROLL_INTERVAL_CONTENAIR);
}

/*** / LISTE & SCROLL ***/




/*** NAVIGATION ***/

function addSelection(id){
	var url =  'selection.asp?op=add';
	url = BuildUrl(url, 'site', id);
	url = BuildUrl(url, 'old_page', GetVal('page'));
	url = BuildUrl(url, 'scroll', parseInt(oUL.style.top));

	if( GetVal("secteur") != false){
		url = BuildUrl(url, 'secteur', GetVal('secteur'));
	}

	if( GetVal("cat") != false){
		url = BuildUrl(url, 'cat', GetVal('cat'));
	}

	self.document.location.href = url;
}


function rmSelection(id){
	var url =  'selection.asp?op=rm';
	url = BuildUrl(url, 'site', id);
	url = BuildUrl(url, 'old_page', GetVal('page'));
	url = BuildUrl(url, 'scroll', parseInt(oUL.style.top));

	if( GetVal("secteur") != false){
		url = BuildUrl(url, 'secteur', GetVal('secteur'));
	}

	if( GetVal("cat") != false){
		url = BuildUrl(url, 'cat', GetVal('cat'));
	}

	self.document.location.href = url;
}


function goToListItem(id){
	add_param('site', id, 'scroll', parseInt(oUL.style.top));
}


/***  / NAVIGATION ***/








/***  FONCTIONS GENERIQUES ***/

function add_param(){
	var url = self.document.location.href +'';

	for(var i=0; i<add_param.arguments.length; i+=2){
		url = BuildUrl(url, add_param.arguments[i], add_param.arguments[i+1]);
	}
	self.document.location.href = url;
}



// Retourne l'url [Qstr] en attribuant [val] à [champ]
function BuildUrl(Qstr, champ, val){
	if(Qstr.indexOf('#') > -1){ Qstr = Qstr.substr(0, Qstr.indexOf('#')); }

	if(typeof(param = GetVal(champ, Qstr)) != 'boolean'){
		return Qstr.replace(champ+'='+param, champ+'='+val);
	}
	else{
		var sep = '?';
		if(Qstr.indexOf(sep)>-1){
			sep = '&';
		}
	return Qstr+=sep+champ+'='+val;
	}
}


// Retourne la valeur de [val] passé en GET False si la variable n'existe pas
function GetVal(val){
	args = GetVal.arguments;
	if(args.length > 1){
		var Turl = args[1];
	}
	else{
		var Turl = self.document.location.href +'';
	}
	var deb = Turl.indexOf('&'+val+'=');
	if(deb == -1){
		var deb = Turl.indexOf('?'+val+'=');
	}


	var fin = 0;
	if(deb > -1)	{
		var sub1 = Turl.substring(deb+1,Turl.length+1)
		fin	 = sub1.indexOf('&');
		if (fin == -1)	fin = sub1.length+1;
		sub2 = sub1.substring(0,fin)
		return sub2.replace(val+'=','');
	}
	else {
		return false;
	}
}

/***  / FONCTIONS GENERIQUES ***/
