/*
	Only One Minified JS to include all own and third party scripts
	minified by Webartisan (m.siviero@webartisan.it)
	
	Original 3rd party code's copyright/license notices are kept un-minified
/*

/*
	Kwicks for jQuery (version 1.5.1)
	Copyright (c) 2008 Jeremy Martin
	http://www.jeremymartin.name/projects.php?project=kwicks

	Licensed under the MIT license:
		http://www.opensource.org/licenses/mit-license.php

	Any and all use of this script must be accompanied by this copyright/license notice in its present form.
*/
(function($){$.fn.kwicks=function(n){var p={isVertical:false,sticky:false,defaultKwick:0,event:'mouseover',spacing:0,duration:500};var o=$.extend(p,n);var q=(o.isVertical?'height':'width');var r=(o.isVertical?'top':'left');return this.each(function(){container=$(this);var k=container.children('li');var l=k.eq(0).css(q).replace(/px/,'');if(!o.max){o.max=(l*k.size())-(o.min*(k.size()-1))}else{o.min=((l*k.size())-o.max)/(k.size()-1)}if(o.isVertical){container.css({width:k.eq(0).css('width'),height:(l*k.size())+(o.spacing*(k.size()-1))+'px'})}else{container.css({width:(l*k.size())+(o.spacing*(k.size()-1))+'px',height:k.eq(0).css('height')})}var m=[];for(i=0;i<k.size();i++){m[i]=[];for(j=1;j<k.size()-1;j++){if(i==j){m[i][j]=o.isVertical?j*o.min+(j*o.spacing):j*o.min+(j*o.spacing)}else{m[i][j]=(j<=i?(j*o.min):(j-1)*o.min+o.max)+(j*o.spacing)}}}k.each(function(i){var h=$(this);if(i===0){h.css(r,'0px')}else if(i==k.size()-1){h.css(o.isVertical?'bottom':'right','0px')}else{if(o.sticky){h.css(r,m[o.defaultKwick][i])}else{h.css(r,(i*l)+(i*o.spacing))}}if(o.sticky){if(o.defaultKwick==i){h.css(q,o.max+'px');h.addClass('active')}else{h.css(q,o.min+'px')}}h.css({margin:0,position:'absolute'});h.bind(o.event,function(){var c=[];var d=[];k.stop().removeClass('active');for(j=0;j<k.size();j++){c[j]=k.eq(j).css(q).replace(/px/,'');d[j]=k.eq(j).css(r).replace(/px/,'')}var e={};e[q]=o.max;var f=o.max-c[i];var g=c[i]/f;h.addClass('active').animate(e,{step:function(a){var b=f!=0?a/f-g:1;k.each(function(j){if(j!=i){k.eq(j).css(q,c[j]-((c[j]-o.min)*b)+'px')}if(j>0&&j<k.size()-1){k.eq(j).css(r,d[j]-((d[j]-m[i][j])*b)+'px')}})},duration:o.duration,easing:o.easing})})});if(!o.sticky){container.bind("mouseleave",function(){var c=[];var d=[];k.removeClass('active').stop();for(i=0;i<k.size();i++){c[i]=k.eq(i).css(q).replace(/px/,'');d[i]=k.eq(i).css(r).replace(/px/,'')}var e={};e[q]=l;var f=l-c[0];k.eq(0).animate(e,{step:function(a){var b=f!=0?(a-c[0])/f:1;for(i=1;i<k.size();i++){k.eq(i).css(q,c[i]-((c[i]-l)*b)+'px');if(i<k.size()-1){k.eq(i).css(r,d[i]-((d[i]-((i*l)+(i*o.spacing)))*b)+'px')}}},duration:o.duration,easing:o.easing})})}})}})(jQuery);

/*
 * Date prototype extensions. Doesn't depend on any other code. Doens't overwrite existing methods.
 *
 * Copyright (c) 2006 Jörn Zaefferer and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 *
 * Additional methods and properties added by Kelvin Luck: firstDayOfWeek, dateFormat, zeroTime, asString, fromString -
 * I've added my name to these methods so you know who to blame if they are broken!
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 */

Date.dayNames = ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'];
Date.abbrDayNames = ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'];
Date.monthNames = ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'];
Date.abbrMonthNames = ['Jan','Fev','Mar','Avr','Mai','Jui','Juil','Aoû','Sep','Oct','Nov','Dec'];
Date.firstDayOfWeek = 1;
Date.format = 'dd/mm/yyyy';
//Date.format = 'mm/dd/yyyy';
//Date.format = 'yyyy-mm-dd';
//Date.format = 'dd mmm yy';
Date.fullYearStart = '20';

(function(){
	function add(name, method){if(!Date.prototype[name]){Date.prototype[name] = method;}};
	add("isLeapYear", function() {var y = this.getFullYear();return (y%4==0 && y%100!=0) || y%400==0;});
	add("isWeekend", function() {return this.getDay()==0 || this.getDay()==6;});
	add("isWeekDay", function() {return !this.isWeekend();});
	add("getDaysInMonth", function() {return [31,(this.isLeapYear() ? 29:28),31,30,31,30,31,31,30,31,30,31][this.getMonth()];});
	add("getDayName", function(abbreviated) {return abbreviated ? Date.abbrDayNames[this.getDay()] : Date.dayNames[this.getDay()];});
	add("getMonthName", function(abbreviated) {return abbreviated ? Date.abbrMonthNames[this.getMonth()] : Date.monthNames[this.getMonth()];});
	add("getDayOfYear", function() {var tmpdtm = new Date("1/1/" + this.getFullYear());return Math.floor((this.getTime() - tmpdtm.getTime()) / 86400000);});
	add("getWeekOfYear", function() {return Math.ceil(this.getDayOfYear() / 7);});
	add("setDayOfYear", function(day) {this.setMonth(0);this.setDate(day);return this;});
	add("addYears", function(num) {this.setFullYear(this.getFullYear() + num);return this;});
	add("addMonths", function(num) {var tmpdtm = this.getDate();this.setMonth(this.getMonth() + num);if(tmpdtm > this.getDate())this.addDays(-this.getDate());return this;});
	add("addDays", function(num) {this.setTime(this.getTime() + (num*86400000) );return this;});
	add("addHours", function(num) {this.setHours(this.getHours() + num);return this;});
	add("addMinutes", function(num) {this.setMinutes(this.getMinutes() + num);return this;});
	add("addSeconds", function(num) {this.setSeconds(this.getSeconds() + num);return this;});
	add("zeroTime", function() {this.setMilliseconds(0);this.setSeconds(0);this.setMinutes(0);this.setHours(0);return this;});
	add("asString", function(format) {var r = format || Date.format;return r.split('yyyy').join(this.getFullYear()).split('yy').join((this.getFullYear() + '').substring(2)).split('mmmm').join(this.getMonthName(false)).split('mmm').join(this.getMonthName(true)).split('mm').join(_zeroPad(this.getMonth()+1)).split('dd').join(_zeroPad(this.getDate())).split('hh').join(_zeroPad(this.getHours())).split('min').join(_zeroPad(this.getMinutes())).split('ss').join(_zeroPad(this.getSeconds()));});
	Date.fromString = function(s, format){var f = format || Date.format;var d = new Date('01/01/1977');var mLength = 0;var iM = f.indexOf('mmmm');if(iM > -1) {for(var i=0; i<Date.monthNames.length; i++) {var mStr = s.substr(iM, Date.monthNames[i].length);if(Date.monthNames[i] == mStr) {mLength = Date.monthNames[i].length - 4;break;}}d.setMonth(i);} else {iM = f.indexOf('mmm');if(iM > -1) {var mStr = s.substr(iM, 3);for (var i=0;i<Date.abbrMonthNames.length;i++) {if(Date.abbrMonthNames[i] == mStr) break;}d.setMonth(i);} else {d.setMonth(Number(s.substr(f.indexOf('mm'), 2)) - 1);}}var iY = f.indexOf('yyyy');if(iY > -1) {if(iM < iY){iY += mLength;}d.setFullYear(Number(s.substr(iY, 4)));} else {if(iM < iY){iY += mLength;}d.setFullYear(Number(Date.fullYearStart + s.substr(f.indexOf('yy'), 2)));}var iD = f.indexOf('dd');if (iM < iD){iD += mLength;}
	d.setDate(Number(s.substr(iD, 2)));if(isNaN(d.getTime())){return false;}return d;};var _zeroPad = function(num){var s = '0'+num;return s.substring(s.length-2)};
})();

/**
 * Copyright (c) 2008 Kelvin Luck (http://www.kelvinluck.com/)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * .
 * $Id: jquery.datePicker.js 100 2010-06-23 10:45:28Z kelvin.luck $
 **/

(function($){
	$.fn.extend({	renderCalendar : function(s){var dc = function(a){return document.createElement(a);};s = $.extend({}, $.fn.datePicker.defaults, s);if (s.showHeader != $.dpConst.SHOW_HEADER_NONE) {var headRow = $(dc('tr'));for (var i=Date.firstDayOfWeek; i<Date.firstDayOfWeek+7; i++) {var weekday = i%7;var day = Date.dayNames[weekday];headRow.append(jQuery(dc('th')).attr({'scope':'col', 'abbr':day, 'title':day, 'class':(weekday == 0 || weekday == 6 ? 'weekend' : 'weekday')}).html(s.showHeader == $.dpConst.SHOW_HEADER_SHORT ? day.substr(0, 1) : day));}};
	var calendarTable = $(dc('table')).attr({'cellspacing':2}).addClass('jCalendar').append((s.showHeader != $.dpConst.SHOW_HEADER_NONE ? $(dc('thead')).append(headRow):dc('thead')));
	var tbody = $(dc('tbody'));
	var today = (new Date()).zeroTime();today.setHours(12);
	var month = s.month == undefined ? today.getMonth() : s.month;
	var year = s.year || today.getFullYear();
	var currentDate = (new Date(year, month, 1, 12, 0, 0));
	var firstDayOffset = Date.firstDayOfWeek - currentDate.getDay() + 1;if (firstDayOffset > 1) firstDayOffset -= 7;var weeksToDraw = Math.ceil(( (-1*firstDayOffset+1) + currentDate.getDaysInMonth() ) /7);currentDate.addDays(firstDayOffset-1);
	var doHover = function(firstDayInBounds) { return function(){if(s.hoverClass){var $this = $(this);if (!s.selectWeek) {$this.addClass(s.hoverClass);} else if (firstDayInBounds && !$this.is('.disabled')) {$this.parent().addClass('activeWeekHover');}}}};var unHover = function(){if (s.hoverClass) {var $this = $(this);$this.removeClass(s.hoverClass);$this.parent().removeClass('activeWeekHover');}};var w = 0;while (w++<weeksToDraw) {var r = jQuery(dc('tr'));var firstDayInBounds = s.dpController ? currentDate > s.dpController.startDate : false;for (var i=0; i<7; i++) {var thisMonth = currentDate.getMonth() == month;var d = $(dc('td')).text(currentDate.getDate() + '').addClass((thisMonth ? 'current-month ' : 'other-month ') + (currentDate.isWeekend() ? 'weekend ' : 'weekday ') + (thisMonth && currentDate.getTime() == today.getTime() ? 'today ' : '')).data('datePickerDate', currentDate.asString()).hover(doHover(firstDayInBounds), unHover);r.append(d);if (s.renderCallback) {s.renderCallback(d, currentDate, month, year);}currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()+1, 12, 0, 0);}tbody.append(r);}calendarTable.append(tbody);return this.each(function(){$(this).empty().append(calendarTable);});},
	datePicker : function(s){if (!$.event._dpCache) $.event._dpCache = [];s = $.extend({}, $.fn.datePicker.defaults, s);return this.each(function(){var $this = $(this), alreadyExists = true;if(!this._dpId){this._dpId = $.event.guid++;$.event._dpCache[this._dpId] = new DatePicker(this);alreadyExists = false;}if(s.inline){s.createButton = false;s.displayClose = false;s.closeOnSelect = false;$this.empty();}var controller = $.event._dpCache[this._dpId];controller.init(s);if (!alreadyExists && s.createButton) {controller.button = $('<a href="#" class="dp-choose-date" title="' + $.dpText.TEXT_CHOOSE_DATE + '">' + $.dpText.TEXT_CHOOSE_DATE + '</a>').bind('click',function(){$this.dpDisplay(this);this.blur();return false;});$this.after(controller.button);} if (!alreadyExists && $this.is(':text')) {$this.bind('dateSelected',function(e, selectedDate, $td){this.value = selectedDate.asString();}).bind('change',function(){if (this.value == '') {controller.clearSelected();} else {var d = Date.fromString(this.value);if (d) {controller.setSelected(d, true, true);}}});if(s.clickInput){$this.bind('click',function(){$this.trigger('change');$this.dpDisplay();});}var d = Date.fromString(this.value);if (this.value != '' && d) {controller.setSelected(d, true, true);}}$this.addClass('dp-applied');})},
	dpSetDisabled : function(s){return _w.call(this, 'setDisabled', s);},
	dpSetStartDate : function(d){return _w.call(this, 'setStartDate', d);},
	dpSetEndDate : function(d){return _w.call(this, 'setEndDate', d);},
	dpGetSelected : function(){var c = _getController(this[0]);if (c) {return c.getSelected();}return null;},
	dpSetSelected : function(d, v, m, e){if (v == undefined) v=true;if (m == undefined) m=true;if (e == undefined) e=true;return _w.call(this, 'setSelected', Date.fromString(d), v, m, e);},
	dpSetDisplayedMonth : function(m, y){return _w.call(this, 'setDisplayedMonth', Number(m), Number(y), true);},
	dpDisplay : function(e){return _w.call(this, 'display', e);},
	dpSetRenderCallback : function(a){return _w.call(this, 'setRenderCallback', a);},
	dpSetPosition : function(v, h){return _w.call(this, 'setPosition', v, h);},
	dpSetOffset : function(v, h){return _w.call(this, 'setOffset', v, h);},
	dpClose : function(){return _w.call(this, '_closeCalendar', false, this[0]);},
	dpRerenderCalendar : function(){return _w.call(this, '_rerenderCalendar');},
	_dpDestroy : function(){}});
	var _w = function(f, a1, a2, a3, a4){return this.each(function(){var c = _getController(this);if(c){c[f](a1, a2, a3, a4);}});};

	function DatePicker(ele){this.ele = ele;this.displayedMonth=null;this.displayedYear=null;this.startDate=null;this.endDate=null;this.showYearNavigation=null;this.closeOnSelect=null;this.displayClose=null;this.rememberViewedMonth=null;this.selectMultiple=null;this.numSelectable=null;this.numSelected=null;this.verticalPosition=null;this.horizontalPosition=null;this.verticalOffset=null;this.horizontalOffset=null;this.button=null;this.renderCallback=[];this.selectedDates={};this.inline=null;this.context='#dp-popup';this.settings={};};$.extend(DatePicker.prototype,{init : function(s){this.setStartDate(s.startDate);this.setEndDate(s.endDate);this.setDisplayedMonth(Number(s.month), Number(s.year));this.setRenderCallback(s.renderCallback);this.showYearNavigation = s.showYearNavigation;this.closeOnSelect = s.closeOnSelect;this.displayClose = s.displayClose;this.rememberViewedMonth =	s.rememberViewedMonth;this.selectMultiple = s.selectMultiple;this.numSelectable = s.selectMultiple ? s.numSelectable : 1;this.numSelected = 0;this.verticalPosition = s.verticalPosition;this.horizontalPosition = s.horizontalPosition;this.hoverClass = s.hoverClass;this.setOffset(s.verticalOffset, s.horizontalOffset);this.inline = s.inline;this.settings = s;if(this.inline){this.context = this.ele;this.display();}},
	setStartDate : function(d){if(d){this.startDate = Date.fromString(d);}if(!this.startDate){this.startDate = (new Date()).zeroTime();}this.setDisplayedMonth(this.displayedMonth, this.displayedYear);},setEndDate : function(d){if(d){this.endDate = Date.fromString(d);}if (!this.endDate) {this.endDate = (new Date('12/31/2999'));}if (this.endDate.getTime() < this.startDate.getTime()) {this.endDate = this.startDate;}this.setDisplayedMonth(this.displayedMonth, this.displayedYear);},
	setPosition : function(v, h){this.verticalPosition = v;this.horizontalPosition = h;},
	setOffset : function(v, h){this.verticalOffset = parseInt(v) || 0;this.horizontalOffset = parseInt(h) || 0;},setDisabled : function(s){$e = $(this.ele);$e[s ? 'addClass' : 'removeClass']('dp-disabled');if(this.button){$but = $(this.button);$but[s ? 'addClass' : 'removeClass']('dp-disabled');$but.attr('title', s ? '' : $.dpText.TEXT_CHOOSE_DATE);}if ($e.is(':text')) {$e.attr('disabled', s ? 'disabled' : '');}},
	setDisplayedMonth : function(m, y, rerender){if (this.startDate == undefined || this.endDate == undefined) {return;} var s = new Date(this.startDate.getTime());s.setDate(1);var e = new Date(this.endDate.getTime());e.setDate(1);var t;if ((!m && !y) || (isNaN(m) && isNaN(y))) {t = new Date().zeroTime();t.setDate(1);} else if (isNaN(m)) {t = new Date(y, this.displayedMonth, 1);} else if (isNaN(y)) {t = new Date(this.displayedYear, m, 1);} else {t = new Date(y, m, 1)}if (t.getTime() < s.getTime()) {t = s;} else if (t.getTime() > e.getTime()) {t = e;}var oldMonth = this.displayedMonth;var oldYear = this.displayedYear;this.displayedMonth = t.getMonth();this.displayedYear = t.getFullYear();if (rerender && (this.displayedMonth != oldMonth || this.displayedYear != oldYear)){this._rerenderCalendar();$(this.ele).trigger('dpMonthChanged', [this.displayedMonth, this.displayedYear]);}},
	setSelected : function(d, v, moveToMonth, dispatchEvents){if(d < this.startDate || d.zeroTime() > this.endDate.zeroTime()){return;}var s = this.settings;if(s.selectWeek){d = d.addDays(- (d.getDay() - Date.firstDayOfWeek + 7) % 7);if (d < this.startDate){return;}}if (v == this.isSelected(d)){return;}if(this.selectMultiple == false){this.clearSelected();} else if (v && this.numSelected == this.numSelectable) {return;}if(moveToMonth && (this.displayedMonth != d.getMonth() || this.displayedYear != d.getFullYear())){this.setDisplayedMonth(d.getMonth(), d.getFullYear(), true);}this.selectedDates[d.asString()] = v;this.numSelected += v ? 1 : -1;var selectorString = 'td.' + (d.getMonth() == this.displayedMonth ? 'current-month' : 'other-month');var $td;$(selectorString, this.context).each(function(){if ($(this).data('datePickerDate') == d.asString()) {$td = $(this);if (s.selectWeek){$td.parent()[v ? 'addClass' : 'removeClass']('selectedWeek');}$td[v ? 'addClass' : 'removeClass']('selected');}});$('td', this.context).not('.selected')[this.selectMultiple &&  this.numSelected == this.numSelectable ? 'addClass' : 'removeClass']('unselectable');if(dispatchEvents){var s = this.isSelected(d);$e = $(this.ele);var dClone = Date.fromString(d.asString());$e.trigger('dateSelected', [dClone, $td, s]);$e.trigger('change');}},
	isSelected : function(d){return this.selectedDates[d.asString()];},
	getSelected : function(){var r = [];for(var s in this.selectedDates){if(this.selectedDates[s] == true){r.push(Date.fromString(s));}}return r;},
	clearSelected : function(){this.selectedDates = {};this.numSelected = 0;$('td.selected', this.context).removeClass('selected').parent().removeClass('selectedWeek');},
	display : function(eleAlignTo){if ($(this.ele).is('.dp-disabled')) return;eleAlignTo = eleAlignTo || this.ele;var c = this, $ele = $(eleAlignTo), eleOffset = $ele.offset(), $createIn, attrs, attrsCalendarHolder, cssRules;if(c.inline){$createIn = $(this.ele);attrs = {'id':'calendar-' + this.ele._dpId,'class':'dp-popup dp-popup-inline'};$('.dp-popup', $createIn).remove();cssRules = {};} else {$createIn = $('body');attrs = {'id':'dp-popup','class':'dp-popup'};cssRules = {'top'	:	eleOffset.top + c.verticalOffset,'left'	:	eleOffset.left + c.horizontalOffset};var _checkMouse = function(e){var el = e.target;var cal = $('#dp-popup')[0];while (true){if(el == cal){return true;} else if (el == document) {c._closeCalendar();return false;} else {el = $(el).parent()[0];}}};this._checkMouse = _checkMouse;c._closeCalendar(true);
	$(document).bind('keydown.datepicker',function(event){if (event.keyCode == 27) {c._closeCalendar();}});}if(!c.rememberViewedMonth){var selectedDate = this.getSelected()[0];if(selectedDate){selectedDate = new Date(selectedDate);this.setDisplayedMonth(selectedDate.getMonth(), selectedDate.getFullYear(), false);}} $createIn.append($('<div></div>').attr(attrs).css(cssRules).append($('<h2></h2>'),$('<div class="dp-nav-prev"></div>').append($('<a class="dp-nav-prev-year" href="#" title="' + $.dpText.TEXT_PREV_YEAR + '">&lt;&lt;</a>').bind('click',function(){return c._displayNewMonth.call(c, this, 0, -1);}),$('<a class="dp-nav-prev-month" href="#" title="' + $.dpText.TEXT_PREV_MONTH + '">&lt;</a>').bind('click',function(){return c._displayNewMonth.call(c, this, -1, 0);})),$('<div class="dp-nav-next"></div>').append($('<a class="dp-nav-next-year" href="#" title="' + $.dpText.TEXT_NEXT_YEAR + '">&gt;&gt;</a>').bind('click',function(){return c._displayNewMonth.call(c, this, 0, 1);}),$('<a class="dp-nav-next-month" href="#" title="' + $.dpText.TEXT_NEXT_MONTH + '">&gt;</a>').bind('click',function(){return c._displayNewMonth.call(c, this, 1, 0);})),$('<div class="dp-calendar"></div>')).bgIframe());var $pop = this.inline ? $('.dp-popup', this.context) : $('#dp-popup');if(this.showYearNavigation == false){$('.dp-nav-prev-year, .dp-nav-next-year', c.context).css('display', 'none');}if(this.displayClose){$pop.append($('<a href="#" id="dp-close">' + $.dpText.TEXT_CLOSE + '</a>').bind('click',function(){c._closeCalendar();return false;}));}c._renderCalendar();$(this.ele).trigger('dpDisplayed', $pop);if(!c.inline){if(this.verticalPosition == $.dpConst.POS_BOTTOM){$pop.css('top', eleOffset.top + $ele.height() - $pop.height() + c.verticalOffset);}if(this.horizontalPosition == $.dpConst.POS_RIGHT){$pop.css('left', eleOffset.left + $ele.width() - $pop.width() + c.horizontalOffset);}$(document).bind('mousedown.datepicker', this._checkMouse);}},
	setRenderCallback : function(a){if(a == null) return;if(a && typeof(a) == 'function'){a = [a];}this.renderCallback = this.renderCallback.concat(a);},
	cellRender : function ($td, thisDate, month, year){var c = this.dpController;var d = new Date(thisDate.getTime());$td.bind('click',function(){var $this = $(this);if(!$this.is('.disabled')){c.setSelected(d, !$this.is('.selected') || !c.selectMultiple, false, true);if(c.closeOnSelect){if(c.settings.autoFocusNextInput){var ele = c.ele;var found = false;$(':input', ele.form).each(function(){if(found){$(this).focus();return false;}if(this == ele){found = true;}});} else {c.ele.focus();}c._closeCalendar();}}});if(c.isSelected(d)) {$td.addClass('selected');if (c.settings.selectWeek){$td.parent().addClass('selectedWeek');}} else  if (c.selectMultiple && c.numSelected == c.numSelectable) {$td.addClass('unselectable');}},
	_applyRenderCallbacks : function(){var c = this;$('td', this.context).each(function(){for(var i=0; i<c.renderCallback.length; i++) {$td = $(this);c.renderCallback[i].apply(this, [$td, Date.fromString($td.data('datePickerDate')), c.displayedMonth, c.displayedYear]);}});return;},
	_displayNewMonth : function(ele, m, y){if(!$(ele).is('.disabled')) {this.setDisplayedMonth(this.displayedMonth + m, this.displayedYear + y, true);}ele.blur();return false;},
	_rerenderCalendar : function(){this._clearCalendar();this._renderCalendar();},
	_renderCalendar : function(){$('h2', this.context).html((new Date(this.displayedYear, this.displayedMonth, 1)).asString($.dpText.HEADER_FORMAT));$('.dp-calendar', this.context).renderCalendar($.extend({},this.settings,{month:this.displayedMonth,year:this.displayedYear,renderCallback:this.cellRender,dpController:this,hoverClass:this.hoverClass}));if (this.displayedYear == this.startDate.getFullYear() && this.displayedMonth == this.startDate.getMonth()) {$('.dp-nav-prev-year', this.context).addClass('disabled');$('.dp-nav-prev-month', this.context).addClass('disabled');$('.dp-calendar td.other-month', this.context).each(function(){var $this = $(this);if(Number($this.text()) > 20) {$this.addClass('disabled');}});var d = this.startDate.getDate();$('.dp-calendar td.current-month', this.context).each(function(){var $this = $(this);if (Number($this.text()) < d) {$this.addClass('disabled');}});} else {$('.dp-nav-prev-year', this.context).removeClass('disabled');$('.dp-nav-prev-month', this.context).removeClass('disabled');var d = this.startDate.getDate();if (d > 20) {var st = this.startDate.getTime();var sd = new Date(st);sd.addMonths(1);if(this.displayedYear == sd.getFullYear() && this.displayedMonth == sd.getMonth()) {$('.dp-calendar td.other-month', this.context).each(function(){var $this = $(this);if (Date.fromString($this.data('datePickerDate')).getTime() < st) {$this.addClass('disabled');}});}}}if (this.displayedYear == this.endDate.getFullYear() && this.displayedMonth == this.endDate.getMonth()) {$('.dp-nav-next-year', this.context).addClass('disabled');$('.dp-nav-next-month', this.context).addClass('disabled');$('.dp-calendar td.other-month', this.context).each(function(){var $this = $(this);if(Number($this.text()) < 14) {$this.addClass('disabled');}});var d = this.endDate.getDate();$('.dp-calendar td.current-month', this.context).each(function(){var $this = $(this);if(Number($this.text()) > d) {$this.addClass('disabled');}});} else {$('.dp-nav-next-year', this.context).removeClass('disabled');$('.dp-nav-next-month', this.context).removeClass('disabled');var d = this.endDate.getDate();if(d < 13) {var ed = new Date(this.endDate.getTime());ed.addMonths(-1);if(this.displayedYear == ed.getFullYear() && this.displayedMonth == ed.getMonth()) {$('.dp-calendar td.other-month', this.context).each(function(){var $this = $(this);var cellDay = Number($this.text());if(cellDay < 13 && cellDay > d) {$this.addClass('disabled');}});}}}this._applyRenderCallbacks();},
	_closeCalendar : function(programatic, ele){if (!ele || ele == this.ele){$(document).unbind('mousedown.datepicker');$(document).unbind('keydown.datepicker');this._clearCalendar();$('#dp-popup a').unbind();$('#dp-popup').empty().remove();if(!programatic) {$(this.ele).trigger('dpClosed', [this.getSelected()]);}}},
	_clearCalendar : function(){$('.dp-calendar td', this.context).unbind();$('.dp-calendar', this.context).empty();}});
	$.dpConst = {SHOW_HEADER_NONE:0,SHOW_HEADER_SHORT:1,SHOW_HEADER_LONG:2,POS_TOP:0,POS_BOTTOM:1,POS_LEFT:0,POS_RIGHT:1,DP_INTERNAL_FOCUS:'dpInternalFocusTrigger'};
	$.dpText = {TEXT_PREV_YEAR:'Année précédente',TEXT_PREV_MONTH:'Mois précédente',TEXT_NEXT_YEAR:'Prochaine année',TEXT_NEXT_MONTH:'Prochain mois',TEXT_CLOSE:'Fermer',TEXT_CHOOSE_DATE:'Choisissez une date',HEADER_FORMAT:'mmmm yyyy'};
	$.dpVersion = '$Id: jquery.datePicker.js 100 2010-06-23 10:45:28Z kelvin.luck $';
	$.fn.datePicker.defaults = {month:undefined,year:undefined,showHeader:$.dpConst.SHOW_HEADER_SHORT,startDate:undefined,endDate:undefined,inline:false,renderCallback:null,createButton:true,showYearNavigation:true,closeOnSelect:true,displayClose:false,selectMultiple:false,numSelectable:Number.MAX_VALUE,clickInput:false,rememberViewedMonth:true,selectWeek:false,verticalPosition:$.dpConst.POS_TOP,horizontalPosition:$.dpConst.POS_LEFT,verticalOffset:0,horizontalOffset:0,hoverClass:'dp-hover',autoFocusNextInput:false};

	function _getController(ele){if(ele._dpId) return $.event._dpCache[ele._dpId];
		return false;};
	if($.fn.bgIframe == undefined){$.fn.bgIframe = function() {return this;};};
	$(window).bind('unload', function() {var els = $.event._dpCache || [];for(var i in els) {$(els[i].ele)._dpDestroy();}});

})(jQuery);


/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);


/**
 * Copyright (c) 2008 Kelvin Luck (http://www.kelvinluck.com/)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 **/

(function($){
		$.fn.extend({datePickerMultiMonth : function(s){s.numMonths = s.numMonths || 2;$(this).each(function(){var dps = $.extend({}, $.fn.datePicker.defaults, s);var $dpmm = $(this), pickers = [], basePicker, m;if (s.inline) {$dpmm.html('');for (var i=0;i<s.numMonths;i++){(function(i) {var first = i == 0;var last = i == s.numMonths - 1;var $date =  $('<div></div>').datePicker(dps).bind('dpMonthChanged',function(event, displayedMonth, displayedYear){if (first) {$dpmm.trigger('dpMonthChanged', [displayedMonth, displayedYear]);} else {pickers[i-1].dpSetDisplayedMonth(displayedMonth-1, displayedYear);}if (!last){pickers[i+1].dpSetDisplayedMonth(displayedMonth+1, displayedYear);}return false;}).bind('dateSelected',function(event, date, $td, status){if (first){$dpmm.trigger('dateSelected', [date, $td, status]);} else {pickers[i-1].dpSetSelected(date.asString(), status, false);}if (!last){pickers[i+1].dpSetSelected(date.asString(), status, false);}return false;});$date.find('.dp-nav-prev').css('display', first ? 'block' : 'none');$date.find('.dp-nav-next').css('display', last ? 'block' : 'none');pickers.push($date);$dpmm.append($date);})(i);}basePicker = pickers[0];} else {var displayedMonth, displayedYear, selectedDate;if (dps.closeOnSelect == false) throw new Error("Popup multi month date pickers must close on select");if (dps.selectMultiple == true) throw new Error("Popup multi month date pickers aren't compatible with selectMultiple");$dpmm.datePicker(dps).bind('dateSelected',function(event, date, $td, status){selectedDate = date.asString();}).bind('dpDisplayed',function(event, datePickerDiv){var $popup = $(datePickerDiv).empty().css({width: 'auto'});var d = $dpmm.dpGetSelected();if (d.length) {selectedDate = new Date(d[0]).asString();}for (var i=0; i<s.numMonths; i++) {(function(i) {var s = $.extend({}, dps);s.inline = true;s.month = displayedMonth + i;s.year = displayedYear;var last = i == s.numMonths-1;var first = i == 0;var $dp = $('<div></div>');$popup.append($dp);$dp.datePicker(s).bind('dpMonthChanged',function(event, newMonth, newYear){if (i == 0)	{displayedMonth = newMonth;displayedYear = newYear;}if(!first){pickers[i-1].dpSetDisplayedMonth(newMonth-1, newYear);}if (!last){pickers[i+1].dpSetDisplayedMonth(newMonth+1, newYear);}return false;}).bind('dateSelected',function(event, date, $td, status){var d = date.asString();if (d != selectedDate) {basePicker.dpSetSelected(date.asString());basePicker.dpClose();}}).find('.dp-nav-next').css('display', last ? 'block' : 'none').end().find('.dp-nav-prev').css('display', first ? 'block' : 'none').end();if (selectedDate) {$dp.dpSetSelected(selectedDate, true, false);}pickers.push($dp);})(i);}}).bind('dpMonthChanged',function(event, newMonth, newYear){if (newMonth == displayedMonth && newYear == displayedYear) {return;}displayedMonth = newMonth;displayedYear = newYear;$dpmm.trigger('dpMonthChanged', [newMonth, newYear])}).bind('dpClosed',function(event, selected){pickers = [];});basePicker = $dpmm;}$dpmm.data('dpBasePicker', basePicker);$dpmm.data('dpPickers', pickers);basePicker.dpSetDisplayedMonth(1, 3000);basePicker.dpSetDisplayedMonth(Number(s.month), Number(s.year));});return this;},
		dpmmGetSelected : function(){var basePicker = $(this).data('dpBasePicker');return basePicker.dpGetSelected();},
		dpmmSetSelected : function(d, v, m, e){var basePicker = $(this).data('dpBasePicker');return basePicker.dpSetSelected(d, v, m, e);},
		dpmmRerenderCalendar : function(){var pickers = $(this).data('dpPickers');for (var i=0; i<pickers.length; i++) {pickers[i].dpRerenderCalendar();}}});
})(jQuery);

			function shumans(which, what,who) {
        if (what=='act') {
					var strCons = 'm';
				  var str_subject = 'Contact par tol.lu';
				  strCons=strCons+'a'+String.fromCharCode(105, 108, 116, 111);
				  strCons=strCons+':';
		    switch(who) {
						case 'in':
						  strCons=strCons+'i'+String.fromCharCode(110, 102, 111);
						  strCons=strCons+'@'+'tol.'+String.fromCharCode(108, 117);//lu
            break;
						default:
		          strCons=strCons+'i'+String.fromCharCode(109, 97, 103)+'in'+String.fromCharCode(46, 108, 117);
						}
				strCons=strCons+'?subject='+str_subject; $('a#'+which).attr('href', strCons); } else {$('a#'+which).attr("href", "javascript:;");}}

function printpage() {if (window.print) {window.print();}else { alert("Sorry, your browser doesn't support this feature.");return false;}}

/* Copyright (C) 2011 by Samuel Bailey
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */


/* Sam's jQuery Blink Plugin
 *  
 *  Uses the jQuery animation queue to make an element blink (similar to the old <blink> tag).
 *  
 *  Usage:
 *   $('#blink').blink('fast');       blink quickly
 *   $('#blink').blink(300);          fade out for 300ms then back in for 300ms...
 *   $('#blink').blink(100,500);      fade out for 100ms then back in for 500ms...
 *  
 *   $('#blink').blink();             stop blinking now
 *   $('#blink').removeClass('blink') stop blinking after fading back in
 *  
 */
(function ($, undefined) {
    "use strict";
    var blink = function (obj, durationOut, durationIn) {
        $(obj).animate({ opacity: 0.1 }, durationOut, 'linear', function () {
            $(obj).animate({ opacity: 1 }, durationIn, 'linear', function () {
                if ($(this).hasClass('blink')) { blink(obj, durationOut, durationIn); }
            });
        });
    };
    $.fn.blink = function (durationOut, durationIn) {
        if (durationOut !== undefined) {
            if (durationIn === undefined) { durationIn = durationOut; }
            return this.each(function () {
                $(this).addClass('blink');
                blink(this, durationOut, durationIn);
            });
        } else {
            return this.each(function () {
                $(this).removeClass('blink').stop(true).css('opacity', 1);
            });
        }
    };
}(jQuery));

