(function(e){e.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(b,a){this.defaults.type=b;this.defaults.name=a},get:function(b,a){a=e.extend({},this.defaults,a);if(!a.single.length)a.single="metadata";var c=e.data(b,a.single);if(c)return c;c="{}";var h=function(d){if(typeof d!="string")return d;return d=eval("("+d+")")};if(a.type=="html5"){var g={};e(b.attributes).each(function(){var d=this.nodeName;if(d.match(/^data-/))d=d.replace(/^data-/, "");else return true;g[d]=h(this.nodeValue)})}else{if(a.type=="class"){var f=a.cre.exec(b.className);if(f)c=f[1]}else if(a.type=="elem"){if(!b.getElementsByTagName)return;f=b.getElementsByTagName(a.name);if(f.length)c=e.trim(f[0].innerHTML)}else if(b.getAttribute!=undefined)if(f=b.getAttribute(a.name))c=f;g=h(c.indexOf("{")<0?"{"+c+"}":c)}e.data(b,a.single,g);return g}}});e.fn.metadata=function(b){return e.metadata.get(this[0],b)}})(jQuery);;
(function($){$.dm={defaults:{ajaxData:{dm_cpi:dm_configuration.page_id||0,dm_xhr:1}},base:{}};$.ajaxSetup({global:false,timeout:false,type:"GET",cache:false,data:$.dm.defaults.ajaxData});if($.datepicker)
{$.datepicker.setDefaults($.datepicker.regional[dm_configuration.culture]);}
if($.blockUI)
{$.blockUI.defaults=$.extend($.blockUI.defaults,{css:{},overlayCSS:{},message:' ',fadeIn:0,fadeOut:0});}
if($.fn.tipsy)
{$.fn.tipsy.elementOptions=function(elem,options){return options;};$.fn.tipsy.defaults.delayIn=500;$.fn.tipsy.autoNorth=function(){return $(this).offset().left>100?($(this).offset().left<($(window).width()-100)?'n':'e'):'w';};$.fn.tipsy.autoSouth=function(){return $(this).offset().left>100?($(this).offset().left<($(window).width()-100)?'s':'e'):'w';};}})(jQuery);;
(function($)
{$.dbg=function()
{if(typeof console!=='object'||($.dm.ctrl&&$.dm.ctrl.options&&!$.dm.ctrl.options.debug))
{return;}
try
{console.debug(arguments);}
catch(e)
{}};$.loadStylesheets=function(stylesheets)
{$.each(stylesheets,function()
{if(!$('link[rel=stylesheet][href='+this+']').length)
{$("head").append('<link rel="stylesheet" href="'+this+'">');}});};$.fn.extend({orNot:function()
{return this.length==0?false:this;},rebind:function(type,data,fn)
{return this.unbind(type,fn).bind(type,data,fn);},bindKey:function(key,fn)
{if(!window.hotkeys)
{return this;}
return this.bind('keydown',key,function(e)
{e.stopPropagation();return fn(e);});},unbindKey:function(key)
{if(!window.hotkeys)
{return this;}
return this.unbind('keydown',key);}});})(jQuery);;
(function($)
{$.dm.coreCtrl={getHref:function(action)
{return this.options.script_name+action;}};$(function()
{$.dm.ctrl.options=$.extend($.dm.defaults,dm_configuration);$.dm.ctrl.init();});})(jQuery);;
(function($)
{$.dm.ctrl=$.extend($.dm.coreCtrl,{init:function()
{$('#dm_page div.dm_widget').trigger('dmWidgetLaunch');}});})(jQuery);;
(function(jQuery,document,window){var
defaults={transition:"elastic",speed:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,inline:false,html:false,iframe:false,fastIframe:true,photo:false,href:false,title:false,rel:false,opacity:0.9,preloading:true,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:false,returnFocus:true,reposition:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,overlayClose:true,escKey:true,arrowKey:true,top:false,bottom:false,left:false,right:false,fixed:false,data:undefined},colorbox='colorbox',prefix='cbox',boxElement=prefix+'Element',event_open=prefix+'_open',event_load=prefix+'_load',event_complete=prefix+'_complete',event_cleanup=prefix+'_cleanup',event_closed=prefix+'_closed',event_purge=prefix+'_purge',isIE=!jQuery.support.opacity&&!jQuery.support.style,isIE6=isIE&&!window.XMLHttpRequest,event_ie6=prefix+'_IE6',jQueryoverlay,jQuerybox,jQuerywrap,jQuerycontent,jQuerytopBorder,jQueryleftBorder,jQueryrightBorder,jQuerybottomBorder,jQueryrelated,jQuerywindow,jQueryloaded,jQueryloadingBay,jQueryloadingOverlay,jQuerytitle,jQuerycurrent,jQueryslideshow,jQuerynext,jQueryprev,jQueryclose,jQuerygroupControls,settings,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,element,index,photo,open,active,closing,loadingTimer,publicMethod,div="div",init;function jQuerytag(tag,id,css){var element=document.createElement(tag);if(id){element.id=prefix+id;}
if(css){element.style.cssText=css;}
return jQuery(element);}
function getIndex(increment){var
max=jQueryrelated.length,newIndex=(index+increment)%max;return(newIndex<0)?max+newIndex:newIndex;}
function setSize(size,dimension){return Math.round((/%/.test(size)?((dimension==='x'?jQuerywindow.width():jQuerywindow.height())/100):1)*parseInt(size,10));}
function isImage(url){return settings.photo||/\.(gif|png|jpe?g|bmp|ico)((#|\?).*)?jQuery/i.test(url);}
function makeSettings(){var i;settings=jQuery.extend({},jQuery.data(element,colorbox));for(i in settings){if(jQuery.isFunction(settings[i])&&i.slice(0,2)!=='on'){settings[i]=settings[i].call(element);}}
settings.rel=settings.rel||element.rel||'nofollow';settings.href=settings.href||jQuery(element).attr('href');settings.title=settings.title||element.title;if(typeof settings.href==="string"){settings.href=jQuery.trim(settings.href);}}
function trigger(event,callback){jQuery.event.trigger(event);if(callback){callback.call(element);}}
function slideshow(){var
timeOut,className=prefix+"Slideshow_",click="click."+prefix,start,stop,clear;if(settings.slideshow&&jQueryrelated[1]){start=function(){jQueryslideshow.text(settings.slideshowStop).unbind(click).bind(event_complete,function(){if(settings.loop||jQueryrelated[index+1]){timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed);}}).bind(event_load,function(){clearTimeout(timeOut);}).one(click+' '+event_cleanup,stop);jQuerybox.removeClass(className+"off").addClass(className+"on");timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed);};stop=function(){clearTimeout(timeOut);jQueryslideshow.text(settings.slideshowStart).unbind([event_complete,event_load,event_cleanup,click].join(' ')).one(click,function(){publicMethod.next();start();});jQuerybox.removeClass(className+"on").addClass(className+"off");};if(settings.slideshowAuto){start();}else{stop();}}else{jQuerybox.removeClass(className+"off "+className+"on");}}
function launch(target){if(!closing){element=target;makeSettings();jQueryrelated=jQuery(element);index=0;if(settings.rel!=='nofollow'){jQueryrelated=jQuery('.'+boxElement).filter(function(){var relRelated=jQuery.data(this,colorbox).rel||this.rel;return(relRelated===settings.rel);});index=jQueryrelated.index(element);if(index===-1){jQueryrelated=jQueryrelated.add(element);index=jQueryrelated.length-1;}}
if(!open){open=active=true;jQuerybox.show();if(settings.returnFocus){jQuery(element).blur().one(event_closed,function(){jQuery(this).focus();});}
jQueryoverlay.css({"opacity":+settings.opacity,"cursor":settings.overlayClose?"pointer":"auto"}).show();settings.w=setSize(settings.initialWidth,'x');settings.h=setSize(settings.initialHeight,'y');publicMethod.position();if(isIE6){jQuerywindow.bind('resize.'+event_ie6+' scroll.'+event_ie6,function(){jQueryoverlay.css({width:jQuerywindow.width(),height:jQuerywindow.height(),top:jQuerywindow.scrollTop(),left:jQuerywindow.scrollLeft()});}).trigger('resize.'+event_ie6);}
trigger(event_open,settings.onOpen);jQuerygroupControls.add(jQuerytitle).hide();jQueryclose.html(settings.close).show();}
publicMethod.load(true);}}
function appendHTML(){if(!jQuerybox&&document.body){init=false;jQuerywindow=jQuery(window);jQuerybox=jQuerytag(div).attr({id:colorbox,'class':isIE?prefix+(isIE6?'IE6':'IE'):''}).hide();jQueryoverlay=jQuerytag(div,"Overlay",isIE6?'position:absolute':'').hide();jQuerywrap=jQuerytag(div,"Wrapper");jQuerycontent=jQuerytag(div,"Content").append(jQueryloaded=jQuerytag(div,"LoadedContent",'width:0; height:0; overflow:hidden'),jQueryloadingOverlay=jQuerytag(div,"LoadingOverlay").add(jQuerytag(div,"LoadingGraphic")),jQuerytitle=jQuerytag(div,"Title"),jQuerycurrent=jQuerytag(div,"Current"),jQuerynext=jQuerytag(div,"Next"),jQueryprev=jQuerytag(div,"Previous"),jQueryslideshow=jQuerytag(div,"Slideshow").bind(event_open,slideshow),jQueryclose=jQuerytag(div,"Close"));jQuerywrap.append(jQuerytag(div).append(jQuerytag(div,"TopLeft"),jQuerytopBorder=jQuerytag(div,"TopCenter"),jQuerytag(div,"TopRight")),jQuerytag(div,false,'clear:left').append(jQueryleftBorder=jQuerytag(div,"MiddleLeft"),jQuerycontent,jQueryrightBorder=jQuerytag(div,"MiddleRight")),jQuerytag(div,false,'clear:left').append(jQuerytag(div,"BottomLeft"),jQuerybottomBorder=jQuerytag(div,"BottomCenter"),jQuerytag(div,"BottomRight"))).find('div div').css({'float':'left'});jQueryloadingBay=jQuerytag(div,false,'position:absolute; width:9999px; visibility:hidden; display:none');jQuerygroupControls=jQuerynext.add(jQueryprev).add(jQuerycurrent).add(jQueryslideshow);jQuery(document.body).append(jQueryoverlay,jQuerybox.append(jQuerywrap,jQueryloadingBay));}}
function addBindings(){if(jQuerybox){if(!init){init=true;interfaceHeight=jQuerytopBorder.height()+jQuerybottomBorder.height()+jQuerycontent.outerHeight(true)-jQuerycontent.height();interfaceWidth=jQueryleftBorder.width()+jQueryrightBorder.width()+jQuerycontent.outerWidth(true)-jQuerycontent.width();loadedHeight=jQueryloaded.outerHeight(true);loadedWidth=jQueryloaded.outerWidth(true);jQuerybox.css({"padding-bottom":interfaceHeight,"padding-right":interfaceWidth});jQuerynext.click(function(){publicMethod.next();});jQueryprev.click(function(){publicMethod.prev();});jQueryclose.click(function(){publicMethod.close();});jQueryoverlay.click(function(){if(settings.overlayClose){publicMethod.close();}});jQuery(document).bind('keydown.'+prefix,function(e){var key=e.keyCode;if(open&&settings.escKey&&key===27){e.preventDefault();publicMethod.close();}
if(open&&settings.arrowKey&&jQueryrelated[1]){if(key===37){e.preventDefault();jQueryprev.click();}else if(key===39){e.preventDefault();jQuerynext.click();}}});jQuery('.'+boxElement,document).live('click',function(e){if(!(e.which>1||e.shiftKey||e.altKey||e.metaKey)){e.preventDefault();launch(this);}});}
return true;}
return false;}
if(jQuery.colorbox){return;}
jQuery(appendHTML);publicMethod=jQuery.fn[colorbox]=jQuery[colorbox]=function(options,callback){var jQuerythis=this;options=options||{};appendHTML();if(addBindings()){if(!jQuerythis[0]){if(jQuerythis.selector){return jQuerythis;}
jQuerythis=jQuery('<a/>');options.open=true;}
if(callback){options.onComplete=callback;}
jQuerythis.each(function(){jQuery.data(this,colorbox,jQuery.extend({},jQuery.data(this,colorbox)||defaults,options));}).addClass(boxElement);if((jQuery.isFunction(options.open)&&options.open.call(jQuerythis))||options.open){launch(jQuerythis[0]);}}
return jQuerythis;};publicMethod.position=function(speed,loadedCallback){var
top=0,left=0,offset=jQuerybox.offset(),scrollTop=jQuerywindow.scrollTop(),scrollLeft=jQuerywindow.scrollLeft();jQuerywindow.unbind('resize.'+prefix);jQuerybox.css({top:-9e4,left:-9e4});if(settings.fixed&&!isIE6){offset.top-=scrollTop;offset.left-=scrollLeft;jQuerybox.css({position:'fixed'});}else{top=scrollTop;left=scrollLeft;jQuerybox.css({position:'absolute'});}
if(settings.right!==false){left+=Math.max(jQuerywindow.width()-settings.w-loadedWidth-interfaceWidth-setSize(settings.right,'x'),0);}else if(settings.left!==false){left+=setSize(settings.left,'x');}else{left+=Math.round(Math.max(jQuerywindow.width()-settings.w-loadedWidth-interfaceWidth,0)/2);}
if(settings.bottom!==false){top+=Math.max(jQuerywindow.height()-settings.h-loadedHeight-interfaceHeight-setSize(settings.bottom,'y'),0);}else if(settings.top!==false){top+=setSize(settings.top,'y');}else{top+=Math.round(Math.max(jQuerywindow.height()-settings.h-loadedHeight-interfaceHeight,0)/2);}
jQuerybox.css({top:offset.top,left:offset.left});speed=(jQuerybox.width()===settings.w+loadedWidth&&jQuerybox.height()===settings.h+loadedHeight)?0:speed||0;jQuerywrap[0].style.width=jQuerywrap[0].style.height="9999px";function modalDimensions(that){jQuerytopBorder[0].style.width=jQuerybottomBorder[0].style.width=jQuerycontent[0].style.width=that.style.width;jQuerycontent[0].style.height=jQueryleftBorder[0].style.height=jQueryrightBorder[0].style.height=that.style.height;}
jQuerybox.dequeue().animate({width:settings.w+loadedWidth,height:settings.h+loadedHeight,top:top,left:left},{duration:speed,complete:function(){modalDimensions(this);active=false;jQuerywrap[0].style.width=(settings.w+loadedWidth+interfaceWidth)+"px";jQuerywrap[0].style.height=(settings.h+loadedHeight+interfaceHeight)+"px";if(settings.reposition){setTimeout(function(){jQuerywindow.bind('resize.'+prefix,publicMethod.position);},1);}
if(loadedCallback){loadedCallback();}},step:function(){modalDimensions(this);}});};publicMethod.resize=function(options){if(open){options=options||{};if(options.width){settings.w=setSize(options.width,'x')-loadedWidth-interfaceWidth;}
if(options.innerWidth){settings.w=setSize(options.innerWidth,'x');}
jQueryloaded.css({width:settings.w});if(options.height){settings.h=setSize(options.height,'y')-loadedHeight-interfaceHeight;}
if(options.innerHeight){settings.h=setSize(options.innerHeight,'y');}
if(!options.innerHeight&&!options.height){jQueryloaded.css({height:"auto"});settings.h=jQueryloaded.height();}
jQueryloaded.css({height:settings.h});publicMethod.position(settings.transition==="none"?0:settings.speed);}};publicMethod.prep=function(object){if(!open){return;}
var callback,speed=settings.transition==="none"?0:settings.speed;jQueryloaded.remove();jQueryloaded=jQuerytag(div,'LoadedContent').append(object);function getWidth(){settings.w=settings.w||jQueryloaded.width();settings.w=settings.mw&&settings.mw<settings.w?settings.mw:settings.w;return settings.w;}
function getHeight(){settings.h=settings.h||jQueryloaded.height();settings.h=settings.mh&&settings.mh<settings.h?settings.mh:settings.h;return settings.h;}
jQueryloaded.hide().appendTo(jQueryloadingBay.show()).css({width:getWidth(),overflow:settings.scrolling?'auto':'hidden'}).css({height:getHeight()}).prependTo(jQuerycontent);jQueryloadingBay.hide();jQuery(photo).css({'float':'none'});if(isIE6){jQuery('select').not(jQuerybox.find('select')).filter(function(){return this.style.visibility!=='hidden';}).css({'visibility':'hidden'}).one(event_cleanup,function(){this.style.visibility='inherit';});}
callback=function(){var preload,i,total=jQueryrelated.length,iframe,frameBorder='frameBorder',allowTransparency='allowTransparency',complete,src,img;if(!open){return;}
function removeFilter(){if(isIE){jQuerybox[0].style.removeAttribute('filter');}}
complete=function(){clearTimeout(loadingTimer);jQueryloadingOverlay.hide();trigger(event_complete,settings.onComplete);};if(isIE){if(photo){jQueryloaded.fadeIn(100);}}
jQuerytitle.html(settings.title).add(jQueryloaded).show();if(total>1){if(typeof settings.current==="string"){jQuerycurrent.html(settings.current.replace('{current}',index+1).replace('{total}',total)).show();}
jQuerynext[(settings.loop||index<total-1)?"show":"hide"]().html(settings.next);jQueryprev[(settings.loop||index)?"show":"hide"]().html(settings.previous);if(settings.slideshow){jQueryslideshow.show();}
if(settings.preloading){preload=[getIndex(-1),getIndex(1)];while(i=jQueryrelated[preload.pop()]){src=jQuery.data(i,colorbox).href||i.href;if(jQuery.isFunction(src)){src=src.call(i);}
if(isImage(src)){img=new Image();img.src=src;}}}}else{jQuerygroupControls.hide();}
if(settings.iframe){iframe=jQuerytag('iframe')[0];if(frameBorder in iframe){iframe[frameBorder]=0;}
if(allowTransparency in iframe){iframe[allowTransparency]="true";}
iframe.name=prefix+(+new Date());if(settings.fastIframe){complete();}else{jQuery(iframe).one('load',complete);}
iframe.src=settings.href;if(!settings.scrolling){iframe.scrolling="no";}
jQuery(iframe).addClass(prefix+'Iframe').appendTo(jQueryloaded).one(event_purge,function(){iframe.src="//about:blank";});}else{complete();}
if(settings.transition==='fade'){jQuerybox.fadeTo(speed,1,removeFilter);}else{removeFilter();}};if(settings.transition==='fade'){jQuerybox.fadeTo(speed,0,function(){publicMethod.position(0,callback);});}else{publicMethod.position(speed,callback);}};publicMethod.load=function(launched){var href,setResize,prep=publicMethod.prep;active=true;photo=false;element=jQueryrelated[index];if(!launched){makeSettings();}
trigger(event_purge);trigger(event_load,settings.onLoad);settings.h=settings.height?setSize(settings.height,'y')-loadedHeight-interfaceHeight:settings.innerHeight&&setSize(settings.innerHeight,'y');settings.w=settings.width?setSize(settings.width,'x')-loadedWidth-interfaceWidth:settings.innerWidth&&setSize(settings.innerWidth,'x');settings.mw=settings.w;settings.mh=settings.h;if(settings.maxWidth){settings.mw=setSize(settings.maxWidth,'x')-loadedWidth-interfaceWidth;settings.mw=settings.w&&settings.w<settings.mw?settings.w:settings.mw;}
if(settings.maxHeight){settings.mh=setSize(settings.maxHeight,'y')-loadedHeight-interfaceHeight;settings.mh=settings.h&&settings.h<settings.mh?settings.h:settings.mh;}
href=settings.href;loadingTimer=setTimeout(function(){jQueryloadingOverlay.show();},100);if(settings.inline){jQuerytag(div).hide().insertBefore(jQuery(href)[0]).one(event_purge,function(){jQuery(this).replaceWith(jQueryloaded.children());});prep(jQuery(href));}else if(settings.iframe){prep(" ");}else if(settings.html){prep(settings.html);}else if(isImage(href)){jQuery(photo=new Image()).addClass(prefix+'Photo').error(function(){settings.title=false;prep(jQuerytag(div,'Error').text('This image could not be loaded'));}).load(function(){var percent;photo.onload=null;if(settings.scalePhotos){setResize=function(){photo.height-=photo.height*percent;photo.width-=photo.width*percent;};if(settings.mw&&photo.width>settings.mw){percent=(photo.width-settings.mw)/photo.width;setResize();}
if(settings.mh&&photo.height>settings.mh){percent=(photo.height-settings.mh)/photo.height;setResize();}}
if(settings.h){photo.style.marginTop=Math.max(settings.h-photo.height,0)/2+'px';}
if(jQueryrelated[1]&&(settings.loop||jQueryrelated[index+1])){photo.style.cursor='pointer';photo.onclick=function(){publicMethod.next();};}
if(isIE){photo.style.msInterpolationMode='bicubic';}
setTimeout(function(){prep(photo);},1);});setTimeout(function(){photo.src=href;},1);}else if(href){jQueryloadingBay.load(href,settings.data,function(data,status,xhr){prep(status==='error'?jQuerytag(div,'Error').text('Request unsuccessful: '+xhr.statusText):jQuery(this).contents());});}};publicMethod.next=function(){if(!active&&jQueryrelated[1]&&(settings.loop||jQueryrelated[index+1])){index=getIndex(1);publicMethod.load();}};publicMethod.prev=function(){if(!active&&jQueryrelated[1]&&(settings.loop||index)){index=getIndex(-1);publicMethod.load();}};publicMethod.close=function(){if(open&&!closing){closing=true;open=false;trigger(event_cleanup,settings.onCleanup);jQuerywindow.unbind('.'+prefix+' .'+event_ie6);jQueryoverlay.fadeTo(200,0);jQuerybox.stop().fadeTo(300,0,function(){jQuerybox.add(jQueryoverlay).css({'opacity':1,cursor:'auto'}).hide();trigger(event_purge);jQueryloaded.remove();setTimeout(function(){closing=false;trigger(event_closed,settings.onClosed);},1);});}};publicMethod.remove=function(){jQuery([]).add(jQuerybox).add(jQueryoverlay).remove();jQuerybox=null;jQuery('.'+boxElement).removeData(colorbox).removeClass(boxElement).die();};publicMethod.element=function(){return jQuery(element);};publicMethod.settings=defaults;}(jQuery,document,this));;
(function($){if($.fn.carouFredSel)return;$.fn.carouFredSel=function(options,configs){if(this.length==0){debug(true,'No element found for "'+this.selector+'".');return this;}
if(this.length>1){return this.each(function(){$(this).carouFredSel(options,configs);});}
var $cfs=this,$tt0=this[0];if($cfs.data('cfs_isCarousel')){var starting_position=$cfs.triggerHandler('_cfs_currentPosition');$cfs.trigger('_cfs_destroy',true);}else{var starting_position=false;}
$cfs._cfs_init=function(o,setOrig,start){o=go_getObject($tt0,o);if(o.debug){conf.debug=o.debug;debug(conf,'The "debug" option should be moved to the second configuration-object.');}
var obs=['items','scroll','auto','prev','next','pagination'];for(var a=0,l=obs.length;a<l;a++){o[obs[a]]=go_getObject($tt0,o[obs[a]]);}
if(typeof o.scroll=='number'){if(o.scroll<=50)o.scroll={'items':o.scroll};else o.scroll={'duration':o.scroll};}else{if(typeof o.scroll=='string')o.scroll={'easing':o.scroll};}
if(typeof o.items=='number')o.items={'visible':o.items};else if(o.items=='variable')o.items={'visible':o.items,'width':o.items,'height':o.items};if(typeof o.items!='object')o.items={};if(setOrig)opts_orig=$.extend(true,{},$.fn.carouFredSel.defaults,o);opts=$.extend(true,{},$.fn.carouFredSel.defaults,o);if(typeof opts.items.visibleConf!='object')opts.items.visibleConf={};if(opts.items.start==0&&typeof start=='number'){opts.items.start=start;}
crsl.direction=(opts.direction=='up'||opts.direction=='left')?'next':'prev';var dims=[['width','innerWidth','outerWidth','height','innerHeight','outerHeight','left','top','marginRight',0,1,2,3],['height','innerHeight','outerHeight','width','innerWidth','outerWidth','top','left','marginBottom',3,2,1,0]];var dn=dims[0].length,dx=(opts.direction=='right'||opts.direction=='left')?0:1;opts.d={};for(var d=0;d<dn;d++){opts.d[dims[0][d]]=dims[dx][d];}
var all_itm=$cfs.children();if(typeof opts.items.filter=='undefined'){opts.items.filter=(all_itm.filter(':hidden').length>0)?':visible':'*';}
if(opts[opts.d['width']]=='auto'){var lrgst=ms_getTrueLargestSize(all_itm,opts,'outerWidth');opts[opts.d['width']]=lrgst;}
if(opts[opts.d['height']]=='auto'){var lrgst=ms_getTrueLargestSize(all_itm,opts,'outerHeight');opts[opts.d['height']]=lrgst;}
if(!opts.items[opts.d['width']]){opts.items[opts.d['width']]=(ms_hasVariableSizes(all_itm,opts,'outerWidth'))?'variable':all_itm[opts.d['outerWidth']](true);}
if(!opts.items[opts.d['height']]){opts.items[opts.d['height']]=(ms_hasVariableSizes(all_itm,opts,'outerHeight'))?'variable':all_itm[opts.d['outerHeight']](true);}
if(!opts[opts.d['height']]){opts[opts.d['height']]=opts.items[opts.d['height']];}
if(typeof opts.items.visible=='object'){opts.items.visibleConf.min=opts.items.visible.min;opts.items.visibleConf.max=opts.items.visible.max;opts.items.visible=false;}
if(typeof opts.items.visible=='string'||typeof opts.items.visible=='function'){opts.items.visibleConf.adjust=opts.items.visible;opts.items.visible=false;}
if(!opts.items.visible){if(opts.items[opts.d['width']]=='variable'){opts.items.visibleConf.variable=true;}
if(!opts.items.visibleConf.variable){if(typeof opts[opts.d['width']]=='number'){opts.items.visible=Math.floor(opts[opts.d['width']]/opts.items[opts.d['width']]);}else{var maxS=ms_getTrueInnerSize($wrp.parent(),opts,'innerWidth');opts.items.visible=Math.floor(maxS/opts.items[opts.d['width']]);opts[opts.d['width']]=opts.items.visible*opts.items[opts.d['width']];if(!opts.items.visibleConf.adjust)opts.align=false;}
if(opts.items.visible=='Infinity'||opts.items.visible<1){debug(true,'Not a valid number of visible items: Set to "variable".');opts.items.visibleConf.variable=true;}}}
if(!opts[opts.d['width']]){if(opts.items.filter!='*'){opts[opts.d['width']]='variable';}else if(!opts.items.visibleConf.variable&&opts.items[opts.d['width']]!='variable'){opts[opts.d['width']]=opts.items.visible*opts.items[opts.d['width']];opts.align=false;}else{opts[opts.d['width']]='variable';}}
if(opts.items.visibleConf.variable){opts.maxDimention=(opts[opts.d['width']]=='variable')?ms_getTrueInnerSize($wrp.parent(),opts,'innerWidth'):opts[opts.d['width']];if(opts.align===false){opts[opts.d['width']]='variable';}
opts.items.visible=gn_getVisibleItemsNext(all_itm,opts,0);}else if(opts.items.filter!='*'){opts.items.visibleConf.org=opts.items.visible;opts.items.visible=gn_getVisibleItemsNextFilter(all_itm,opts,0);}
if(typeof opts.padding=='undefined'){opts.padding=0;}
if(typeof opts.align=='undefined'){opts.align=(opts[opts.d['width']]=='variable')?false:'center';}
opts.items.visible=cf_getItemsAdjust(opts.items.visible,opts,opts.items.visibleConf.adjust,$tt0);opts.items.visibleConf.old=opts.items.visible;opts.usePadding=false;opts.padding=cf_getPadding(opts.padding);if(opts.align=='top')opts.align='left';if(opts.align=='bottom')opts.align='right';switch(opts.align){case'center':case'left':case'right':if(opts[opts.d['width']]!='variable'){var p=cf_getAlignPadding(gi_getCurrentItems(all_itm,opts),opts);opts.usePadding=true;opts.padding[opts.d[1]]=p[1];opts.padding[opts.d[3]]=p[0];}
break;default:opts.align=false;opts.usePadding=(opts.padding[0]==0&&opts.padding[1]==0&&opts.padding[2]==0&&opts.padding[3]==0)?false:true;break;}
if(typeof opts.cookie=='boolean'&&opts.cookie)opts.cookie='caroufredsel_cookie_'+$cfs.attr('id');if(typeof opts.items.minimum!='number')opts.items.minimum=opts.items.visible;if(typeof opts.scroll.duration!='number')opts.scroll.duration=500;if(typeof opts.scroll.items=='undefined')opts.scroll.items=(opts.items.visibleConf.variable||opts.items.filter!='*')?'visible':opts.items.visible;opts.auto=go_getNaviObject($tt0,opts.auto,'auto');opts.prev=go_getNaviObject($tt0,opts.prev);opts.next=go_getNaviObject($tt0,opts.next);opts.pagination=go_getNaviObject($tt0,opts.pagination,'pagination');opts.auto=$.extend(true,{},opts.scroll,opts.auto);opts.prev=$.extend(true,{},opts.scroll,opts.prev);opts.next=$.extend(true,{},opts.scroll,opts.next);opts.pagination=$.extend(true,{},opts.scroll,opts.pagination);if(typeof opts.pagination.keys!='boolean')opts.pagination.keys=false;if(typeof opts.pagination.anchorBuilder!='function'&&opts.pagination.anchorBuilder!==false)opts.pagination.anchorBuilder=$.fn.carouFredSel.pageAnchorBuilder;if(typeof opts.auto.play!='boolean')opts.auto.play=true;if(typeof opts.auto.delay!='number')opts.auto.delay=0;if(typeof opts.auto.pauseDuration!='number')opts.auto.pauseDuration=(opts.auto.duration<10)?2500:opts.auto.duration*5;if(opts.synchronise){opts.synchronise=cf_getSynchArr(opts.synchronise);}
if(conf.debug){debug(conf,'Carousel width: '+opts.width);debug(conf,'Carousel height: '+opts.height);if(opts.maxDimention)debug(conf,'Available '+opts.d['width']+': '+opts.maxDimention);debug(conf,'Item widths: '+opts.items.width);debug(conf,'Item heights: '+opts.items.height);debug(conf,'Number of items visible: '+opts.items.visible);if(opts.auto.play)debug(conf,'Number of items scrolled automatically: '+opts.auto.items);if(opts.prev.button)debug(conf,'Number of items scrolled backward: '+opts.prev.items);if(opts.next.button)debug(conf,'Number of items scrolled forward: '+opts.next.items);}};$cfs._cfs_build=function(){$cfs.data('cfs_isCarousel',true);var orgCSS={'textAlign':$cfs.css('textAlign'),'float':$cfs.css('float'),'position':$cfs.css('position'),'top':$cfs.css('top'),'right':$cfs.css('right'),'bottom':$cfs.css('bottom'),'left':$cfs.css('left'),'width':$cfs.css('width'),'height':$cfs.css('height'),'marginTop':$cfs.css('marginTop'),'marginRight':$cfs.css('marginRight'),'marginBottom':$cfs.css('marginBottom'),'marginLeft':$cfs.css('marginLeft')};switch(orgCSS.position){case'absolute':var newPosition='absolute';break;case'fixed':var newPosition='fixed';break;default:var newPosition='relative';}
$wrp.css(orgCSS).css({'overflow':'hidden','position':newPosition});$cfs.data('cfs_origCss',orgCSS).css({'textAlign':'left','float':'none','position':'absolute','top':0,'left':0,'marginTop':0,'marginRight':0,'marginBottom':0,'marginLeft':0});if(opts.usePadding){$cfs.children().each(function(){var m=parseInt($(this).css(opts.d['marginRight']));if(isNaN(m))m=0;$(this).data('cfs_origCssMargin',m);});}};$cfs._cfs_bind_events=function(){$cfs._cfs_unbind_events();$cfs.bind(cf_e('stop',conf),function(e,imm){e.stopPropagation();if(!crsl.isStopped){if(opts.auto.button){opts.auto.button.addClass(cf_c('stopped',conf));}}
crsl.isStopped=true;if(opts.auto.play){opts.auto.play=false;$cfs.trigger(cf_e('pause',conf),imm);}
return true;});$cfs.bind(cf_e('finish',conf),function(e){e.stopPropagation();if(crsl.isScrolling){sc_stopScroll(scrl);}
return true;});$cfs.bind(cf_e('pause',conf),function(e,imm,res){e.stopPropagation();tmrs=sc_clearTimers(tmrs);if(imm&&crsl.isScrolling){scrl.isStopped=true;var nst=getTime()-scrl.startTime;scrl.duration-=nst;if(scrl.pre)scrl.pre.duration-=nst;if(scrl.post)scrl.post.duration-=nst;sc_stopScroll(scrl,false);}
if(!crsl.isPaused&&!crsl.isScrolling){if(res)tmrs.timePassed+=getTime()-tmrs.startTime;}
if(!crsl.isPaused){if(opts.auto.button){opts.auto.button.addClass(cf_c('paused',conf));}}
crsl.isPaused=true;if(opts.auto.onPausePause){var dur1=opts.auto.pauseDuration-tmrs.timePassed,perc=100-Math.ceil(dur1*100/opts.auto.pauseDuration);opts.auto.onPausePause.call($tt0,perc,dur1);}
return true;});$cfs.bind(cf_e('play',conf),function(e,dir,del,res){e.stopPropagation();tmrs=sc_clearTimers(tmrs);var v=[dir,del,res],t=['string','number','boolean'],a=cf_sortParams(v,t);var dir=a[0],del=a[1],res=a[2];if(dir!='prev'&&dir!='next')dir=crsl.direction;if(typeof del!='number')del=0;if(typeof res!='boolean')res=false;if(res){crsl.isStopped=false;opts.auto.play=true;}
if(!opts.auto.play){e.stopImmediatePropagation();return debug(conf,'Carousel stopped: Not scrolling.');}
if(crsl.isPaused){if(opts.auto.button){opts.auto.button.removeClass(cf_c('stopped',conf));opts.auto.button.removeClass(cf_c('paused',conf));}}
crsl.isPaused=false;tmrs.startTime=getTime();var dur1=opts.auto.pauseDuration+del;dur2=dur1-tmrs.timePassed;perc=100-Math.ceil(dur2*100/dur1);tmrs.auto=setTimeout(function(){if(opts.auto.onPauseEnd){opts.auto.onPauseEnd.call($tt0,perc,dur2);}
if(crsl.isScrolling){$cfs.trigger(cf_e('play',conf),dir);}else{$cfs.trigger(cf_e(dir,conf),opts.auto);}},dur2);if(opts.auto.onPauseStart){opts.auto.onPauseStart.call($tt0,perc,dur2);}
return true;});$cfs.bind(cf_e('resume',conf),function(e){e.stopPropagation();if(scrl.isStopped){scrl.isStopped=false;crsl.isPaused=false;crsl.isScrolling=true;scrl.startTime=getTime();sc_startScroll(scrl);}else{$cfs.trigger(cf_e('play',conf));}
return true;});$cfs.bind(cf_e('prev',conf)+' '+cf_e('next',conf),function(e,obj,num,clb){e.stopPropagation();if(crsl.isStopped||$cfs.is(':hidden')){e.stopImmediatePropagation();return debug(conf,'Carousel stopped or hidden: Not scrolling.');}
if(opts.items.minimum>=itms.total){e.stopImmediatePropagation();return debug(conf,'Not enough items ('+itms.total+', '+opts.items.minimum+' needed): Not scrolling.');}
var v=[obj,num,clb],t=['object','number/string','function'],a=cf_sortParams(v,t);var obj=a[0],num=a[1],clb=a[2];var eType=e.type.substr(conf.events.prefix.length);if(typeof obj!='object'||obj==null)obj=opts[eType];if(typeof clb=='function')obj.onAfter=clb;if(typeof num!='number'){if(opts.items.filter!='*'){num='visible';}else{var arr=[num,obj.items,opts[eType].items];for(var a=0,l=arr.length;a<l;a++){if(typeof arr[a]=='number'||arr[a]=='page'||arr[a]=='visible'){num=arr[a];break;}}}
switch(num){case'page':e.stopImmediatePropagation();return $cfs.triggerHandler(eType+'Page',[obj,clb]);break;case'visible':if(!opts.items.visibleConf.variable&&opts.items.filter=='*'){num=opts.items.visible;}
break;}}
if(scrl.isStopped){$cfs.trigger(cf_e('resume',conf));$cfs.trigger(cf_e('queue',conf),[eType,[obj,num,clb]]);e.stopImmediatePropagation();return debug(conf,'Carousel resumed scrolling.');}
if(obj.duration>0){if(crsl.isScrolling){if(obj.queue)$cfs.trigger(cf_e('queue',conf),[eType,[obj,num,clb]]);e.stopImmediatePropagation();return debug(conf,'Carousel currently scrolling.');}}
if(obj.conditions&&!obj.conditions.call($tt0)){e.stopImmediatePropagation();return debug(conf,'Callback "conditions" returned false.');}
tmrs.timePassed=0;$cfs.trigger('_cfs_slide_'+eType,[obj,num]);if(opts.synchronise){var s=opts.synchronise,c=[obj,num];for(var j=0,l=s.length;j<l;j++){var d=eType;if(!s[j][1])c[0]=s[j][0].triggerHandler('_cfs_configuration',eType);if(!s[j][2])d=(d=='prev')?'next':'prev';c[1]=num+s[j][3];s[j][0].trigger('_cfs_slide_'+d,c);}}
return true;});$cfs.bind(cf_e('_cfs_slide_prev',conf,false),function(e,sO,nI){e.stopPropagation();var a_itm=$cfs.children();if(!opts.circular){if(itms.first==0){if(opts.infinite){$cfs.trigger(cf_e('next',conf),itms.total-1);}
return e.stopImmediatePropagation();}}
if(opts.usePadding)sz_resetMargin(a_itm,opts);if(typeof nI!='number'){if(opts.items.visibleConf.variable){nI=gn_getVisibleItemsPrev(a_itm,opts,itms.total-1);}else if(opts.items.filter!='*'){var xI=(typeof sO.items=='number')?sO.items:gn_getVisibleOrg($cfs,opts);nI=gn_getScrollItemsPrevFilter(a_itm,opts,itms.total-1,xI);}else{nI=opts.items.visible;}
nI=cf_getAdjust(nI,opts,sO.items,$tt0);}
if(!opts.circular){if(itms.total-nI<itms.first){nI=itms.total-itms.first;}}
if(opts.items.visibleConf.variable){var vI=gn_getVisibleItemsNext(a_itm,opts,itms.total-nI);if(opts.items.visible+nI<=vI&&nI<itms.total){nI++;vI=gn_getVisibleItemsNext(a_itm,opts,itms.total-nI);}
opts.items.visibleConf.old=opts.items.visible;opts.items.visible=cf_getItemsAdjust(vI,opts,opts.items.visibleConf.adjust,$tt0);}else if(opts.items.filter!='*'){var vI=gn_getVisibleItemsNextFilter(a_itm,opts,itms.total-nI);opts.items.visibleConf.old=opts.items.visible;opts.items.visible=cf_getItemsAdjust(vI,opts,opts.items.visibleConf.adjust,$tt0);}
if(opts.usePadding)sz_resetMargin(a_itm,opts,true);if(nI==0){e.stopImmediatePropagation();return debug(conf,'0 items to scroll: Not scrolling.');}
debug(conf,'Scrolling '+nI+' items backward.');itms.first+=nI;while(itms.first>=itms.total){itms.first-=itms.total;}
if(!opts.circular){if(itms.first==0&&sO.onEnd)sO.onEnd.call($tt0);if(!opts.infinite)nv_enableNavi(opts,itms.first,conf);}
$cfs.children().slice(itms.total-nI,itms.total).prependTo($cfs);if(itms.total<opts.items.visible+nI){$cfs.children().slice(0,(opts.items.visible+nI)-itms.total).clone(true).appendTo($cfs);}
var a_itm=$cfs.children(),c_old=gi_getOldItemsPrev(a_itm,opts,nI),c_new=gi_getNewItemsPrev(a_itm,opts),l_cur=a_itm.eq(nI-1),l_old=c_old.last(),l_new=c_new.last();if(opts.usePadding)sz_resetMargin(a_itm,opts);if(opts.align){var p=cf_getAlignPadding(c_new,opts),pL=p[0],pR=p[1];}else{var pL=0,pR=0;}
var oL=(pL<0)?opts.padding[opts.d[3]]:0;if(sO.fx=='directscroll'&&opts.items.visible<nI){var hiddenitems=a_itm.slice(opts.items.visibleConf.old,nI),orgW=opts.items[opts.d['width']];hiddenitems.each(function(){var hi=$(this);hi.data('isHidden',hi.is(':hidden')).hide();});opts.items[opts.d['width']]='variable';}else{var hiddenitems=false;}
var i_siz=ms_getTotalSize(a_itm.slice(0,nI),opts,'width'),w_siz=cf_mapWrapperSizes(ms_getSizes(c_new,opts,true),opts,!opts.usePadding);if(hiddenitems)opts.items[opts.d['width']]=orgW;if(opts.usePadding){sz_resetMargin(a_itm,opts,true);if(pR>=0){sz_resetMargin(l_old,opts,opts.padding[opts.d[1]]);}
sz_resetMargin(l_cur,opts,opts.padding[opts.d[3]]);}
if(opts.align){opts.padding[opts.d[1]]=pR;opts.padding[opts.d[3]]=pL;}
var a_cfs={},a_dur=sO.duration;if(sO.fx=='none')a_dur=0;else if(a_dur=='auto')a_dur=opts.scroll.duration/opts.scroll.items*nI;else if(a_dur<=0)a_dur=0;else if(a_dur<10)a_dur=i_siz/a_dur;scrl=sc_setScroll(a_dur,sO.easing);if(opts[opts.d['width']]=='variable'||opts[opts.d['height']]=='variable'){scrl.anims.push([$wrp,w_siz]);}
if(opts.usePadding){var new_m=opts.padding[opts.d[3]];if(l_new.not(l_cur).length){var a_cur={};a_cur[opts.d['marginRight']]=l_cur.data('cfs_origCssMargin');if(pL<0)l_cur.css(a_cur);else scrl.anims.push([l_cur,a_cur]);}
if(l_new.not(l_old).length){var a_old={};a_old[opts.d['marginRight']]=l_old.data('cfs_origCssMargin');scrl.anims.push([l_old,a_old]);}
if(pR>=0){var a_new={};a_new[opts.d['marginRight']]=l_new.data('cfs_origCssMargin')+opts.padding[opts.d[1]];scrl.anims.push([l_new,a_new]);}}else{var new_m=0;}
a_cfs[opts.d['left']]=new_m;var args=[c_old,c_new,w_siz,a_dur];if(sO.onBefore)sO.onBefore.apply($tt0,args);clbk.onBefore=sc_callCallbacks(clbk.onBefore,$tt0,args);switch(sO.fx){case'fade':case'crossfade':case'cover':case'uncover':scrl.pre=sc_setScroll(scrl.duration,scrl.easing);scrl.post=sc_setScroll(scrl.duration,scrl.easing);scrl.duration=0;break;}
switch(sO.fx){case'crossfade':case'cover':case'uncover':var $cf2=$cfs.clone().appendTo($wrp);break;}
switch(sO.fx){case'uncover':$cf2.children().slice(0,nI).remove();case'crossfade':case'cover':$cf2.children().slice(opts.items.visible).remove();break;}
switch(sO.fx){case'fade':scrl.pre.anims.push([$cfs,{'opacity':0}]);break;case'crossfade':$cf2.css({'opacity':0});scrl.pre.anims.push([$cfs,{'width':'+=0'},function(){$cf2.remove();}]);scrl.post.anims.push([$cf2,{'opacity':1}]);break;case'cover':scrl=fx_cover(scrl,$cfs,$cf2,opts,true);break;case'uncover':scrl=fx_uncover(scrl,$cfs,$cf2,opts,true,nI);break;}
var a_complete=function(){var overFill=opts.items.visible+nI-itms.total;if(overFill>0){$cfs.children().slice(itms.total).remove();c_old=$cfs.children().slice(itms.total-(nI-overFill)).get().concat($cfs.children().slice(0,overFill).get());}
if(hiddenitems){hiddenitems.each(function(){var hi=$(this);if(!hi.data('isHidden'))hi.show();});}
if(opts.usePadding){var l_itm=$cfs.children().eq(opts.items.visible+nI-1);l_itm.css(opts.d['marginRight'],l_itm.data('cfs_origCssMargin'));}
scrl.anims=[];if(scrl.pre)scrl.pre=sc_setScroll(scrl.orgDuration,scrl.easing);var fn=function(){switch(sO.fx){case'fade':case'crossfade':$cfs.css('filter','');break;}
scrl.post=sc_setScroll(0,null);crsl.isScrolling=false;var args=[c_old,c_new,w_siz];if(sO.onAfter)sO.onAfter.apply($tt0,args);clbk.onAfter=sc_callCallbacks(clbk.onAfter,$tt0,args);if(queu.length){$cfs.trigger(cf_e(queu[0][0],conf),queu[0][1]);queu.shift();}
if(!crsl.isPaused)$cfs.trigger(cf_e('play',conf));};switch(sO.fx){case'fade':scrl.pre.anims.push([$cfs,{'opacity':1},fn]);sc_startScroll(scrl.pre);break;case'uncover':scrl.pre.anims.push([$cfs,{'width':'+=0'},fn]);sc_startScroll(scrl.pre);break;default:fn();break;}};scrl.anims.push([$cfs,a_cfs,a_complete]);crsl.isScrolling=true;$cfs.css(opts.d['left'],-(i_siz-oL));tmrs=sc_clearTimers(tmrs);sc_startScroll(scrl);cf_setCookie(opts.cookie,$cfs.triggerHandler(cf_e('currentPosition',conf)));$cfs.trigger(cf_e('updatePageStatus',conf),[false,w_siz]);return true;});$cfs.bind(cf_e('_cfs_slide_next',conf,false),function(e,sO,nI){e.stopPropagation();var a_itm=$cfs.children();if(!opts.circular){if(itms.first==opts.items.visible){if(opts.infinite){$cfs.trigger(cf_e('prev',conf),itms.total-1);}
return e.stopImmediatePropagation();}}
if(opts.usePadding)sz_resetMargin(a_itm,opts);if(typeof nI!='number'){if(opts.items.filter!='*'){var xI=(typeof sO.items=='number')?sO.items:gn_getVisibleOrg($cfs,opts);nI=gn_getScrollItemsNextFilter(a_itm,opts,0,xI);}else{nI=opts.items.visible;}
nI=cf_getAdjust(nI,opts,sO.items,$tt0);}
var lastItemNr=(itms.first==0)?itms.total:itms.first;if(!opts.circular){if(opts.items.visibleConf.variable){var vI=gn_getVisibleItemsNext(a_itm,opts,nI),xI=gn_getVisibleItemsPrev(a_itm,opts,lastItemNr-1);}else{var vI=opts.items.visible,xI=opts.items.visible;}
if(nI+vI>lastItemNr){nI=lastItemNr-xI;}}
if(opts.items.visibleConf.variable){var vI=gn_getVisibleItemsNextTestCircular(a_itm,opts,nI,lastItemNr);while(opts.items.visible-nI>=vI&&nI<itms.total){nI++;vI=gn_getVisibleItemsNextTestCircular(a_itm,opts,nI,lastItemNr);}
opts.items.visibleConf.old=opts.items.visible;opts.items.visible=cf_getItemsAdjust(vI,opts,opts.items.visibleConf.adjust,$tt0);}else if(opts.items.filter!='*'){var vI=gn_getVisibleItemsNextFilter(a_itm,opts,nI);opts.items.visibleConf.old=opts.items.visible;opts.items.visible=cf_getItemsAdjust(vI,opts,opts.items.visibleConf.adjust,$tt0);}
if(opts.usePadding)sz_resetMargin(a_itm,opts,true);if(nI==0){e.stopImmediatePropagation();return debug(conf,'0 items to scroll: Not scrolling.');}
debug(conf,'Scrolling '+nI+' items forward.');itms.first-=nI;while(itms.first<0){itms.first+=itms.total;}
if(!opts.circular){if(itms.first==opts.items.visible&&sO.onEnd)sO.onEnd.call($tt0);if(!opts.infinite)nv_enableNavi(opts,itms.first,conf);}
if(itms.total<opts.items.visible+nI){$cfs.children().slice(0,(opts.items.visible+nI)-itms.total).clone(true).appendTo($cfs);}
var a_itm=$cfs.children(),c_old=gi_getOldItemsNext(a_itm,opts),c_new=gi_getNewItemsNext(a_itm,opts,nI),l_cur=a_itm.eq(nI-1),l_old=c_old.last(),l_new=c_new.last();if(opts.usePadding)sz_resetMargin(a_itm,opts);if(opts.align){var p=cf_getAlignPadding(c_new,opts),pL=p[0],pR=p[1];}else{var pL=0,pR=0;}
if(sO.fx=='directscroll'&&opts.items.visibleConf.old<nI){var hiddenitems=a_itm.slice(opts.items.visibleConf.old,nI),orgW=opts.items[opts.d['width']];hiddenitems.each(function(){var hi=$(this);hi.data('isHidden',hi.is(':hidden')).hide();});opts.items[opts.d['width']]='variable';}else{var hiddenitems=false;}
var i_siz=ms_getTotalSize(a_itm.slice(0,nI),opts,'width'),w_siz=cf_mapWrapperSizes(ms_getSizes(c_new,opts,true),opts,!opts.usePadding);if(hiddenitems)opts.items[opts.d['width']]=orgW;if(opts.align){if(opts.padding[opts.d[1]]<0){opts.padding[opts.d[1]]=0;}}
if(opts.usePadding){sz_resetMargin(a_itm,opts,true);sz_resetMargin(l_old,opts,opts.padding[opts.d[1]]);}
if(opts.align){opts.padding[opts.d[1]]=pR;opts.padding[opts.d[3]]=pL;}
var a_cfs={},a_dur=sO.duration;if(sO.fx=='none')a_dur=0;else if(a_dur=='auto')a_dur=opts.scroll.duration/opts.scroll.items*nI;else if(a_dur<=0)a_dur=0;else if(a_dur<10)a_dur=i_siz/a_dur;scrl=sc_setScroll(a_dur,sO.easing);if(opts[opts.d['width']]=='variable'||opts[opts.d['height']]=='variable'){scrl.anims.push([$wrp,w_siz]);}
if(opts.usePadding){var l_new_m=l_new.data('cfs_origCssMargin');if(pR>=0){l_new_m+=opts.padding[opts.d[1]];}
l_new.css(opts.d['marginRight'],l_new_m);if(l_cur.not(l_old).length){var a_old={};a_old[opts.d['marginRight']]=l_old.data('cfs_origCssMargin');scrl.anims.push([l_old,a_old]);}
var c_new_m=l_cur.data('cfs_origCssMargin');if(pL>=0){c_new_m+=opts.padding[opts.d[3]];}
var a_cur={};a_cur[opts.d['marginRight']]=c_new_m;scrl.anims.push([l_cur,a_cur]);}
a_cfs[opts.d['left']]=-i_siz;if(pL<0){a_cfs[opts.d['left']]+=pL;}
var args=[c_old,c_new,w_siz,a_dur];if(sO.onBefore)sO.onBefore.apply($tt0,args);clbk.onBefore=sc_callCallbacks(clbk.onBefore,$tt0,args);switch(sO.fx){case'fade':case'crossfade':case'cover':case'uncover':scrl.pre=sc_setScroll(scrl.duration,scrl.easing);scrl.post=sc_setScroll(scrl.duration,scrl.easing);scrl.duration=0;break;}
switch(sO.fx){case'crossfade':case'cover':case'uncover':var $cf2=$cfs.clone().appendTo($wrp);break;}
switch(sO.fx){case'uncover':$cf2.children().slice(opts.items.visibleConf.old).remove();break;case'crossfade':case'cover':$cf2.children().slice(0,nI).remove();$cf2.children().slice(opts.items.visible).remove();break;}
switch(sO.fx){case'fade':scrl.pre.anims.push([$cfs,{'opacity':0}]);break;case'crossfade':$cf2.css({'opacity':0});scrl.pre.anims.push([$cfs,{'width':'+=0'},function(){$cf2.remove();}]);scrl.post.anims.push([$cf2,{'opacity':1}]);break;case'cover':scrl=fx_cover(scrl,$cfs,$cf2,opts,false);break;case'uncover':scrl=fx_uncover(scrl,$cfs,$cf2,opts,false,nI);break;}
var a_complete=function(){var overFill=opts.items.visible+nI-itms.total,new_m=(opts.usePadding)?opts.padding[opts.d[3]]:0;$cfs.css(opts.d['left'],new_m);if(overFill>0){$cfs.children().slice(itms.total).remove();}
var l_itm=$cfs.children().slice(0,nI).appendTo($cfs).last();if(overFill>0){c_new=gi_getCurrentItems(a_itm,opts);}
if(hiddenitems){hiddenitems.each(function(){var hi=$(this);if(!hi.data('isHidden'))hi.show();});}
if(opts.usePadding){if(itms.total<opts.items.visible+nI){var l_cur=$cfs.children().eq(opts.items.visible-1);l_cur.css(opts.d['marginRight'],l_cur.data('cfs_origCssMargin')+opts.padding[opts.d[3]]);}
l_itm.css(opts.d['marginRight'],l_itm.data('cfs_origCssMargin'));}
scrl.anims=[];if(scrl.pre)scrl.pre=sc_setScroll(scrl.orgDuration,scrl.easing);var fn=function(){switch(sO.fx){case'fade':case'crossfade':$cfs.css('filter','');break;}
scrl.post=sc_setScroll(0,null);crsl.isScrolling=false;var args=[c_old,c_new,w_siz];if(sO.onAfter)sO.onAfter.apply($tt0,args);clbk.onAfter=sc_callCallbacks(clbk.onAfter,$tt0,args);if(queu.length){$cfs.trigger(cf_e(queu[0][0],conf),queu[0][1]);queu.shift();}
if(!crsl.isPaused)$cfs.trigger(cf_e('play',conf));};switch(sO.fx){case'fade':scrl.pre.anims.push([$cfs,{'opacity':1},fn]);sc_startScroll(scrl.pre);break;case'uncover':scrl.pre.anims.push([$cfs,{'width':'+=0'},fn]);sc_startScroll(scrl.pre);break;default:fn();break;}};scrl.anims.push([$cfs,a_cfs,a_complete]);crsl.isScrolling=true;tmrs=sc_clearTimers(tmrs);sc_startScroll(scrl);cf_setCookie(opts.cookie,$cfs.triggerHandler(cf_e('currentPosition',conf)));$cfs.trigger(cf_e('updatePageStatus',conf),[false,w_siz]);return true;});$cfs.bind(cf_e('slideTo',conf),function(e,num,dev,org,obj,dir,clb){e.stopPropagation();var v=[num,dev,org,obj,dir,clb],t=['string/number/object','number','boolean','object','string','function'],a=cf_sortParams(v,t);var obj=a[3],dir=a[4],clb=a[5];num=gn_getItemIndex(a[0],a[1],a[2],itms,$cfs);if(num==0)return;if(typeof obj!='object')obj=false;if(crsl.isScrolling){if(typeof obj!='object'||obj.duration>0)return false;}
if(dir!='prev'&&dir!='next'){if(opts.circular){if(num<=itms.total/2)dir='next';else dir='prev';}else{if(itms.first==0||itms.first>num)dir='next';else dir='prev';}}
if(dir=='prev')num=itms.total-num;$cfs.trigger(cf_e(dir,conf),[obj,num,clb]);return true;});$cfs.bind(cf_e('prevPage',conf),function(e,obj,clb){e.stopPropagation();var cur=$cfs.triggerHandler(cf_e('currentPage',conf));return $cfs.triggerHandler(cf_e('slideToPage',conf),[cur-1,obj,'prev',clb]);});$cfs.bind(cf_e('nextPage',conf),function(e,obj,clb){e.stopPropagation();var cur=$cfs.triggerHandler(cf_e('currentPage',conf));return $cfs.triggerHandler(cf_e('slideToPage',conf),[cur+1,obj,'next',clb]);});$cfs.bind(cf_e('slideToPage',conf),function(e,pag,obj,dir,clb){e.stopPropagation();if(typeof pag!='number')pag=$cfs.triggerHandler(cf_e('currentPage',conf));var ipp=opts.pagination.items||opts.items.visible,max=Math.floor(itms.total/ipp);if(pag<0)pag=max;if(pag>max)pag=0;return $cfs.triggerHandler(cf_e('slideTo',conf),[pag*ipp,0,true,obj,dir,clb]);});$cfs.bind(cf_e('jumpToStart',conf),function(e,s){e.stopPropagation();if(s)s=gn_getItemIndex(s,0,true,itms,$cfs);else s=0;s+=itms.first;if(s!=0){while(s>itms.total)s-=itms.total;$cfs.prepend($cfs.children().slice(s,itms.total));}
return true;});$cfs.bind(cf_e('synchronise',conf),function(e,s){e.stopPropagation();if(s)s=cf_getSynchArr(s);else if(opts.synchronise)s=opts.synchronise;else return debug(conf,'No carousel to synchronise.');var n=$cfs.triggerHandler(cf_e('currentPosition',conf)),x=true;for(var j=0,l=s.length;j<l;j++){if(!s[j][0].triggerHandler(cf_e('slideTo',conf),[n,s[j][3],true])){x=false;}}
return x;});$cfs.bind(cf_e('queue',conf),function(e,dir,opt){e.stopPropagation();if(typeof dir=='function'){dir.call($tt0,queu);}else if(is_array(dir)){queu=dir;}else if(typeof dir!='undefined'){queu.push([dir,opt]);}
return queu;});$cfs.bind(cf_e('insertItem',conf),function(e,itm,num,org,dev){e.stopPropagation();var v=[itm,num,org,dev],t=['string/object','string/number/object','boolean','number'],a=cf_sortParams(v,t);var itm=a[0],num=a[1],org=a[2],dev=a[3];if(typeof itm=='object'&&typeof itm.jquery=='undefined')itm=$(itm);if(typeof itm=='string')itm=$(itm);if(typeof itm!='object'||typeof itm.jquery=='undefined'||itm.length==0)return debug(conf,'Not a valid object.');if(typeof num=='undefined')num='end';if(opts.usePadding){itm.each(function(){var m=parseInt($(this).css(opts.d['marginRight']));if(isNaN(m))m=0;$(this).data('cfs_origCssMargin',m);});}
var orgNum=num,before='before';if(num=='end'){if(org){if(itms.first==0){num=itms.total-1;before='after';}else{num=itms.first;itms.first+=itm.length}
if(num<0)num=0;}else{num=itms.total-1;before='after';}}else{num=gn_getItemIndex(num,dev,org,itms,$cfs);}
if(orgNum!='end'&&!org){if(num<itms.first)itms.first+=itm.length;}
if(itms.first>=itms.total)itms.first-=itms.total;var $cit=$cfs.children().eq(num);if($cit.length){$cit[before](itm);}else{$cfs.append(itm);}
itms.total=$cfs.children().length;var sz=$cfs.triggerHandler('updateSizes');nv_showNavi(opts,itms.total,conf);nv_enableNavi(opts,itms.first,conf);$cfs.trigger(cf_e('linkAnchors',conf));$cfs.trigger(cf_e('updatePageStatus',conf),[true,sz]);return true;});$cfs.bind(cf_e('removeItem',conf),function(e,num,org,dev){e.stopPropagation();var v=[num,org,dev],t=['string/number/object','boolean','number'],a=cf_sortParams(v,t);var num=a[0],org=a[1],dev=a[2];if(typeof num=='undefined'||num=='end'){$cfs.children().last().remove();}else{num=gn_getItemIndex(num,dev,org,itms,$cfs);var $cit=$cfs.children().eq(num);if($cit.length){if(num<itms.first)itms.first-=$cit.length;$cit.remove();}}
itms.total=$cfs.children().length;var sz=$cfs.triggerHandler('updateSizes');nv_showNavi(opts,itms.total,conf);nv_enableNavi(opts,itms.first,conf);$cfs.trigger(cf_e('updatePageStatus',conf),[true,sz]);return true;});$cfs.bind(cf_e('onBefore',conf)+' '+cf_e('onAfter',conf),function(e,fn){e.stopPropagation();var eType=e.type.substr(conf.events.prefix.length);if(is_array(fn))clbk[eType]=fn;if(typeof fn=='function')clbk[eType].push(fn);return clbk[eType];});$cfs.bind(cf_e('_cfs_currentPosition',conf,false),function(e,fn){e.stopPropagation();return $cfs.triggerHandler(cf_e('currentPosition',conf),fn);});$cfs.bind(cf_e('currentPosition',conf),function(e,fn){e.stopPropagation();if(itms.first==0)var val=0;else var val=itms.total-itms.first;if(typeof fn=='function')fn.call($tt0,val);return val;});$cfs.bind(cf_e('currentPage',conf),function(e,fn){e.stopPropagation();var ipp=opts.pagination.items||opts.items.visible;var max=Math.ceil(itms.total/ipp-1);if(itms.first==0)var nr=0;else if(itms.first<itms.total%ipp)var nr=0;else if(itms.first==ipp&&!opts.circular)var nr=max;else var nr=Math.round((itms.total-itms.first)/ipp);if(nr<0)nr=0;if(nr>max)nr=max;if(typeof fn=='function')fn.call($tt0,nr);return nr;});$cfs.bind(cf_e('currentVisible',conf),function(e,fn){e.stopPropagation();$i=gi_getCurrentItems($cfs.children(),opts);if(typeof fn=='function')fn.call($tt0,$i);return $i;});$cfs.bind(cf_e('isPaused',conf)+' '+cf_e('isStopped',conf)+' '+cf_e('isScrolling',conf),function(e,fn){e.stopPropagation();var eType=e.type.substr(conf.events.prefix.length);if(typeof fn=='function')fn.call($tt0,crsl[eType]);return crsl[eType];});$cfs.bind(cf_e('_cfs_configuration',conf,false),function(e,a,b,c){e.stopPropagation();return $cfs.triggerHandler(cf_e('configuration',conf),[a,b,c]);});$cfs.bind(cf_e('configuration',conf),function(e,a,b,c){e.stopPropagation();var reInit=false;if(typeof a=='function'){a.call($tt0,opts);}else if(typeof a=='object'){opts_orig=$.extend(true,{},opts_orig,a);if(b!==false)reInit=true;else opts=$.extend(true,{},opts,a);}else if(typeof a!='undefined'){if(typeof b=='function'){var val=eval('opts.'+a);if(typeof val=='undefined')val='';b.call($tt0,val);}else if(typeof b!='undefined'){if(typeof c!=='boolean')c=true;eval('opts_orig.'+a+' = b');if(c!==false)reInit=true;else eval('opts.'+a+' = b');}else{return eval('opts.'+a);}}
if(reInit){sz_resetMargin($cfs.children(),opts);$cfs._cfs_init(opts_orig);$cfs._cfs_bind_buttons();var siz=sz_setSizes($cfs,opts);$cfs.trigger(cf_e('updatePageStatus',conf),[true,siz]);}
return opts;});$cfs.bind(cf_e('linkAnchors',conf),function(e,$con,sel){e.stopPropagation();if(typeof $con=='undefined'||$con.length==0)$con=$('body');else if(typeof $con=='string')$con=$($con);if(typeof $con!='object')return debug(conf,'Not a valid object.');if(typeof sel!='string'||sel.length==0)sel='a.caroufredsel';$con.find(sel).each(function(){var h=this.hash||'';if(h.length>0&&$cfs.children().index($(h))!=-1){$(this).unbind('click').click(function(e){e.preventDefault();$cfs.trigger(cf_e('slideTo',conf),h);});}});return true;});$cfs.bind(cf_e('updatePageStatus',conf),function(e,build,sizes){e.stopPropagation();if(!opts.pagination.container)return;if(build||true){var ipp=opts.pagination.items||opts.items.visible,l=Math.ceil(itms.total/ipp);if(opts.pagination.anchorBuilder){opts.pagination.container.children().remove();opts.pagination.container.each(function(){for(var a=0;a<l;a++){var i=$cfs.children().eq(gn_getItemIndex(a*ipp,0,true,itms,$cfs));$(this).append(opts.pagination.anchorBuilder(a+1,i));}});}
opts.pagination.container.each(function(){$(this).children().unbind(opts.pagination.event).each(function(a){$(this).bind(opts.pagination.event,function(e){e.preventDefault();$cfs.trigger(cf_e('slideTo',conf),[a*ipp,0,true,opts.pagination]);});});});}
opts.pagination.container.each(function(){$(this).children().removeClass(cf_c('selected',conf)).eq($cfs.triggerHandler(cf_e('currentPage',conf))).addClass(cf_c('selected',conf));});return true;});$cfs.bind(cf_e('updateSizes',conf),function(e){var a_itm=$cfs.children(),vI=opts.items.visible;if(opts.items.visibleConf.variable)vI=gn_getVisibleItemsNext(a_itm,opts,0);else if(opts.items.filter!='*')vI=gn_getVisibleItemsNextFilter(a_itm,opts,0);if(!opts.circular&&itms.first!=0&&vI>itms.first){if(opts.items.visibleConf.variable){var nI=gn_getVisibleItemsPrev(a_itm,opts,itms.first)-itms.first;}else if(opts.items.filter!='*'){var nI=gn_getVisibleItemsPrevFilter(a_itm,opts,itms.first)-itms.first;}else{nI=opts.items.visible-itms.first;}
debug(conf,'Preventing non-circular: sliding '+nI+' items backward.');$cfs.trigger('prev',nI);}
opts.items.visible=cf_getItemsAdjust(vI,opts,opts.items.visibleConf.adjust,$tt0);return sz_setSizes($cfs,opts);});$cfs.bind(cf_e('_cfs_destroy',conf,false),function(e,orgOrder){e.stopPropagation();$cfs.trigger(cf_e('destroy',conf),orgOrder);return true;});$cfs.bind(cf_e('destroy',conf),function(e,orgOrder){e.stopPropagation();tmrs=sc_clearTimers(tmrs);$cfs.data('cfs_isCarousel',false);$cfs.trigger(cf_e('finish',conf));if(orgOrder){$cfs.trigger(cf_e('jumpToStart',conf));}
if(opts.usePadding){sz_resetMargin($cfs.children(),opts);}
$cfs.css($cfs.data('cfs_origCss'));$cfs._cfs_unbind_events();$cfs._cfs_unbind_buttons();$wrp.replaceWith($cfs);return true;});};$cfs._cfs_unbind_events=function(){$cfs.unbind(cf_e('',conf,false));};$cfs._cfs_bind_buttons=function(){$cfs._cfs_unbind_buttons();nv_showNavi(opts,itms.total,conf);nv_enableNavi(opts,itms.first,conf);if(opts.auto.pauseOnHover){var pC=bt_pauseOnHoverConfig(opts.auto.pauseOnHover);$wrp.bind(cf_e('mouseenter',conf,false),function(){$cfs.trigger(cf_e('pause',conf),[pC[0],pC[1]]);}).bind(cf_e('mouseleave',conf,false),function(){$cfs.trigger(cf_e('resume',conf));});}
if(opts.auto.button){opts.auto.button.bind(cf_e(opts.auto.event,conf,false),function(e){e.preventDefault();var ev=(crsl.isPaused)?'play':'pause';$cfs.trigger(cf_e(ev,conf));});}
if(opts.prev.button){opts.prev.button.bind(cf_e(opts.prev.event,conf,false),function(e){e.preventDefault();$cfs.trigger(cf_e('prev',conf));});if(opts.prev.pauseOnHover){var pC=bt_pauseOnHoverConfig(opts.prev.pauseOnHover);opts.prev.button.bind(cf_e('mouseenter',conf,false),function(){$cfs.trigger(cf_e('pause',conf),[pC[0],pC[1]]);}).bind(cf_e('mouseleave',conf,false),function(){$cfs.trigger(cf_e('resume',conf));});}}
if(opts.next.button){opts.next.button.bind(cf_e(opts.next.event,conf,false),function(e){e.preventDefault();$cfs.trigger(cf_e('next',conf));});if(opts.next.pauseOnHover){var pC=bt_pauseOnHoverConfig(opts.next.pauseOnHover);opts.next.button.bind(cf_e('mouseenter',conf,false),function(){$cfs.trigger(cf_e('pause',conf),[pC[0],pC[1]]);}).bind(cf_e('mouseleave',conf,false),function(){$cfs.trigger(cf_e('resume',conf));});}}
if($.fn.mousewheel){if(opts.prev.mousewheel){if(!crsl.mousewheelPrev){crsl.mousewheelPrev=true;$wrp.mousewheel(function(e,delta){if(delta>0){e.preventDefault();var num=bt_mousesheelNumber(opts.prev.mousewheel);$cfs.trigger(cf_e('prev',conf),num);}});}}
if(opts.next.mousewheel){if(!crsl.mousewheelNext){crsl.mousewheelNext=true;$wrp.mousewheel(function(e,delta){if(delta<0){e.preventDefault();var num=bt_mousesheelNumber(opts.next.mousewheel);$cfs.trigger(cf_e('next',conf),num);}});}}}
if($.fn.touchwipe){var wP=(opts.prev.wipe)?function(){$cfs.trigger(cf_e('prev',conf))}:null,wN=(opts.next.wipe)?function(){$cfs.trigger(cf_e('next',conf))}:null;if(wN||wN){if(!crsl.touchwipe){crsl.touchwipe=true;var twOps={'min_move_x':30,'min_move_y':30,'preventDefaultEvents':true};switch(opts.direction){case'up':case'down':twOps.wipeUp=wN;twOps.wipeDown=wP;break;default:twOps.wipeLeft=wN;twOps.wipeRight=wP;}
$wrp.touchwipe(twOps);}}}
if(opts.pagination.container){if(opts.pagination.pauseOnHover){var pC=bt_pauseOnHoverConfig(opts.pagination.pauseOnHover);opts.pagination.container.bind(cf_e('mouseenter',conf,false),function(){$cfs.trigger(cf_e('pause',conf),[pC[0],pC[1]]);}).bind(cf_e('mouseleave',conf,false),function(){$cfs.trigger(cf_e('resume',conf));});}}
if(opts.prev.key||opts.next.key){$(document).bind(cf_e('keyup',conf,false),function(e){var k=e.keyCode;if(k==opts.next.key){e.preventDefault();$cfs.trigger(cf_e('next',conf));}
if(k==opts.prev.key){e.preventDefault();$cfs.trigger(cf_e('prev',conf));}});}
if(opts.pagination.keys){$(document).bind(cf_e('keyup',conf,false),function(e){var k=e.keyCode;if(k>=49&&k<58){k=(k-49)*opts.items.visible;if(k<=itms.total){e.preventDefault();$cfs.trigger(cf_e('slideTo',conf),[k,0,true,opts.pagination]);}}});}
if(opts.auto.play){$cfs.trigger(cf_e('play',conf),opts.auto.delay);}};$cfs._cfs_unbind_buttons=function(){var ns=cf_e('',conf,false);$(document).unbind(ns);$wrp.unbind(ns);if(opts.auto.button)opts.auto.button.unbind(ns);if(opts.prev.button)opts.prev.button.unbind(ns);if(opts.next.button)opts.next.button.unbind(ns);if(opts.pagination.container){opts.pagination.container.unbind(ns);if(opts.pagination.anchorBuilder){opts.pagination.container.children().remove();}}
nv_showNavi(opts,'hide',conf);nv_enableNavi(opts,'removeClass',conf);};var crsl={'direction':'next','isPaused':true,'isScrolling':false,'isStopped':false,'mousewheelNext':false,'mousewheelPrev':false,'touchwipe':false},itms={'total':$cfs.children().length,'first':0},tmrs={'timer':null,'auto':null,'queue':null,'startTime':getTime(),'timePassed':0},scrl={'isStopped':false,'duration':0,'startTime':0,'easing':'','anims':[]},clbk={'onBefore':[],'onAfter':[]},queu=[],conf=$.extend(true,{},$.fn.carouFredSel.configs,configs),opts={},opts_orig=options,$wrp=$cfs.wrap('<'+conf.wrapper.element+' class="'+conf.wrapper.classname+'" />').parent();conf.selector=$cfs.selector;$cfs._cfs_init(opts_orig,true,starting_position);$cfs._cfs_build();$cfs._cfs_bind_events();$cfs._cfs_bind_buttons();if(is_array(opts.items.start)){var start_arr=opts.items.start;}else{var start_arr=[];if(opts.items.start!=0){start_arr.push(opts.items.start);}}
if(opts.cookie){start_arr.unshift(cf_readCookie(opts.cookie));}
if(start_arr.length>0){for(var a=0,l=start_arr.length;a<l;a++){var s=start_arr[a];if(s==0){continue;}
if(s===true){s=window.location.hash;if(s.length<1){continue;}}else if(s==='random'){s=Math.floor(Math.random()*itms.total);}
if($cfs.triggerHandler(cf_e('slideTo',conf),[s,0,true,{fx:'none'}])){break;}}}
var siz=sz_setSizes($cfs,opts,false),itm=gi_getCurrentItems($cfs.children(),opts);if(opts.onCreate){opts.onCreate.call($tt0,itm,siz);}
$cfs.trigger(cf_e('updatePageStatus',conf),[true,siz]);$cfs.trigger(cf_e('linkAnchors',conf));return $cfs;};$.fn.carouFredSel.defaults={'synchronise':false,'infinite':true,'circular':true,'direction':'left','items':{'start':0},'scroll':{'easing':'swing','duration':500,'pauseOnHover':false,'mousewheel':false,'wipe':false,'event':'click','queue':false}};$.fn.carouFredSel.configs={'debug':false,'events':{'prefix':'','namespace':'cfs'},'wrapper':{'element':'div','classname':'caroufredsel_wrapper'},'classnames':{}};$.fn.carouFredSel.pageAnchorBuilder=function(nr,itm){return'<a href="#"><span>'+nr+'</span></a>';};function sc_setScroll(d,e){return{anims:[],duration:d,orgDuration:d,easing:e,startTime:getTime()};}
function sc_startScroll(s){if(typeof s.pre=='object'){sc_startScroll(s.pre);}
for(var a=0,l=s.anims.length;a<l;a++){var b=s.anims[a];if(!b)continue;if(b[3])b[0].stop();b[0].animate(b[1],{complete:b[2],duration:s.duration,easing:s.easing});}
if(typeof s.post=='object'){sc_startScroll(s.post);}}
function sc_stopScroll(s,finish){if(typeof finish!='boolean')finish=true;if(typeof s.pre=='object'){sc_stopScroll(s.pre,finish);}
for(var a=0,l=s.anims.length;a<l;a++){var b=s.anims[a];b[0].stop(true);if(finish){b[0].css(b[1]);if(typeof b[2]=='function')b[2]();}}
if(typeof s.post=='object'){sc_stopScroll(s.post,finish);}}
function sc_clearTimers(t){if(t.auto)clearTimeout(t.auto);return t;}
function sc_callCallbacks(cbs,t,args){if(cbs.length){for(var a=0,l=cbs.length;a<l;a++){cbs[a].apply(t,args);}}
return[];}
function fx_fade(sO,c,x,d,f){var o={'duration':d,'easing':sO.easing};if(typeof f=='function')o.complete=f;c.animate({opacity:x},o);}
function fx_cover(sc,c1,c2,o,prev){var old_w=ms_getSizes(gi_getOldItemsNext(c1.children(),o),o,true)[0],new_w=ms_getSizes(c2.children(),o,true)[0],cur_l=(prev)?-new_w:old_w,css_o={},ani_o={};css_o[o.d['width']]=new_w;css_o[o.d['left']]=cur_l;ani_o[o.d['left']]=0;sc.pre.anims.push([c1,{'opacity':1}]);sc.post.anims.push([c2,ani_o,function(){$(this).remove();}]);c2.css(css_o);return sc;}
function fx_uncover(sc,c1,c2,o,prev,n){var new_w=ms_getSizes(gi_getNewItemsNext(c1.children(),o,n),o,true)[0],old_w=ms_getSizes(c2.children(),o,true)[0],cur_l=(prev)?-old_w:new_w,css_o={},ani_o={};css_o[o.d['width']]=old_w;css_o[o.d['left']]=0;ani_o[o.d['left']]=cur_l;sc.post.anims.push([c2,ani_o,function(){$(this).remove();}]);c2.css(css_o);return sc;}
function nv_showNavi(o,t,c){if(t=='show'||t=='hide'){var f=t;}else if(o.items.minimum>=t){debug(c,'Not enough items: hiding navigation ('+t+' items, '+o.items.minimum+' needed).');var f='hide';}else{var f='show';}
var s=(f=='show')?'removeClass':'addClass',h=cf_c('hidden',c);if(o.auto.button)o.auto.button[f]()[s](h);if(o.prev.button)o.prev.button[f]()[s](h);if(o.next.button)o.next.button[f]()[s](h);if(o.pagination.container)o.pagination.container[f]()[s](h);}
function nv_enableNavi(o,f,c){if(o.circular||o.infinite)return;var fx=(f=='removeClass'||f=='addClass')?f:false,di=cf_c('disabled',c);if(o.auto.button&&fx){o.auto.button[fx](di);}
if(o.prev.button){var fn=fx||(f==0)?'addClass':'removeClass';o.prev.button[fn](di);}
if(o.next.button){var fn=fx||(f==o.items.visible)?'addClass':'removeClass';o.next.button[fn](di);}}
function go_getObject($tt,obj){if(typeof obj=='function')obj=obj.call($tt);if(typeof obj=='undefined')obj={};return obj;}
function go_getNaviObject($tt,obj,type){if(typeof type!='string')type='';obj=go_getObject($tt,obj);if(typeof obj=='string'){var temp=cf_getKeyCode(obj);if(temp==-1)obj=$(obj);else obj=temp;}
if(type=='pagination'){if(typeof obj=='boolean')obj={'keys':obj};if(typeof obj.jquery!='undefined')obj={'container':obj};if(typeof obj.container=='function')obj.container=obj.container.call($tt);if(typeof obj.container=='string')obj.container=$(obj.container);if(typeof obj.items!='number')obj.items=false;}else if(type=='auto'){if(typeof obj.jquery!='undefined')obj={'button':obj};if(typeof obj=='boolean')obj={'play':obj};if(typeof obj=='number')obj={'pauseDuration':obj};if(typeof obj.button=='function')obj.button=obj.button.call($tt);if(typeof obj.button=='string')obj.button=$(obj.button);}else{if(typeof obj.jquery!='undefined')obj={'button':obj};if(typeof obj=='number')obj={'key':obj};if(typeof obj.button=='function')obj.button=obj.button.call($tt);if(typeof obj.button=='string')obj.button=$(obj.button);if(typeof obj.key=='string')obj.key=cf_getKeyCode(obj.key);}
return obj;}
function gn_getItemIndex(num,dev,org,items,$cfs){if(typeof num=='string'){if(isNaN(num))num=$(num);else num=parseInt(num);}
if(typeof num=='object'){if(typeof num.jquery=='undefined')num=$(num);num=$cfs.children().index(num);if(num==-1)num=0;if(typeof org!='boolean')org=false;}else{if(typeof org!='boolean')org=true;}
if(isNaN(num))num=0;else num=parseInt(num);if(isNaN(dev))dev=0;else dev=parseInt(dev);if(org){num+=items.first;}
num+=dev;if(items.total>0){while(num>=items.total){num-=items.total;}
while(num<0){num+=items.total;}}
return num;}
function gn_getVisibleItemsPrev(i,o,s){var t=0,x=0;for(var a=s;a>=0;a--){var j=i.eq(a);t+=(j.is(':visible'))?j[o.d['outerWidth']](true):0;if(t>o.maxDimention)return x;if(a==0)a=i.length;x++;}}
function gn_getVisibleItemsPrevFilter(i,o,s){return gn_getItemsPrevFilter(i,o.items.filter,o.items.visibleConf.org,s);}
function gn_getScrollItemsPrevFilter(i,o,s,m){return gn_getItemsPrevFilter(i,o.items.filter,m,s);}
function gn_getItemsPrevFilter(i,f,m,s){var t=0,x=0;for(var a=s,l=i.length-1;a>=0;a--){x++;if(x==l)return x;var j=i.eq(a);if(j.is(f)){t++;if(t==m)return x;}
if(a==0)a=i.length;}}
function gn_getVisibleOrg($c,o){return o.items.visibleConf.org||$c.children().slice(0,o.items.visible).filter(o.items.filter).length;}
function gn_getVisibleItemsNext(i,o,s){var t=0,x=0;for(var a=s,l=i.length-1;a<=l;a++){var j=i.eq(a);t+=(j.is(':visible'))?j[o.d['outerWidth']](true):0;if(t>o.maxDimention)return x;x++;if(x==l)return x;if(a==l)a=-1;}}
function gn_getVisibleItemsNextTestCircular(i,o,s,l){var v=gn_getVisibleItemsNext(i,o,s);if(!o.circular){if(s+v>l)v=l-s;}
return v;}
function gn_getVisibleItemsNextFilter(i,o,s){return gn_getItemsNextFilter(i,o.items.filter,o.items.visibleConf.org,s);}
function gn_getScrollItemsNextFilter(i,o,s,m){return gn_getItemsNextFilter(i,o.items.filter,m+1,s)-1;}
function gn_getItemsNextFilter(i,f,m,s){var t=0,x=0;for(var a=s,l=i.length-1;a<=l;a++){x++;if(x==l)return x;var j=i.eq(a);if(j.is(f)){t++;if(t==m)return x;}
if(a==l)a=-1;}}
function gi_getCurrentItems(i,o){return i.slice(0,o.items.visible);}
function gi_getOldItemsPrev(i,o,n){return i.slice(n,o.items.visibleConf.old+n);}
function gi_getNewItemsPrev(i,o){return i.slice(0,o.items.visible);}
function gi_getOldItemsNext(i,o){return i.slice(0,o.items.visibleConf.old);}
function gi_getNewItemsNext(i,o,n){return i.slice(n,o.items.visible+n);}
function sz_resetMargin(i,o,m){var x=(typeof m=='boolean')?m:false;if(typeof m!='number')m=0;i.each(function(){var j=$(this);var t=parseInt(j.css(o.d['marginRight']));if(isNaN(t))t=0;j.data('cfs_tempCssMargin',t);j.css(o.d['marginRight'],((x)?j.data('cfs_tempCssMargin'):m+j.data('cfs_origCssMargin')));});}
function sz_setSizes($c,o,p){var $w=$c.parent(),$i=$c.children(),$v=gi_getCurrentItems($i,o),sz=cf_mapWrapperSizes(ms_getSizes($v,o,true),o,p);$w.css(sz);if(o.usePadding){var p=o.padding,r=p[o.d[1]];if(o.align){if(r<0)r=0;}
var $l=$v.last();$l.css(o.d['marginRight'],$l.data('cfs_origCssMargin')+r);$c.css(o.d['top'],p[o.d[0]]);$c.css(o.d['left'],p[o.d[3]]);}
$c.css(o.d['width'],sz[o.d['width']]+(ms_getTotalSize($i,o,'width')*2));$c.css(o.d['height'],ms_getLargestSize($i,o,'height'));return sz;}
function ms_getSizes(i,o,wrapper){var s1=ms_getTotalSize(i,o,'width',wrapper),s2=ms_getLargestSize(i,o,'height',wrapper);return[s1,s2];}
function ms_getLargestSize(i,o,dim,wrapper){if(typeof wrapper!='boolean')wrapper=false;if(typeof o[o.d[dim]]=='number'&&wrapper)return o[o.d[dim]];if(typeof o.items[o.d[dim]]=='number')return o.items[o.d[dim]];var di2=(dim.toLowerCase().indexOf('width')>-1)?'outerWidth':'outerHeight';return ms_getTrueLargestSize(i,o,di2);}
function ms_getTrueLargestSize(i,o,dim){var s=0;for(var a=0,l=i.length;a<l;a++){var j=i.eq(a);var m=(j.is(':visible'))?j[o.d[dim]](true):0;if(s<m)s=m;}
return s;}
function ms_getTrueInnerSize($el,o,dim){if(!$el.is(':visible'))return 0;var siz=$el[o.d[dim]](),arr=(o.d[dim].toLowerCase().indexOf('width')>-1)?['paddingLeft','paddingRight']:['paddingTop','paddingBottom'];for(var a=0,l=arr.length;a<l;a++){var m=parseInt($el.css(arr[a]));siz-=(isNaN(m))?0:m;}
return siz;}
function ms_getTotalSize(i,o,dim,wrapper){if(typeof wrapper!='boolean')wrapper=false;if(typeof o[o.d[dim]]=='number'&&wrapper)return o[o.d[dim]];if(typeof o.items[o.d[dim]]=='number')return o.items[o.d[dim]]*i.length;var d=(dim.toLowerCase().indexOf('width')>-1)?'outerWidth':'outerHeight',s=0;for(var a=0,l=i.length;a<l;a++){var j=i.eq(a);s+=(j.is(':visible'))?j[o.d[d]](true):0;}
return s;}
function ms_hasVariableSizes(i,o,dim){var s=false,v=false;for(var a=0,l=i.length;a<l;a++){var j=i.eq(a);var c=(j.is(':visible'))?j[o.d[dim]](true):0;if(s===false)s=c;else if(s!=c)v=true;if(s==0)v=true;}
return v;}
function cf_e(n,c,pf,ns){if(typeof pf!='boolean')pf=true;if(typeof ns!='boolean')ns=true;if(pf)n=c.events.prefix+n;if(ns)n=n+'.'+c.events.namespace;return n;}
function cf_c(n,c){return(typeof c.classnames[n]=='string')?c.classnames[n]:n;}
function cf_mapWrapperSizes(ws,o,p){if(typeof p!='boolean')p=true;var pad=(o.usePadding&&p)?o.padding:[0,0,0,0];var wra={};wra[o.d['width']]=ws[0]+pad[1]+pad[3];wra[o.d['height']]=ws[1]+pad[0]+pad[2];return wra;}
function cf_sortParams(vals,typs){var arr=[];for(var a=0,l1=vals.length;a<l1;a++){for(var b=0,l2=typs.length;b<l2;b++){if(typs[b].indexOf(typeof vals[a])>-1&&typeof arr[b]=='undefined'){arr[b]=vals[a];break;}}}
return arr;}
function cf_getPadding(p){if(typeof p=='undefined')return[0,0,0,0];if(typeof p=='number')return[p,p,p,p];else if(typeof p=='string')p=p.split('px').join('').split('em').join('').split(' ');if(!is_array(p)){return[0,0,0,0];}
for(var i=0;i<4;i++){p[i]=parseInt(p[i]);}
switch(p.length){case 0:return[0,0,0,0];case 1:return[p[0],p[0],p[0],p[0]];case 2:return[p[0],p[1],p[0],p[1]];case 3:return[p[0],p[1],p[2],p[1]];default:return[p[0],p[1],p[2],p[3]];}}
function cf_getAlignPadding(itm,o){var x=(typeof o[o.d['width']]=='number')?Math.ceil(o[o.d['width']]-ms_getTotalSize(itm,o,'width')):0;switch(o.align){case'left':return[0,x];case'right':return[x,0];case'center':default:return[Math.ceil(x/2),Math.floor(x/2)];}}
function cf_getAdjust(x,o,a,$t){var v=x;if(typeof a=='function'){v=a.call($t,v);}else if(typeof a=='string'){var p=a.split('+'),m=a.split('-');if(m.length>p.length){var neg=true,sta=m[0],adj=m[1];}else{var neg=false,sta=p[0],adj=p[1];}
switch(sta){case'even':v=(x%2==1)?x-1:x;break;case'odd':v=(x%2==0)?x-1:x;break;default:v=x;break;}
adj=parseInt(adj);if(!isNaN(adj)){if(neg)adj=-adj;v+=adj;}}
if(typeof v!='number')v=1;if(v<1)v=1;return v;}
function cf_getItemsAdjust(x,o,a,$t){var v=cf_getAdjust(x,o,a,$t),i=o.items.visibleConf;if(typeof i.min=='number'&&v<i.min)v=i.min;if(typeof i.max=='number'&&v>i.max)v=i.max;if(v<1)v=1;return v;}
function cf_getSynchArr(s){if(!is_array(s))s=[[s]];if(!is_array(s[0]))s=[s];for(var j=0,l=s.length;j<l;j++){if(typeof s[j][0]=='string')s[j][0]=$(s[j][0]);if(typeof s[j][1]!='boolean')s[j][1]=true;if(typeof s[j][2]!='boolean')s[j][2]=true;if(typeof s[j][3]!='number')s[j][3]=0;}
return s;}
function cf_getKeyCode(k){if(k=='right')return 39;if(k=='left')return 37;if(k=='up')return 38;if(k=='down')return 40;return-1;}
function cf_setCookie(n,v){if(n)document.cookie=n+'='+v+'; path=/';}
function cf_readCookie(n){n+='=';var ca=document.cookie.split(';');for(var a=0,l=ca.length;a<l;a++){var c=ca[a];while(c.charAt(0)==' '){c=c.substring(1,c.length);}
if(c.indexOf(n)==0){return c.substring(n.length,c.length);}}
return 0;}
function bt_pauseOnHoverConfig(p){if(p&&typeof p=='string'){var i=(p.indexOf('immediate')>-1)?true:false,r=(p.indexOf('resume')>-1)?true:false;}else{var i=r=false;}
return[i,r];}
function bt_mousesheelNumber(mw){return(typeof mw=='number')?mw:null}
function is_array(a){return typeof(a)=='object'&&(a instanceof Array);}
function getTime(){return new Date().getTime();}
function debug(d,m){if(typeof d=='object'){var s=' ('+d.selector+')';d=d.debug;}else{var s='';}
if(!d)return false;if(typeof m=='string')m='carouFredSel'+s+': '+m;else m=['carouFredSel'+s+':',m];if(window.console&&window.console.log)window.console.log(m);return false;}
$.fn.caroufredsel=function(o){return this.carouFredSel(o);};})(jQuery);;
(function($){$.fn.adGallery=function(options){var defaults={loader_image:'loader.gif',start_at_index:0,description_wrapper:false,thumb_opacity:0.7,animate_first_image:false,animation_speed:400,width:false,height:false,display_next_and_prev:true,display_back_and_forward:true,scroll_jump:0,slideshow:{enable:true,autostart:false,speed:5000,start_label:'Start',stop_label:'Stop',stop_on_scroll:true,countdown_prefix:'(',countdown_sufix:')',onStart:false,onStop:false},effect:'slide-hori',enable_keyboard_move:true,cycle:true,callbacks:{init:false,afterImageVisible:false,beforeImageVisible:false}};var settings=$.extend(false,defaults,options);if(options&&options.slideshow){settings.slideshow=$.extend(false,defaults.slideshow,options.slideshow);};if(!settings.slideshow.enable){settings.slideshow.autostart=false;};var galleries=[];$(this).each(function(){var gallery=new AdGallery(this,settings);galleries[galleries.length]=gallery;});return galleries;};function VerticalSlideAnimation(img_container,direction,desc){var current_top=parseInt(img_container.css('top'),10);if(direction=='left'){var old_image_top='-'+this.image_wrapper_height+'px';img_container.css('top',this.image_wrapper_height+'px');}else{var old_image_top=this.image_wrapper_height+'px';img_container.css('top','-'+this.image_wrapper_height+'px');};if(desc){desc.css('bottom','-'+desc[0].offsetHeight+'px');desc.animate({bottom:0},this.settings.animation_speed*2);};if(this.current_description){this.current_description.animate({bottom:'-'+this.current_description[0].offsetHeight+'px'},this.settings.animation_speed*2);};return{old_image:{top:old_image_top},new_image:{top:current_top}};};function HorizontalSlideAnimation(img_container,direction,desc){var current_left=parseInt(img_container.css('left'),10);if(direction=='left'){var old_image_left='-'+this.image_wrapper_width+'px';img_container.css('left',this.image_wrapper_width+'px');}else{var old_image_left=this.image_wrapper_width+'px';img_container.css('left','-'+this.image_wrapper_width+'px');};if(desc){desc.css('bottom','-'+desc[0].offsetHeight+'px');desc.animate({bottom:0},this.settings.animation_speed*2);};if(this.current_description){this.current_description.animate({bottom:'-'+this.current_description[0].offsetHeight+'px'},this.settings.animation_speed*2);};return{old_image:{left:old_image_left},new_image:{left:current_left}};};function ResizeAnimation(img_container,direction,desc){var image_width=img_container.width();var image_height=img_container.height();var current_left=parseInt(img_container.css('left'),10);var current_top=parseInt(img_container.css('top'),10);img_container.css({width:0,height:0,top:this.image_wrapper_height/2,left:this.image_wrapper_width/2});return{old_image:{width:0,height:0,top:this.image_wrapper_height/2,left:this.image_wrapper_width/2},new_image:{width:image_width,height:image_height,top:current_top,left:current_left}};};function FadeAnimation(img_container,direction,desc){img_container.css('opacity',0);return{old_image:{opacity:0},new_image:{opacity:1}};};function NoneAnimation(img_container,direction,desc){img_container.css('opacity',0);return{old_image:{opacity:0},new_image:{opacity:1},speed:0};};function AdGallery(wrapper,settings){this.init(wrapper,settings);};AdGallery.prototype={wrapper:false,image_wrapper:false,gallery_info:false,nav:false,loader:false,preloads:false,thumbs_wrapper:false,scroll_back:false,scroll_forward:false,next_link:false,prev_link:false,slideshow:false,image_wrapper_width:0,image_wrapper_height:0,current_index:0,current_image:false,current_description:false,nav_display_width:0,settings:false,images:false,in_transition:false,animations:false,init:function(wrapper,settings){var context=this;this.wrapper=$(wrapper);this.settings=settings;this.setupElements();this.setupAnimations();if(this.settings.width){this.image_wrapper_width=this.settings.width;this.image_wrapper.width(this.settings.width);this.wrapper.width(this.settings.width);}else{this.image_wrapper_width=this.image_wrapper.width();};if(this.settings.height){this.image_wrapper_height=this.settings.height;this.image_wrapper.height(this.settings.height);}else{this.image_wrapper_height=this.image_wrapper.height();};this.nav_display_width=this.nav.width();this.current_index=0;this.current_image=false;this.current_description=false;this.in_transition=false;this.findImages();if(this.settings.display_next_and_prev){this.initNextAndPrev();};var nextimage_callback=function(callback){return context.nextImage(callback);};this.slideshow=new AdGallerySlideshow(nextimage_callback,this.settings.slideshow);this.controls.append(this.slideshow.create());if(this.settings.slideshow.enable){this.slideshow.enable();}else{this.slideshow.disable();};if(this.settings.display_back_and_forward){this.initBackAndForward();};if(this.settings.enable_keyboard_move){this.initKeyEvents();};var start_at=parseInt(this.settings.start_at_index,10);if(window.location.hash&&window.location.hash.indexOf('#ad-image')===0){start_at=window.location.hash.replace(/[^0-9]+/g,'');if((start_at*1)!=start_at){start_at=this.settings.start_at_index;};};this.loading(true);this.showImage(start_at,function(){if(context.settings.slideshow.autostart){context.preloadImage(start_at+1);context.slideshow.start();};});this.fireCallback(this.settings.callbacks.init);},setupAnimations:function(){this.animations={'slide-vert':VerticalSlideAnimation,'slide-hori':HorizontalSlideAnimation,'resize':ResizeAnimation,'fade':FadeAnimation,'none':NoneAnimation};},setupElements:function(){this.controls=this.wrapper.find('.ad-controls');this.gallery_info=$('<p class="ad-info"></p>');this.controls.append(this.gallery_info);this.image_wrapper=this.settings.image_wrapper||this.wrapper.find('.ad-image-wrapper');this.image_wrapper.empty();this.nav=this.wrapper.find('.ad-nav');this.thumbs_wrapper=this.nav.find('.ad-thumbs');this.preloads=$('<div class="ad-preloads"></div>');this.loader=$('<img class="ad-loader" src="'+this.settings.loader_image+'">');this.image_wrapper.append(this.loader);this.loader.hide();$(document.body).append(this.preloads);},loading:function(bool){if(bool){this.loader.show();}else{this.loader.hide();};},addAnimation:function(name,fn){if($.isFunction(fn)){this.animations[name]=fn;};},findImages:function(){var context=this;this.images=[];var thumb_wrapper_width=0;var thumbs_loaded=0;var thumbs=this.thumbs_wrapper.find('a');var thumb_count=thumbs.length;if(this.settings.thumb_opacity<1){thumbs.find('img').css('opacity',this.settings.thumb_opacity);};thumbs.each(function(i){var link=$(this);var image_src=link.attr('href');var thumb=link.find('img');if(!context.isImageLoaded(thumb[0])){thumb.load(function(){thumb_wrapper_width+=this.parentNode.parentNode.offsetWidth+10;thumbs_loaded++;});}else{thumb_wrapper_width+=thumb[0].parentNode.parentNode.offsetWidth+10;thumbs_loaded++;};link.addClass('ad-thumb'+i);link.click(function(){context.showImage(i);context.slideshow.stop();return false;}).hover(function(){if(!$(this).is('.ad-active')&&context.settings.thumb_opacity<1){$(this).find('img').fadeTo(300,1);};context.preloadImage(i);},function(){if(!$(this).is('.ad-active')&&context.settings.thumb_opacity<1){$(this).find('img').fadeTo(300,context.settings.thumb_opacity);};});var link=false;if(thumb.data('ad-link')){link=thumb.data('ad-link');}else if(thumb.attr('longdesc')&&thumb.attr('longdesc').length){link=thumb.attr('longdesc');};var desc=false;if(thumb.data('ad-desc')){desc=thumb.data('ad-desc');}else if(thumb.attr('alt')&&thumb.attr('alt').length){desc=thumb.attr('alt');};var title=false;if(thumb.data('ad-title')){title=thumb.data('ad-title');}else if(thumb.attr('title')&&thumb.attr('title').length){title=thumb.attr('title');};context.images[i]={thumb:thumb.attr('src'),image:image_src,error:false,preloaded:false,desc:desc,title:title,size:false,link:link};});var inter=setInterval(function(){if(thumb_count==thumbs_loaded){thumb_wrapper_width-=100;var list=context.nav.find('.ad-thumb-list');list.css('width',thumb_wrapper_width+'px');var i=1;var last_height=list.height();while(i<201){list.css('width',(thumb_wrapper_width+i)+'px');if(last_height!=list.height()){break;}
last_height=list.height();i++;}
clearInterval(inter);};},100);},initKeyEvents:function(){var context=this;$(document).keydown(function(e){if(e.keyCode==39){context.nextImage();context.slideshow.stop();}else if(e.keyCode==37){context.prevImage();context.slideshow.stop();};});},initNextAndPrev:function(){this.next_link=$('<div class="ad-next"><div class="ad-next-image"></div></div>');this.prev_link=$('<div class="ad-prev"><div class="ad-prev-image"></div></div>');this.image_wrapper.append(this.next_link);this.image_wrapper.append(this.prev_link);var context=this;this.prev_link.add(this.next_link).mouseover(function(e){$(this).css('height',context.image_wrapper_height);$(this).find('div').show();}).mouseout(function(e){$(this).find('div').hide();}).click(function(){if($(this).is('.ad-next')){context.nextImage();context.slideshow.stop();}else{context.prevImage();context.slideshow.stop();};}).find('div').css('opacity',0.7);},initBackAndForward:function(){var context=this;this.scroll_forward=$('<div class="ad-forward"></div>');this.scroll_back=$('<div class="ad-back"></div>');this.nav.append(this.scroll_forward);this.nav.prepend(this.scroll_back);var has_scrolled=0;var thumbs_scroll_interval=false;$(this.scroll_back).add(this.scroll_forward).click(function(){var width=context.nav_display_width-50;if(context.settings.scroll_jump>0){var width=context.settings.scroll_jump;};if($(this).is('.ad-forward')){var left=context.thumbs_wrapper.scrollLeft()+width;}else{var left=context.thumbs_wrapper.scrollLeft()-width;};if(context.settings.slideshow.stop_on_scroll){context.slideshow.stop();};context.thumbs_wrapper.animate({scrollLeft:left+'px'});return false;}).css('opacity',0.6).hover(function(){var direction='left';if($(this).is('.ad-forward')){direction='right';};thumbs_scroll_interval=setInterval(function(){has_scrolled++;if(has_scrolled>30&&context.settings.slideshow.stop_on_scroll){context.slideshow.stop();};var left=context.thumbs_wrapper.scrollLeft()+1;if(direction=='left'){left=context.thumbs_wrapper.scrollLeft()-1;};context.thumbs_wrapper.scrollLeft(left);},10);$(this).css('opacity',1);},function(){has_scrolled=0;clearInterval(thumbs_scroll_interval);$(this).css('opacity',0.6);});},_afterShow:function(){this.gallery_info.html((this.current_index+1)+' / '+this.images.length);if(!this.settings.cycle){this.prev_link.show().css('height',this.image_wrapper_height);this.next_link.show().css('height',this.image_wrapper_height);if(this.current_index==(this.images.length-1)){this.next_link.hide();};if(this.current_index==0){this.prev_link.hide();};};this.fireCallback(this.settings.callbacks.afterImageVisible);},_getContainedImageSize:function(image_width,image_height){if(image_height>this.image_wrapper_height){var ratio=image_width/image_height;image_height=this.image_wrapper_height;image_width=this.image_wrapper_height*ratio;};if(image_width>this.image_wrapper_width){var ratio=image_height/image_width;image_width=this.image_wrapper_width;image_height=this.image_wrapper_width*ratio;};return{width:image_width,height:image_height};},_centerImage:function(img_container,image_width,image_height){img_container.css('top','0px');if(image_height<this.image_wrapper_height){var dif=this.image_wrapper_height-image_height;img_container.css('top',(dif/2)+'px');};img_container.css('left','0px');if(image_width<this.image_wrapper_width){var dif=this.image_wrapper_width-image_width;img_container.css('left',(dif/2)+'px');};},_getDescription:function(image){var desc=false;if(image.desc.length||image.title.length){var title='';if(image.title.length){title='<strong class="ad-description-title">'+image.title+'</strong>';};var desc='';if(image.desc.length){desc='<span>'+image.desc+'</span>';};desc=$('<p class="ad-image-description">'+title+desc+'</p>');};return desc;},showImage:function(index,callback){if(this.images[index]&&!this.in_transition){var context=this;var image=this.images[index];this.in_transition=true;if(!image.preloaded){this.loading(true);this.preloadImage(index,function(){context.loading(false);context._showWhenLoaded(index,callback);});}else{this._showWhenLoaded(index,callback);};};},_showWhenLoaded:function(index,callback){if(this.images[index]){var context=this;var image=this.images[index];var img_container=$(document.createElement('div')).addClass('ad-image');var img=$(new Image()).attr('src',image.image);if(image.link){var link=$('<a href="'+image.link+'" target="_blank"></a>');link.append(img);img_container.append(link);}else{img_container.append(img);}
this.image_wrapper.prepend(img_container);var size=this._getContainedImageSize(image.size.width,image.size.height);img.attr('width',size.width);img.attr('height',size.height);img_container.css({width:size.width+'px',height:size.height+'px'});this._centerImage(img_container,size.width,size.height);var desc=this._getDescription(image,img_container);if(desc){if(!this.settings.description_wrapper){img_container.append(desc);var width=size.width-parseInt(desc.css('padding-left'),10)-parseInt(desc.css('padding-right'),10);desc.css('width',width+'px');}else{this.settings.description_wrapper.append(desc);}};this.highLightThumb(this.nav.find('.ad-thumb'+index));var direction='right';if(this.current_index<index){direction='left';};this.fireCallback(this.settings.callbacks.beforeImageVisible);if(this.current_image||this.settings.animate_first_image){var animation_speed=this.settings.animation_speed;var easing='swing';var animation=this.animations[this.settings.effect].call(this,img_container,direction,desc);if(typeof animation.speed!='undefined'){animation_speed=animation.speed;};if(typeof animation.easing!='undefined'){easing=animation.easing;};if(this.current_image){var old_image=this.current_image;var old_description=this.current_description;old_image.animate(animation.old_image,animation_speed,easing,function(){old_image.remove();if(old_description)old_description.remove();});};img_container.animate(animation.new_image,animation_speed,easing,function(){context.current_index=index;context.current_image=img_container;context.current_description=desc;context.in_transition=false;context._afterShow();context.fireCallback(callback);});}else{this.current_index=index;this.current_image=img_container;context.current_description=desc;this.in_transition=false;context._afterShow();this.fireCallback(callback);};};},nextIndex:function(){if(this.current_index==(this.images.length-1)){if(!this.settings.cycle){return false;};var next=0;}else{var next=this.current_index+1;};return next;},nextImage:function(callback){var next=this.nextIndex();if(next===false)return false;this.preloadImage(next+1);this.showImage(next,callback);return true;},prevIndex:function(){if(this.current_index==0){if(!this.settings.cycle){return false;};var prev=this.images.length-1;}else{var prev=this.current_index-1;};return prev;},prevImage:function(callback){var prev=this.prevIndex();if(prev===false)return false;this.preloadImage(prev-1);this.showImage(prev,callback);return true;},preloadAll:function(){var context=this;var i=0;function preloadNext(){if(i<context.images.length){i++;context.preloadImage(i,preloadNext);};};context.preloadImage(i,preloadNext);},preloadImage:function(index,callback){if(this.images[index]){var image=this.images[index];if(!this.images[index].preloaded){var img=$(new Image());img.attr('src',image.image);if(!this.isImageLoaded(img[0])){this.preloads.append(img);var context=this;img.load(function(){image.preloaded=true;image.size={width:this.width,height:this.height};context.fireCallback(callback);}).error(function(){image.error=true;image.preloaded=false;image.size=false;});}else{image.preloaded=true;image.size={width:img[0].width,height:img[0].height};this.fireCallback(callback);};}else{this.fireCallback(callback);};};},isImageLoaded:function(img){if(typeof img.complete!='undefined'&&!img.complete){return false;};if(typeof img.naturalWidth!='undefined'&&img.naturalWidth==0){return false;};return true;},highLightThumb:function(thumb){this.thumbs_wrapper.find('.ad-active').removeClass('ad-active');thumb.addClass('ad-active');if(this.settings.thumb_opacity<1){this.thumbs_wrapper.find('a:not(.ad-active) img').fadeTo(300,this.settings.thumb_opacity);thumb.find('img').fadeTo(300,1);};var left=thumb[0].parentNode.offsetLeft;left-=(this.nav_display_width/2)-(thumb[0].offsetWidth/2);this.thumbs_wrapper.animate({scrollLeft:left+'px'});},fireCallback:function(fn){if($.isFunction(fn)){fn.call(this);};}};function AdGallerySlideshow(nextimage_callback,settings){this.init(nextimage_callback,settings);};AdGallerySlideshow.prototype={start_link:false,stop_link:false,countdown:false,controls:false,settings:false,nextimage_callback:false,enabled:false,running:false,countdown_interval:false,init:function(nextimage_callback,settings){var context=this;this.nextimage_callback=nextimage_callback;this.settings=settings;},create:function(){this.start_link=$('<span class="ad-slideshow-start">'+this.settings.start_label+'</span>');this.stop_link=$('<span class="ad-slideshow-stop">'+this.settings.stop_label+'</span>');this.countdown=$('<span class="ad-slideshow-countdown"></span>');this.controls=$('<div class="ad-slideshow-controls"></div>');this.controls.append(this.start_link).append(this.stop_link).append(this.countdown);this.countdown.hide();var context=this;this.start_link.click(function(){context.start();});this.stop_link.click(function(){context.stop();});$(document).keydown(function(e){if(e.keyCode==83){if(context.running){context.stop();}else{context.start();};};});return this.controls;},disable:function(){this.enabled=false;this.stop();this.controls.hide();},enable:function(){this.enabled=true;this.controls.show();},toggle:function(){if(this.enabled){this.disable();}else{this.enable();};},start:function(){if(this.running||!this.enabled)return false;var context=this;this.running=true;this.controls.addClass('ad-slideshow-running');this._next();this.fireCallback(this.settings.onStart);return true;},stop:function(){if(!this.running)return false;this.running=false;this.countdown.hide();this.controls.removeClass('ad-slideshow-running');clearInterval(this.countdown_interval);this.fireCallback(this.settings.onStop);return true;},_next:function(){var context=this;var pre=this.settings.countdown_prefix;var su=this.settings.countdown_sufix;clearInterval(context.countdown_interval);this.countdown.show().html(pre+(this.settings.speed/1000)+su);var slide_timer=0;this.countdown_interval=setInterval(function(){slide_timer+=1000;if(slide_timer>=context.settings.speed){var whenNextIsShown=function(){if(context.running){context._next();};slide_timer=0;};if(!context.nextimage_callback(whenNextIsShown)){context.stop();};slide_timer=0;};var sec=parseInt(context.countdown.text().replace(/[^0-9]/g,''),10);sec--;if(sec>0){context.countdown.html(pre+sec+su);};},1000);},fireCallback:function(fn){if($.isFunction(fn)){fn.call(this);};}};})(jQuery);;
(function($){$.fn.tbHinter=function(options){var defaults={text:'Enter a text ...','class':''};var options=$.extend(defaults,options);return this.each(function(){var originalName=$(this).attr('name');$(this).focus(function(){if($(this).val()==options.text){$(this).val('').attr('name',originalName).removeClass(options['class']);}});$(this).blur(function(){if($(this).val()==''){$(this).val(options.text).attr('name','hinter_'+originalName).addClass(options['class']);}});$(this).blur();});};})(jQuery);;
(function($){var dropShadowZindex=1;$.fn.dropShadow=function(options)
{var opt=$.extend({left:4,top:4,blur:2,opacity:.5,color:"black",swap:false},options);var jShadows=$([]);this.not(".dropShadow").each(function()
{var jthis=$(this);var shadows=[];var blur=(opt.blur<=0)?0:opt.blur;var opacity=(blur==0)?opt.opacity:opt.opacity/(blur*8);var zOriginal=(opt.swap)?dropShadowZindex:dropShadowZindex+1;var zShadow=(opt.swap)?dropShadowZindex+1:dropShadowZindex;var shadowId;if(this.id){shadowId=this.id+"_dropShadow";}
else{shadowId="ds"+(1+Math.floor(9999*Math.random()));}
$.data(this,"shadowId",shadowId);$.data(this,"shadowOptions",options);jthis.attr("shadowId",shadowId).css("zIndex",zOriginal);if(jthis.css("position")!="absolute"){jthis.css({position:"relative",zoom:1});}
bgColor=jthis.css("backgroundColor");if(bgColor=="rgba(0, 0, 0, 0)")bgColor="transparent";if(bgColor!="transparent"||jthis.css("backgroundImage")!="none"||this.nodeName=="SELECT"||this.nodeName=="INPUT"||this.nodeName=="TEXTAREA"){shadows[0]=$("<div></div>").css("background",opt.color);}
else{shadows[0]=jthis.clone().removeAttr("id").removeAttr("name").removeAttr("shadowId").css("color",opt.color);}
shadows[0].addClass("dropShadow").css({height:jthis.outerHeight(),left:blur,opacity:opacity,position:"absolute",top:blur,width:jthis.outerWidth(),zIndex:zShadow});var layers=(8*blur)+1;for(i=1;i<layers;i++){shadows[i]=shadows[0].clone();}
var i=1;var j=blur;while(j>0){shadows[i].css({left:j*2,top:0});shadows[i+1].css({left:j*4,top:j*2});shadows[i+2].css({left:j*2,top:j*4});shadows[i+3].css({left:0,top:j*2});shadows[i+4].css({left:j*3,top:j});shadows[i+5].css({left:j*3,top:j*3});shadows[i+6].css({left:j,top:j*3});shadows[i+7].css({left:j,top:j});i+=8;j--;}
var divShadow=$("<div></div>").attr("id",shadowId).addClass("dropShadow").css({left:jthis.position().left+opt.left-blur,marginTop:jthis.css("marginTop"),marginRight:jthis.css("marginRight"),marginBottom:jthis.css("marginBottom"),marginLeft:jthis.css("marginLeft"),position:"absolute",top:jthis.position().top+opt.top-blur,zIndex:zShadow});for(i=0;i<layers;i++){divShadow.append(shadows[i]);}
jthis.after(divShadow);jShadows=jShadows.add(divShadow);$(window).resize(function()
{try{divShadow.css({left:jthis.position().left+opt.left-blur,top:jthis.position().top+opt.top-blur});}
catch(e){}});dropShadowZindex+=2;});return this.pushStack(jShadows);};$.fn.redrawShadow=function()
{this.removeShadow();return this.each(function()
{var shadowOptions=$.data(this,"shadowOptions");$(this).dropShadow(shadowOptions);});};$.fn.removeShadow=function()
{return this.each(function()
{var shadowId=$(this).shadowId();$("div#"+shadowId).remove();});};$.fn.shadowId=function()
{return $.data(this[0],"shadowId");};$(function()
{var noPrint="<style type='text/css' media='print'>";noPrint+=".dropShadow{visibility:hidden;}</style>";$("head").append(noPrint);});})(jQuery);;;(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
var method,action,url,$form=this;if(typeof options=='function'){options={success:options};}
method=this.attr('method');action=this.attr('action');url=(typeof action==='string')?$.trim(action):'';url=url||window.location.href||'';if(url){url=(url.match(/^([^#]+)/)||[])[1];}
options=$.extend(true,{url:url,success:$.ajaxSettings.success,type:method||'GET',iframeSrc:/^https/i.test(window.location.href||'')?'javascript:false':'about:blank'},options);var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){log('ajaxSubmit: submit aborted via beforeSerialize callback');return this;}
var traditional=options.traditional;if(traditional===undefined){traditional=$.ajaxSettings.traditional;}
var qx,n,v,a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;qx=$.param(options.data,traditional);}
if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
var q=$.param(a,traditional);if(qx){q=(q?(q+'&'+qx):qx);}
if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
else{options.data=q;}
var callbacks=[];if(options.resetForm){callbacks.push(function(){$form.resetForm();});}
if(options.clearForm){callbacks.push(function(){$form.clearForm(options.includeHidden);});}
if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){var fn=options.replaceTarget?'replaceWith':'html';$(options.target)[fn](data).each(oldSuccess,arguments);});}
else if(options.success){callbacks.push(options.success);}
options.success=function(data,status,xhr){var context=options.context||options;for(var i=0,max=callbacks.length;i<max;i++){callbacks[i].apply(context,[data,status,xhr||$form,$form]);}};var fileInputs=$('input:file:enabled[value]',this);var hasFileInputs=fileInputs.length>0;var mp='multipart/form-data';var multipart=($form.attr('enctype')==mp||$form.attr('encoding')==mp);var fileAPI=!!(hasFileInputs&&fileInputs.get(0).files&&window.FormData);log("fileAPI :"+fileAPI);var shouldUseFrame=(hasFileInputs||multipart)&&!fileAPI;if(options.iframe!==false&&(options.iframe||shouldUseFrame)){if(options.closeKeepAlive){$.get(options.closeKeepAlive,function(){fileUploadIframe(a);});}
else{fileUploadIframe(a);}}
else if((hasFileInputs||multipart)&&fileAPI){options.progress=options.progress||$.noop;fileUploadXhr(a);}
else{$.ajax(options);}
this.trigger('form-submit-notify',[this,options]);return this;function fileUploadXhr(a){var formdata=new FormData();for(var i=0;i<a.length;i++){if(a[i].type=='file')
continue;formdata.append(a[i].name,a[i].value);}
$form.find('input:file:enabled').each(function(){var name=$(this).attr('name'),files=this.files;if(name){for(var i=0;i<files.length;i++)
formdata.append(name,files[i]);}});if(options.extraData){for(var k in options.extraData)
formdata.append(k,options.extraData[k])}
options.data=null;var s=$.extend(true,{},$.ajaxSettings,options,{contentType:false,processData:false,cache:false,type:'POST'});s.context=s.context||s;s.data=null;var beforeSend=s.beforeSend;s.beforeSend=function(xhr,o){o.data=formdata;if(xhr.upload){xhr.upload.onprogress=function(event){o.progress(event.position,event.total);};}
if(beforeSend)
beforeSend.call(o,xhr,options);};$.ajax(s);}
function fileUploadIframe(a){var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;var useProp=!!$.fn.prop;if(a){if(useProp){for(i=0;i<a.length;i++){el=$(form[a[i].name]);el.prop('disabled',false);}}else{for(i=0;i<a.length;i++){el=$(form[a[i].name]);el.removeAttr('disabled');}};}
if($(':input[name=submit],:input[id=submit]',form).length){alert('Error: Form elements must not have name or id of "submit".');return;}
s=$.extend(true,{},$.ajaxSettings,options);s.context=s.context||s;id='jqFormIO'+(new Date().getTime());if(s.iframeTarget){$io=$(s.iframeTarget);n=$io.attr('name');if(n==null)
$io.attr('name',id);else
id=n;}
else{$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'" />');$io.css({position:'absolute',top:'-1000px',left:'-1000px'});}
io=$io[0];xhr={aborted:0,responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(status){var e=(status==='timeout'?'timeout':'aborted');log('aborting upload... '+e);this.aborted=1;$io.attr('src',s.iframeSrc);xhr.error=e;s.error&&s.error.call(s.context,xhr,e,status);g&&$.event.trigger("ajaxError",[xhr,s,e]);s.complete&&s.complete.call(s.context,xhr,e);}};g=s.global;if(g&&!$.active++){$.event.trigger("ajaxStart");}
if(g){$.event.trigger("ajaxSend",[xhr,s]);}
if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){if(s.global){$.active--;}
return;}
if(xhr.aborted){return;}
sub=form.clk;if(sub){n=sub.name;if(n&&!sub.disabled){s.extraData=s.extraData||{};s.extraData[n]=sub.value;if(sub.type=="image"){s.extraData[n+'.x']=form.clk_x;s.extraData[n+'.y']=form.clk_y;}}}
var CLIENT_TIMEOUT_ABORT=1;var SERVER_ABORT=2;function getDoc(frame){var doc=frame.contentWindow?frame.contentWindow.document:frame.contentDocument?frame.contentDocument:frame.document;return doc;}
var csrf_token=$('meta[name=csrf-token]').attr('content');var csrf_param=$('meta[name=csrf-param]').attr('content');if(csrf_param&&csrf_token){s.extraData=s.extraData||{};s.extraData[csrf_param]=csrf_token;}
function doSubmit(){var t=$form.attr('target'),a=$form.attr('action');form.setAttribute('target',id);if(!method){form.setAttribute('method','POST');}
if(a!=s.url){form.setAttribute('action',s.url);}
if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){$form.attr({encoding:'multipart/form-data',enctype:'multipart/form-data'});}
if(s.timeout){timeoutHandle=setTimeout(function(){timedOut=true;cb(CLIENT_TIMEOUT_ABORT);},s.timeout);}
function checkState(){try{var state=getDoc(io).readyState;log('state = '+state);if(state.toLowerCase()=='uninitialized')
setTimeout(checkState,50);}
catch(e){log('Server abort: ',e,' (',e.name,')');cb(SERVER_ABORT);timeoutHandle&&clearTimeout(timeoutHandle);timeoutHandle=undefined;}}
var extraInputs=[];try{if(s.extraData){for(var n in s.extraData){extraInputs.push($('<input type="hidden" name="'+n+'">').attr('value',s.extraData[n]).appendTo(form)[0]);}}
if(!s.iframeTarget){$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);}
setTimeout(checkState,15);form.submit();}
finally{form.setAttribute('action',a);if(t){form.setAttribute('target',t);}else{$form.removeAttr('target');}
$(extraInputs).remove();}}
if(s.forceSync){doSubmit();}
else{setTimeout(doSubmit,10);}
var data,doc,domCheckCount=50,callbackProcessed;function cb(e){if(xhr.aborted||callbackProcessed){return;}
try{doc=getDoc(io);}
catch(ex){log('cannot access response document: ',ex);e=SERVER_ABORT;}
if(e===CLIENT_TIMEOUT_ABORT&&xhr){xhr.abort('timeout');return;}
else if(e==SERVER_ABORT&&xhr){xhr.abort('server abort');return;}
if(!doc||doc.location.href==s.iframeSrc){if(!timedOut)
return;}
io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var status='success',errMsg;try{if(timedOut){throw'timeout';}
var isXml=s.dataType=='xml'||doc.XMLDocument||$.isXMLDoc(doc);log('isXml='+isXml);if(!isXml&&window.opera&&(doc.body==null||doc.body.innerHTML=='')){if(--domCheckCount){log('requeing onLoad callback, DOM not available');setTimeout(cb,250);return;}}
var docRoot=doc.body?doc.body:doc.documentElement;xhr.responseText=docRoot?docRoot.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;if(isXml)
s.dataType='xml';xhr.getResponseHeader=function(header){var headers={'content-type':s.dataType};return headers[header];};if(docRoot){xhr.status=Number(docRoot.getAttribute('status'))||xhr.status;xhr.statusText=docRoot.getAttribute('statusText')||xhr.statusText;}
var dt=(s.dataType||'').toLowerCase();var scr=/(json|script|text)/.test(dt);if(scr||s.textarea){var ta=doc.getElementsByTagName('textarea')[0];if(ta){xhr.responseText=ta.value;xhr.status=Number(ta.getAttribute('status'))||xhr.status;xhr.statusText=ta.getAttribute('statusText')||xhr.statusText;}
else if(scr){var pre=doc.getElementsByTagName('pre')[0];var b=doc.getElementsByTagName('body')[0];if(pre){xhr.responseText=pre.textContent?pre.textContent:pre.innerText;}
else if(b){xhr.responseText=b.textContent?b.textContent:b.innerText;}}}
else if(dt=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
try{data=httpData(xhr,dt,s);}
catch(e){status='parsererror';xhr.error=errMsg=(e||status);}}
catch(e){log('error caught: ',e);status='error';xhr.error=errMsg=(e||status);}
if(xhr.aborted){log('upload aborted');status=null;}
if(xhr.status){status=(xhr.status>=200&&xhr.status<300||xhr.status===304)?'success':'error';}
if(status==='success'){s.success&&s.success.call(s.context,data,'success',xhr);g&&$.event.trigger("ajaxSuccess",[xhr,s]);}
else if(status){if(errMsg==undefined)
errMsg=xhr.statusText;s.error&&s.error.call(s.context,xhr,status,errMsg);g&&$.event.trigger("ajaxError",[xhr,s,errMsg]);}
g&&$.event.trigger("ajaxComplete",[xhr,s]);if(g&&!--$.active){$.event.trigger("ajaxStop");}
s.complete&&s.complete.call(s.context,xhr,status);callbackProcessed=true;if(s.timeout)
clearTimeout(timeoutHandle);setTimeout(function(){if(!s.iframeTarget)
$io.remove();xhr.responseXML=null;},100);}
var toXml=$.parseXML||function(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
else{doc=(new DOMParser()).parseFromString(s,'text/xml');}
return(doc&&doc.documentElement&&doc.documentElement.nodeName!='parsererror')?doc:null;};var parseJSON=$.parseJSON||function(s){return window['eval']('('+s+')');};var httpData=function(xhr,type,s){var ct=xhr.getResponseHeader('content-type')||'',xml=type==='xml'||!type&&ct.indexOf('xml')>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.nodeName==='parsererror'){$.error&&$.error('parsererror');}
if(s&&s.dataFilter){data=s.dataFilter(data,type);}
if(typeof data==='string'){if(type==='json'||!type&&ct.indexOf('json')>=0){data=parseJSON(data);}else if(type==="script"||!type&&ct.indexOf("javascript")>=0){$.globalEval(data);}}
return data;};}};$.fn.ajaxForm=function(options){if(this.length===0){var o={s:this.selector,c:this.context};if(!$.isReady&&o.s){log('DOM not ready, queuing ajaxForm');$(function(){$(o.s,o.c).ajaxForm(options);});return this;}
log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));return this;}
return this.ajaxFormUnbind().bind('submit.form-plugin',function(e){if(!e.isDefaultPrevented()){e.preventDefault();$(this).ajaxSubmit(options);}}).bind('click.form-plugin',function(e){var target=e.target;var $el=$(target);if(!($el.is(":submit,input:image"))){var t=$el.closest(':submit');if(t.length==0){return;}
target=t[0];}
var form=this;form.clk=target;if(target.type=='image'){if(e.offsetX!=undefined){form.clk_x=e.offsetX;form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$el.offset();form.clk_x=e.pageX-offset.left;form.clk_y=e.pageY-offset.top;}else{form.clk_x=e.pageX-target.offsetLeft;form.clk_y=e.pageY-target.offsetTop;}}
setTimeout(function(){form.clk=form.clk_x=form.clk_y=null;},100);});};$.fn.ajaxFormUnbind=function(){return this.unbind('submit.form-plugin click.form-plugin');};$.fn.formToArray=function(semantic){var a=[];if(this.length===0){return a;}
var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els){return a;}
var i,j,n,v,el,max,jmax;for(i=0,max=els.length;i<max;i++){el=els[i];n=el.name;if(!n){continue;}
if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el){a.push({name:n,value:$(el).val(),type:el.type});a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}
continue;}
v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(j=0,jmax=v.length;j<jmax;j++){a.push({name:n,value:v[j]});}}
else if(v!==null&&typeof v!='undefined'){a.push({name:n,value:v,type:el.type});}}
if(!semantic&&form.clk){var $input=$(form.clk),input=$input[0];n=input.name;if(n&&!input.disabled&&input.type=='image'){a.push({name:n,value:$input.val()});a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n){return;}
var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++){a.push({name:n,value:v[i]});}}
else if(v!==null&&typeof v!='undefined'){a.push({name:this.name,value:v});}});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length)){continue;}
v.constructor==Array?$.merge(val,v):val.push(v);}
return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(successful===undefined){successful=true;}
if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1)){return null;}
if(tag=='select'){var index=el.selectedIndex;if(index<0){return null;}
var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=op.value;if(!v){v=(op.attributes&&op.attributes['value']&&!(op.attributes['value'].specified))?op.text:op.value;}
if(one){return v;}
a.push(v);}}
return a;}
return $(el).val();};$.fn.clearForm=function(includeHidden){return this.each(function(){$('input,select,textarea',this).clearFields(includeHidden);});};$.fn.clearFields=$.fn.clearInputs=function(includeHidden){var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(re.test(t)||tag=='textarea'||(includeHidden&&/hidden/.test(t))){this.value='';}
else if(t=='checkbox'||t=='radio'){this.checked=false;}
else if(tag=='select'){this.selectedIndex=-1;}});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType)){this.reset();}});};$.fn.enable=function(b){if(b===undefined){b=true;}
return this.each(function(){this.disabled=!b;});};$.fn.selected=function(select){if(select===undefined){select=true;}
return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio'){this.checked=select;}
else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').selected(false);}
this.selected=select;}});};$.fn.ajaxSubmit.debug=false;function log(){if(!$.fn.ajaxSubmit.debug)
return;var msg='[jquery.form] '+Array.prototype.join.call(arguments,'');if(window.console&&window.console.log){window.console.log(msg);}
else if(window.opera&&window.opera.postError){window.opera.postError(msg);}};})(jQuery);;/**
 * jQuery Validation Plugin 1.9.0
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2011 Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;this.attr("novalidate","novalidate");b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){a=this.find("input, button");a.filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&a.filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var f=c("<input type='hidden'/>").attr("name",
b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&f.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form();
else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name];
return g}var h={};c.each(b.split(/\s/),function(j,i){h[i]=g[i];delete g[i]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a,
b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",
validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(a)).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)},
onkeyup:function(a){if(a.name in this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).addClass(b).removeClass(d):c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).removeClass(b).addClass(d):c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults,
a)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."),
minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."),range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var f=c.data(this[0].form,"validator"),g="on"+e.type.replace(/^validate/,
"");f.settings[g]&&f.settings[g].call(f,this[0],e)}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,f){c.each(f.split(/\s/),function(g,h){b[h]=e})});var d=
this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",a).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",
a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(a){this.lastElement=
a=this.validationTargetFor(this.clean(a));this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList,function(d){return!(d.name in a)})}this.settings.showErrors?
this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==
0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&
a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},
prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.validationTargetFor(this.clean(a));var b=c(a).rules(),d=false,e;for(e in b){var f={method:e,parameters:b[e]};try{var g=c.validator.methods[e].call(this,a.value.replace(/\r/g,""),a,f.parameters);if(g=="dependency-mismatch")d=true;else{d=false;if(g=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!g){this.formatAndAdd(a,f);return false}}}catch(h){this.settings.debug&&window.console&&console.log("exception occured when checking element "+
a.id+", check the '"+f.method+"' method",h);throw h;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==undefined)return arguments[a]},defaultMessage:function(a,
b){return this.findDefined(this.customMessage(a.name,b),this.customMetaMessage(a,b),!this.settings.ignoreTitle&&a.title||undefined,c.validator.messages[b],"<strong>Warning: No message defined for "+a.name+"</strong>")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d,element:a});this.errorMap[a.name]=d;this.submitted[a.name]=
d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);
if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a,b){var d=this.errorsFor(a);if(d.length){d.removeClass(this.settings.validClass).addClass(this.settings.errorClass);
d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text("");typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow=
this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){if(this.checkable(a))a=this.findByName(a.name).not(this.settings.ignore)[0];return a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d,
e){return e.form==b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this,
c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=
false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings,
a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(var d in c.validator.methods){var e;if(e=d==="required"&&typeof c.fn.prop==="function"?a.prop(d):a.attr(d))b[d]=e;else if(a[0].getAttribute("type")===d)b[d]=true}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{};
var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]:c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}if(f)a[d]=e.param!==undefined?
e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)?e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages;
return a},normalizeRule:function(a){if(typeof a=="string"){var b={};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a,
b)>0;default:return c.trim(a).length>0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(this.pending[b.name])return"pending";if(e.old===a)return e.valid;e.old=a;var f=this;this.startRequest(b);var g={};g[b.name]=a;c.ajax(c.extend(true,{url:d,
mode:"abort",port:"validate"+b.name,dataType:"json",data:g,success:function(h){f.settings.messages[b.name].remote=e.originalMessage;var j=h===true;if(j){var i=f.formSubmitted;f.prepareElement(b);f.formSubmitted=i;f.successList.push(b);f.showErrors()}else{i={};h=h||f.defaultMessage(b,"remote");i[b.name]=e.message=c.isFunction(h)?h(a):h;f.showErrors(i)}e.valid=j;f.stopRequest(b,j)}},d));return"pending"},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a,
b,d){return this.optional(b)||this.getLength(c.trim(a),b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)},
url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},
date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 -]+/.test(a))return false;var d=0,e=0,f=false;a=a.replace(/\D/g,"");for(var g=a.length-1;g>=
0;g--){e=a.charAt(g);e=parseInt(e,10);if(f)if((e*=2)>9)e-=9;d+=e;f=!f}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery);
(function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(d,e,f){e=d.port;if(d.mode=="abort"){a[e]&&a[e].abort();a[e]=f}});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;if(("mode"in d?d:c.ajaxSettings).mode=="abort"){a[e]&&a[e].abort();return a[e]=b.apply(this,arguments)}return b.apply(this,arguments)}}})(jQuery);
(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a,
b,d){return this.bind(b,function(e){var f=c(e.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery);
;/**
 * jQuery Validation Plugin 1.9.0
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2011 Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

(function() {

	function stripHtml(value) {
		// remove html tags and space chars
		return value.replace(/<.[^<>]*?>/g, ' ').replace(/&nbsp;|&#160;/gi, ' ')
		// remove numbers and punctuation
		.replace(/[0-9.(),;:!?%#$'"_+=\/-]*/g,'');
	}
	jQuery.validator.addMethod("maxWords", function(value, element, params) {
	    return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length < params;
	}, jQuery.validator.format("Please enter {0} words or less."));

	jQuery.validator.addMethod("minWords", function(value, element, params) {
	    return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params;
	}, jQuery.validator.format("Please enter at least {0} words."));

	jQuery.validator.addMethod("rangeWords", function(value, element, params) {
	    return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params[0] && value.match(/bw+b/g).length < params[1];
	}, jQuery.validator.format("Please enter between {0} and {1} words."));

})();

jQuery.validator.addMethod("letterswithbasicpunc", function(value, element) {
	return this.optional(element) || /^[a-z-.,()'\"\s]+$/i.test(value);
}, "Letters or punctuation only please");

jQuery.validator.addMethod("alphanumeric", function(value, element) {
	return this.optional(element) || /^\w+$/i.test(value);
}, "Letters, numbers, spaces or underscores only please");

jQuery.validator.addMethod("lettersonly", function(value, element) {
	return this.optional(element) || /^[a-z]+$/i.test(value);
}, "Letters only please");

jQuery.validator.addMethod("nowhitespace", function(value, element) {
	return this.optional(element) || /^\S+$/i.test(value);
}, "No white space please");

jQuery.validator.addMethod("ziprange", function(value, element) {
	return this.optional(element) || /^90[2-5]\d\{2}-\d{4}$/.test(value);
}, "Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx");

jQuery.validator.addMethod("integer", function(value, element) {
	return this.optional(element) || /^-?\d+$/.test(value);
}, "A positive or negative non-decimal number please");

/**
* Return true, if the value is a valid vehicle identification number (VIN).
*
* Works with all kind of text inputs.
*
* @example <input type="text" size="20" name="VehicleID" class="{required:true,vinUS:true}" />
* @desc Declares a required input element whose value must be a valid vehicle identification number.
*
* @name jQuery.validator.methods.vinUS
* @type Boolean
* @cat Plugins/Validate/Methods
*/
jQuery.validator.addMethod(
	"vinUS",
	function(v){
		if (v.length != 17)
			return false;
		var i, n, d, f, cd, cdv;
		var LL    = ["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"];
		var VL    = [1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9];
		var FL    = [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2];
		var rs    = 0;
		for(i = 0; i < 17; i++){
		    f = FL[i];
		    d = v.slice(i,i+1);
		    if(i == 8){
		        cdv = d;
		    }
		    if(!isNaN(d)){
		        d *= f;
		    }
		    else{
		        for(n = 0; n < LL.length; n++){
		            if(d.toUpperCase() === LL[n]){
		                d = VL[n];
		                d *= f;
		                if(isNaN(cdv) && n == 8){
		                    cdv = LL[n];
		                }
		                break;
		            }
		        }
		    }
		    rs += d;
		}
		cd = rs % 11;
		if(cd == 10){cd = "X";}
		if(cd == cdv){return true;}
		return false;
	},
	"The specified vehicle identification number (VIN) is invalid."
);

/**
  * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy.
  *
  * @example jQuery.validator.methods.date("01/01/1900")
  * @result true
  *
  * @example jQuery.validator.methods.date("01/13/1990")
  * @result false
  *
  * @example jQuery.validator.methods.date("01.01.1900")
  * @result false
  *
  * @example <input name="pippo" class="{dateITA:true}" />
  * @desc Declares an optional input element whose value must be a valid date.
  *
  * @name jQuery.validator.methods.dateITA
  * @type Boolean
  * @cat Plugins/Validate/Methods
  */
jQuery.validator.addMethod(
	"dateITA",
	function(value, element) {
		var check = false;
		var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
		if( re.test(value)){
			var adata = value.split('/');
			var gg = parseInt(adata[0],10);
			var mm = parseInt(adata[1],10);
			var aaaa = parseInt(adata[2],10);
			var xdata = new Date(aaaa,mm-1,gg);
			if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
				check = true;
			else
				check = false;
		} else
			check = false;
		return this.optional(element) || check;
	},
	"Please enter a correct date"
);

jQuery.validator.addMethod("dateNL", function(value, element) {
		return this.optional(element) || /^\d\d?[\.\/-]\d\d?[\.\/-]\d\d\d?\d?$/.test(value);
	}, "Vul hier een geldige datum in."
);

jQuery.validator.addMethod("time", function(value, element) {
	return this.optional(element) || /^([01]\d|2[0-3])(:[0-5]\d){0,2}$/.test(value);
}, "Please enter a valid time, between 00:00 and 23:59");
jQuery.validator.addMethod("time12h", function(value, element) {
	return this.optional(element) || /^((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))$/i.test(value);
}, "Please enter a valid time, between 00:00 am and 12:00 pm");

/**
 * matches US phone number format
 *
 * where the area code may not start with 1 and the prefix may not start with 1
 * allows '-' or ' ' as a separator and allows parens around area code
 * some people may want to put a '1' in front of their number
 *
 * 1(212)-999-2345
 * or
 * 212 999 2344
 * or
 * 212-999-0983
 *
 * but not
 * 111-123-5434
 * and not
 * 212 123 4567
 */
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, "");
	return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");

jQuery.validator.addMethod('phoneUK', function(phone_number, element) {
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(\(?(0|\+44)[1-9]{1}\d{1,4}?\)?\s?\d{3,4}\s?\d{3,4})$/);
}, 'Please specify a valid phone number');

jQuery.validator.addMethod('mobileUK', function(phone_number, element) {
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^((0|\+44)7(5|6|7|8|9){1}\d{2}\s?\d{6})$/);
}, 'Please specify a valid mobile number');

// TODO check if value starts with <, otherwise don't try stripping anything
jQuery.validator.addMethod("strippedminlength", function(value, element, param) {
	return jQuery(value).text().length >= param;
}, jQuery.validator.format("Please enter at least {0} characters"));

// same as email, but TLD is optional
jQuery.validator.addMethod("email2", function(value, element, param) {
	return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);
}, jQuery.validator.messages.email);

// same as url, but TLD is optional
jQuery.validator.addMethod("url2", function(value, element, param) {
	return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
}, jQuery.validator.messages.url);

// NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator
// Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0
// Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings)
jQuery.validator.addMethod("creditcardtypes", function(value, element, param) {

	if (/[^0-9-]+/.test(value))
		return false;

	value = value.replace(/\D/g, "");

	var validTypes = 0x0000;

	if (param.mastercard)
		validTypes |= 0x0001;
	if (param.visa)
		validTypes |= 0x0002;
	if (param.amex)
		validTypes |= 0x0004;
	if (param.dinersclub)
		validTypes |= 0x0008;
	if (param.enroute)
		validTypes |= 0x0010;
	if (param.discover)
		validTypes |= 0x0020;
	if (param.jcb)
		validTypes |= 0x0040;
	if (param.unknown)
		validTypes |= 0x0080;
	if (param.all)
		validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080;

	if (validTypes & 0x0001 && /^(51|52|53|54|55)/.test(value)) { //mastercard
		return value.length == 16;
	}
	if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa
		return value.length == 16;
	}
	if (validTypes & 0x0004 && /^(34|37)/.test(value)) { //amex
		return value.length == 15;
	}
	if (validTypes & 0x0008 && /^(300|301|302|303|304|305|36|38)/.test(value)) { //dinersclub
		return value.length == 14;
	}
	if (validTypes & 0x0010 && /^(2014|2149)/.test(value)) { //enroute
		return value.length == 15;
	}
	if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover
		return value.length == 16;
	}
	if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb
		return value.length == 16;
	}
	if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb
		return value.length == 15;
	}
	if (validTypes & 0x0080) { //unknown
		return true;
	}
	return false;
}, "Please enter a valid credit card number.");

jQuery.validator.addMethod("ipv4", function(value, element, param) {
    return this.optional(element) || /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i.test(value);
}, "Please enter a valid IP v4 address.");

jQuery.validator.addMethod("ipv6", function(value, element, param) {
    return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value);
}, "Please enter a valid IP v6 address.");

/**
  * Return true if the field value matches the given format RegExp
  *
  * @example jQuery.validator.methods.pattern("AR1004",element,/^AR\d{4}$/)
  * @result true
  *
  * @example jQuery.validator.methods.pattern("BR1004",element,/^AR\d{4}$/)
  * @result false
  *
  * @name jQuery.validator.methods.pattern
  * @type Boolean
  * @cat Plugins/Validate/Methods
  */
jQuery.validator.addMethod("pattern", function(value, element, param) {
    return this.optional(element) || param.test(value);
}, "Invalid format.");

;
$(function(){$('.inquiryNow').click(function(e){e.preventDefault();$.colorbox({inline:true,href:'#inquiryForm'});});$('.inquiryForm form').validate({submitHandler:function(form){$('.inquiryForm form').unbind('submit').ajaxForm(function(responseText,statusText,xhr,$form){var success=0;try{var r=eval('('+responseText+')');if(r.success){success=1;$.colorbox({inline:true,href:'#inquiryFormAjaxSuccess'});}}catch(e){}
if(!success){$form.find('.errorsAjax').fadeIn();$.colorbox.load();}}).submit();},invalidHandler:function(form,validator){setTimeout(function(){$.colorbox.load();},100);}});$('.hanns_main_menu .dm_widget_inner > ul > li > ul .dm_current').parent().parent().addClass('dm_current');$('.hanns_main_menu .dm_widget_inner > ul > li > ul').each(function(){try{var a=$(this).parent().find('> a, > span');if(a.parent().index()==6)
{$(this).addClass("support");return;}}catch(e){}
var lis=$('> li',this);var w=$('> a',lis).outerWidth();var linum=lis.length;$(this).css('width',w*Math.min(linum,5));});$('[data-placeholder]').each(function(){var t=$(this);t.tbHinter({text:$(this).attr("data-placeholder")});});$(".carousel[id*=step]").find("> ul").each(function(){var t=$(this);var p=$(t.parents().filter('.carousel')[0]);var pagination="#"+p.attr("id")+" .pagination";t.carouFredSel({pauseDuration:9000,scroll:{items:"page"},prev:{button:"#foo2_prev",key:"left"},next:{button:"#foo2_next",key:"right"},pagination:{container:$(pagination)}});});$(".carousel .toggler").each(function(){var c=$(this).parents().filter('.carousel');var cw=c.find('.caroufredsel_wrapper');$(this).toggle(function(){var t=$(this);cw.slideUp("slow",function(){c.addClass("hidden");t.removeClass("on").addClass("off");});},function(){var t=$(this);cw.slideDown("slow",function(){c.removeClass("hidden");t.removeClass("off").addClass("on");});});});$('.ad-gallery').each(function(){var imageWrapper=$(this).attr('data-wrapper');imageWrapper=imageWrapper?$(imageWrapper):null;$(this).adGallery({width:436,height:324,display_next_and_prev:true,display_back_and_forward:true,effect:'slide-hori',animation_speed:400,cycle:true,image_wrapper:imageWrapper});});$('.tabContent').find('> li').hide().end().find('> li:first-child').addClass('active').show().end();$('.tabs').find('li:first-child').addClass("active").end().find('li').attr("data-idx",function(){return $(this).prevAll().length+1;}).click(function(){var t=$(this);var contents=t.parents().filter('.productMoreInfo').find('.tabContent');t.parent().find('li.active').removeClass("active");t.addClass("active");contents.find('> li').fadeOut("fast",function(){$(this).removeClass("active");}).end().find('> li:nth-child('+t.attr("data-idx")+')').fadeIn('fast').addClass("active").end();});var filteringLists=$("#serviceData");if(filteringLists.length){var m=filteringLists.attr("data-m");var c=filteringLists.attr("data-c");$(".countryFilters select").live('change',function(e){var t=$(this);t.prop("disabled",1);$.ajax({url:'/partial/'+m+'/'+c+'/',data:{country:t.val(),dm_xhr:1},success:function(r){$("#serviceData").replaceWith($(r));}});t.prop("disabled",0);});}});;
$(function($){if(!$("#europe").length)return;var loadingText="Loading ...";var loadingErrorText="No map!";var tooltipArrowHeight=4;var visibleListId='#map-visible-list';var agentsListId='#addresses';var searchLink='search.php';var searchLinkVar='region';var searchName='Search';$.multipleClickAction=function(e){var clickedRegions=[];$('#europe').find('.active-region').each(function(){var liUrl=$(this).children('a').attr('href');var slicedUrl=liUrl.slice(1);clickedRegions.push(slicedUrl);});$('#search-link').attr('href',searchLink+'?'+searchLinkVar+'='+clickedRegions.join('|'));}
$.defaultClickAction=function(e){var liUrl=$(e).children('a').attr('href');if($(agentsListId).length>0){window.location.hash=liUrl;}else{window.location.href=liUrl;}
$(agentsListId).find('li').hide();$(liUrl+','+liUrl+' li').show();}
$.doubleClickedRegion=function(e){$(e).removeClass('active-region');$(agentsListId).find('li').hide();}
$('#map-eu').prepend('<span id="loader">'+loadingText+'</span>').addClass('script');if($.browser.msie){var bv=parseInt($.browser.version,10);}else{var bv='10';}if($('#map-eu').hasClass('cities')&&bv>7){$('#map-eu').append('<span class="cities" />');}
$('#europe').find('a').hide();$(agentsListId).find('li').hide();if($('#map-eu').hasClass('multiple-click')){if(searchLink==''){var searchLink='search.php';}
if(searchLinkVar==''){var searchLinkVar='region';}
if(searchName==''){var searchName='Search';}
$('<a href="'+searchLink+'" id="search-link">'+searchName+'</a>').insertAfter('#europe');}
if($('#map-eu').hasClass('visible-list')){$('#map-eu').after('<div id="'+visibleListId.slice(1)+'"><ul></ul></div>');}
var mapUrl=$('#europe').css('background-image').replace(/^url\("?([^\"\))]+)"?\)$/i,'$1');var mapImg=new Image();$(mapImg).load(function(){var clickedRegions=[];$('#loader').fadeOut();$('#europe').find('li').each(function(c){var liid=$(this).attr('id');var liUrl=$(this).children('a').attr('href');var code=null;var spans=0;switch(liid){case'eu2':case'eu21':case'eu23':case'eu25':case'eu27':case'eu29':case'eu31':spans=2;break;case'eu13':case'eu16':case'eu17':case'eu35':case'eu47':spans=17;break;case'eu14':case'eu22':case'eu34':case'eu43':case'eu46':spans=31;break;case'eu38':spans=42;break;default:spans=12;}
var tooltipLeft=$(this).children('a').outerWidth()/-2;var tooltipTop=$(this).children('a').outerHeight()*-1-tooltipArrowHeight;if($('#map-eu').hasClass('no-tooltip')){var tooltipTop=0;}
$(this).prepend('<span class="map" />').append('<span class="bg" />').attr('tabindex',c+1);for(var i=1;i<spans;i++){$(this).find('.map').append('<span class="yy'+i+'" />');}
$(this).children('a').css({'margin-left':tooltipLeft,'margin-top':tooltipTop});if($('#map-eu').hasClass('visible-list')){var liHref=$(this).children('a').attr('href');var liText=$(this).children('a').text();$(visibleListId+' ul').append('<li class="'+liid+'"><a href="'+liHref+'">'+liText+'</a></li>');}
if($(this).children('a').hasClass('active-region')||liUrl==window.location.hash&&liUrl!=""){$(this).addClass('active-region focus');$(agentsListId).find('li').hide();$(liUrl+','+liUrl+' li').show();$('.'+$(this).attr('id')).children('a').addClass('active-region');$('#search-link').attr('href',searchLink+'?'+searchLinkVar+'='+liUrl.slice(1));}}).hover(function(){$.MapHoveredRegion($(this));},function(){$.MapUnHoveredRegion($(this));}).focus(function(){$.MapHoveredRegion($(this));}).blur(function(){$.MapUnHoveredRegion($(this));}).keypress(function(e){code=(e.keyCode?e.keyCode:e.which);if(code==13)$.MapClickedRegion($(this));}).click(function(e){$.MapClickedRegion($(this));});if($('#map-eu').hasClass('visible-list')){$(visibleListId).find('a').each(function(){var itemId='#'+$(this).parent().attr('class');$(this).hover(function(){$.MapHoveredRegion(itemId);},function(){$.MapUnHoveredRegion(itemId);}).focus(function(){$.MapHoveredRegion(itemId);}).blur(function(){$.MapUnHoveredRegion(itemId);}).keypress(function(e){code=(e.keyCode?e.keyCode:e.which);if(code==13)$.MapClickedRegion(itemId);}).click(function(e){$.MapClickedRegion(itemId);});});}}).error(function(){$('#loader').text(loadingErrorText);$('#europe').find('span').hide();$('#map-eu,#europe').css({'height':'auto','left':'0','margin':'0 auto'});}).attr('src',mapUrl);$.MapClickedRegion=function(e){var listItemId='.'+$(e).attr('id');var liUrl=$(e).children('a').attr('href');if(typeof liUrl!="undefined"){if($('#map-eu').hasClass('multiple-click')){if($(e).hasClass('active-region')){$(e).removeClass('active-region');$(listItemId).children('a').removeClass('active-region');}else{if(liUrl.length>=2){$(e).addClass('active-region');$(listItemId).children('a').addClass('active-region');}}
$.multipleClickAction(e);}else{if($(e).hasClass('active-region')){$.doubleClickedRegion(e);$(listItemId).children('a').removeClass('active-region');$(e).attr('href','');}else{$('#europe,'+visibleListId).find('.active-region').removeClass('active-region');$('#europe').find('.focus').removeClass('focus');if($(e).hasClass('active-region')){$(e).removeClass('active-region focus');$(listItemId).children('a').removeClass('active-region');}else{$(e).addClass('active-region focus').children('a').show();$(listItemId).children('a').addClass('active-region');}
$.defaultClickAction(e);$(e).children('a').show();}}}}
$.MapHoveredRegion=function(e){var liUrl=$(e).children('a').attr('href');if(typeof liUrl!='undefined'&&liUrl!=""){$('#europe').find('.active-region').children('a').hide();$(e).children('a').show();$(e).addClass('focus');$('.'+$(e).attr('id')).children('a').addClass('focus');}
else{$(e).hide();}}
$.MapUnHoveredRegion=function(e){$(e).children('a').hide();if($(e).hasClass('active-region')==false){$(e).removeClass('focus');}
$('.'+$(e).attr('id')).children('a').removeClass('focus');}
var loaderLeft=$('#loader').outerWidth()/-2;var loaderTop=$('#loader').outerHeight()/-2;$('#loader').css({'margin-left':loaderLeft,'margin-top':loaderTop});});;
(function(a,b){function r(a){var b=-1;while(++b<f)a.createElement(e[b])}if(!window.attachEvent||!b.createStyleSheet||!function(){var a=document.createElement("div");return a.innerHTML="<elem></elem>",a.childNodes.length!==1}())return;a.iepp=a.iepp||{};var c=a.iepp,d=c.html5elements||"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|subline|summary|time|video",e=d.split("|"),f=e.length,g=new RegExp("(^|\\s)("+d+")","gi"),h=new RegExp("<(/*)("+d+")","gi"),i=/^\s*[\{\}]\s*$/,j=new RegExp("(^|[^\\n]*?\\s)("+d+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),k=b.createDocumentFragment(),l=b.documentElement,m=b.getElementsByTagName("script")[0].parentNode,n=b.createElement("body"),o=b.createElement("style"),p=/print|all/,q;c.getCSS=function(a,b){try{if(a+""===undefined)return""}catch(d){return""}var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,p.test(b)&&h.push(c.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},c.parseCSS=function(a){var b=[],c;while((c=j.exec(a))!=null)b.push(((i.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(g,"$1.iepp-$2")+c[4]);return b.join("\n")},c.writeHTML=function(){var a=-1;q=q||b.body;while(++a<f){var c=b.getElementsByTagName(e[a]),d=c.length,g=-1;while(++g<d)c[g].className.indexOf("iepp-")<0&&(c[g].className+=" iepp-"+e[a])}k.appendChild(q),l.appendChild(n),n.className=q.className,n.id=q.id,n.innerHTML=q.innerHTML.replace(h,"<$1font")},c._beforePrint=function(){if(c.disablePP)return;o.styleSheet.cssText=c.parseCSS(c.getCSS(b.styleSheets,"all")),c.writeHTML()},c.restoreHTML=function(){if(c.disablePP)return;n.swapNode(q)},c._afterPrint=function(){c.restoreHTML(),o.styleSheet.cssText=""},r(b),r(k);if(c.disablePP)return;m.insertBefore(o,m.firstChild),o.media="print",o.className="iepp-printshim",a.attachEvent("onbeforeprint",c._beforePrint),a.attachEvent("onafterprint",c._afterPrint)})(this,document);;
