/* sprintf */
(function($){var formats={'%':function(val){return'%';},'b':function(val){return parseInt(val,10).toString(2);},'c':function(val){return String.fromCharCode(parseInt(val,10));},'d':function(val){return parseInt(val,10)?parseInt(val,10):0;},'u':function(val){return Math.abs(val);},'f':function(val,p){return(p>-1)?Math.round(parseFloat(val)*Math.pow(10,p))/Math.pow(10,p):parseFloat(val);},'o':function(val){return parseInt(val,10).toString(8);},'s':function(val){return val;},'x':function(val){return(''+parseInt(val,10).toString(16)).toLowerCase();},'X':function(val){return(''+parseInt(val,10).toString(16)).toUpperCase();}};var re=/%(?:(\d+)?(?:\.(\d+))?|\(([^)]+)\))([%bcdufosxX])/g;var dispatch=function(data){if(data.length==1&&typeof data[0]=='object'){data=data[0];return function(match,w,p,lbl,fmt,off,str){return formats[fmt](data[lbl]);};}else{var idx=0;return function(match,w,p,lbl,fmt,off,str){return formats[fmt](data[idx++],p);};}};$.extend({sprintf:function(format){var argv=Array.apply(null,arguments).slice(1);return format.replace(re,dispatch(argv));},vsprintf:function(format,data){return format.replace(re,dispatch(data));}});})(jQuery);
/*scrollto*/
(function(h){var m=h.scrollTo=function(b,c,g){h(window).scrollTo(b,c,g)};m.defaults={axis:'y',duration:1};m.window=function(b){return h(window).scrollable()};h.fn.scrollable=function(){return this.map(function(){var b=this.parentWindow||this.defaultView,c=this.nodeName=='#document'?b.frameElement||b:this,g=c.contentDocument||(c.contentWindow||c).document,i=c.setInterval;return c.nodeName=='IFRAME'||i&&h.browser.safari?g.body:i?g.documentElement:this})};h.fn.scrollTo=function(r,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};a=h.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=h(k),d=r,l,e={},p=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(d)){d=n(d);break}d=h(d,this);case'object':if(d.is||d.style)l=(d=h(d)).offset()}h.each(a.axis.split(''),function(b,c){var g=c=='x'?'Left':'Top',i=g.toLowerCase(),f='scroll'+g,s=k[f],t=c=='x'?'Width':'Height',v=t.toLowerCase();if(l){e[f]=l[i]+(p?0:s-o.offset()[i]);if(a.margin){e[f]-=parseInt(d.css('margin'+g))||0;e[f]-=parseInt(d.css('border'+g+'Width'))||0}e[f]+=a.offset[i]||0;if(a.over[i])e[f]+=d[v]()*a.over[i]}else e[f]=d[i];if(/^\d+$/.test(e[f]))e[f]=e[f]<=0?0:Math.min(e[f],u(t));if(!b&&a.queue){if(s!=e[f])q(a.onAfterFirst);delete e[f]}});q(a.onAfter);function q(b){o.animate(e,j,a.easing,b&&function(){b.call(this,r,a)})};function u(b){var c='scroll'+b,g=k.ownerDocument;return p?Math.max(g.documentElement[c],g.body[c]):k[c]}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);
/*headlines*/
(function($){jQuery.fn.liScroll=function(settings){settings=jQuery.extend({travelocity: 0.07},settings);return this.each(function(){var $strip=jQuery(this);$strip.addClass("newsticker");var stripWidth=0;var containerWidth=$strip.parent().width();$strip.find("li").each(function(i){stripWidth += jQuery(this,i).width();});$strip.css("left",containerWidth);$strip.width(stripWidth);var defTiming=stripWidth/settings.travelocity;var totalTravel=stripWidth+containerWidth;function scrollnews(spazio,tempo){$strip.animate({left:'-='+spazio},tempo,"linear",function(){$strip.css("left",containerWidth);scrollnews(totalTravel,defTiming);});}scrollnews(totalTravel,defTiming);$strip.hover(function(){jQuery(this).stop();},function(){var offset=jQuery(this).offset();residualSpace=offset.left+stripWidth;var residualTime=residualSpace/settings.travelocity;scrollnews(residualSpace,residualTime);});});};})(jQuery);
/*set 3 input for telephone number */
(function($){jQuery.fn.telephone=function(settings){return this.each(function(){jQuery(this).keyup(_truncatevalue);});function _truncatevalue(){var input=this;var $value=jQuery(input).attr("value");var $valuelength=$value.length;var $name=jQuery(input).attr("name");var $maxlength=jQuery(input).attr("maxlength");if($valuelength>$maxlength){$value=$value.substr(1);}if($maxlength==$valuelength){do{input=input.nextSibling;}while(input&&$(input).attr("name")!=$name);if(input&&input!="undefined"&&input!=null){input.focus();}}}};})(jQuery);
/*input with default value*/
(function($){
$.fn.clickclear = function()
{
	return this.each(function()
	{
		$(this).bind("click focus",$.fn.clickclear.focus)
			.bind("blur",$.fn.clickclear.blur)
			.trigger("blur");
	});
	
};

$.fn.clickclear.focus = function()
{
	if(this.value == $(this).attr('default'))
	{
		$(this).val("");
		$(this).css({color:'#000'});
		return;
	}
	
};
$.fn.clickclear.blur = function()
{
	if(empty(this.value))
	{
		$(this).val($(this).attr('default'));
		$(this).css({color:'#000'});
		return;
	}
};

})(jQuery);

/* popup*/
(function($){jQuery.fn.popup=function(options){o=jQuery.extend({},jQuery.fn.popup.settings,options);return this.each(function(){jQuery(this).click(_popup).attr({rel:jQuery(this).attr("href"),href:"javascript:;"});});};function _popup(){if(o.url==""){o.url=jQuery(this).attr("rel");}var id=new Date().getTime();eval("page"+id+" = window.open('"+o.url+"', '"+id+"', 'toolbar="+o.toolbar+",scrollbars="+o.scrollbars+",location="+o.location+",statusbar="+o.statusbar+",menubar="+o.menubar+",resizable="+o.resizable+",width="+o.width+",height="+o.height+",left="+o.left+",top="+o.top+"');");return false;}jQuery.fn.popup.settings={url:"",toolbar:0,scrollbars:0,location:0,statusbars:0,menubar:0,resizable:0,width:400,height:300,left:0,top:0};})(jQuery);
/* txt counter */
(function($){var i=0;jQuery.fn.txtcounter=function(options){o=jQuery.extend({},jQuery.fn.txtcounter.settings,options);return this.each(function(){var input=this;var maxlimit=$(input).attr("maxlength");var value=$(input).attr("value");var val=maxlimit-value.length;jQuery("<div style='font-size:10px;' class='txtcounter'>"+o.string[o.lg]+"<span id='txtcounter_"+jQuery(input).attr("name")+"' style='"+o.color+";padding-left:5px;'>"+val+"</span></div>").insertAfter(input);jQuery(input).keyup(_textCounter);++i;});};jQuery.fn.txtcounter.settings={string:{fr:"Caracteres restant:",en:"Characters left:"},lg:"fr",colorAfter:"#ff0000",color:"#000"};function _textCounter(){var input=jQuery(this);var maxlimit=input.attr("maxlength");var value=input.attr("value");var cntfield=$("#txtcounter_"+input.attr("name"));if(value.length>maxlimit){input.attr({value:value.substring(0,maxlimit)});cntfield.css({color:o.colorAfter});cntfield.html("0");}else{cntfield.html(maxlimit-value.length);cntfield.css({color:o.color});}}})(jQuery);
/* slide */
(function($){jQuery.fn.slide=function(settings){o=jQuery.extend({},jQuery.fn.slide.settings,settings);jQuery(this).each(function(){$this=jQuery(this);$this.find("a").click(_changeimg);});jQuery(o.responder).find("a").prettyPhoto(jQuery.fn.slide.prettyphotosettings);};function _changeimg(){var $a=jQuery(this);var $img=$a.find("img:eq(0)");var $title=!$a.attr("title")?"":$a.attr("title");var $alt = !$img.attr("alt")?"":$img.attr("alt");var $resp=jQuery(o.responder);$resp.fadeOut(o.fadetime,function(){var $this=jQuery(this);$this.html("<a href='"+$a.attr("rel")+"' title='"+$title+"' ><img src='"+$a.attr("href")+"' alt='"+$alt+"' title='"+$title+"' class='brd' /></a>").fadeIn(o.fadetime).find("a").prettyPhoto(jQuery.fn.slide.prettyphotosettings);});return false;}jQuery.fn.slide.prettyphotosettings={animationSpeed:'normal',padding:40,opacity:0.8,showTitle:false,allowresize:true};jQuery.fn.slide.settings={responder:"",fadetime:500};})(jQuery);
/* pulsate */
(function($){$.effects.pulsate=function(o){return this.queue(function(){var el=$(this);var mode=$.effects.setMode(el,o.options.mode||'show');var times=o.options.times||5;if(mode=='hide')times--;if(el.is(':hidden')){el.css('opacity',0.5);el.show();el.animate({opacity:1},o.duration/2,o.options.easing);times=times-2;}for(var i=0;i<times;i++){el.animate({opacity:0},o.duration/2,o.options.easing).animate({opacity:1},o.duration/2,o.options.easing);};if(mode=='hide'){el.animate({opacity:0},o.duration/2,o.options.easing,function(){el.hide();if(o.callback)o.callback.apply(this,arguments);});}else{el.animate({opacity:0},o.duration/2,o.options.easing).animate({opacity:1},o.duration/2,o.options.easing,function(){if(o.callback)o.callback.apply(this,arguments);});};el.queue('fx',function(){el.dequeue();});el.dequeue();});};})(jQuery);
/* base64 encode and decode */
(function($){var keyString="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var uTF8Encode=function(string){string=string.replace(/\x0d\x0a/g,"\x0a");var output="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){output+=String.fromCharCode(c);}else if((c>127)&&(c<2048)){output+=String.fromCharCode((c>>6)|192);output+=String.fromCharCode((c&63)|128);}else{output+=String.fromCharCode((c>>12)|224);output+=String.fromCharCode(((c>>6)&63)|128);output+=String.fromCharCode((c&63)|128);}}return output;};var uTF8Decode=function(input){var string="";var i=0;var c=c1=c2=0;while(i<input.length){c=input.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}else if((c>191)&&(c<224)){c2=input.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}else{c2=input.charCodeAt(i+1);c3=input.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}return string;};$.extend({base64encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=uTF8Encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;}output=output+keyString.charAt(enc1)+keyString.charAt(enc2)+keyString.charAt(enc3)+keyString.charAt(enc4);}return output;},base64decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<input.length){enc1=keyString.indexOf(input.charAt(i++));enc2=keyString.indexOf(input.charAt(i++));enc3=keyString.indexOf(input.charAt(i++));enc4=keyString.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);}if(enc4!=64){output=output+String.fromCharCode(chr3);}}output=uTF8Decode(output);return output;}});})(jQuery);


/* custom form reset() for jQuery */
(function($){$.fn.reset=function(){return this.each(function(){if(this.nodeName=="FORM"){var $form=this;$("input[type=text],input[type=password],textarea,select",$form).each(function(){$(this).val("");});}});};})(jQuery);
/* urlencode and decode */
function urlencode(str){var histogram={},tmp_arr=[];var ret=str.toString();var replacer=function(search,replace,str){var tmp_arr=[];tmp_arr=str.split(search);return tmp_arr.join(replace);};histogram["'"]='%27';histogram['(']='%28';histogram[')']='%29';histogram['*']='%2A';histogram['~']='%7E';histogram['!']='%21';histogram['%20']='+';ret=encodeURIComponent(ret);for(search in histogram){replace=histogram[search];ret=replacer(search,replace,ret)}return ret.replace(/(\%([a-z0-9]{2}))/g,function(full,m1,m2){return"%"+m2.toUpperCase();});return ret;}
/* serialize an object */
function serialize(obj,indentValue){var hexDigits="0123456789ABCDEF";function ToHex(d){return hexDigits[d>>8]+hexDigits[d&0x0F];}function Escape(string){return string.replace(/[\x00-\x1F'\\]/g,function(x){if(x=="'"||x=="\\")return"\\"+x;return"\\x"+ToHex(String.charCodeAt(x,0));})}var indent;if(indentValue==null){indentValue="";indent="";}else{indent="\n";}return GetObject(obj,indent).replace(/,$/,"");function GetObject(obj,indent){if(typeof obj=='string'){return"'"+Escape(obj)+"',";}if(obj instanceof Array){result=indent+"[";for(var i=0;i<obj.length;i++){result+=indent+indentValue+GetObject(obj[i],indent+indentValue);}result+=indent+"],";return result;}var result="";if(typeof obj=='object'){result+=indent+"{";for(var property in obj){result+=indent+indentValue+"'"+Escape(property)+"' : "+GetObject(obj[property],indent+indentValue);}result+=indent+"},";}else{result+=obj+",";}return result.replace(/,(\n?\s*)([\]}])/g,"$1$2");}}
/* is empty*/
function empty($value){return ($value.replace(/[\s\t\n\r]+/g,'')=='');}
/* nl2br */
function nl2br(str){return str.replace(/\n/g,"<br />");}

