// ================================================
// script: Gerard Ferrandez - Ge-1-doot - APRIL 2K4
// http://www.dhteumeuleu.com
// ================================================
// Adapté par Dorian

// Quand la souris est sur la div du tourniquet, la vitesse de rotation du tourniquet (m.mousemove)
// dépendra de la position de la souris sur la div (window.document.onmousemove)
function dessus()
{
	window.document.onmousemove = m.mousemove;
}

// Quand la souris est sur une image du tourniquet, la vitesse de rotation du tourniquet (m.mousemove)
// dépendra de la position de la souris sur l'image (window.document.onmousemove)
function dessus_image()
{
	window.document.onmousemove = m.mousemove;
	//window.document.onmousemove = 0;
}

// Quand la souris sors ou n'est pas sur la div du tourniquet, la vitesse de rotation du tourniquet
// (m.mousemove) ne dépend plus de la position de la souris (window.document.onmousemove)
// et tourne à sa vitesse par défault
function pasdessus()
{
	window.document.onmousemove = null;
	m.xmm = 0.30;
}

var m = {
	Z   : 100,
	xm  : 0,
	xmm : .30,
	ymm : 0,
	ym  : 0,
	mx  : 0,
	nx  : 0,
	ny  : 0,
	nw  : 0,
	nh  : 0,
	xR  : 0,
	nI  : 0,
	scr : 0,
	img : 0,

	run : function () {
		m.xm += (m.xmm - m.xm) * .1;
		if (m.ym < m.nw * .25) m.ym++;
		m.xR += m.xm;
		for (var i = 0; i < m.nI; i++){
			var A = (i * 360 / m.nI) + m.xR;
			var x = Math.cos(A * (Math.PI / 180));
			var y = Math.sin(A * (Math.PI / 180));
			var o = m.img[i];
			o.style.width  = ''.concat(Math.round(Math.abs(y * m.ym) + y * m.Z), 'px');
			o.style.left   = ''.concat(Math.round((m.nw * .5) + x * ((m.nw * .5) - (m.nw * .05)) - ((Math.abs(y * m.ym) + y * m.Z) * .5)), 'px');
			o.style.height = ''.concat(Math.round(m.ym + y * m.Z), 'px');
			o.style.top    = ''.concat(Math.round((m.nh * .5) - (m.ym * .5) - y * (m.Z * .5) - (m.ymm * y)), 'px');
			o.style.zIndex = 1000 + Math.round(y);
			m.setOpacity(o, (y * 50) + 100);
		}
		setTimeout(m.run, 16);
	},

	resize : function () {
		/*m.nx  = m.scr.offsetLeft;
		m.ny  = m.scr.offsetTop;
		m.nw  = m.scr.offsetWidth;
		m.nh  = m.scr.offsetHeight;*/
		m.nx  = m.scr.offsetLeft;
		m.ny  = m.scr.offsetTop;
		m.nw  = m.scr.offsetWidth;
		m.nh  = m.scr.offsetHeight;
	},

	mousemove : function (e) {
		if (window.event) e = window.event;
		m.xmm = (m.nx + (m.nw * .5) - (e.x || e.clientX)) / (m.nw * .75);
		//m.ymm = (m.ny + (m.nh * .5) - (e.y || e.clientY)) / (m.nh * .005);
	},

	setOpacity : function (obj, o) {
		if (o < 0) o = 0; else if (o > 100) o = 100;
		if (obj.filters) obj.filters.alpha.opacity = o;
		else obj.style.opacity = o / 100;
	},

	init : function () {
		m.scr = document.getElementById("screen");
		m.img = m.scr.getElementsByTagName("img");
		m.nI  = m.img.length;
		window.onresize = m.resize;
		window.document.onmousemove = m.mousemove;
		m.resize();
		m.ym = m.Z;
		pasdessus();
		m.run();
	}
}

onload = function() {
	m.init();
}
