var TINY = {};
function T$(i) {
	return document.getElementById(i)
}
TINY.box = function () {
	var p, m, b, fn, ic, iu, iw, ih, ia, f = 0;
	return {
		show: function (c, u, w, h, a, t) {
			if (!f) {
				p = document.createElement('div');
				p.id = 'tinybox';
				m = document.createElement('div');
				m.id = 'tinymask';
				b = document.createElement('div');
				b.id = 'tinycontent';
				document.body.appendChild(m);
				document.body.appendChild(p);
				p.appendChild(b);
				m.onclick=TINY.box.hide;window.onresize = TINY.box.resize;
				f = 1
			}
			if (!a && !u) {
				p.style.width = w ? w + 'px': 'auto';
				p.style.height = h ? h + 'px': 'auto';
				p.style.backgroundImage = 'none';
				b.innerHTML = c
			} else {
				b.style.display = 'none';
				p.style.width = p.style.height = '100px'
			}
			this.mask();
			ic = c;
			iu = u;
			iw = w;
			ih = h;
			ia = a;
			this.alpha(m, 1, 45, 3);
			if (t) {
				setTimeout(function () {
					TINY.box.hide()
				},
				1000 * t)
			}
		},
		fill: function (c, u, w, h, a) {
			if (u) {
				p.style.backgroundImage = '';
				var x = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
				x.onreadystatechange = function () {
					if (x.readyState == 4 && x.status == 200) {
						TINY.box.psh(x.responseText, w, h, a)
					}
				};
				x.open('GET', c, 1);
				x.send(null)
			} else {
				this.psh(c, w, h, a)
			}
		},
		psh: function (c, w, h, a) {
			if (a) {
				if (!w || !h) {
					var x = p.style.width,
					y = p.style.height;
					b.innerHTML = c;
					p.style.width = w ? w + 'px': '';
					p.style.height = h ? h + 'px': '';
					b.style.display = '';
					w = parseInt(b.offsetWidth);
					h = parseInt(b.offsetHeight);
					b.style.display = 'none';
					p.style.width = x;
					p.style.height = y
				} else {
					b.innerHTML = c
				}
				this.size(p, w, h)
			} else {
				p.style.backgroundImage = 'none'
			}
		},
		hide: function () {
			TINY.box.alpha(p, -1, 0, 3)
		},
		resize: function () {
			TINY.box.pos();
			TINY.box.mask()
		},
		mask: function () {
			m.style.height = TINY.page.total(1) + 'px';
			m.style.width = '';
			m.style.width = TINY.page.total(0) + 'px'
		},
		pos: function () {
			var t = (TINY.page.height() / 2) - (p.offsetHeight / 2);
			t = t < 10 ? 10 : t;
			p.style.top = (t + TINY.page.top()) + 'px';
			p.style.left = (TINY.page.width() / 2) - (p.offsetWidth / 2) + 'px'
		},
		alpha: function (e, d, a) {
			clearInterval(e.ai);
			if (d == 1) {
				e.style.opacity = 0;
				e.style.filter = 'alpha(opacity=0)';
				e.style.display = 'block';
				this.pos()
			}
			e.ai = setInterval(function () {
				TINY.box.ta(e, a, d)
			},
			20)
		},
		ta: function (e, a, d) {
			var o = Math.round(e.style.opacity * 100);
			if (o == a) {
				clearInterval(e.ai);
				if (d == -1) {
					e.style.display = 'none';
					e == p ? TINY.box.alpha(m, -1, 0, 2) : b.innerHTML = p.style.backgroundImage = ''
				} else {
					e == m ? this.alpha(p, 1, 100) : TINY.box.fill(ic, iu, iw, ih, ia)
				}
			} else {
				var n = Math.ceil((o + ((a - o) * .5)));
				n = n == 1 ? 0 : n;
				e.style.opacity = n / 100;
				e.style.filter = 'alpha(opacity=' + n + ')'
			}
		},
		size: function (e, w, h) {
			e = typeof e == 'object' ? e: T$(e);
			clearInterval(e.si);
			var ow = e.offsetWidth,
			oh = e.offsetHeight,
			wo = ow - parseInt(e.style.width),
			ho = oh - parseInt(e.style.height);
			var wd = ow - wo > w ? 0 : 1,
			hd = (oh - ho > h) ? 0 : 1;
			e.si = setInterval(function () {
				TINY.box.ts(e, w, wo, wd, h, ho, hd)
			},
			20)
		},
		ts: function (e, w, wo, wd, h, ho, hd) {
			var ow = e.offsetWidth - wo,
			oh = e.offsetHeight - ho;
			if (ow == w && oh == h) {
				clearInterval(e.si);
				p.style.backgroundImage = 'none';
				b.style.display = 'block'
			} else {
				if (ow != w) {
					var n = ow + ((w - ow) * .5);
					e.style.width = wd ? Math.ceil(n) + 'px': Math.floor(n) + 'px'
				}
				if (oh != h) {
					var n = oh + ((h - oh) * .5);
					e.style.height = hd ? Math.ceil(n) + 'px': Math.floor(n) + 'px'
				}
				this.pos()
			}
		}
	}
} ();
TINY.page = function () {
	return {
		top: function () {
			return document.documentElement.scrollTop || document.body.scrollTop
		},
		width: function () {
			return self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
		},
		height: function () {
			return self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
		},
		total: function (d) {
			var b = document.body,
			e = document.documentElement;
			return d ? Math.max(Math.max(b.scrollHeight, e.scrollHeight), Math.max(b.clientHeight, e.clientHeight)) : Math.max(Math.max(b.scrollWidth, e.scrollWidth), Math.max(b.clientWidth, e.clientWidth))
		}
	}
} ();
function validate(form) {
	var email = form.email.value;
	var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);
	if (email == "") {
		inlineMsg('email', '<strong>Erreur</strong><br />Vous devez saisir votre adresse mail.', 2);
		return false
	}
	if (!email.match(emailRegex)) {
		inlineMsg('email', '<strong>Erreur</strong><br />Adresse email invalide.', 2);
		return false
	}
	return true
}
var MSGTIMER = 20;
var MSGSPEED = 8;
var MSGOFFSET = 8;
var MSGHIDE = 5;
function inlineMsg(target, string, autohide) {
	var msg;
	var msgcontent;
	if (!document.getElementById('msg')) {
		msg = document.createElement('div');
		msg.id = 'msg';
		msgcontent = document.createElement('div');
		msgcontent.id = 'msgcontent';
		document.body.appendChild(msg);
		msg.appendChild(msgcontent);
		msg.style.filter = 'alpha(opacity=0)';
		msg.style.opacity = 0;
		msg.alpha = 0
	} else {
		msg = document.getElementById('msg');
		msgcontent = document.getElementById('msgcontent')
	}
	msgcontent.innerHTML = string;
	msg.style.display = 'block';
	var msgheight = msg.offsetHeight;
	var targetdiv = document.getElementById(target);
	targetdiv.focus();
	var targetheight = targetdiv.offsetHeight;
	var targetwidth = targetdiv.offsetWidth;
	var topposition = (topPosition(targetdiv) - ((msgheight - targetheight) / 2)) +6;
	var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET +2;
	msg.style.top = topposition + 'px';
	msg.style.left = leftposition + 'px';
	clearInterval(msg.timer);
	msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
	if (!autohide) {
		autohide = MSGHIDE
	}
	window.setTimeout("hideMsg()", (autohide * 2000))
}
function hideMsg(msg) {
	var msg = document.getElementById('msg');
	if (!msg.timer) {
		msg.timer = setInterval("fadeMsg(0)", MSGTIMER)
	}
}
function fadeMsg(flag) {
	if (flag == null) {
		flag = 1
	}
	var msg = document.getElementById('msg');
	var value;
	if (flag == 1) {
		value = msg.alpha + MSGSPEED
	} else {
		value = msg.alpha - MSGSPEED
	}
	msg.alpha = value;
	msg.style.opacity = (value / 100);
	msg.style.filter = 'alpha(opacity=' + value + ')';
	if (value >= 99) {
		clearInterval(msg.timer);
		msg.timer = null
	} else if (value <= 1) {
		msg.style.display = "none";
		clearInterval(msg.timer)
	}
}
function leftPosition(target) {
	var left = 0;
	if (target.offsetParent) {
		while (1) {
			left += target.offsetLeft;
			if (!target.offsetParent) {
				break
			}
			target = target.offsetParent
		}
	} else if (target.x) {
		left += target.x
	}
	return left
}
function topPosition(target) {
	var top = 0;
	if (target.offsetParent) {
		while (1) {
			top += target.offsetTop;
			if (!target.offsetParent) {
				break
			}
			target = target.offsetParent
		}
	} else if (target.y) {
		top += target.y
	}
	return top
}
if (document.images) {
	arrow = new Image(7, 80);
	arrow.src = "msg_arrow.gif"
}
