/* g_menu.js */
// Timer pour masquer le menu seulement au bout d'un certain délai
// menu dhtml par changement de nom de classe (on et off)

var compteurMenu = new Array();
var menuItem = new Array();

function showLayer(nom) {
	var item=document.getElementById(nom);
	if (item)
		item.className='on';
	menuItem[nom]=1;	
}

function hideLayer(nom) {
	var item=document.getElementById(nom);
	if (item)
		item.className='off';
	menuItem[nom]=0;
}

function hideAllLayersMenu(nom) {
	var tab = nom.split('_');
	var base = tab[0];
	for (var item in menuItem)
	{
		tab = item.split('_');
		var base_current = tab[0];
		if(base == base_current)
			hideLayer(item);
	}
}

function getParentMenu(nom) {
	var tab = nom.split('_');
	var result = tab[0];

	for (var i=1; i < tab.length - 1; i++)
		result += '_' + tab[i];

	return result;
}

function hideAllLayersMenuExcept(nom) {
	var tab = nom.split('_');
	var base = tab[0];

	menuItem[nom] = 0;
	var nom_parent = getParentMenu(nom);
	while (nom_parent != nom)
	{
		nom = nom_parent;
		menuItem[nom] = 0;
		nom_parent = getParentMenu(nom);
	}

	for (var item in menuItem)
	{
	tab = item.split('_');
	var base_current = tab[0];
	if (base == base_current)
		hideLayer(item);
	}
}

function menu_on(nom) {
	var tab = nom.split('_');
    	var base_current = tab[0];
	clearTimeout(compteurMenu[base_current]);

	hideAllLayersMenuExcept(nom);
	showLayer(nom);

	var debug_menu = document.getElementById('debug_menu');
	if( debug_menu )
	{
		debug_menu.innerHTML += 'menu_on(\''+nom+'\')<br>';
	}

	var nom_parent = getParentMenu(nom);
	while (nom_parent != nom)
	{
		nom = nom_parent;
		showLayer(nom);
		nom_parent = getParentMenu(nom);
	}
}

function menu_off(nom) {
	var tab = nom.split('_');
    	var base_current = tab[0];
	compteurMenu[base_current]=setTimeout("hideAllLayersMenu('"+base_current+"')",300);

	var debug_menu = document.getElementById('debug_menu');
	if( debug_menu )
	{
		debug_menu.innerHTML += 'menu_off(\''+nom+'\')<br>';
	}
}




/* calendar.js */
/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Version: 0.9
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

// the Calendar object constructor.
Calendar = function (mondayFirst, dateStr, yourHandler, yourCloseHandler) {
	// member variables
	this.activeDateEl = null;
	this.activeMonEl = null;
	this.activeYearEl = null;
	this.currentDateEl = null;
	this.disabledHandler = null;
	this.timeout = null;
	this.yourHandler = yourHandler || null;
	this.yourCloseHandler = yourCloseHandler || null;
	this.dragging = false;
	this.minYear = 1970;
	this.maxYear = 2050;
	this.dateFormat = "y-mm-dd";
	this.isPopup = true;
	this.mondayFirst = mondayFirst;
	this.dateStr = dateStr;
};

// ** constants

// "static", needed for event handlers.
Calendar._C = null;

Calendar.is_ie = ( (navigator.userAgent.toLowerCase().indexOf("msie") != -1) &&
		   (navigator.userAgent.toLowerCase().indexOf("opera") == -1) );
Calendar._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

// ** public functions (these can be thought as static, since none of them use
// ** "this" and they can be accessed without using an instance of the object).

Calendar.getAbsolutePos = function(el) {
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent) {
		var tmp = Calendar.getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};

Calendar._add_evs = function(el) {
	Calendar.addEvent(el, "mouseover", Calendar.dayMouseOver);
	Calendar.addEvent(el, "mousedown", Calendar.dayMouseDown);
	Calendar.addEvent(el, "mouseout", Calendar.dayMouseOut);
	if (Calendar.is_ie) {
		Calendar.addEvent(el, "dblclick", Calendar.dayMouseDblClick);
		el.setAttribute("unselectable", true);
	}
};

Calendar._del_evs = function(el) {
	Calendar.removeEvent(el, "mouseover", Calendar.dayMouseOver);
	Calendar.removeEvent(el, "mousedown", Calendar.dayMouseDown);
	Calendar.removeEvent(el, "mouseout", Calendar.dayMouseOut);
	if (Calendar.is_ie) {
		Calendar.removeEvent(el, "dblclick", Calendar.dayMouseDblClick);
	}
};

Calendar.isRelated = function (el, evt) {
	var related = evt.relatedTarget;
	if (!related) {
		var type = evt.type;
		if (type == "mouseover") {
			related = evt.fromElement;
		} else if (type == "mouseout") {
			related = evt.toElement;
		}
	}
	while (related) {
		if (related == el) {
			return true;
		}
		related = related.parentNode;
	}
	return false;
};

Calendar.getMonthDays = function(year, month) {
	if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
		return 29;
	} else {
		return Calendar._MD[month];
	}
};

Calendar.removeClass = function(el, className) {
	if (!(el && el.className)) {
		return;
	}
	var classes = el.className.split(" ");
	var newClasses = new Array;
	for (i = 0; i < classes.length; ++i) {
		if (classes[i] != className) {
			newClasses[newClasses.length] = classes[i];
		}
	}
	el.className = newClasses.join(" ");
};

Calendar.addClass = function(el, className) {
	el.className += " " + className;
};

Calendar.getElement = function(ev) {
	if (Calendar.is_ie) {
		return window.event.srcElement;
	} else {
		return ev.currentTarget;
	}
};

Calendar.getTargetElement = function(ev) {
	if (Calendar.is_ie) {
		return window.event.srcElement;
	} else {
		return ev.target;
	}
};

Calendar.stopEvent = function(ev) {
	if (Calendar.is_ie) {
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	} else {
		ev.preventDefault();
		ev.stopPropagation();
	}
};

Calendar.addEvent = function(el, evname, func) {
	if (Calendar.is_ie) {
		el.attachEvent("on" + evname, func);
	} else {
		el.addEventListener(evname, func, true);
	}
};

Calendar.removeEvent = function(el, evname, func) {
	if (Calendar.is_ie) {
		el.detachEvent("on" + evname, func);
	} else {
		el.removeEventListener(evname, func, true);
	}
};

Calendar.findMonth = function(el) {
	if (typeof el.month != 'undefined') {
		return el;
	} else if (typeof el.parentNode.month != 'undefined') {
		return el.parentNode;
	}
	return null;
};

Calendar.findYear = function(el) {
	if (typeof el.year != 'undefined') {
		return el;
	} else if (typeof el.parentNode.year != 'undefined') {
		return el.parentNode;
	}
	return null;
};

Calendar.tableMouseUp = function(ev) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	if (cal.timeout) {
		clearTimeout(cal.timeout);
	}
	var el = cal.activeDateEl;
	if (!el) {
		return false;
	}
	var target = Calendar.getTargetElement(ev);
	Calendar.removeClass(el, "active");
	if (target == el || target.parentNode == el) {
		Calendar.cellClick(el);
	}
	var mon = Calendar.findMonth(target);
	var date = null;
	if (mon) {
		date = new Date(cal.date);
		if (mon.month != date.getMonth()) {
			date.setMonth(mon.month);
			cal.setDate(date);
		}
	} else {
		var year = Calendar.findYear(target);
		if (year) {
			date = new Date(cal.date);
			if (year.year != date.getFullYear()) {
				date.setFullYear(year.year);
				cal.setDate(date);
			}
		}
	}
	Calendar.removeEvent(document, "mouseup", Calendar.tableMouseUp);
	Calendar.removeEvent(document, "mouseover", Calendar.tableMouseOver);
	Calendar.removeEvent(document, "mousemove", Calendar.tableMouseOver);
	cal.hideCombos();
	Calendar.stopEvent(ev);
	Calendar._C = null;
};

Calendar.tableMouseOver = function (ev) {
	var cal = Calendar._C;
	if (!cal) {
		return;
	}
	var el = cal.activeDateEl;
	var target = Calendar.getTargetElement(ev);
	if (target == el || target.parentNode == el) {
		Calendar.addClass(el, "hilite active");
	} else {
		Calendar.removeClass(el, "active");
		Calendar.removeClass(el, "hilite");
	}
	var mon = Calendar.findMonth(target);
	var date = null;
	if (mon) {
		date = new Date(cal.date);
		if (mon.month != date.getMonth()) {
			if (cal.activeMonEl) {
				Calendar.removeClass(cal.activeMonEl, "hilite");
			}
			Calendar.addClass(mon, "hilite");
			cal.activeMonEl = mon;
		}
	} else {
		var year = Calendar.findYear(target);
		if (year) {
			date = new Date(cal.date);
			if (year.year != date.getFullYear()) {
				if (cal.activeYearEl) {
					Calendar.removeClass(cal.activeYearEl, "hilite");
				}
				Calendar.addClass(year, "hilite");
				cal.activeYearEl = year;
			}
		}
	}
	Calendar.stopEvent(ev);
};

Calendar.tableMouseDown = function (ev) {
	if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) {
		Calendar.stopEvent(ev);
	}
};

Calendar.showMonthsCombo = function () {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	var cal = cal;
	var cd = cal.activeDateEl;
	var mc = cal.monthsCombo;
	if (cal.activeMonEl) {
		Calendar.removeClass(cal.activeMonEl, "hilite");
	}
	var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
	Calendar.addClass(mon, "hilite");
	cal.activeMonEl = mon;
	mc.style.left = cd.offsetLeft;
	mc.style.top = cd.offsetTop + cd.offsetHeight;
	mc.style.display = "block";
};

Calendar.showYearsCombo = function (fwd) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	var cal = cal;
	var cd = cal.activeDateEl;
	var yc = cal.yearsCombo;
	if (cal.activeYearEl) {
		Calendar.removeClass(cal.activeYearEl, "hilite");
	}
	cal.activeYearEl = null;
	var Y = cal.date.getFullYear() + (fwd ? 1 : -1);
	var yr = yc.firstChild;
	var show = false;
	for (var i = 0; i < 12; ++i) {
		if (Y >= cal.minYear && Y <= cal.maxYear) {
			yr.firstChild.data = Y;
			yr.year = Y;
			yr.style.display = "block";
			show = true;
		} else {
			yr.style.display = "none";
		}
		yr = yr.nextSibling;
		Y += fwd ? 2 : -2;
	}
	if (show) {
		yc.style.left = cd.offsetLeft;
		yc.style.top = cd.offsetTop + cd.offsetHeight;
		yc.style.display = "block";
	}
};

Calendar.calDragIt = function (ev) {
	var cal = Calendar._C;
	if (!cal.dragging) {
		return false;
	}
	var posX;
	var posY;
	if (Calendar.is_ie) {
		posY = window.event.clientY + document.body.scrollTop;
		posX = window.event.clientX + document.body.scrollLeft;
	} else {
		posX = ev.pageX;
		posY = ev.pageY;
	}
	cal.hideShowCovered();
	var st = cal.element.style;
	st.left = (posX - cal.xOffs) + "px";
	st.top = (posY - cal.yOffs) + "px";
	Calendar.stopEvent(ev);
};

Calendar.calDragEnd = function (ev) {
	var cal = Calendar._C;
	cal.dragging = false;
	Calendar.removeEvent(document, "mousemove", Calendar.calDragIt);
	Calendar.removeEvent(document, "mouseover", Calendar.stopEvent);
	Calendar.removeEvent(document, "mouseup", Calendar.calDragEnd);
	Calendar.tableMouseUp(ev);
	cal.hideShowCovered();
};

Calendar.dayMouseDown = function(ev) {
	var el = Calendar.getElement(ev);
	var cal = el.calendar;
	cal.activeDateEl = el;
	Calendar._C = cal;
	if (el.navtype != 300) {
		Calendar.addClass(el, "hilite active");
		Calendar.addEvent(document, "mouseover", Calendar.tableMouseOver);
		Calendar.addEvent(document, "mousemove", Calendar.tableMouseOver);
		Calendar.addEvent(document, "mouseup", Calendar.tableMouseUp);
	} else if (cal.isPopup) {
		cal.dragStart(ev);
	}
	Calendar.stopEvent(ev);
	if (el.navtype == -1 || el.navtype == 1) {
		cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250);
	} else if (el.navtype == -2 || el.navtype == 2) {
		cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);
	} else {
		cal.timeout = null;
	}
};

Calendar.dayMouseDblClick = function(ev) {
	Calendar.cellClick(Calendar.getElement(ev));
	if (Calendar.is_ie) {
		document.selection.empty();
	}
};

Calendar.dayMouseOver = function(ev) {
	var el = Calendar.getElement(ev);
	if (Calendar.isRelated(el, ev) || Calendar._C) {
		return false;
	}
	if (el.ttip) {
		el.calendar.tooltips.firstChild.data = el.ttip;
	}
	if (el.navtype != 300) {
		Calendar.addClass(el, "hilite");
	}
	Calendar.stopEvent(ev);
};

Calendar.dayMouseOut = function(ev) {
	var el = Calendar.getElement(ev);
	if (Calendar.isRelated(el, ev) || Calendar._C) {
		return false;
	}
	Calendar.removeClass(el, "hilite");
	el.calendar.tooltips.firstChild.data = Calendar._TT["SEL_DATE"];
	Calendar.stopEvent(ev);
};

Calendar.datesEqual = function(a, b) {
	return ((a.getFullYear() == b.getFullYear()) &&
		(a.getMonth() == b.getMonth()) &&
		(a.getDate() == b.getDate()));
};

Calendar.cellClick = function(el) {
	var cal = el.calendar;
	var closing = false;
	var newdate = false;
	var date = null;
	if (typeof el.navtype == 'undefined') {
		Calendar.removeClass(cal.currentDateEl, "selected");
		Calendar.addClass(el, "selected");
		closing = cal.currentDateEl == el;
		if (!closing) {
			cal.currentDateEl = el;
		}
		date = el.caldate;
		cal.date = date;
		newdate = true;
	} else {
		if (el.navtype == 200) {
			Calendar.removeClass(el, "hilite");
			cal.callCloseHandler();
			return;
		}
		date = (el.navtype == 0) ? new Date() : new Date(cal.date);
		var year = date.getFullYear();
		var mon = date.getMonth();
		var setMonth = function (mon) {
			var day = date.getDate();
			var max = Calendar.getMonthDays(year, mon);
			if (day > max) {
				date.setDate(max);
			}
			date.setMonth(mon);
		};
		switch (el.navtype) {
		    case -2:
			if (year > cal.minYear) {
				date.setFullYear(year - 1);
			}
			break;
		    case -1:
			if (mon > 0) {
				setMonth(mon - 1);
			} else if (year-- > cal.minYear) {
				date.setFullYear(year);
				setMonth(11);
			}
			break;
		    case 1:
			if (mon < 11) {
				setMonth(mon + 1);
			} else if (year < cal.maxYear) {
				date.setFullYear(year + 1);
				setMonth(0);
			}
			break;
		    case 2:
			if (year < cal.maxYear) {
				date.setFullYear(year + 1);
			}
			break;
		    case 100:
			cal.setMondayFirst(!cal.mondayFirst);
			return;
		}
		if (!Calendar.datesEqual(date, cal.date)) {
			cal.setDate(date);
			newdate = el.navtype == 0;
		}
	}
	if (newdate) {
		cal.callHandler();
	}
	if (closing) {
		Calendar.removeClass(el, "hilite");
		cal.callCloseHandler();
	}
};

Calendar.prototype.create = function (_par) {
	var parent = null;
	if (! _par) {
		// default parent is the document body, in which case we create
		// a popup calendar.
		parent = document.getElementsByTagName("body")[0];
		this.isPopup = true;
	} else {
		parent = _par;
		this.isPopup = false;
	}
	this.date = this.dateStr ? new Date(this.dateStr) : new Date();

	var table = document.createElement("table");
	this.table = table;
	table.cellSpacing = 0;
	table.cellPadding = 0;
	table.calendar = this;
	Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);

	var div = document.createElement("div");
	this.element = div;
	div.className = "calendar";
	if (this.isPopup) {
		div.style.position = "absolute";
		div.style.display = "none";
	}
	div.appendChild(table);

	var thead = document.createElement("thead");
	table.appendChild(thead);
	var cell = null;
	var row = null;

	var cal = this;
	var hh = function (text, cs, navtype) {
		cell = document.createElement("td");
		row.appendChild(cell);
		cell.colSpan = cs;
		cell.className = "button";
		Calendar._add_evs(cell);
		cell.calendar = cal;
		cell.navtype = navtype;
		if (text.substr(0, 1) != '&') {
			cell.appendChild(document.createTextNode(text));
		}
		else {
			// FIXME: dirty hack for entities
			cell.innerHTML = text;
		}
		return cell;
	};

	row = document.createElement("tr");
	thead.appendChild(row);
	row.className = "headrow";

	hh("-", 1, 100).ttip = Calendar._TT["TOGGLE"];
	this.title = hh("", this.isPopup ? 5 : 6, 300);
	this.title.className = "title";
	if (this.isPopup) {
		this.title.ttip = Calendar._TT["DRAG_TO_MOVE"];
		this.title.style.cursor = "move";
		hh("X", 1, 200).ttip = Calendar._TT["CLOSE"];
	}

	row = document.createElement("tr");
	thead.appendChild(row);
	row.className = "headrow";

	hh("&#x00ab;", 1, -2).ttip = Calendar._TT["PREV_YEAR"];
	hh("&#x2039;", 1, -1).ttip = Calendar._TT["PREV_MONTH"];
	hh(Calendar._TT["TODAY"], 3, 0).ttip = Calendar._TT["GO_TODAY"];
	hh("&#x203a;", 1, 1).ttip = Calendar._TT["NEXT_MONTH"];
	hh("&#x00bb;", 1, 2).ttip = Calendar._TT["NEXT_YEAR"];

	// day names
	row = document.createElement("tr");
	thead.appendChild(row);
	row.className = "daynames";
	this.daynames = row;
	for (var i = 0; i < 7; ++i) {
		cell = document.createElement("td");
		row.appendChild(cell);
		cell.appendChild(document.createTextNode(""));
		if (!i) {
			cell.navtype = 100;
			cell.calendar = this;
			Calendar._add_evs(cell);
		}
	}
	this.displayWeekdays();

	var tbody = document.createElement("tbody");
	table.appendChild(tbody);

	for (i = 0; i < 6; ++i) {
		row = document.createElement("tr");
		tbody.appendChild(row);
		for (var j = 0; j < 7; ++j) {
			cell = document.createElement("td");
			row.appendChild(cell);
			cell.appendChild(document.createTextNode(""));
			cell.calendar = this;
		}
	}

	var tfoot = document.createElement("tfoot");
	table.appendChild(tfoot);

	row = document.createElement("tr");
	tfoot.appendChild(row);
	row.className = "footrow";

	cell = hh(Calendar._TT["SEL_DATE"], 7, 300);
	cell.className = "ttip";
	if (this.isPopup) {
		cell.ttip = Calendar._TT["DRAG_TO_MOVE"];
		cell.style.cursor = "move";
	}
	this.tooltips = cell;

	div = document.createElement("div");
	this.monthsCombo = div;
	div.className = "combo";
	for (i = 0; i < Calendar._MN.length; ++i) {
		var mn = document.createElement("div");
		mn.className = "label";
		mn.month = i;
		mn.appendChild(document.createTextNode(Calendar._MN[i].substr(0, 3)));
		div.appendChild(mn);
	}
	this.element.appendChild(div);

	div = document.createElement("div");
	this.yearsCombo = div;
	div.className = "combo";
	for (i = 0; i < 12; ++i) {
		var yr = document.createElement("div");
		yr.className = "label";
		yr.appendChild(document.createTextNode(""));
		div.appendChild(yr);
	}
	this.element.appendChild(div);

	this._init(this.mondayFirst, this.date);
	parent.appendChild(this.element);
}

Calendar.prototype._init = function (mondayFirst, date) {
	if (date.toString() == 'Invalid Date') 
		date = new Date();
	var today = new Date();
	var year = date.getFullYear();
	if (year < this.minYear) {
		year = this.minYear;
	} else if (year > this.maxYear) {
		year = this.maxYear;
	}
	date.setFullYear(year);
	this.mondayFirst = mondayFirst;
	this.date = new Date(date);
	var month = date.getMonth();
	var mday = date.getDate();
	var no_days = Calendar.getMonthDays(year, month);
	date.setDate(1);
	var wday = date.getDay();
	var MON = mondayFirst ? 1 : 0;
	var SAT = mondayFirst ? 5 : 6;
	var SUN = mondayFirst ? 6 : 0;
	if (mondayFirst) {
		wday = (wday > 0) ? (wday - 1) : 6;
	}
	var iday = 1;
	var row = this.table.getElementsByTagName("tbody")[0].firstChild;
	for (var i = 0; i < 6; ++i) {
		var cell = row.firstChild;
		if (iday > no_days) {
			row.className = "emptyrow"; continue;
		} else {
			row.className = "daysrow";
			for (var j = 0; j < 7; ++j) {
				if ((!i && j < wday) || iday > no_days) {
					cell.className = "emptycell";
				} else {
					cell.firstChild.data = iday;
					cell.className = "day";
					date.setDate(iday);
					if (this.disabledHandler && this.disabledHandler(date)) {
						Calendar.addClass(cell, "disabled");
						Calendar._del_evs(cell);
					} else {
						cell.caldate = new Date(date);
						cell.ttip =
							Calendar._DN[wday + MON].substr(0, 3) +
							", " +
							Calendar._MN[month].substr(0, 3) +
							" " + iday + ", " + year;
						Calendar._add_evs(cell);
						if (iday == mday) {
							Calendar.addClass(cell, "selected");
							this.currentDateEl = cell;
						}
						if (Calendar.datesEqual(date, today)) {
							Calendar.addClass(cell, "today");
							cell.ttip += Calendar._TT["PART_TODAY"];
						}
						if (wday == SAT || wday == SUN) {
							Calendar.addClass(cell, "weekend");
						}
					}
					++wday; ++iday;
					if (wday == 7) {
						wday = 0;
					}
				}
				cell = cell.nextSibling;
			}
		}
		row = row.nextSibling;
	}
	this.title.firstChild.data = Calendar._MN[month] + ", " + year;
};

Calendar.prototype.setDate = function (date) {
	if (!Calendar.datesEqual(date, this.date)) {
		this._init(this.mondayFirst, date);
	}
};

Calendar.prototype.setMondayFirst = function (mondayFirst) {
	this._init(mondayFirst, this.date);
	this.displayWeekdays();
};

Calendar.prototype.displayWeekdays = function () {
	var MON = this.mondayFirst ? 0 : 1;
	var SUN = this.mondayFirst ? 6 : 0;
	var SAT = this.mondayFirst ? 5 : 6;
	var cell = this.daynames.firstChild;
	for (var i = 0; i < 7; ++i) {
		cell.className = "day name";
		if (!i) {
			if (this.mondayFirst) {
				cell.ttip = Calendar._TT["SUN_FIRST"];
			} else {
				cell.ttip = Calendar._TT["MON_FIRST"];
			}
		}
		if (i == SUN || i == SAT) {
			Calendar.addClass(cell, "weekend");
		}
		cell.firstChild.data = Calendar._DN[i + 1 - MON].substr(0,2);
		cell = cell.nextSibling;
	}
};

Calendar.prototype.setDisabledHandler = function (unaryFunction) {
	this.disabledHandler = unaryFunction;
};

Calendar.prototype.setRange = function (a, z) {
	this.minYear = a;
	this.maxYear = z;
};

Calendar.prototype.callHandler = function () {
	if (this.yourHandler) {
		this.yourHandler(this, this.formatDate());
	}
};

Calendar.prototype.callCloseHandler = function () {
	if (this.yourCloseHandler) {
		this.yourCloseHandler(this);
	}
	this.hideShowCovered();
};

Calendar.prototype.destroy = function () {
	var el = this.element.parentNode;
	el.removeChild(this.element);
	Calendar._C = null;
	delete el;
};

Calendar.prototype.reparent = function (new_parent) {
	var el = this.element;
	el.parentNode.removeChild(el);
	new_parent.appendChild(el);
};

Calendar.prototype.show = function () {
	this.element.style.display = "block";
	this.hideShowCovered();
};

Calendar.prototype.hide = function () {
	this.element.style.display = "none";
};

Calendar.prototype.showAt = function (x, y) {
	var s = this.element.style;
	s.left = x + "px";
	s.top = y + "px";
	this.show();
};

Calendar.prototype.showAtElement = function (el) {
	var p = Calendar.getAbsolutePos(el);
	this.showAt(p.x, p.y + el.offsetHeight);
};

Calendar.prototype.hideCombos = function () {
	this.monthsCombo.style.display = "none";
	this.yearsCombo.style.display = "none";
};

Calendar.prototype.dragStart = function (ev) {
	if (this.dragging) {
		return;
	}
	this.dragging = true;
	var posX;
	var posY;
	if (Calendar.is_ie) {
		posY = window.event.clientY + document.body.scrollTop;
		posX = window.event.clientX + document.body.scrollLeft;
	} else {
		posY = ev.clientY + window.scrollY;
		posX = ev.clientX + window.scrollX;
	}
	var st = this.element.style;
	this.xOffs = posX - parseInt(st.left);
	this.yOffs = posY - parseInt(st.top);
	Calendar.addEvent(document, "mousemove", Calendar.calDragIt);
	Calendar.addEvent(document, "mouseover", Calendar.stopEvent);
	Calendar.addEvent(document, "mouseup", Calendar.calDragEnd);
};

Calendar.prototype.setDateFormat = function (str) {
	this.dateFormat = str;
};

Calendar.prototype.formatDate = function () {
	var str = new String(this.dateFormat);
	var m = this.date.getMonth();
	var d = this.date.getDate();
	var y = this.date.getFullYear();
	var w = this.date.getDay();
	var s = new Array;
	s['d'] = d;
	s['dd'] = (d < 10) ? ('0' + d) : d;
	s['m'] = 1+m;
	s['mm'] = (m < 9) ? ('0' + (1+m)) : (1+m);
	s['y'] = y;
	s['yy'] = new String(y).substr(2, 2);
	s['D'] = Calendar._DN[w].substr(0, 3);
	s['DD'] = Calendar._DN[w];
	s['M'] = Calendar._MN[m].substr(0, 3);
	s['MM'] = Calendar._MN[m];
	var re = /(.*)(\W|^)(d|dd|m|mm|y|yy|MM|M|DD|D)(\W|$)(.*)/;
	while (re.exec(str) != null) {
		str = RegExp.$1 + RegExp.$2 + s[RegExp.$3] + RegExp.$4 + RegExp.$5;
	}
	return str;
};

Calendar.prototype.parseDate = function (str, fmt) {
	var y = 0;
	var m = -1;
	var d = 0;
	var a = str.split(/\W+/);
	if (!fmt) {
		fmt = this.dateFormat;
	}
	var b = fmt.split(/\W+/);
	var i = 0, j = 0;
	for (i = 0; i < a.length; ++i) {
		if (b[i] == 'D' || b[i] == 'DD') {
			continue;
		}
		if (b[i] == 'd' || b[i] == 'dd') {
			d = a[i];
		}
		if (b[i] == 'm' || b[i] == 'mm') {
			m = a[i]-1;
		}
		if (b[i] == 'y') {
			y = a[i];
		}
		if (b[i] == 'yy') {
			y = parseInt(a[i]) + 1900;
		}
		if (b[i] == 'M' || b[i] == 'MM') {
			for (j = 0; j < 12; ++j) {
				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
			}
		}
	}
	if (y != 0 && m != -1 && d != 0) {
		this.setDate(new Date(y, m, d));
		return;
	}
	y = 0; m = -1; d = 0;
	for (i = 0; i < a.length; ++i) {
		if (a[i].search(/[a-zA-Z]+/) != -1) {
			var t = -1;
			for (j = 0; j < 12; ++j) {
				if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
			}
			if (t != -1) {
				if (m != -1) {
					d = m+1;
				}
				m = t;
			}
		} else if (parseInt(a[i]) <= 12 && m == -1) {
			m = a[i]-1;
		} else if (parseInt(a[i]) > 31 && y == 0) {
			y = a[i];
		} else if (d == 0) {
			d = a[i];
		}
	}
	if (y == 0) {
		var today = new Date();
		y = today.getFullYear();
	}
	if (m != -1 && d != 0) {
		this.setDate(new Date(y, m, d));
	}
};

Calendar.prototype.hideShowCovered = function () {
	var tags = new Array ('applet', 'iframe', 'select');
	var el = this.element;

	var p = Calendar.getAbsolutePos(el);
	var EX1 = p.x;
	var EX2 = el.offsetWidth + EX1;
	var EY1 = p.y;
	var EY2 = el.offsetHeight + EY1;

	for (var k = 0; k < tags.length; k++) {
		var ar = document.getElementsByTagName(tags[k]);
		var cc = null;

		for (var i = 0; i < ar.length; i++) {
			cc = ar[i];

			p = Calendar.getAbsolutePos(cc);
			var CX1 = p.x;
			var CX2 = cc.offsetWidth + CX1;
			var CY1 = p.y;
			var CY2 = cc.offsetHeight + CY1;

			if ((CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
				cc.style.visibility = "visible";
			} else {
				cc.style.visibility = "hidden";
			}
		}
	}
};


/* calendar_fra.js */
// Version francaise du calendrier pour une selection dans une
// input box

Calendar._DN = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche");
Calendar._MN = new Array("Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
Calendar._TT = {};
Calendar._TT["TOGGLE"] = "Dimanche/Lundi debut de la semaine";
Calendar._TT["PREV_YEAR"] = "Année précédente";
Calendar._TT["PREV_MONTH"] = "Mois précédent";
Calendar._TT["GO_TODAY"] = "Selectionner aujourd'hui";
Calendar._TT["NEXT_MONTH"] = "Mois suivant";
Calendar._TT["NEXT_YEAR"] = "Année suivante";
Calendar._TT["SEL_DATE"] = "Selectionner une date";
Calendar._TT["DRAG_TO_MOVE"] = "Cliquer/déplacer le calendrier";
Calendar._TT["PART_TODAY"] = " (aujourd'hui)";
Calendar._TT["MON_FIRST"] = "Afficher le lundi en premier";
Calendar._TT["SUN_FIRST"] = "Afficher le dimanche en premier";
Calendar._TT["CLOSE"] = "Fermer";
Calendar._TT["TODAY"] = "Aujourd'hui";

var calendar = null; // remember the calendar object so that we reuse it and
                     // avoid creation other calendars.

// code from http://www.meyerweb.com -- change the active stylesheet.
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  document.getElementById("style").innerHTML = title;
  return false;
}

// This function gets called when the end-user clicks on some date.
function selected(cal, date) {
  cal.sel.value = date; // just update the date in the input field.
  cal.callCloseHandler();
}

// And this gets called when the end-user clicks on the _selected_ date,
// or clicks on the "Close" button.  It just hides the calendar without
// destroying it.
function closeHandler(cal) {
  cal.hide();                        // hide the calendar
  // don't check mousedown on document anymore (used to be able to hide the
  // calendar when someone clicks outside it, see the showCalendar function).
  Calendar.removeEvent(document, "mousedown", checkCalendar);
}

// This gets called when the user presses a mouse button anywhere in the
// document, if the calendar is shown.  If the click was outside the open
// calendar this function closes it.
function checkCalendar(ev) {
  var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
  for (; el != null; el = el.parentNode)
    // FIXME: allow end-user to click some link without closing the
    // calendar.  Good to see real-time stylesheet change :)
    if (el == calendar.element || el.tagName == "A") break;
  if (el == null) {
    // calls closeHandler which should hide the calendar.
    calendar.callCloseHandler();
    Calendar.stopEvent(ev);
  }
}

// This function shows the calendar under the element having the given id.
// It takes care of catching "mousedown" signals on document and hiding the
// calendar if the click was outside.
function showCalendar(id, format) {
  var el = document.getElementById(id);
  if (calendar != null) {
    // we already have some calendar created
    calendar.hide();                 // so we hide it first.
  } else {
    // first-time call, create the calendar.
    var cal = new Calendar(true, null, selected, closeHandler);
    calendar = cal;                  // remember it in the global var
    cal.setRange(1900, 2070);        // min/max year allowed.
    cal.create();
  }
  calendar.setDateFormat(format);    // set the specified date format
  calendar.parseDate(el.value);      // try to parse the text in field
  calendar.sel = el;                 // inform it what input field we use
  calendar.showAtElement(el);        // show the calendar below it

  // catch "mousedown" on document
  Calendar.addEvent(document, "mousedown", checkCalendar);
  return false;
}

var MINUTE = 60 * 1000;
var HOUR = 60 * MINUTE;
var DAY = 24 * HOUR;
var WEEK = 7 * DAY;

// If this handler returns true then the "date" given as
// parameter will be disabled.  In this example we enable
// only days within a range of 10 days from the current
// date.
// You can use the functions date.getFullYear() -- returns the year
// as 4 digit number, date.getMonth() -- returns the month as 0..11,
// and date.getDate() -- returns the date of the month as 1..31, to
// make heavy calculations here.  However, beware that this function
// should be very fast, as it is called for each day in a month when
// the calendar is (re)constructed.
function isDisabled(date) {
  var today = new Date();
  return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10;
}

function flatSelected(cal, date) {
  var el = document.getElementById("preview");
  el.innerHTML = date;
}

function showFlatCalendar() {
  var parent = document.getElementById("display");

  // construct a calendar giving only the "selected" handler.
  var cal = new Calendar(true, null, flatSelected);

  // We want some dates to be disabled; see function isDisabled above
  cal.setDisabledHandler(isDisabled);
  cal.setDateFormat("DD, M d");

  // this call must be the last as it might use data initialized above; if
  // we specify a parent, as opposite to the "showCalendar" function above,
  // then we create a flat calendar -- not popup.  Hidden, though, but...
  cal.create(parent);

  // ... we can show it here.
  cal.show();
}


/* swfobject.js */
/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

/* jquery.js */
/*
 * jQuery 1.1.3 - New Wave Javascript
 *
 * Copyright (c) 2007 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2007-07-01 08:54:38 -0400 (Sun, 01 Jul 2007) $
 * $Rev: 2200 $
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7(1e 12.6=="J"){12.J=12.J;u 6=q(a,c){7(12==9||!9.3Z)v 17 6(a,c);v 9.3Z(a,c)};7(1e $!="J")6.1I$=$;u $=6;6.11=6.8r={3Z:q(a,c){a=a||P;7(6.14(a))v 17 6(P)[6.11.1D?"1D":"1X"](a);7(1e a=="1v"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1Q(a);7(m)a=6.2Y([m[1]]);B v 17 6(c).1H(a)}v 9.4A(a.18==23&&a||(a.3B||a.C&&a!=12&&!a.1r&&a[0]!=J&&a[0].1r)&&6.2K(a)||[a])},3B:"1.1.3",7Y:q(){v 9.C},C:0,1L:q(a){v a==J?6.2K(9):9[a]},1W:q(a){u b=6(a);b.5l=9;v b},4A:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2m:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.18==31)7(d==J)v 9.C&&6[e||"1b"](9[0],f)||J;B{c={};c[f]=d}v 9.F(q(a){E(u b T c)6.1b(e?9.Y:9,b,6.4D(9,c[b],e,a,b))})},1c:q(b,a){v 9.1b(b,a,"2q")},2R:q(e){7(1e e=="1v")v 9.2V().3m(P.67(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1r!=8)t+=9.1r!=1?9.5R:6.11.2R([9])})});v t},8c:q(){u a,1Z=1g;v 9.F(q(){7(!a)a=6.2Y(1Z,9.2N);u b=a[0].3r(K);9.L.2J(b,9);1q(b.1a)b=b.1a;b.4h(9)})},3m:q(){v 9.2F(1g,K,1,q(a){9.4h(a)})},5s:q(){v 9.2F(1g,K,-1,q(a){9.2J(a,9.1a)})},5p:q(){v 9.2F(1g,M,1,q(a){9.L.2J(a,9)})},5n:q(){v 9.2F(1g,M,-1,q(a){9.L.2J(a,9.1U)})},2E:q(){v 9.5l||6([])},1H:q(t){u b=6.3h(9,q(a){v 6.1H(t,a)});v 9.1W(/[^+>] [^+>]/.16(t)||t.I("..")>-1?6.5c(b):b)},7z:q(e){u d=9.1A(9.1H("*"));d.F(q(){9.1I$19={};E(u a T 9.$19)9.1I$19[a]=6.1f({},9.$19[a])}).3C();u r=9.1W(6.3h(9,q(a){v a.3r(e!=J?e:K)}));d.F(q(){u b=9.1I$19;E(u a T b)E(u c T b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$19=H});v r},1j:q(t){v 9.1W(6.14(t)&&6.2x(9,q(b,a){v t.O(b,[a])})||6.2w(t,9))},4V:q(t){v 9.1W(t.18==31&&6.2w(t,9,K)||6.2x(9,q(a){v(t.18==23||t.3B)?6.2s(a,t)<0:a!=t}))},1A:q(t){v 9.1W(6.1R(9.1L(),t.18==31?6(t).1L():t.C!=J&&(!t.Q||t.Q=="71")?t:[t]))},33:q(a){v a?6.2w(a,9).C>0:M},6T:q(a){v a==J?(9.C?9[0].2t:H):9.1b("2t",a)},3K:q(a){v a==J?(9.C?9[0].26:H):9.2V().3m(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.2Y(f,9.2N);7(g<0)a.6G()}u b=9;7(d&&6.Q(9,"1s")&&6.Q(a[0],"3k"))b=9.3V("1x")[0]||9.4h(P.55("1x"));6.F(a,q(){e.O(b,[c?9.3r(K):9])})})}};6.1f=6.11.1f=q(){u c=1g[0],a=1;7(1g.C==1){c=9;a=0}u b;1q((b=1g[a++])!=H)E(u i T b)c[i]=b[i];v c};6.1f({6o:q(){7(6.1I$)$=6.1I$;v 6},14:q(a){v!!a&&1e a!="1v"&&!a.Q&&a.18!=23&&/q/i.16(a+"")},43:q(a){v a.4x&&a.2N&&!a.2N.4w},Q:q(b,a){v b.Q&&b.Q.1S()==a.1S()},F:q(a,b,c){7(a.C==J)E(u i T a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4v=a.C;i<4v;i++)7(b.O(a[i],c||[i,a[i]])===M)1E;v a},4D:q(c,b,d,e,a){7(6.14(b))b=b.3D(c,[e]);u f=/z-?2m|5Y-?8p|1d|5U|8i-?1u/i;v b&&b.18==3x&&d=="2q"&&!f.16(a)?b+"4p":b},V:{1A:q(b,c){6.F(c.2Q(/\\s+/),q(i,a){7(!6.V.3v(b.V,a))b.V+=(b.V?" ":"")+a})},1B:q(b,c){b.V=c!=J?6.2x(b.V.2Q(/\\s+/),q(a){v!6.V.3v(c,a)}).5K(" "):""},3v:q(t,c){v 6.2s(c,(t.V||t).3s().2Q(/\\s+/))>-1}},4n:q(e,o,f){E(u i T o){e.Y["2M"+i]=e.Y[i];e.Y[i]=o[i]}f.O(e,[]);E(u i T o)e.Y[i]=e.Y["2M"+i]},1c:q(e,p){7(p=="1u"||p=="28"){u b={},3q,3p,d=["85","83","82","80"];6.F(d,q(){b["7X"+9]=0;b["7W"+9+"7V"]=0});6.4n(e,b,q(){7(6(e).33(\':4g\')){3q=e.7S;3p=e.7Q}B{e=6(e.3r(K)).1H(":4c").5r("2D").2E().1c({49:"1y",3i:"7N",15:"2j",7M:"0",7K:"0"}).5j(e.L)[0];u a=6.1c(e.L,"3i")||"3n";7(a=="3n")e.L.Y.3i="7I";3q=e.7G;3p=e.7F;7(a=="3n")e.L.Y.3i="3n";e.L.3t(e)}});v p=="1u"?3q:3p}v 6.2q(e,p)},2q:q(e,a,d){u g;7(a=="1d"&&6.N.1h){g=6.1b(e.Y,"1d");v g==""?"1":g}7(a.3w(/3u/i))a=6.1T;7(!d&&e.Y[a])g=e.Y[a];B 7(P.3d&&P.3d.40){7(a.3w(/3u/i))a="3u";a=a.1o(/([A-Z])/g,"-$1").2T();u b=P.3d.40(e,H);7(b)g=b.52(a);B 7(a=="15")g="1G";B 6.4n(e,{15:"2j"},q(){u c=P.3d.40(9,"");g=c&&c.52(a)||""})}B 7(e.3U){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1S()});g=e.3U[a]||e.3U[f]}v g},2Y:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.18==3x)b=b.3s();7(1e b=="1v"){u s=6.2p(b).2T(),1z=c.55("1z"),1K=[];u a=!s.I("<2z")&&[1,"<2y>","</2y>"]||!s.I("<7i")&&[1,"<4Y>","</4Y>"]||(!s.I("<7e")||!s.I("<1x")||!s.I("<7d")||!s.I("<7a"))&&[1,"<1s>","</1s>"]||!s.I("<3k")&&[2,"<1s><1x>","</1x></1s>"]||(!s.I("<77")||!s.I("<76"))&&[3,"<1s><1x><3k>","</3k></1x></1s>"]||!s.I("<75")&&[2,"<1s><4U>","</4U></1s>"]||[0,"",""];1z.26=a[1]+b+a[2];1q(a[0]--)1z=1z.1a;7(6.N.1h){7(!s.I("<1s")&&s.I("<1x")<0)1K=1z.1a&&1z.1a.2S;B 7(a[1]=="<1s>"&&s.I("<1x")<0)1K=1z.2S;E(u n=1K.C-1;n>=0;--n)7(6.Q(1K[n],"1x")&&!1K[n].2S.C)1K[n].L.3t(1K[n])}b=6.2K(1z.2S)}7(0===b.C&&(!6.Q(b,"35")&&!6.Q(b,"2y")))v;7(b[0]==J||6.Q(b,"35")||b.73)r.R(b);B r=6.1R(r,b)});v r},1b:q(c,d,a){u e=6.43(c)?{}:6.3J;7(e[d]){7(a!=J)c[e[d]]=a;v c[e[d]]}B 7(a==J&&6.N.1h&&6.Q(c,"35")&&(d=="72"||d=="70"))v c.6X(d).5R;B 7(c.4x){7(d=="1d"&&6.N.1h){7(a!=J){c.5U=1;c.1j=(c.1j||"").1o(/4J\\([^)]*\\)/,"")+(34(a).3s()=="6S"?"":"4J(1d="+a*4Q+")")}v c.1j?(34(c.1j.3w(/1d=([^)]*)/)[1])/4Q).3s():""}7(a!=J)c.6Q(d,a);7(6.N.1h&&/4I|2r/.16(d)&&!6.43(c))v c.2Z(d,2);v c.2Z(d)}B{d=d.1o(/-([a-z])/6M,q(z,b){v b.1S()});7(a!=J)c[d]=a;v c[d]}},2p:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2K:q(a){u r=[];7(1e a!="6K")E(u i=0,25=a.C;i<25;i++)r.R(a[i]);B r=a.4X(0);v r},2s:q(b,a){E(u i=0,25=a.C;i<25;i++)7(a[i]==b)v i;v-1},1R:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5c:q(a){u r=[],3F=6.1m++;E(u i=0,4C=a.C;i<4C;i++)7(3F!=a[i].1m){a[i].1m=3F;r.R(a[i])}v r},1m:0,2x:q(c,b,d){7(1e b=="1v")b=17 3S("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3h:q(c,b){7(1e b=="1v")b=17 3S("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=J){7(a.18!=23)a=[a];d=d.6x(a)}}v d}});17 q(){u b=6w.6v.2T();6.N={6u:b.3w(/.+(?:6t|6r|6p|6n)[\\/: ]([\\d.]+)/)[1],2g:/5g/.16(b),2k:/2k/.16(b),1h:/1h/.16(b)&&!/2k/.16(b),3g:/3g/.16(b)&&!/(6i|5g)/.16(b)};6.6h=!6.N.1h||P.6g=="6d";6.1T=6.N.1h?"1T":"5t",6.3J={"E":"69","68":"V","3u":6.1T,5t:6.1T,1T:6.1T,26:"26",V:"V",2t:"2t",2B:"2B",2D:"2D",66:"64",2H:"2H",62:"5Z"}};6.F({5E:"a.L",4r:"6.4r(a)",8o:"6.21(a,2,\'1U\')",8n:"6.21(a,2,\'4t\')",8k:"6.4q(a.L.1a,a)",8h:"6.4q(a.1a)"},q(i,n){6.11[i]=q(a){u b=6.3h(9,n);7(a&&1e a=="1v")b=6.2w(a,b);v 9.1W(b)}});6.F({5j:"3m",8g:"5s",2J:"5p",8f:"5n"},q(i,n){6.11[i]=q(){u a=1g;v 9.F(q(){E(u j=0,25=a.C;j<25;j++)6(a[j])[n](9)})}});6.F({5r:q(a){6.1b(9,a,"");9.8e(a)},8d:q(c){6.V.1A(9,c)},8b:q(c){6.V.1B(9,c)},8a:q(c){6.V[6.V.3v(9,c)?"1B":"1A"](9,c)},1B:q(a){7(!a||6.1j(a,[9]).r.C)9.L.3t(9)},2V:q(){1q(9.1a)9.3t(9.1a)}},q(i,n){6.11[i]=q(){v 9.F(n,1g)}});6.F(["5Q","5P","5M","5L"],q(i,n){6.11[n]=q(a,b){v 9.1j(":"+n+"("+a+")",b)}});6.F(["1u","28"],q(i,n){6.11[n]=q(h){v h==J?(9.C?6.1c(9[0],n):H):9.1c(n,h.18==31?h:h+"4p")}});6.1f({4o:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.2Z(\'24\')==m[2]",":":{5P:"i<m[3]-0",5M:"i>m[3]-0",21:"m[3]-0==i",5Q:"m[3]-0==i",2P:"i==0",2O:"i==r.C-1",5J:"i%2==0",5G:"i%2","2P-2X":"a.L.3V(\'*\')[0]==a","2O-2X":"6.21(a.L.5F,1,\'4t\')==a","88-2X":"!6.21(a.L.5F,2,\'4t\')",5E:"a.1a",2V:"!a.1a",5L:"(a.5D||a.87||\'\').I(m[3])>=0",4g:\'"1y"!=a.G&&6.1c(a,"15")!="1G"&&6.1c(a,"49")!="1y"\',1y:\'"1y"==a.G||6.1c(a,"15")=="1G"||6.1c(a,"49")=="1y"\',86:"!a.2B",2B:"a.2B",2D:"a.2D",2H:"a.2H||6.1b(a,\'2H\')",2R:"\'2R\'==a.G",4c:"\'4c\'==a.G",5C:"\'5C\'==a.G",4m:"\'4m\'==a.G",5B:"\'5B\'==a.G",4l:"\'4l\'==a.G",5A:"\'5A\'==a.G",5z:"\'5z\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5y:"/5y|2y|84|1J/i.16(a.Q)"},"[":"6.1H(m[2],a).C"},5x:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,17 3o("^([:.#]*)("+(6.2I="(?:[\\\\w\\81-\\7Z*1I-]|\\\\\\\\.)")+"+)")],2w:q(a,c,b){u d,1O=[];1q(a&&a!=d){d=a;u f=6.1j(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1O=b?c=f.r:6.1R(1O,f.r)}v 1O},1H:q(t,l){7(1e t!="1v")v[t];7(l&&!l.1r)l=H;l=l||P;7(!t.I("//")){l=l.4i;t=t.2G(2,t.C)}B 7(!t.I("/")&&!l.2N){l=l.4i;t=t.2G(1,t.C);7(t.I("/")>=1)t=t.2G(t.I("/"),t.C)}u b=[l],2a=[],2O;1q(t&&2O!=t){u r=[];2O=t;t=6.2p(t).1o(/^\\/\\//,"");u k=M;u g=17 3o("^[/>]\\\\s*("+6.2I+"+)");u m=g.1Q(t);7(m){u o=m[1].1S();E(u i=0;b[i];i++)E(u c=b[i].1a;c;c=c.1U)7(c.1r==1&&(o=="*"||c.Q==o.1S()))r.R(c);b=r;t=t.1o(g,"");7(t.I(" ")==0)7T;k=K}B{g=/^((\\/?\\.\\.)|([>\\/+~]))\\s*([a-z]*)/i;7((m=g.1Q(t))!=H){r=[];u o=m[4],1m=6.1m++;m=m[1];E(u j=0,2b=b.C;j<2b;j++)7(m.I("..")<0){u n=m=="~"||m=="+"?b[j].1U:b[j].1a;E(;n;n=n.1U)7(n.1r==1){7(m=="~"&&n.1m==1m)1E;7(!o||n.Q==o.1S()){7(m=="~")n.1m=1m;r.R(n)}7(m=="+")1E}}B r.R(b[j].L);b=r;t=6.2p(t.1o(g,""));k=K}}7(t&&!k){7(!t.I(",")){7(l==b[0])b.4f();2a=6.1R(2a,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=17 3o("^("+6.2I+"+)(#)("+6.2I+"+)");u m=h.1Q(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=17 3o("^([#.]?)("+6.2I+"*)");m=h.1Q(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4e){u p=f.4e(m[2]);7((6.N.1h||6.N.2k)&&p&&1e p.24=="1v"&&p.24!=m[2])p=6(\'[@24="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2T()=="7R")a="2C";r=6.1R(r,b[i].3V(a))}7(m[1]==".")r=6.4d(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].2Z("24")==m[2]){e=[r[i]];1E}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1j(t,r);b=r=d.r;t=6.2p(d.t)}}7(t)b=[];7(b&&l==b[0])b.4f();2a=6.1R(2a,b);v 2a},4d:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(" "+r[i].V+" ").I(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1j:q(t,r,h){u d;1q(t&&t!=d){d=t;u p=6.5x,m;E(u i=0;p[i];i++){m=p[i].1Q(t);7(m){t=t.7P(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1E}}7(!m)1E;7(m[1]==":"&&m[2]=="4V")r=6.1j(m[3],r,K).r;B 7(m[1]==".")r=6.4d(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2b=r.C;i<2b;i++){u a=r[i],z=a[6.3J[m[2]]||m[2]];7(z==H||/4I|2r/.16(m[2]))z=6.1b(a,m[2]);7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.I(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.I(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="21-2X"){u e=6.1m++,g=[],16=/(\\d*)n\\+?(\\d*)/.1Q(m[3]=="5J"&&"2n"||m[3]=="5G"&&"2n+1"||!/\\D/.16(m[3])&&"n+"+m[3]||m[3]),2P=(16[1]||1)-0,d=16[2]-0;E(u i=0,2b=r.C;i<2b;i++){u j=r[i],L=j.L;7(e!=L.1m){u c=1;E(u n=L.1a;n;n=n.1U)7(n.1r==1)n.4b=c++;L.1m=e}u b=M;7(2P==1){7(d==0||j.4b==d)b=K}B 7((j.4b+d)%2P==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4o[m[1]];7(1e f!="1v")f=6.4o[m[1]][m[2]];4a("f = q(a,i){v "+f+"}");r=6.2x(r,f,h)}}v{r:r,t:t}},4r:q(c){u b=[];u a=c.L;1q(a&&a!=P){b.R(a);a=a.L}v b},21:q(a,e,c,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1r==1&&++d==e)1E;v a},4q:q(n,a){u r=[];E(;n;n=n.1U){7(n.1r==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.N.1h&&d.3l!=J)d=12;7(!c.1M)c.1M=9.1M++;7(b!=J){u f=c;c=q(){v f.O(9,1g)};c.W=b;c.1M=f.1M}7(!d.$19)d.$19={};7(!d.$1p)d.$1p=q(){u a;7(1e 6=="J"||6.S.48)v a;a=6.S.1p.O(d,1g);v a};u g=d.$19[e];7(!g){g=d.$19[e]={};7(d.47)d.47(e,d.$1p,M);B d.7O("5m"+e,d.$1p)}g[c.1M]=c;7(!9.U[e])9.U[e]=[];7(6.2s(d,9.U[e])==-1)9.U[e].R(d)},1M:1,U:{},1B:q(b,c,a){u d=b.$19,1V,2m;7(d){7(c&&c.G){a=c.46;c=c.G}7(!c){E(c T d)9.1B(b,c)}B 7(d[c]){7(a)3j d[c][a.1M];B E(a T b.$19[c])3j d[c][a];E(1V T d[c])1E;7(!1V){7(b.45)b.45(c,b.$1p,M);B b.7L("5m"+c,b.$1p);1V=H;3j d[c];1q(9.U[c]&&((2m=6.2s(b,9.U[c]))>=0))3j 9.U[c][2m]}}E(1V T d)1E;7(!1V)b.$1p=b.$19=H}},1t:q(c,b,d){b=6.2K(b||[]);7(!d)6.F(9.U[c]||[],q(){6.S.1t(c,b,9)});B{u a,1V,11=6.14(d[c]||H);b.5k(9.44({G:c,1N:d}));7(6.14(d.$1p)&&(a=d.$1p.O(d,b))!==M)9.48=K;7(11&&a!==M&&!6.Q(d,\'a\'))d[c]();9.48=M}},1p:q(b){u a;b=6.S.44(b||12.S||{});u c=9.$19&&9.$19[b.G],1Z=[].4X.3D(1g,1);1Z.5k(b);E(u j T c){1Z[0].46=c[j];1Z[0].W=c[j].W;7(c[j].O(9,1Z)===M){b.2d();b.2L();a=M}}7(6.N.1h)b.1N=b.2d=b.2L=b.46=b.W=H;v a},44:q(c){u a=c;c=6.1f({},a);c.2d=q(){7(a.2d)v a.2d();a.7J=M};c.2L=q(){7(a.2L)v a.2L();a.7H=K};7(!c.1N&&c.5i)c.1N=c.5i;7(6.N.2g&&c.1N.1r==3)c.1N=a.1N.L;7(!c.42&&c.4k)c.42=c.4k==c.1N?c.7E:c.4k;7(c.5h==H&&c.5f!=H){u e=P.4i,b=P.4w;c.5h=c.5f+(e&&e.5I||b.5I);c.7D=c.7C+(e&&e.5b||b.5b)}7(!c.3f&&(c.5a||c.5O))c.3f=c.5a||c.5O;7(!c.59&&c.58)c.59=c.58;7(!c.3f&&c.1J)c.3f=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1f({3e:q(c,a,b){v c=="3z"?9.41(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},41:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3C(a);v(c||b).O(9,1g)},c&&b)})},3C:q(a,b){v 9.F(q(){6.S.1B(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1P:q(){u a=1g;v 9.57(q(e){9.3O=0==9.3O?1:0;e.2d();v a[9.3O].O(9,[e])||M})},7y:q(f,g){q 3Y(e){u p=e.42;1q(p&&p!=9)2c{p=p.L}2h(e){p=9};7(p==9)v M;v(e.G=="3X"?f:g).O(9,[e])}v 9.3X(3Y).54(3Y)},1D:q(f){7(6.3c)f.O(P,[6]);B 6.2o.R(q(){v f.O(9,[6])});v 9}});6.1f({3c:M,2o:[],1D:q(){7(!6.3c){6.3c=K;7(6.2o){6.F(6.2o,q(){9.O(P)});6.2o=H}7(6.N.3g||6.N.2k)P.45("53",6.1D,M);7(!12.7x.C)6(12).1X(q(){6("#3W").1B()})}}});17 q(){6.F(("7w,7v,1X,7u,7t,3z,57,7s,"+"7r,7q,7p,3X,54,7o,2y,"+"4l,7n,7m,7l,29").2Q(","),q(i,o){6.11[o]=q(f){v f?9.3e(o,f):9.1t(o)}});7(6.N.3g||6.N.2k)P.47("53",6.1D,M);B 7(6.N.1h){P.7k("<7j"+"7h 24=3W 7g=K "+"2r=//:><\\/3a>");u a=P.4e("3W");7(a)a.7f=q(){7(9.39!="1n")v;6.1D()};a=H}B 7(6.N.2g)6.3R=3l(q(){7(P.39=="7c"||P.39=="1n"){3P(6.3R);6.3R=H;6.1D()}},10);6.S.1A(12,"1X",6.1D)};7(6.N.1h)6(12).41("3z",q(){u a=6.S.U;E(u b T a){u c=a[b],i=c.C;7(i&&b!=\'3z\')79 c[i-1]&&6.S.1B(c[i-1],b);1q(--i)}});6.11.1f({78:q(c,b,a){9.1X(c,b,a,1)},1X:q(g,d,c,e){7(6.14(g))v 9.3e("1X",g);c=c||q(){};u f="3M";7(d)7(6.14(d)){c=d;d=H}B{d=6.2C(d);f="4W"}u h=9;6.37({1C:g,G:f,W:d,2v:e,1n:q(a,b){7(b=="27"||!e&&b=="4T")h.1b("26",a.36).3L().F(c,[a.36,b,a]);B c.O(h,[a.36,b,a])}});v 9},74:q(){v 6.2C(9)},3L:q(){v 9.1H("3a").F(q(){7(9.2r)6.4S(9.2r);B 6.3H(9.2R||9.5D||9.26||"")}).2E()}});6.F("4R,4E,4P,4O,4N,4F".2Q(","),q(i,o){6.11[o]=q(f){v 9.3e(o,f)}});6.1f({1L:q(e,c,a,d,b){7(6.14(c)){a=c;c=H}v 6.37({G:"3M",1C:e,W:c,27:a,3I:d,2v:b})},6Y:q(d,b,a,c){v 6.1L(d,b,a,c,1)},4S:q(b,a){v 6.1L(b,H,a,"3a")},6W:q(c,b,a){v 6.1L(c,b,a,"4L")},6V:q(d,b,a,c){7(6.14(b)){a=b;b={}}v 6.37({G:"4W",1C:d,W:b,27:a,3I:c})},6U:q(a){6.32.20=a},6Z:q(a){6.1f(6.32,a)},32:{U:K,G:"3M",20:0,4K:"6R/x-6P-35-6O",4M:K,2W:K,W:H},38:{},37:q(s){s=6.1f({},6.32,s);7(s.W){7(s.4M&&1e s.W!="1v")s.W=6.2C(s.W);7(s.G.2T()=="1L"){s.1C+=((s.1C.I("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.U&&!6.3G++)6.S.1t("4R");u f=M;u h=12.4H?17 4H("6N.6L"):17 4G();h.7b(s.G,s.1C,s.2W);7(s.W)h.3N("6J-6I",s.4K);7(s.2v)h.3N("6H-3Q-6F",6.38[s.1C]||"6E, 6D 6C 6B 3T:3T:3T 6A");h.3N("X-6z-6y","4G");7(s.5e)s.5e(h);7(s.U)6.S.1t("4F",[h,s]);u g=q(d){7(h&&(h.39==4||d=="20")){f=K;7(i){3P(i);i=H}u c;2c{c=6.56(h)&&d!="20"?s.2v&&6.4B(h,s.1C)?"4T":"27":"29";7(c!="29"){u b;2c{b=h.3E("50-3Q")}2h(e){}7(s.2v&&b)6.38[s.1C]=b;u a=6.4Z(h,s.3I);7(s.27)s.27(a,c);7(s.U)6.S.1t("4N",[h,s])}B 6.3b(s,h,c)}2h(e){c="29";6.3b(s,h,c,e)}7(s.U)6.S.1t("4P",[h,s]);7(s.U&&!--6.3G)6.S.1t("4E");7(s.1n)s.1n(h,c);7(s.2W)h=H}};u i=3l(g,13);7(s.20>0)51(q(){7(h){h.6s();7(!f)g("20")}},s.20);2c{h.6q(s.W)}2h(e){6.3b(s,h,H,e)}7(!s.2W)g();v h},3b:q(s,a,b,e){7(s.29)s.29(a,b,e);7(s.U)6.S.1t("4O",[a,s,e])},3G:0,56:q(r){2c{v!r.1Y&&7A.7B=="4m:"||(r.1Y>=5d&&r.1Y<6m)||r.1Y==5q||6.N.2g&&r.1Y==J}2h(e){}v M},4B:q(a,c){2c{u b=a.3E("50-3Q");v a.1Y==5q||b==6.38[c]||6.N.2g&&a.1Y==J}2h(e){}v M},4Z:q(r,b){u c=r.3E("6l-G");u a=!b&&c&&c.I("4z")>=0;a=b=="4z"||a?r.6k:r.36;7(b=="3a")6.3H(a);7(b=="4L")a=4a("("+a+")");7(b=="3K")6("<1z>").3K(a).3L();v a},2C:q(a){u s=[];7(a.18==23||a.3B)6.F(a,q(){s.R(2e(9.6j)+"="+2e(9.2t))});B E(u j T a)7(a[j]&&a[j].18==23)6.F(a[j],q(){s.R(2e(j)+"="+2e(9))});B s.R(2e(j)+"="+2e(a[j]));v s.5K("&")},3H:q(a){7(12.4y)12.4y(a);B 7(6.N.2g)12.51(a,0);B 4a.3D(12,a)}});6.11.1f({1k:q(b,a){v b?9.1w({1u:"1k",28:"1k",1d:"1k"},b,a):9.1j(":1y").F(q(){9.Y.15=9.2f?9.2f:"";7(6.1c(9,"15")=="1G")9.Y.15="2j"}).2E()},1i:q(b,a){v b?9.1w({1u:"1i",28:"1i",1d:"1i"},b,a):9.1j(":4g").F(q(){9.2f=9.2f||6.1c(9,"15");7(9.2f=="1G")9.2f="2j";9.Y.15="1G"}).2E()},5o:6.11.1P,1P:q(a,b){v 6.14(a)&&6.14(b)?9.5o(a,b):a?9.1w({1u:"1P",28:"1P",1d:"1P"},a,b):9.F(q(){6(9)[6(9).33(":1y")?"1k":"1i"]()})},6f:q(b,a){v 9.1w({1u:"1k"},b,a)},6e:q(b,a){v 9.1w({1u:"1i"},b,a)},6c:q(b,a){v 9.1w({1u:"1P"},b,a)},6b:q(b,a){v 9.1w({1d:"1k"},b,a)},6a:q(b,a){v 9.1w({1d:"1i"},b,a)},7U:q(c,a,b){v 9.1w({1d:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).33(":1y"),2z=6.5v(h,f,g),5u=9;E(u p T d)7(d[p]=="1i"&&c||d[p]=="1k"&&!c)v 6.14(2z.1n)&&2z.1n.O(9);9.2i=6.1f({},d);6.F(d,q(a,b){u e=17 6.2A(5u,2z,a);7(b.18==3x)e.2U(e.1O(),b);B e[b=="1P"?c?"1k":"1i":b](d)})})},1l:q(a,b){7(!b){b=a;a="2A"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1f({5v:q(b,a,c){u d=b&&b.18==65?b:{1n:c||!c&&a||6.14(b)&&b,1F:b,2u:c&&a||a&&a.18!=3S&&a||(6.2u.4j?"4j":"5w")};d.1F=(d.1F&&d.1F.18==3x?d.1F:{63:61,60:5d}[d.1F])||89;d.2M=d.1n;d.1n=q(){6.5N(9,"2A");7(6.14(d.2M))d.2M.O(9)};v d},2u:{5w:q(p,n,b,a){v b+a*p},4j:q(p,n,b,a){v((-5H.5X(p*5H.5W)/2)+0.5)*a+b}},1l:{},5N:q(b,a){a=a||"2A";7(b.1l&&b.1l[a]){b.1l[a].4f();u f=b.1l[a][0];7(f)f.O(b)}},3y:[],2A:q(h,e,j){u z=9;u y=h.Y;7(j=="1u"||j=="28"){u f=6.1c(h,"15");u g=y.4u;y.4u="1y"}z.a=q(){7(e.3A)e.3A.O(h,[z.2l]);7(j=="1d")6.1b(y,"1d",z.2l);B{y[j]=8m(z.2l)+"4p";y.15="2j"}};z.5V=q(){v 34(6.1c(h,j))};z.1O=q(){u r=34(6.2q(h,j));v r&&r>-8l?r:z.5V()};z.2U=q(c,b){z.4s=(17 5T()).5S();z.2l=c;z.a();6.3y.R(q(){v z.3A(c,b)});7(6.3y.C==1){u d=3l(q(){u a=6.3y;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3P(d)},13)}};z.1k=q(){7(!h.22)h.22={};h.22[j]=6.1b(h.Y,j);e.1k=K;z.2U(0,9.1O());7(j!="1d")y[j]="8q";6(h).1k()};z.1i=q(){7(!h.22)h.22={};h.22[j]=6.1b(h.Y,j);e.1i=K;z.2U(9.1O(),0)};z.3A=q(a,c){u t=(17 5T()).5S();7(t>e.1F+z.4s){z.2l=c;z.a();7(h.2i)h.2i[j]=K;u b=K;E(u i T h.2i)7(h.2i[i]!==K)b=M;7(b){7(f!=H){y.4u=g;y.15=f;7(6.1c(h,"15")=="1G")y.15="2j"}7(e.1i)y.15="1G";7(e.1i||e.1k)E(u p T h.2i)6.1b(y,p,h.22[p])}7(b&&6.14(e.1n))e.1n.O(h);v M}B{u n=t-9.4s;u p=n/e.1F;z.2l=6.2u[e.2u](p,n,a,(c-a),e.1F);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|indexOf|undefined|true|parentNode|false|browser|apply|document|nodeName|push|event|in|global|className|data||style|||fn|window||isFunction|display|test|new|constructor|events|firstChild|attr|css|opacity|typeof|extend|arguments|msie|hide|filter|show|queue|mergeNum|complete|replace|handle|while|nodeType|table|trigger|height|string|animate|tbody|hidden|div|add|remove|url|ready|break|duration|none|find|_|button|tb|get|guid|target|cur|toggle|exec|merge|toUpperCase|styleFloat|nextSibling|ret|pushStack|load|status|args|timeout|nth|orig|Array|id|al|innerHTML|success|width|error|done|rl|try|preventDefault|encodeURIComponent|oldblock|safari|catch|curAnim|block|opera|now|index||readyList|trim|curCSS|src|inArray|value|easing|ifModified|multiFilter|grep|select|opt|fx|disabled|param|checked|end|domManip|substr|selected|chars|insertBefore|makeArray|stopPropagation|old|ownerDocument|last|first|split|text|childNodes|toLowerCase|custom|empty|async|child|clean|getAttribute|el|String|ajaxSettings|is|parseFloat|form|responseText|ajax|lastModified|readyState|script|handleError|isReady|defaultView|bind|which|mozilla|map|position|delete|tr|setInterval|append|static|RegExp|oWidth|oHeight|cloneNode|toString|removeChild|float|has|match|Number|timers|unload|step|jquery|unbind|call|getResponseHeader|num|active|globalEval|dataType|props|html|evalScripts|GET|setRequestHeader|lastToggle|clearInterval|Modified|safariTimer|Function|00|currentStyle|getElementsByTagName|__ie_init|mouseover|handleHover|init|getComputedStyle|one|relatedTarget|isXMLDoc|fix|removeEventListener|handler|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|sibling|parents|startTime|previousSibling|overflow|ol|body|tagName|execScript|xml|setArray|httpNotModified|fl|prop|ajaxStop|ajaxSend|XMLHttpRequest|ActiveXObject|href|alpha|contentType|json|processData|ajaxSuccess|ajaxError|ajaxComplete|100|ajaxStart|getScript|notmodified|colgroup|not|POST|slice|fieldset|httpData|Last|setTimeout|getPropertyValue|DOMContentLoaded|mouseout|createElement|httpSuccess|click|ctrlKey|metaKey|charCode|scrollTop|unique|200|beforeSend|clientX|webkit|pageX|srcElement|appendTo|unshift|prevObject|on|after|_toggle|before|304|removeAttr|prepend|cssFloat|self|speed|linear|parse|input|reset|image|password|checkbox|textContent|parent|lastChild|odd|Math|scrollLeft|even|join|contains|gt|dequeue|keyCode|lt|eq|nodeValue|getTime|Date|zoom|max|PI|cos|font|maxLength|fast|600|maxlength|slow|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|version|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Thu|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|urlencoded|www|setAttribute|application|NaN|val|ajaxTimeout|post|getJSON|getAttributeNode|getIfModified|ajaxSetup|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|open|loaded|tfoot|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|location|protocol|clientY|pageY|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|fadeTo|Width|border|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|400|toggleClass|removeClass|wrap|addClass|removeAttribute|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))

/* jquery.news-slider.js */
jQuery.fn.slideNews = function(settings) {
	settings = jQuery.extend({
		headline: "Top Stories",
		newsWidth: 285,
		newsHeight: 140,
		newsSpeed: "normal",
		nbItem: 2,
		scrollType: "horizontal"
	}, settings);
	return this.each(function(i){
		jQuery(".messaging",this).css("display","none");
		
		jQuery(".news_items",this).css("overflow","hidden");
		jQuery(".news_items",this).css("position","relative");
		jQuery(".container",this).css("left","0px");
		jQuery(".container",this).css("top","0px");
		jQuery(".container",this).css("position","relative");
		
		itemLength = jQuery(".item",this).length;
		if (settings.scrollType=='horizontal')
		{
			newsContainerSize = itemLength * settings.newsWidth;
			jQuery(".container",this).css("width",newsContainerSize + "px");
			jQuery(".news_items",this).css("width",settings.newsWidth * settings.nbItem + "px");
		}
		else
		{
			newsContainerSize = itemLength * settings.newsHeight;
			jQuery(".container",this).css("height",newsContainerSize + "px");
			jQuery(".news_items",this).css("height",settings.newsHeight * settings.nbItem + "px");
		}

		animating = false;
		jQuery(".next",this).click(function() {
			thisParent = jQuery(this).parent().parent();
			if (animating == false) {
				animating = true;
				if (settings.scrollType=='horizontal') {
					animate = parseInt(jQuery(".container",thisParent).css("left")) - (settings.newsWidth * settings.nbItem);
					if (animate + parseInt(jQuery(".container",thisParent).css("width")) > 0) {
						jQuery(".container",thisParent).animate({left: animate}, settings.newsSpeed, function() {
							jQuery(this).css("left",animate);
							animating = false;
						});
					} else {
						animating = false;
					}
				} else {
					animate = parseInt(jQuery(".container",thisParent).css("top")) - (settings.newsHeight * settings.nbItem);
					if (animate + parseInt(jQuery(".container",thisParent).css("height")) > 0) {
						jQuery(".container",thisParent).animate({top: animate}, settings.newsSpeed, function() {
							jQuery(this).css("top",animate);
							animating = false;
						});
					} else {
						animating = false;
					}
				}

			}

			return false;
		});
		jQuery(".prev",this).click(function() {
			thisParent = jQuery(this).parent().parent();
			if (animating == false) {
				animating = true;
				if (settings.scrollType=='horizontal') {
					animate = parseInt(jQuery(".container",thisParent).css("left")) + (settings.newsWidth * settings.nbItem);
					if ((animate + parseInt(jQuery(".container",thisParent).css("width"))) <= parseInt(jQuery(".container",thisParent).css("width"))) {
						jQuery(".container",thisParent).animate({left: animate}, settings.newsSpeed, function() {
							jQuery(this).css("left",animate);
							animating = false;
						});
					} else {
						animating = false;
					}
				} else {
					animate = parseInt(jQuery(".container",thisParent).css("top")) + (settings.newsHeight * settings.nbItem);
					if ((animate + parseInt(jQuery(".container",thisParent).css("height"))) <= parseInt(jQuery(".container",thisParent).css("height"))) {
						jQuery(".container",thisParent).animate({top: animate}, settings.newsSpeed, function() {
							jQuery(this).css("top",animate);
							animating = false;
						});
					} else {
						animating = false;
					}
				}
			}

			return false;
		});
	});
};


/* jquery.block-scroller.js */
jQuery.fn.scrollBlock = function(settings) {
	settings = jQuery.extend({
		blockHeight: 500,
		blockVisibleHeight: 200,
		scrollSpeed: "normal",
		scrollStep: 150
	}, settings);
	return this.each(function(i){
		$(".news_items",this).css("height",settings.blockVisibleHeight+"px");
		$(".news_items", this).css("overflow","hidden");
		$(".news_items", this).css("position","relative");
		$(".container", this).css("left","0px");
		$(".container", this).css("top","0px");
		$(".container", this).css("position","relative");

		$(".next a",this).click(function() {
			if (animating == false) {
				thisParent = $(this).parent().parent().parent();

				// On vérifie si l'on est pas en bas
				if ((settings.blockHeight + parseInt($(".container",thisParent).css("top")) - settings.blockVisibleHeight) == 0)
					return false;

				animating = true;
				// On calcul la position du scroll
				animate = parseInt($(".container",thisParent).css("top")) - settings.scrollStep;
				if (-animate > settings.blockHeight - settings.blockVisibleHeight)
					animate = -(settings.blockHeight - settings.blockVisibleHeight);

				//animate = -(blockHeight + parseInt(jQuery(".container",thisParent).css("top")) - 220);
				jQuery(".container",thisParent).animate({top: animate}, "slow", function() {
					jQuery(this).css("top",animate);
					animating = false;
				});
			}
			return false;
		});

		$(".prev a",this).click(function() {
			if (animating == false) {
				thisParent = $(this).parent().parent().parent();
				
				// On vérifie si l'on est pas en haut
				if (parseInt($(".container",thisParent).css("top")) == 0)
					return false;

				animating = true;
				// On calcul la position du scroll
				animate = parseInt($(".container",thisParent).css("top")) + settings.scrollStep;
				if (animate > 0)
					animate = 0;

				jQuery(".container",thisParent).animate({top: animate}, "slow", function() {
					jQuery(this).css("top",animate);
					animating = false;
				});
			}
			return false;
		});
	});
};

/* tools.js */
function show_popup(url, width, height)
{
	var ref = window.open(url, 'popup', 'toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,menuBar=0,width='+width+',height='+height);
	ref.focus();
	return false;
}

function show_popup(url, width, height, scroll)
{
	var ref = window.open(url, 'popup', 'toolbar=0,location=0,directories=0,status=0,scrollbars='+scroll+',resizable=0,menuBar=0,width='+width+',height='+height);
	ref.focus();
	return false;
}

// Les codes d'erreur sont à modifier s'il on désire les utiliser
function is_email(emailStr)
{
	if (emailStr == '')
	{
		return 1;
	}

	var checkTLD = 1;

	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

	var emailPat=/^(.+)@(.+)$/;

	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

	var validChars="\[^\\s" + specialChars + "\]";

	var quotedUser="(\"[^\"]*\")";

	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

	var atom=validChars + '+';

	var word="(" + atom + "|" + quotedUser + ")";

	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);

	if (matchArray==null)
	{
		//alert ("Email address seems incorrect (check @ and .'s)");
		return 2;
	}

	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++)
	{
		if (user.charCodeAt(i)>127)
		{
			//alert("The username contains invalid characters.");
			return 2;
		}
	}
	for (i=0; i<domain.length; i++)
	{
		if (domain.charCodeAt(i)>127)
		{
			//alert("The domain name contains invalid characters.");
			return 2;
		}
	}

	if (user.match(userPat)==null)
	{
		//alert("The username doesn't seem to be valid.");
		return 2;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null)
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255)
			{
				//alert("Destination IP address is invalid!");
				return 2;
			}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++)
	{
		if (domArr[i].search(atomPat)==-1)
		{
			//alert("The domain name does not seem to be valid.");
			return 2;
		}
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
	{
		//alert("The address must end in a well-known domain or two letter " + "country.");
		return 2;
	}

	if (len<2)
	{
		//alert("This address is missing a hostname!");
		return 2;
	}

	return true;
}

/**
 * Replace une chaine
 * 
 * @author Theodor Zoulias, http://simon.incutio.com/archive/2006/01/20/escape#comment14
 * @param string
 * @return string
 */
function str_replace(search, replace, subject)
{
	return subject.replace(RegExp(encodeRE(replace), 'g'), encodeRE(replace));
}

/**
 * Escape Regular Expression
 * 
 * @author Theodor Zoulias, http://simon.incutio.com/archive/2006/01/20/escape#comment14
 * @param string
 * @return string
 */
function encodeRE(string)
{ 
	return string.replace (/([.*+?^${}()|[\]\/\\])/g, '\\$1');
}

function uncrypt_mailto(str)
{
	return 'mailto:'+str.replace('/', '@');
}

function linkto_uncrypt_mailto(string)
{
	//alert(uncrypt_mailto(string));
	location.href = uncrypt_mailto(string);
}

function SetCookie (name, value) {
	var argv=SetCookie.arguments;
	var argc=SetCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=name+"="+escape(value)+
		((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
		((path==null) ? "" : ("; path="+path))+
		((domain==null) ? "" : ("; domain="+domain))+
		((secure==true) ? "; secure" : "");
}

/* spec.js */
var position_nav_site = 0;

$(document).ready(function() {
	// Patch pour IE, il a besoin de quelques dixièmes des secondes en plus ...
	// Ceci ne concerne que le contenu, le menu arrive trés bien à s'initialiser...
	if ($.browser.msie)
		setTimeout('document_ready()', 500);
	else
		document_ready();
});

function document_ready() {

	// On retire les commentaires dans les block 'scriptonly'
	$(".scriptonly").each(function(i) {
		html = $(this).html();
		html = html.replace('<!--', '').replace('-->', '');
		$(this).html(html);
	});

	// Menu principal
	$("#nav_main li a").bind('click', function() {
		thisParent = $(this).parent();

		// On vérifie s'il y a un sous menu
		if ($('ul li', thisParent).each(function(){}).size() == 0)
		{
			return true;
		}

		// Cas particulier pour la rubrique expertise-et-conseils où il faut directement rediriger
		if ($(this).attr('href') == '/portail/fr-fr/expertise-et-conseils/')
		{
			return true;
		}

		if ($(thisParent).attr("class") != 'on')
		{
			$("../..>ul>li>ul:visible",thisParent).animate({ height: 'hide', opacity: 'hide' }, 'slow');
			$("../..>ul>li[@class=on]",thisParent).toggleClass("on");

			$(">ul",thisParent).animate({ height: 'show', opacity: 'show' }, 'slow');
			$(thisParent).toggleClass("on");
		}
		else
		{
			$(thisParent).toggleClass("on");
			$(">ul",thisParent).animate({ height: 'hide', opacity: 'hide' }, 'slow');
		}

		return false;
	});

	// Block des coordonnées de sciences po
	$(".h_coordonnes h3 img").toggle(function() {
		$("../../.h_coordonnes_cont",this).animate({ height: 'show', opacity: 'show' }, 'slow');
	},function() {
		$("../../.h_coordonnes_cont",this).animate({ height: 'hide', opacity: 'hide' }, 'slow');
	});

	// Block sciences po et vous
	$(".block_etvous h3 a").toggle(function() {
		$("../../.block_int",this).animate({ height: 'show', opacity: 'show' }, 'slow');
	},function() {
		$("../../.block_int",this).animate({ height: 'hide', opacity: 'hide' }, 'slow');
	});

	$(function() {		
		// A la une sur la home
		// over sur les boutons
		$("#une_home_nav .prev").hover(function() {
			$("..",this).removeClass('une_home_nav_off');
			$("..",this).addClass('une_home_nav_prev');
		}, function(){
			$("..",this).removeClass('une_home_nav_prev');
			$("..",this).toggleClass('une_home_nav_off');
		});
		$("#une_home_nav .next").hover(function() {
			$("..",this).removeClass('une_home_nav_off');
			$("..",this).addClass('une_home_nav_next');
		}, function(){
			$("..",this).removeClass('une_home_nav_next');
			$("..",this).toggleClass('une_home_nav_off');
		});
		var options = {
			newsWidth: 207,
			newsHeight: 95,
			newsSpeed: "normal",
			nbItem: 2
		}
		$(".une_home").slideNews(options);

		// Block des sites sciences po
		// over sur les boutons
		$("#nav_site_nav .prev").hover(function() {
			$("..",this).removeClass('nav_site_nav_off');
			$("..",this).addClass('nav_site_nav_prev');
		}, function(){
			$("..",this).removeClass('nav_site_nav_prev');
			$("..",this).toggleClass('nav_site_nav_off');
		});
		$("#nav_site_nav .next").hover(function() {
			$("..",this).removeClass('une_home_nav_off');
			$("..",this).addClass('nav_site_nav_next');
		}, function(){
			$("..",this).removeClass('nav_site_nav_next');
			$("..",this).toggleClass('nav_site_nav_off');
		});
		var options = {
			newsWidth: 175,
			newsHeight: 100,
			newsSpeed: "normal",
			nbItem: 1
		}
		$(".nav_site").slideNews(options);
	});

	// Block nos coordonnées
	$("#item_15 select").change(function() {
		if ($(this).attr("value")) {
			document.location.href = $(this).attr("value");
		}
	});
}

