/**
 * JQuery Bgpos pour animation menu
 * 
 */
(function($) {
	$.extend($.fx.step,{
	    backgroundPosition: function(fx) {
            if (fx.state === 0 && typeof fx.end == 'string') {
                var start = $.curCSS(fx.elem,'backgroundPosition');
                start = toArray(start);
                fx.start = [start[0],start[2]];
                var end = toArray(fx.end);
                fx.end = [end[0],end[2]];
                fx.unit = [end[1],end[3]];
			}
            var nowPosX = [];
            nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
            nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
            fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

           function toArray(strg){
               strg = strg.replace(/left|top/g,'0px');
               strg = strg.replace(/right|bottom/g,'100%');
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
           }
        }
	});
})(jQuery);



/* =========================================================


// JQuery innerfade pour réaliser le carousel

 *
 *  <ul id="news"> 
 *      <li>content 1</li>
 *      <li>content 2</li>
 *      <li>content 3</li>
 *  </ul>
 *  
 *  $('#news').innerfade({ 
 *	  animationtype: Type of animation 'fade' or 'slide' (Default: 'fade'), 
 *	  speed: Fading-/Sliding-Speed in milliseconds or keywords (slow, normal or fast) (Default: 'normal'), 
 *	  timeout: Time between the fades in milliseconds (Default: '2000'), 
 *	  type: Type of slideshow: 'sequence', 'random' or 'random_start' (Default: 'sequence'), 
 * 		containerheight: Height of the containing element in any css-height-value (Default: 'auto'),
 *	  runningclass: CSS-Class which the container get’s applied (Default: 'innerfade'),
 *	  children: optional children selector (Default: null)
 *  }); 
 *

// ========================================================= */


(function($) {

    $.fn.innerfade = function(options) {
        return this.each(function() {   
            $.innerfade(this, options);
        });
    };

    $.innerfade = function(container, options) {
        var settings = {
        		'animationtype':    'fade',
            'speed':            'normal',
            'type':             'sequence',
            'timeout':          2000,
            'containerheight':  'auto',
            'runningclass':     'innerfade',
            'children':         null
        };
        if (options)
            $.extend(settings, options);
        if (settings.children === null)
            var elements = $(container).children();
        else
            var elements = $(container).children(settings.children);
        if (elements.length > 1) {
            $(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass);
            for (var i = 0; i < elements.length; i++) {
                $(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').hide();
            };
            if (settings.type == "sequence") {
                setTimeout(function() {
                    $.innerfade.next(elements, settings, 1, 0);
                }, settings.timeout);
                $(elements[0]).show();
            } else if (settings.type == "random") {
            		var last = Math.floor ( Math.random () * ( elements.length ) );
                setTimeout(function() {
                    do { 
												current = Math.floor ( Math.random ( ) * ( elements.length ) );
										} while (last == current );             
										$.innerfade.next(elements, settings, current, last);
                }, settings.timeout);
                $(elements[last]).show();
						} else if ( settings.type == 'random_start' ) {
								settings.type = 'sequence';
								var current = Math.floor ( Math.random () * ( elements.length ) );
								setTimeout(function(){
									$.innerfade.next(elements, settings, (current + 1) %  elements.length, current);
								}, settings.timeout);
								$(elements[current]).show();
						}	else {
							alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
						}
				}
    };

    $.innerfade.next = function(elements, settings, current, last) {
        if (settings.animationtype == 'slide') {
            $(elements[last]).slideUp(settings.speed);
            $(elements[current]).slideDown(settings.speed);
        } else if (settings.animationtype == 'fade') {
            $(elements[last]).fadeOut(settings.speed);
            $(elements[current]).fadeIn(settings.speed, function() {
							removeFilter($(this)[0]);
						});
        } else
            alert('Innerfade-animationtype must either be \'slide\' or \'fade\'');
        if (settings.type == "sequence") {
            if ((current + 1) < elements.length) {
                current = current + 1;
                last = current - 1;
            } else {
                current = 0;
                last = elements.length - 1;
            }
        } else if (settings.type == "random") {
            last = current;
            while (current == last)
                current = Math.floor(Math.random() * elements.length);
        } else
            alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
        setTimeout((function() {
            $.innerfade.next(elements, settings, current, last);
        }), settings.timeout);
    };

})(jQuery);

// **** remove Opacity-Filter in ie ****
function removeFilter(element) {
	if(element.style.removeAttribute){
		element.style.removeAttribute('filter');
	}
}






/**
 * JQuery form transform
 * 
 */

(function($){var l={preloadImg:true};var m=false;var n=function(a){a=a.replace(/^url\((.*)\)/,'$1').replace(/^\"(.*)\"$/,'$1');var b=new Image();b.src=a.replace(/\.([a-zA-Z]*)$/,'-hover.$1');var c=new Image();c.src=a.replace(/\.([a-zA-Z]*)$/,'-focus.$1')};var o=function(a){var b=$(a.get(0).form);var c=a.next();if(!c.is('label')){c=a.prev();if(c.is('label')){var d=a.attr('id');if(d){c=b.find('label[for="'+d+'"]')}}}if(c.is('label')){return c.css('cursor','pointer')}return false};var p=function(b){var c=$('.jqTransformSelectWrapper ul:visible');c.each(function(){var a=$(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);if(!(b&&a.oLabel&&a.oLabel.get(0)==b.get(0))){$(this).hide()}})};var q=function(a){if($(a.target).parents('.jqTransformSelectWrapper').length===0){p($(a.target))}};var r=function(){$(document).mousedown(q)};var s=function(f){var a;$('.jqTransformSelectWrapper select',f).each(function(){a=(this.selectedIndex<0)?0:this.selectedIndex;$('ul',$(this).parent()).each(function(){$('a:eq('+a+')',this).click()})});$('a.jqTransformCheckbox, a.jqTransformRadio',f).removeClass('jqTransformChecked');$('input:checkbox, input:radio',f).each(function(){if(this.checked){$('a',$(this).parent()).addClass('jqTransformChecked')}})};$.fn.jqTransInputButton=function(){return this.each(function(){$(this).replaceWith('<button id="'+this.id+'" name="'+this.name+'" type="'+this.type+'" class="'+this.className+' jqTransformButton"><span><span>'+$(this).attr('value')+'</span></span>')})};$.fn.jqTransInputText=function(){return this.each(function(){var a=$.browser.safari;var b=$(this);if(b.hasClass('jqtranformdone')||!b.is('input')){return}b.addClass('jqtranformdone');var c=o($(this));c&&c.bind('click',function(){b.focus()});var d=b.width();if(b.attr('size')){d=b.attr('size')*10;b.css('width',d)}b.addClass("jqTransformInput").wrap('<div class="jqTransformInputWrapper"><div class="jqTransformInputInner"><div></div></div></div>');var e=b.parent().parent().parent();e.css("width",d+10);b.focus(function(){e.addClass("jqTransformInputWrapper_focus")}).blur(function(){e.removeClass("jqTransformInputWrapper_focus")}).hover(function(){e.addClass("jqTransformInputWrapper_hover")},function(){e.removeClass("jqTransformInputWrapper_hover")});a&&e.addClass('jqTransformSafari');a&&b.css('width',e.width()+16);this.wrapper=e})};$.fn.jqTransCheckBox=function(){return this.each(function(){var b=$(this);var c=this;if(b.hasClass('jqTransformHidden')){return}var d=o(b);b.addClass('jqTransformHidden').wrap('<span class="jqTransformCheckboxWrapper"></span>');var e=b.parent();var f=$('<a href="#" class="jqTransformCheckbox"></a>');e.prepend(f);f.click(function(){var a=$(this);if(c.checked===true){c.checked=false;a.removeClass('jqTransformChecked')}else{c.checked=true;a.addClass('jqTransformChecked')}c.onchange&&c.onchange();return false});d&&d.click(function(){f.trigger('click')});this.checked&&f.addClass('jqTransformChecked')})};$.fn.jqTransRadio=function(){return this.each(function(){var b=$(this);var c=this;if(b.hasClass('jqTransformHidden')){return}oLabel=o(b);b.addClass('jqTransformHidden').wrap('<span class="jqTransformRadioWrapper"></span>');var d=b.parent();var e=$('<a href="#" class="jqTransformRadio" rel="'+this.name+'"></a>');d.prepend(e);e.each(function(){this.radioElem=c;$(this).click(function(){var a=$(this).addClass('jqTransformChecked');c.checked=true;$('a.jqTransformRadio[rel="'+a.attr('rel')+'"]',c.form).not(a).each(function(){$(this).removeClass('jqTransformChecked');this.radioElem.checked=false});c.onchange&&c.onchange();return false})});oLabel&&oLabel.click(function(){e.trigger('click')});c.checked&&e.addClass('jqTransformChecked')})};$.fn.jqTransTextarea=function(){return this.each(function(){var a=$(this);if(a.hasClass('jqtransformdone')){return}a.addClass('jqtransformdone');oLabel=o(a);oLabel&&oLabel.click(function(){a.focus()});var b='<table cellspacing="0" cellpadding="0" border="0" class="jqTransformTextarea">';b+='<tr><td id="jqTransformTextarea-tl">&nbsp;</td><td id="jqTransformTextarea-tm">&nbsp;</td><td id="jqTransformTextarea-tr">&nbsp;</td></tr>';b+='<tr><td id="jqTransformTextarea-ml">&nbsp;</td><td id="jqTransformTextarea-mm"><div></div></td><td id="jqTransformTextarea-mr">&nbsp;</td></tr>';b+='<tr><td id="jqTransformTextarea-bl">&nbsp;</td><td id="jqTransformTextarea-bm">&nbsp;</td><td id="jqTransformTextarea-br">&nbsp;</td></tr>';b+='</table>';var c=$(b).insertAfter(a).hover(function(){!c.hasClass('jqTransformTextarea-focus')&&c.addClass('jqTransformTextarea-hover')},function(){c.removeClass('jqTransformTextarea-hover')});a.focus(function(){c.removeClass('jqTransformTextarea-hover').addClass('jqTransformTextarea-focus')}).blur(function(){c.removeClass('jqTransformTextarea-focus')}).appendTo($('#jqTransformTextarea-mm div',c));this.oTable=c;if($.browser.safari){$('#jqTransformTextarea-mm',c).addClass('jqTransformSafariTextarea').find('div').css('height',a.height()).css('width',a.width())}})};$.fn.jqTransSelect=function(){return this.each(function(b){var c=$(this);if(c.hasClass('jqTransformHidden')){return}var d=o(c);c.addClass('jqTransformHidden').wrap('<div class="jqTransformSelectWrapper"></div>');var e=c.parent().css({zIndex:10-b});e.prepend('<div><span></span><a href="#" class="jqTransformSelectOpen"></a></div><ul></ul>');var f=$('ul',e).css('width',c.width());$('option',this).each(function(i){var a=$('<li><a href="#" index="'+i+'">'+$(this).html()+'</a></li>');f.append(a)});f.hide().find('a').click(function(){$('a.selected',e).removeClass('selected');$(this).addClass('selected');if(c[0].selectedIndex!=$(this).attr('index')&&c[0].onchange){c[0].selectedIndex=$(this).attr('index');c[0].onchange()}c[0].selectedIndex=$(this).attr('index');$('span:eq(0)',e).html($(this).html());f.hide();return false});$('a:eq('+this.selectedIndex+')',f).click();$('span:first',e).click(function(){$("a.jqTransformSelectOpen",e).trigger('click')});d&&d.click(function(){$("a.jqTransformSelectOpen",e).trigger('click')});this.oLabel=d;var g=$('a.jqTransformSelectOpen',e).click(function(){if(f.css('display')=='none'){p()}f.slideToggle('normal',function(){var a=($('a.selected',f).offset().top-f.offset().top);f.animate({scrollTop:a})});return false});var h=c.width();var j=$('span:first',e);var k=(h>j.innerWidth())?h+g.outerWidth():e.width();e.css('width',k);f.css('width',k-2);j.css('width',h)})};$.fn.jqTransform=function(h){var i=this;var j=$.browser.safari;var k=$.extend({},l,h);return this.each(function(){var b=$(this);if(b.hasClass('jqtransformdone')){return}b.addClass('jqtransformdone');$('input:submit, input:reset, input[type="button"]',this).jqTransInputButton();$('input:text, input:password',this).jqTransInputText();$('input:checkbox',this).jqTransCheckBox();$('input:radio',this).jqTransRadio();$('textarea',this).jqTransTextarea();if($('select',this).jqTransSelect().length>0){r()}b.bind('reset',function(){var a=function(){s(this)};window.setTimeout(a,10)});if(k.preloadImg&&!m){m=true;var c=$('input:text:first',b);if(c.length>0){var d=c.get(0).wrapper.css('background-image');n(d);var e=$('div.jqTransformInputInner',$(c.get(0).wrapper)).css('background-image');n(e)}var f=$('textarea',b);if(f.length>0){var g=f.get(0).oTable;$('td',g).each(function(){var a=$(this).css('background-image');n(a)})}}})}})(jQuery);