function putInPos(v)
{		
	if(!moving)
	{
		var dest = 10000;
		var destKey = oldPos;
		for(var i=0;i<stopPos.length;i++)
		{
			if(Math.abs(v-stopPos[i])<Math.abs(v-dest))
			{
				dest = stopPos[i];
				destKey = i;
			}
		}
		if(v!=dest)
		{
			goSlide(v, dest, destKey);
		}
	}
}
function simpleSlide(pos)
{
	goSlide(oldPos,stopPos[pos], pos);
}
function goSlide(from, to, k)
{
	activeMove++;
	var thisMove = activeMove;
	var tween = new Tween(new Object(),'xyz',Tween.elasticEaseOut,from,to,1.5);
	tween.onMotionChanged = function(event){
		if(thisMove == activeMove)
		{
			barre.setValue(event.target._pos);
			oldPos = event.target._pos;
		}
	};
	tween.onMotionFinished = function(event){if(moving!=0)moving--;};
	moving++;
	tween.start();
	Jclick(k, '', thisMove);
}
function Jclick(k,url, move)
{
	if(url==undefined || url=='')url=topicsArray[k];
	if($('contentMedia')!=undefined)$('contentMedia').style.display = 'none';
	if($('contentRight')!=undefined)$('contentRight').style.display = 'none';
	if($('content2')!=undefined)$('content2').style.display = 'none';
	if($('contentLeft')!=undefined)$('contentLeft').style.display = 'none';
	$('ajaxload').style.display = 'block';
	var req = new Ajax.Request(url, {method:'get',onSuccess:function(t){
	$('ajaxload').style.display = 'none';
	if(move==activeMove)switchDisplay(k+1);
	var content = t.responseText;
	content = content.replace(/\r\n/g, "");
	content = content.replace(/\n/g, "");
	var pattern = "id[\\s]*=[\\s]*\""+ '207Element' +"\"[^>]*>(.*)<\/[\\w]+>[\\s]*$";  
	var regex = new RegExp(pattern, "i");
	var m = regex.exec(content);
	if (m)
	{
		var found = m[1];
		document.getElementById('207Element').innerHTML = found;
	}
  }});
	
}
function switchDisplay(v)
{
	if(v != 0)
	{
		var tempOrder = new Array();
		for(var j=0;j<showOrder.length;j++)
		{
			if(showOrder[j]!=v)tempOrder.push(showOrder[j]);
		}
		showOrder = tempOrder;
		showOrder.push(v);
		//~ for(j=0;j<showOrder.length;j++)
		for(j=showOrder.length;j>0;j--)
		{
			if($('show'+showOrder[j])!=undefined)$('show'+showOrder[j]).style.zIndex = j+5;
		}
		if($('show'+v)!=undefined)
		{
			$('show'+v).style.display = 'none';
			Effect.Appear('show'+v);
		}
		else if($('show'+v)!=undefined) $('show'+v).style.display = 'block';
	}
}
function Delegate() {}
Delegate.create = function (o, f) {
	var a = new Array() ;
	var l = arguments.length ;
	for(var i = 2 ; i < l ; i++) a[i - 2] = arguments[i] ;
	return function() {
		var aP = [].concat(arguments, a) ;
		f.apply(o, aP);
	}
}
Tween = function(obj, prop, func, begin, finish, duration, suffixe){
	this.init(obj, prop, func, begin, finish, duration, suffixe)
}
var t = Tween.prototype;

t.obj = new Object();
t.prop='';
t.func = function (t, b, c, d) { return c*t/d + b; };
t.begin = 0;
t.change = 0;
t.prevTime = 0;
t.prevPos = 0;
t.looping = false;
t._duration = 0;
t._time = 0;
t._pos = 0;
t._position = 0;
t._startTime = 0;
t._finish = 0;
t.name = '';
t.suffixe = '';
t._listeners = new Array();	
t.setTime = function(t){
	this.prevTime = this._time;
	if (t > this.getDuration()) {
		if (this.looping) {
			this.rewind (t - this._duration);
			this.update();
			this.broadcastMessage('onMotionLooped',{target:this,type:'onMotionLooped'});
		} else {
			this._time = this._duration;
			this.update();
			this.stop();
			this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});
		}
	} else if (t < 0) {
		this.rewind();
		this.update();
	} else {
		this._time = t;
		this.update();
	}
}
t.getTime = function(){
	return this._time;
}
t.setDuration = function(d){
	this._duration = (d == null || d <= 0) ? 100000 : d;
}
t.getDuration = function(){
	return this._duration;
}
t.setPosition = function(p){
	this.prevPos = this._pos;
	var a = this.suffixe != '' ? this.suffixe : '';
	this.obj[this.prop] = Math.round(p) + a;
	this._pos = p;
	this.broadcastMessage('onMotionChanged',{target:this,type:'onMotionChanged'});
}
t.getPosition = function(t){
	if (t == undefined) t = this._time;
	return this.func(t, this.begin, this.change, this._duration);
};
t.setFinish = function(f){
	this.change = f - this.begin;
};
t.geFinish = function(){
	return this.begin + this.change;
};
t.init = function(obj, prop, func, begin, finish, duration, suffixe){
	if (!arguments.length) return;
	this._listeners = new Array();
	this.addListener(this);
	if(suffixe) this.suffixe = suffixe;
	this.obj = obj;
	this.prop = prop;
	this.begin = begin;
	this._pos = begin;
	this.setDuration(duration);
	if (func!=null && func!='') {
		this.func = func;
	}
	this.setFinish(finish);
}
t.start = function(){
	this.rewind();
	this.startEnterFrame();
	this.broadcastMessage('onMotionStarted',{target:this,type:'onMotionStarted'});
}
t.rewind = function(t){
	this.stop();
	this._time = (t == undefined) ? 0 : t;
	this.fixTime();
	this.update();
}
t.update = function(){
	this.setPosition(this.getPosition(this._time));
	}
t.startEnterFrame = function(){
	this.stopEnterFrame();
	this.isPlaying = true;
	this.onEnterFrame();
}
t.onEnterFrame = function(){
	if(this.isPlaying) {
		this.nextFrame();
		setTimeout(Delegate.create(this, this.onEnterFrame), 0);
	}
}
t.nextFrame = function(){
	this.setTime((this.getTimer() - this._startTime) / 1000);
	}
t.stop = function(){
	this.stopEnterFrame();
	this.broadcastMessage('onMotionStopped',{target:this,type:'onMotionStopped'});
}
t.stopEnterFrame = function(){
	this.isPlaying = false;
}

t.continueTo = function(finish, duration){
	this.begin = this._pos;
	this.setFinish(finish);
	if (this._duration != undefined)
		this.setDuration(duration);
	this.start();
}
t.resume = function(){
	this.fixTime();
	this.startEnterFrame();
	this.broadcastMessage('onMotionResumed',{target:this,type:'onMotionResumed'});
}
t.yoyo = function (){
	this.continueTo(this.begin,this._time);
}
t.addListener = function(o){
	this.removeListener (o);
	return this._listeners.push(o);
}
t.removeListener = function(o){
	var a = this._listeners;	
	var i = a.length;
	while (i--) {
		if (a[i] == o) {
			a.splice (i, 1);
			return true;
		}
	}
	return false;
}
t.broadcastMessage = function(){
	var arr = new Array();
	for(var i = 0; i < arguments.length; i++){
		arr.push(arguments[i])
	}
	var e = arr.shift();
	var a = this._listeners;
	var l = a.length;
	for (var i=0; i<l; i++){
		if(a[i][e])
		a[i][e].apply(a[i], arr);
	}
}
t.fixTime = function(){
	this._startTime = this.getTimer() - this._time * 1000;
}
t.getTimer = function(){
	return new Date().getTime() - this._time;
}
Tween.elasticEaseOut = function (t,b,c,d,a,p){
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
}
