var scr = null;
var scr_trans = 0.10; // largeur du pas de transition
var scr_time = 10; // frequence en ms
//var scr_fasttrans = 0.50; // vitesse transition rapide
//var scr_pause = 500; // pause avant transition continue
var scr_step = 60; // largeur d'un element
var scr_area = 242;
var scr_dfactor = 4;

function ved_services_init(){
	if(document.getElementById("N2_ved_services_focus")==null)
		return;
	scr = document.getElementById("vedHome");
	scr.cnt = scr.getElementsByTagName("DIV")[2];
	scr.th = scr.getElementsByTagName("UL")[0];
	init_ind = 0;
	scr.curserv = null;

	var hcol = scr.getElementsByTagName("DIV")[1].getElementsByTagName("H3");
	scr.w = scr_step*hcol.length+1;
	scr.th.style.width = scr.w+'px';
	scr.min_rpoint = -((Math.floor(scr.w/scr_area)-1)*scr_area)-scr.w%scr_area;

	for(i=0;i<hcol.length;i++){
		aobj = hcol[i].getElementsByTagName("A")[0];
		aobj.prt = hcol[i];
		aobj.cn = aobj.prt.parentNode.className;
		aobj.dv = aobj.prt.parentNode.getElementsByTagName("DIV")[0].innerHTML;
		aobj.trgt = scr.getElementsByTagName("DIV")[0];
		aobj.mst = aobj.trgt.mst = scr;
		if(aobj.prt.className=='N3_ved_services_on'){
			init_ind = i-scr_dfactor+1;
			aobj.trgt.className = aobj.cn;
			aobj.trgt.innerHTML = aobj.dv;
			scr.curserv = aobj;
		}
		aobj.onclick = function(){
			if(this.mst.curserv!=null)
				this.mst.curserv.prt.className = '';
			upd_curserv(this);
			return false;
		}
		aobj.title = aobj.innerHTML;
	}
	if(scr.curserv == null)
		upd_curserv(hcol[0].getElementsByTagName("A")[0]);
	if(init_ind<0)
		init_ind = 0;

	scr.acol = scr.getElementsByTagName("DIV")[1].getElementsByTagName("A");
	scr.fle1 = scr.acol[0];
	scr.fle2 = scr.acol[scr.acol.length-1];
	scr.fle1.reft = scr.fle1.title;
	scr.fle1.onclick = scr.fle1.mdown = function(){
		this.blur();
		return scr_focus(-1, scr_trans);
	}
	scr.fle1.desactivate = function(){
		this.className = tagFleches+' N3_ved_services_prec';
		this.title = '';
		this.onclick = function(){
			return false;
		}
	}
	scr.fle1.activate = function(){
		this.className = tagFleches+' N3_ved_services_prec_on';
		this.title = this.reft;
		this.onclick = this.mdown;
	}
	scr.fle2.reft = scr.fle2.title;
	scr.fle2.onclick = scr.fle2.mdown = function(){
		this.blur();
		return scr_focus(1, scr_trans);
	}
	scr.fle2.desactivate = function(){
		this.className = tagFleches+' N3_ved_services_suiv';
		this.title = '';
		this.onclick = function(){
			return false;
		}
	}
	scr.fle2.activate = function(){
		this.className = tagFleches+' N3_ved_services_suiv_on';
		this.title = this.reft;
		this.onclick = this.mdown;
	}
	
	scr.cur = 0;
	scr.th.style.left = 0;
	scr.col = scr.th.getElementsByTagName("LI");
	scr.len = Math.floor(scr.col.length/scr_dfactor);
	scr.tm = null;
	scr.rpoint = 0; 
	for(i=0;i<init_ind;i++)
		scr_focus(1, scr_trans);
	init_fle();
}

function upd_curserv(o){
	o.trgt.className = o.cn;
	o.trgt.innerHTML = o.dv;
	o.prt.className = 'N3_ved_services_on';
	o.mst.curserv = o;
	if(o.className!="nolink"){
		o.trgt.title = "Accéder au service "+o.innerHTML;
		o.trgt.onclick = function(e){
			var red = 1;
			if(document.all){
				e = window.event;
				if(e.srcElement.tagName=="A")
					red = 0;
			}
			else{
				if(e.target.tagName=="A")
					red = 0;
			}
			if(red)
				location.href = this.mst.curserv.href;
		}
	}
	else{
		o.trgt.title = '';
		o.trgt.onclick = null;
	}
}

function init_fle(){
	if(scr.rpoint>=0){
		scr.fle1.desactivate();
		scr.fle2.activate();
	}
	else if(scr.rpoint<=scr.min_rpoint){
		scr.fle1.activate();
		scr.fle2.desactivate();
	}
	else{
		scr.fle1.activate();
		scr.fle2.activate();
	}
	return true;
}

function scr_focus(dir, spd){
	if(scr.tm!=null){ // on force la fin de la transition courante
		window.clearTimeout(scr.tm);
		scr.tm = null;
		scr.th.style.left = scr.rpoint +'px';
	}
	scr.cur += dir;
	curl = parseInt(scr.th.style.left);
	if(dir>0)
		scr.rpoint = Math.max(Math.min(0, curl - dir*scr_step*scr_dfactor), scr.min_rpoint);
	else
		scr.rpoint = 0;
	scr_move(curl, -dir, spd);
	init_fle();
	return false;
}

function scr_move(x, dir, spd){
	var rx = Math.round(x);
	scr.th.style.left = rx + 'px';
	x += (scr.rpoint - x)*spd;
	b1 = ((dir==1) && (rx>=scr.rpoint));
	b2 = ((dir==-1) && (rx<=scr.rpoint));
	if(b1 || b2){
		scr.th.style.left = scr.rpoint +'px';
		return false;
	}
	scr.tm = window.setTimeout("scr_move("+x+", "+dir+", "+spd+")", scr_time);
	return false;
}

function init_form(){
	var o = null;
	if(document.getElementById("vedHome")!=null)
		o = document.getElementById("vedHome");
	else if(document.getElementById("N1_ved")!=null)
		o = document.getElementById("N1_ved");
	else
		return;
	var frm = o.getElementsByTagName("FORM")[0];
	if(frm != null) {
		o.frm = frm.parentNode;
	
		if(document.getElementById("vedVille")!=null){
			o.frm.getElementsByTagName("A")[0].onclick = function(){
				this.parentNode.style.display = 'none';
				return false;
			}
			frmacol = document.getElementById("vedVille").getElementsByTagName("A");
			for(i=1;i<frmacol.length;i++){
				if(frmacol[i].className=='N2_ved_changer'){
					frmacol[i].style.visibility = 'visible';
					frmacol[i].prt = o;
					frmacol[i].onclick = function(){
						this.blur();
						this.prt.frm.style.display = 'block';
						return false;
					}
					break;
				}
			}
		}
	}
}
