PageSourceSearch

https://www.home.ge/templates/realty_rainbow/js/lib.js?rev=14

js home.ge collected 2026-10-04 22:05:54 UTC 162,542 bytes, 1,982 lines download raw bytes

vendor: 3,555 bytes, lines 1-27
1
2/******************************************************************************
3 *
4 *	PROJECT: Flynax Classifieds Software
5 *	VERSION: 4.9.2
6 *	LICENSE: FL752JO73PM9 - https://www.flynax.com/license-agreement.html
7 *	PRODUCT: Real Estate Script
8 *	DOMAIN: home.ge
9 *	FILE: LIB.JS
10 *
11 *	The software is a commercial product delivered under single, non-exclusive,
12 *	non-transferable license for one domain or IP address. Therefore distribution,
13 *	sale or transfer of the file in whole or in part without permission of Flynax
14 *	respective owners is considered to be illegal and breach of Flynax License End
15 *	User Agreement.
16 *
17 *	You are not allowed to remove this information from the file without permission
18 *	of Flynax respective owners.
19 *
20 *	Flynax Classifieds Software 2023 |  All copyrights reserved.
21 *
22 *	https://www.flynax.com/
23 *
24 ******************************************************************************/
25
26/* mouse wheel */
27!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
vendor: 40,180 bytes, lines 28-31
28
29/* == malihu jquery custom scrollbar plugin == Version: 3.1.5, License: MIT License (MIT) */
30!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof module&&module.exports?module.exports=e:e(jQuery,window,document)}(function(e){!function(t){var o="function"==typeof define&&define.amd,a="undefined"!=typeof module&&module.exports,n="https:"==document.location.protocol?"https:":"http:",i="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js";o||(a?require("jquery-mousewheel")(e):e.event.special.mousewheel||e("head").append(decodeURI("%3Cscript src="+n+"//"+i+"%3E%3C/script%3E"))),t()}(function(){var t,o="mCustomScrollbar",a="mCS",n=".mCustomScrollbar",i={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,documentTouchScroll:!0,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:"auto",autoUpdateTimeout:60},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},r=0,l={},s=window.attachEvent&&!window.addEventListener?1:0,c=!1,d=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],u={init:function(t){var t=e.extend(!0,{},i,t),o=f.call(this);if(t.live){var s=t.liveSelector||this.selector||n,c=e(s);if("off"===t.live)return void m(s);l[s]=setTimeout(function(){c.mCustomScrollbar(t),"once"===t.live&&c.length&&m(s)},500)}else m(s);return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":p(t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!=typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=g(t.scrollButtons.scrollType),h(t),e(o).each(function(){var o=e(this);if(!o.data(a)){o.data(a,{idx:++r,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:o.css("direction"),cbOffsets:null,trigger:null,poll:{size:{o:0,n:0},img:{o:0,n:0},change:{o:0,n:0}}});var n=o.data(a),i=n.opt,l=o.data("mcs-axis"),s=o.data("mcs-scrollbar-position"),c=o.data("mcs-theme");l&&(i.axis=l),s&&(i.scrollbarPosition=s),c&&(i.theme=c,h(i)),v.call(this),n&&i.callbacks.onCreate&&"function"==typeof i.callbacks.onCreate&&i.callbacks.onCreate.call(this),e("#mCSB_"+n.idx+"_container img:not(."+d[2]+")").addClass(d[2]),u.update.call(null,o)}})},update:function(t,o){var n=t||f.call(this);return e(n).each(function(){var t=e(this);if(t.data(a)){var n=t.data(a),i=n.opt,r=e("#mCSB_"+n.idx+"_container"),l=e("#mCSB_"+n.idx),s=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")];if(!r.length)return;n.tweenRunning&&Q(t),o&&n&&i.callbacks.onBeforeUpdate&&"function"==typeof i.callbacks.onBeforeUpdate&&i.callbacks.onBeforeUpdate.call(this),t.hasClass(d[3])&&t.removeClass(d[3]),t.hasClass(d[4])&&t.removeClass(d[4]),l.css("max-height","none"),l.height()!==t.height()&&l.css("max-height",t.height()),_.call(this),"y"===i.axis||i.advanced.autoExpandHorizontalScroll||r.css("width",x(r)),n.overflowed=y.call(this),M.call(this),i.autoDraggerLength&&S.call(this),b.call(this),T.call(this);var c=[Math.abs(r[0].offsetTop),Math.abs(r[0].offsetLeft)];"x"!==i.axis&&(n.overflowed[0]?s[0].height()>s[0].parent().height()?B.call(this):(G(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}),n.contentReset.y=null):(B.call(this),"y"===i.axis?k.call(this):"yx"===i.axis&&n.overflowed[1]&&G(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==i.axis&&(n.overflowed[1]?s[1].width()>s[1].parent().width()?B.call(this):(G(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}),n.contentReset.x=null):(B.call(this),"x"===i.axis?k.call(this):"yx"===i.axis&&n.overflowed[0]&&G(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),o&&n&&(2===o&&i.callbacks.onImageLoad&&"function"==typeof i.callbacks.onImageLoad?i.callbacks.onImageLoad.call(this):3===o&&i.callbacks.onSelectorChange&&"function"==typeof i.callbacks.onSelectorChange?i.callbacks.onSelectorChange.call(this):i.callbacks.onUpdate&&"function"==typeof i.callbacks.onUpdate&&i.callbacks.onUpdate.call(this)),N.call(this)}})},scrollTo:function(t,o){if("undefined"!=typeof t&&null!=t){var n=f.call(this);return e(n).each(function(){var n=e(this);if(n.data(a)){var i=n.data(a),r=i.opt,l={trigger:"external",scrollInertia:r.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},s=e.extend(!0,{},l,o),c=Y.call(this,t),d=s.scrollInertia>0&&s.scrollInertia<17?17:s.scrollInertia;c[0]=X.call(this,c[0],"y"),c[1]=X.call(this,c[1],"x"),s.moveDragger&&(c[0]*=i.scrollRatio.y,c[1]*=i.scrollRatio.x),s.dur=ne()?0:d,setTimeout(function(){null!==c[0]&&"undefined"!=typeof c[0]&&"x"!==r.axis&&i.overflowed[0]&&(s.dir="y",s.overwrite="all",G(n,c[0].toString(),s)),null!==c[1]&&"undefined"!=typeof c[1]&&"y"!==r.axis&&i.overflowed[1]&&(s.dir="x",s.overwrite="none",G(n,c[1].toString(),s))},s.timeout)}})}},stop:function(){var t=f.call(this);return e(t).each(function(){var t=e(this);t.data(a)&&Q(t)})},disable:function(t){var o=f.call(this);return e(o).each(function(){var o=e(this);if(o.data(a)){o.data(a);N.call(this,"remove"),k.call(this),t&&B.call(this),M.call(this,!0),o.addClass(d[3])}})},destroy:function(){var t=f.call(this);return e(t).each(function(){var n=e(this);if(n.data(a)){var i=n.data(a),r=i.opt,l=e("#mCSB_"+i.idx),s=e("#mCSB_"+i.idx+"_container"),c=e(".mCSB_"+i.idx+"_scrollbar");r.live&&m(r.liveSelector||e(t).selector),N.call(this,"remove"),k.call(this),B.call(this),n.removeData(a),$(this,"mcs"),c.remove(),s.find("img."+d[2]).removeClass(d[2]),l.replaceWith(s.contents()),n.removeClass(o+" _"+a+"_"+i.idx+" "+d[6]+" "+d[7]+" "+d[5]+" "+d[3]).addClass(d[4])}})}},f=function(){return"object"!=typeof e(this)||e(this).length<1?n:this},h=function(t){var o=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],a=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],n=["minimal","minimal-dark"],i=["minimal","minimal-dark"],r=["minimal","minimal-dark"];t.autoDraggerLength=e.inArray(t.theme,o)>-1?!1:t.autoDraggerLength,t.autoExpandScrollbar=e.inArray(t.theme,a)>-1?!1:t.autoExpandScrollbar,t.scrollButtons.enable=e.inArray(t.theme,n)>-1?!1:t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,i)>-1?!0:t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,r)>-1?"outside":t.scrollbarPosition},m=function(e){l[e]&&(clearTimeout(l[e]),$(l,e))},p=function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y"},g=function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless"},v=function(){var t=e(this),n=t.data(a),i=n.opt,r=i.autoExpandScrollbar?" "+d[1]+"_expand":"",l=["<div id='mCSB_"+n.idx+"_scrollbar_vertical' class='mCSB_scrollTools mCSB_"+n.idx+"_scrollbar mCS-"+i.theme+" mCSB_scrollTools_vertical"+r+"'><div class='"+d[12]+"'><div id='mCSB_"+n.idx+"_dragger_vertical' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>","<div id='mCSB_"+n.idx+"_scrollbar_horizontal' class='mCSB_scrollTools mCSB_"+n.idx+"_scrollbar mCS-"+i.theme+" mCSB_scrollTools_horizontal"+r+"'><div class='"+d[12]+"'><div id='mCSB_"+n.idx+"_dragger_horizontal' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>"],s="yx"===i.axis?"mCSB_vertical_horizontal":"x"===i.axis?"mCSB_horizontal":"mCSB_vertical",c="yx"===i.axis?l[0]+l[1]:"x"===i.axis?l[1]:l[0],u="yx"===i.axis?"<div id='mCSB_"+n.idx+"_container_wrapper' class='mCSB_container_wrapper' />":"",f=i.autoHideScrollbar?" "+d[6]:"",h="x"!==i.axis&&"rtl"===n.langDir?" "+d[7]:"";i.setWidth&&t.css("width",i.setWidth),i.setHeight&&t.css("height",i.setHeight),i.setLeft="y"!==i.axis&&"rtl"===n.langDir?"989999px":i.setLeft,t.addClass(o+" _"+a+"_"+n.idx+f+h).wrapInner("<div id='mCSB_"+n.idx+"' class='mCustomScrollBox mCS-"+i.theme+" "+s+"'><div id='mCSB_"+n.idx+"_container' class='mCSB_container' style='position:relative; top:"+i.setTop+"; left:"+i.setLeft+";' dir='"+n.langDir+"' /></div>");var m=e("#mCSB_"+n.idx),p=e("#mCSB_"+n.idx+"_container");"y"===i.axis||i.advanced.autoExpandHorizontalScroll||p.css("width",x(p)),"outside"===i.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),m.addClass("mCSB_outside").after(c)):(m.addClass("mCSB_inside").append(c),p.wrap(u)),w.call(this);var g=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")];g[0].css("min-height",g[0].height()),g[1].css("min-width",g[1].width())},x=function(t){var o=[t[0].scrollWidth,Math.max.apply(Math,t.children().map(function(){return e(this).outerWidth(!0)}).get())],a=t.parent().width();return o[0]>a?o[0]:o[1]>a?o[1]:"100%"},_=function(){var t=e(this),o=t.data(a),n=o.opt,i=e("#mCSB_"+o.idx+"_container");if(n.advanced.autoExpandHorizontalScroll&&"y"!==n.axis){i.css({width:"auto","min-width":0,"overflow-x":"scroll"});var r=Math.ceil(i[0].scrollWidth);3===n.advanced.autoExpandHorizontalScroll||2!==n.advanced.autoExpandHorizontalScroll&&r>i.parent().width()?i.css({width:r,"min-width":"100%","overflow-x":"inherit"}):i.css({"overflow-x":"inherit",position:"absolute"}).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />").css({width:Math.ceil(i[0].getBoundingClientRect().right+.4)-Math.floor(i[0].getBoundingClientRect().left),"min-width":"100%",position:"relative"}).unwrap()}},w=function(){var t=e(this),o=t.data(a),n=o.opt,i=e(".mCSB_"+o.idx+"_scrollbar:first"),r=oe(n.scrollButtons.tabindex)?"tabindex='"+n.scrollButtons.tabindex+"'":"",l=["<a href='#' class='"+d[13]+"' "+r+" />","<a href='#' class='"+d[14]+"' "+r+" />","<a href='#' class='"+d[15]+"' "+r+" />","<a href='#' class='"+d[16]+"' "+r+" />"],s=["x"===n.axis?l[2]:l[0],"x"===n.axis?l[3]:l[1],l[2],l[3]];n.scrollButtons.enable&&i.prepend(s[0]).append(s[1]).next(".mCSB_scrollTools").prepend(s[2]).append(s[3])},S=function(){var t=e(this),o=t.data(a),n=e("#mCSB_"+o.idx),i=e("#mCSB_"+o.idx+"_container"),r=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")],l=[n.height()/i.outerHeight(!1),n.width()/i.outerWidth(!1)],c=[parseInt(r[0].css("min-height")),Math.round(l[0]*r[0].parent().height()),parseInt(r[1].css("min-width")),Math.round(l[1]*r[1].parent().width())],d=s&&c[1]<c[0]?c[0]:c[1],u=s&&c[3]<c[2]?c[2]:c[3];r[0].css({height:d,"max-height":r[0].parent().height()-10}).find(".mCSB_dragger_bar").css({"line-height":c[0]+"px"}),r[1].css({width:u,"max-width":r[1].parent().width()-10})},b=function(){var t=e(this),o=t.data(a),n=e("#mCSB_"+o.idx),i=e("#mCSB_"+o.idx+"_container"),r=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")],l=[i.outerHeight(!1)-n.height(),i.outerWidth(!1)-n.width()],s=[l[0]/(r[0].parent().height()-r[0].height()),l[1]/(r[1].parent().width()-r[1].width())];o.scrollRatio={y:s[0],x:s[1]}},C=function(e,t,o){var a=o?d[0]+"_expanded":"",n=e.closest(".mCSB_scrollTools");"active"===t?(e.toggleClass(d[0]+" "+a),n.toggleClass(d[1]),e[0]._draggable=e[0]._draggable?0:1):e[0]._draggable||("hide"===t?(e.removeClass(d[0]),n.removeClass(d[1])):(e.addClass(d[0]),n.addClass(d[1])))},y=function(){var t=e(this),o=t.data(a),n=e("#mCSB_"+o.idx),i=e("#mCSB_"+o.idx+"_container"),r=null==o.overflowed?i.height():i.outerHeight(!1),l=null==o.overflowed?i.width():i.outerWidth(!1),s=i[0].scrollHeight,c=i[0].scrollWidth;return s>r&&(r=s),c>l&&(l=c),[r>n.height(),l>n.width()]},B=function(){var t=e(this),o=t.data(a),n=o.opt,i=e("#mCSB_"+o.idx),r=e("#mCSB_"+o.idx+"_container"),l=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")];if(Q(t),("x"!==n.axis&&!o.overflowed[0]||"y"===n.axis&&o.overflowed[0])&&(l[0].add(r).css("top",0),G(t,"_resetY")),"y"!==n.axis&&!o.overflowed[1]||"x"===n.axis&&o.overflowed[1]){var s=dx=0;"rtl"===o.langDir&&(s=i.width()-r.outerWidth(!1),dx=Math.abs(s/o.scrollRatio.x)),r.css("left",s),l[1].css("left",dx),G(t,"_resetX")}},T=function(){function t(){r=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(r),W.call(o[0])):t()},100)}var o=e(this),n=o.data(a),i=n.opt;if(!n.bindEvents){if(I.call(this),i.contentTouchScroll&&D.call(this),E.call(this),i.mouseWheel.enable){var r;t()}P.call(this),U.call(this),i.advanced.autoScrollOnFocus&&H.call(this),i.scrollButtons.enable&&F.call(this),i.keyboard.enable&&q.call(this),n.bindEvents=!0}},k=function(){var t=e(this),o=t.data(a),n=o.opt,i=a+"_"+o.idx,r=".mCSB_"+o.idx+"_scrollbar",l=e("#mCSB_"+o.idx+",#mCSB_"+o.idx+"_container,#mCSB_"+o.idx+"_container_wrapper,"+r+" ."+d[12]+",#mCSB_"+o.idx+"_dragger_vertical,#mCSB_"+o.idx+"_dragger_horizontal,"+r+">a"),s=e("#mCSB_"+o.idx+"_container");n.advanced.releaseDraggableSelectors&&l.add(e(n.advanced.releaseDraggableSelectors)),n.advanced.extraDraggableSelectors&&l.add(e(n.advanced.extraDraggableSelectors)),o.bindEvents&&(e(document).add(e(!A()||top.document)).unbind("."+i),l.each(function(){e(this).unbind("."+i)}),clearTimeout(t[0]._focusTimeout),$(t[0],"_focusTimeout"),clearTimeout(o.sequential.step),$(o.sequential,"step"),clearTimeout(s[0].onCompleteTimeout),$(s[0],"onCompleteTimeout"),o.bindEvents=!1)},M=function(t){var o=e(this),n=o.data(a),i=n.opt,r=e("#mCSB_"+n.idx+"_container_wrapper"),l=r.length?r:e("#mCSB_"+n.idx+"_container"),s=[e("#mCSB_"+n.idx+"_scrollbar_vertical"),e("#mCSB_"+n.idx+"_scrollbar_horizontal")],c=[s[0].find(".mCSB_dragger"),s[1].find(".mCSB_dragger")];"x"!==i.axis&&(n.overflowed[0]&&!t?(s[0].add(c[0]).add(s[0].children("a")).css("display","block"),l.removeClass(d[8]+" "+d[10])):(i.alwaysShowScrollbar?(2!==i.alwaysShowScrollbar&&c[0].css("display","none"),l.removeClass(d[10])):(s[0].css("display","none"),l.addClass(d[10])),l.addClass(d[8]))),"y"!==i.axis&&(n.overflowed[1]&&!t?(s[1].add(c[1]).add(s[1].children("a")).css("display","block"),l.removeClass(d[9]+" "+d[11])):(i.alwaysShowScrollbar?(2!==i.alwaysShowScrollbar&&c[1].css("display","none"),l.removeClass(d[11])):(s[1].css("display","none"),l.addClass(d[11])),l.addClass(d[9]))),n.overflowed[0]||n.overflowed[1]?o.removeClass(d[5]):o.addClass(d[5])},O=function(t){var o=t.type,a=t.target.ownerDocument!==document&&null!==frameElement?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=A()&&t.target.ownerDocument!==top.document&&null!==frameElement?[e(t.view.frameElement).offset().top,e(t.view.frameElement).offset().left]:[0,0];switch(o){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return a?[t.originalEvent.pageY-a[0]+n[0],t.originalEvent.pageX-a[1]+n[1],!1]:[t.originalEvent.pageY,t.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var i=t.originalEvent.touches[0]||t.originalEvent.changedTouches[0],r=t.originalEvent.touches.length||t.originalEvent.changedTouches.length;return t.target.ownerDocument!==document?[i.screenY,i.screenX,r>1]:[i.pageY,i.pageX,r>1];default:return a?[t.pageY-a[0]+n[0],t.pageX-a[1]+n[1],!1]:[t.pageY,t.pageX,!1]}},I=function(){function t(e,t,a,n){if(h[0].idleTimer=d.scrollInertia<233?250:0,o.attr("id")===f[1])var i="x",s=(o[0].offsetLeft-t+n)*l.scrollRatio.x;else var i="y",s=(o[0].offsetTop-e+a)*l.scrollRatio.y;G(r,s.toString(),{dir:i,drag:!0})}var o,n,i,r=e(this),l=r.data(a),d=l.opt,u=a+"_"+l.idx,f=["mCSB_"+l.idx+"_dragger_vertical","mCSB_"+l.idx+"_dragger_horizontal"],h=e("#mCSB_"+l.idx+"_container"),m=e("#"+f[0]+",#"+f[1]),p=d.advanced.releaseDraggableSelectors?m.add(e(d.advanced.releaseDraggableSelectors)):m,g=d.advanced.extraDraggableSelectors?e(!A()||top.document).add(e(d.advanced.extraDraggableSelectors)):e(!A()||top.document);m.bind("contextmenu."+u,function(e){e.preventDefault()}).bind("mousedown."+u+" touchstart."+u+" pointerdown."+u+" MSPointerDown."+u,function(t){if(t.stopImmediatePropagation(),t.preventDefault(),ee(t)){c=!0,s&&(document.onselectstart=function(){return!1}),L.call(h,!1),Q(r),o=e(this);var a=o.offset(),l=O(t)[0]-a.top,u=O(t)[1]-a.left,f=o.height()+a.top,m=o.width()+a.left;f>l&&l>0&&m>u&&u>0&&(n=l,i=u),C(o,"active",d.autoExpandScrollbar)}}).bind("touchmove."+u,function(e){e.stopImmediatePropagation(),e.preventDefault();var a=o.offset(),r=O(e)[0]-a.top,l=O(e)[1]-a.left;t(n,i,r,l)}),e(document).add(g).bind("mousemove."+u+" pointermove."+u+" MSPointerMove."+u,function(e){if(o){var a=o.offset(),r=O(e)[0]-a.top,l=O(e)[1]-a.left;if(n===r&&i===l)return;t(n,i,r,l)}}).add(p).bind("mouseup."+u+" touchend."+u+" pointerup."+u+" MSPointerUp."+u,function(){o&&(C(o,"active",d.autoExpandScrollbar),o=null),c=!1,s&&(document.onselectstart=null),L.call(h,!0)})},D=function(){function o(e){if(!te(e)||c||O(e)[2])return void(t=0);t=1,b=0,C=0,d=1,y.removeClass("mCS_touch_action");var o=I.offset();u=O(e)[0]-o.top,f=O(e)[1]-o.left,z=[O(e)[0],O(e)[1]]}function n(e){if(te(e)&&!c&&!O(e)[2]&&(T.documentTouchScroll||e.preventDefault(),e.stopImmediatePropagation(),(!C||b)&&d)){g=K();var t=M.offset(),o=O(e)[0]-t.top,a=O(e)[1]-t.left,n="mcsLinearOut";if(E.push(o),W.push(a),z[2]=Math.abs(O(e)[0]-z[0]),z[3]=Math.abs(O(e)[1]-z[1]),B.overflowed[0])var i=D[0].parent().height()-D[0].height(),r=u-o>0&&o-u>-(i*B.scrollRatio.y)&&(2*z[3]<z[2]||"yx"===T.axis);if(B.overflowed[1])var l=D[1].parent().width()-D[1].width(),h=f-a>0&&a-f>-(l*B.scrollRatio.x)&&(2*z[2]<z[3]||"yx"===T.axis);r||h?(U||e.preventDefault(),b=1):(C=1,y.addClass("mCS_touch_action")),U&&e.preventDefault(),w="yx"===T.axis?[u-o,f-a]:"x"===T.axis?[null,f-a]:[u-o,null],I[0].idleTimer=250,B.overflowed[0]&&s(w[0],R,n,"y","all",!0),B.overflowed[1]&&s(w[1],R,n,"x",L,!0)}}function i(e){if(!te(e)||c||O(e)[2])return void(t=0);t=1,e.stopImmediatePropagation(),Q(y),p=K();var o=M.offset();h=O(e)[0]-o.top,m=O(e)[1]-o.left,E=[],W=[]}function r(e){if(te(e)&&!c&&!O(e)[2]){d=0,e.stopImmediatePropagation(),b=0,C=0,v=K();var t=M.offset(),o=O(e)[0]-t.top,a=O(e)[1]-t.left;if(!(v-g>30)){_=1e3/(v-p);var n="mcsEaseOut",i=2.5>_,r=i?[E[E.length-2],W[W.length-2]]:[0,0];x=i?[o-r[0],a-r[1]]:[o-h,a-m];var u=[Math.abs(x[0]),Math.abs(x[1])];_=i?[Math.abs(x[0]/4),Math.abs(x[1]/4)]:[_,_];var f=[Math.abs(I[0].offsetTop)-x[0]*l(u[0]/_[0],_[0]),Math.abs(I[0].offsetLeft)-x[1]*l(u[1]/_[1],_[1])];w="yx"===T.axis?[f[0],f[1]]:"x"===T.axis?[null,f[1]]:[f[0],null],S=[4*u[0]+T.scrollInertia,4*u[1]+T.scrollInertia];var y=parseInt(T.contentTouchScroll)||0;w[0]=u[0]>y?w[0]:0,w[1]=u[1]>y?w[1]:0,B.overflowed[0]&&s(w[0],S[0],n,"y",L,!1),B.overflowed[1]&&s(w[1],S[1],n,"x",L,!1)}}}function l(e,t){var o=[1.5*t,2*t,t/1.5,t/2];return e>90?t>4?o[0]:o[3]:e>60?t>3?o[3]:o[2]:e>30?t>8?o[1]:t>6?o[0]:t>4?t:o[2]:t>8?t:o[3]}function s(e,t,o,a,n,i){e&&G(y,e.toString(),{dur:t,scrollEasing:o,dir:a,overwrite:n,drag:i})}var d,u,f,h,m,p,g,v,x,_,w,S,b,C,y=e(this),B=y.data(a),T=B.opt,k=a+"_"+B.idx,M=e("#mCSB_"+B.idx),I=e("#mCSB_"+B.idx+"_container"),D=[e("#mCSB_"+B.idx+"_dragger_vertical"),e("#mCSB_"+B.idx+"_dragger_horizontal")],E=[],W=[],R=0,L="yx"===T.axis?"none":"all",z=[],P=I.find("iframe"),H=["touchstart."+k+" pointerdown."+k+" MSPointerDown."+k,"touchmove."+k+" pointermove."+k+" MSPointerMove."+k,"touchend."+k+" pointerup."+k+" MSPointerUp."+k],U=void 0!==document.body.style.touchAction&&""!==document.body.style.touchAction;I.bind(H[0],function(e){o(e)}).bind(H[1],function(e){n(e)}),M.bind(H[0],function(e){i(e)}).bind(H[2],function(e){r(e)}),P.length&&P.each(function(){e(this).bind("load",function(){A(this)&&e(this.contentDocument||this.contentWindow.document).bind(H[0],function(e){o(e),i(e)}).bind(H[1],function(e){n(e)}).bind(H[2],function(e){r(e)})})})},E=function(){function o(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function n(e,t,o){d.type=o&&i?"stepped":"stepless",d.scrollAmount=10,j(r,e,t,"mcsLinearOut",o?60:null)}var i,r=e(this),l=r.data(a),s=l.opt,d=l.sequential,u=a+"_"+l.idx,f=e("#mCSB_"+l.idx+"_container"),h=f.parent();f.bind("mousedown."+u,function(){t||i||(i=1,c=!0)}).add(document).bind("mousemove."+u,function(e){if(!t&&i&&o()){var a=f.offset(),r=O(e)[0]-a.top+f[0].offsetTop,c=O(e)[1]-a.left+f[0].offsetLeft;r>0&&r<h.height()&&c>0&&c<h.width()?d.step&&n("off",null,"stepped"):("x"!==s.axis&&l.overflowed[0]&&(0>r?n("on",38):r>h.height()&&n("on",40)),"y"!==s.axis&&l.overflowed[1]&&(0>c?n("on",37):c>h.width()&&n("on",39)))}}).bind("mouseup."+u+" dragend."+u,function(){t||(i&&(i=0,n("off",null)),c=!1)})},W=function(){function t(t,a){if(Q(o),!z(o,t.target)){var r="auto"!==i.mouseWheel.deltaFactor?parseInt(i.mouseWheel.deltaFactor):s&&t.deltaFactor<100?100:t.deltaFactor||100,d=i.scrollInertia;if("x"===i.axis||"x"===i.mouseWheel.axis)var u="x",f=[Math.round(r*n.scrollRatio.x),parseInt(i.mouseWheel.scrollAmount)],h="auto"!==i.mouseWheel.scrollAmount?f[1]:f[0]>=l.width()?.9*l.width():f[0],m=Math.abs(e("#mCSB_"+n.idx+"_container")[0].offsetLeft),p=c[1][0].offsetLeft,g=c[1].parent().width()-c[1].width(),v="y"===i.mouseWheel.axis?t.deltaY||a:t.deltaX;else var u="y",f=[Math.round(r*n.scrollRatio.y),parseInt(i.mouseWheel.scrollAmount)],h="auto"!==i.mouseWheel.scrollAmount?f[1]:f[0]>=l.height()?.9*l.height():f[0],m=Math.abs(e("#mCSB_"+n.idx+"_container")[0].offsetTop),p=c[0][0].offsetTop,g=c[0].parent().height()-c[0].height(),v=t.deltaY||a;"y"===u&&!n.overflowed[0]||"x"===u&&!n.overflowed[1]||((i.mouseWheel.invert||t.webkitDirectionInvertedFromDevice)&&(v=-v),i.mouseWheel.normalizeDelta&&(v=0>v?-1:1),(v>0&&0!==p||0>v&&p!==g||i.mouseWheel.preventDefault)&&(t.stopImmediatePropagation(),t.preventDefault()),t.deltaFactor<5&&!i.mouseWheel.normalizeDelta&&(h=t.deltaFactor,d=17),G(o,(m-v*h).toString(),{dir:u,dur:d}))}}if(e(this).data(a)){var o=e(this),n=o.data(a),i=n.opt,r=a+"_"+n.idx,l=e("#mCSB_"+n.idx),c=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")],d=e("#mCSB_"+n.idx+"_container").find("iframe");d.length&&d.each(function(){e(this).bind("load",function(){A(this)&&e(this.contentDocument||this.contentWindow.document).bind("mousewheel."+r,function(e,o){t(e,o)})})}),l.bind("mousewheel."+r,function(e,o){t(e,o)})}},R=new Object,A=function(t){var o=!1,a=!1,n=null;if(void 0===t?a="#empty":void 0!==e(t).attr("id")&&(a=e(t).attr("id")),a!==!1&&void 0!==R[a])return R[a];if(t){try{var i=t.contentDocument||t.contentWindow.document;n=i.body.innerHTML}catch(r){}o=null!==n}else{try{var i=top.document;n=i.body.innerHTML}catch(r){}o=null!==n}return a!==!1&&(R[a]=o),o},L=function(e){var t=this.find("iframe");if(t.length){var o=e?"auto":"none";t.css("pointer-events",o)}},z=function(t,o){var n=o.nodeName.toLowerCase(),i=t.data(a).opt.mouseWheel.disableOver,r=["select","textarea"];return e.inArray(n,i)>-1&&!(e.inArray(n,r)>-1&&!e(o).is(":focus"))},P=function(){var t,o=e(this),n=o.data(a),i=a+"_"+n.idx,r=e("#mCSB_"+n.idx+"_container"),l=r.parent(),s=e(".mCSB_"+n.idx+"_scrollbar ."+d[12]);s.bind("mousedown."+i+" touchstart."+i+" pointerdown."+i+" MSPointerDown."+i,function(o){c=!0,e(o.target).hasClass("mCSB_dragger")||(t=1)}).bind("touchend."+i+" pointerup."+i+" MSPointerUp."+i,function(){c=!1}).bind("click."+i,function(a){if(t&&(t=0,e(a.target).hasClass(d[12])||e(a.target).hasClass("mCSB_draggerRail"))){Q(o);var i=e(this),s=i.find(".mCSB_dragger");if(i.parent(".mCSB_scrollTools_horizontal").length>0){if(!n.overflowed[1])return;var c="x",u=a.pageX>s.offset().left?-1:1,f=Math.abs(r[0].offsetLeft)-u*(.9*l.width())}else{if(!n.overflowed[0])return;var c="y",u=a.pageY>s.offset().top?-1:1,f=Math.abs(r[0].offsetTop)-u*(.9*l.height())}G(o,f.toString(),{dir:c,scrollEasing:"mcsEaseInOut"})}})},H=function(){var t=e(this),o=t.data(a),n=o.opt,i=a+"_"+o.idx,r=e("#mCSB_"+o.idx+"_container"),l=r.parent();r.bind("focusin."+i,function(){var o=e(document.activeElement),a=r.find(".mCustomScrollBox").length,i=0;o.is(n.advanced.autoScrollOnFocus)&&(Q(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=a?(i+17)*a:0,t[0]._focusTimeout=setTimeout(function(){var e=[ae(o)[0],ae(o)[1]],a=[r[0].offsetTop,r[0].offsetLeft],s=[a[0]+e[0]>=0&&a[0]+e[0]<l.height()-o.outerHeight(!1),a[1]+e[1]>=0&&a[0]+e[1]<l.width()-o.outerWidth(!1)],c="yx"!==n.axis||s[0]||s[1]?"all":"none";"x"===n.axis||s[0]||G(t,e[0].toString(),{dir:"y",scrollEasing:"mcsEaseInOut",overwrite:c,dur:i}),"y"===n.axis||s[1]||G(t,e[1].toString(),{dir:"x",scrollEasing:"mcsEaseInOut",overwrite:c,dur:i})},t[0]._focusTimer))})},U=function(){var t=e(this),o=t.data(a),n=a+"_"+o.idx,i=e("#mCSB_"+o.idx+"_container").parent();i.bind("scroll."+n,function(){0===i.scrollTop()&&0===i.scrollLeft()||e(".mCSB_"+o.idx+"_scrollbar").css("visibility","hidden")})},F=function(){var t=e(this),o=t.data(a),n=o.opt,i=o.sequential,r=a+"_"+o.idx,l=".mCSB_"+o.idx+"_scrollbar",s=e(l+">a");s.bind("contextmenu."+r,function(e){e.preventDefault()}).bind("mousedown."+r+" touchstart."+r+" pointerdown."+r+" MSPointerDown."+r+" mouseup."+r+" touchend."+r+" pointerup."+r+" MSPointerUp."+r+" mouseout."+r+" pointerout."+r+" MSPointerOut."+r+" click."+r,function(a){function r(e,o){i.scrollAmount=n.scrollButtons.scrollAmount,j(t,e,o)}if(a.preventDefault(),ee(a)){var l=e(this).attr("class");switch(i.type=n.scrollButtons.scrollType,a.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===i.type)return;c=!0,o.tweenRunning=!1,r("on",l);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===i.type)return;c=!1,i.dir&&r("off",l);break;case"click":if("stepped"!==i.type||o.tweenRunning)return;r("on",l)}}})},q=function(){function t(t){function a(e,t){r.type=i.keyboard.scrollType,r.scrollAmount=i.keyboard.scrollAmount,"stepped"===r.type&&n.tweenRunning||j(o,e,t)}switch(t.type){case"blur":n.tweenRunning&&r.dir&&a("off",null);break;case"keydown":case"keyup":var l=t.keyCode?t.keyCode:t.which,s="on";if("x"!==i.axis&&(38===l||40===l)||"y"!==i.axis&&(37===l||39===l)){if((38===l||40===l)&&!n.overflowed[0]||(37===l||39===l)&&!n.overflowed[1])return;"keyup"===t.type&&(s="off"),e(document.activeElement).is(u)||(t.preventDefault(),t.stopImmediatePropagation(),a(s,l))}else if(33===l||34===l){if((n.overflowed[0]||n.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type){Q(o);var f=34===l?-1:1;if("x"===i.axis||"yx"===i.axis&&n.overflowed[1]&&!n.overflowed[0])var h="x",m=Math.abs(c[0].offsetLeft)-f*(.9*d.width());else var h="y",m=Math.abs(c[0].offsetTop)-f*(.9*d.height());G(o,m.toString(),{dir:h,scrollEasing:"mcsEaseInOut"})}}else if((35===l||36===l)&&!e(document.activeElement).is(u)&&((n.overflowed[0]||n.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type)){if("x"===i.axis||"yx"===i.axis&&n.overflowed[1]&&!n.overflowed[0])var h="x",m=35===l?Math.abs(d.width()-c.outerWidth(!1)):0;else var h="y",m=35===l?Math.abs(d.height()-c.outerHeight(!1)):0;G(o,m.toString(),{dir:h,scrollEasing:"mcsEaseInOut"})}}}var o=e(this),n=o.data(a),i=n.opt,r=n.sequential,l=a+"_"+n.idx,s=e("#mCSB_"+n.idx),c=e("#mCSB_"+n.idx+"_container"),d=c.parent(),u="input,textarea,select,datalist,keygen,[contenteditable='true']",f=c.find("iframe"),h=["blur."+l+" keydown."+l+" keyup."+l];f.length&&f.each(function(){e(this).bind("load",function(){A(this)&&e(this.contentDocument||this.contentWindow.document).bind(h[0],function(e){t(e)})})}),s.attr("tabindex","0").bind(h[0],function(e){t(e)})},j=function(t,o,n,i,r){function l(e){u.snapAmount&&(f.scrollAmount=u.snapAmount instanceof Array?"x"===f.dir[0]?u.snapAmount[1]:u.snapAmount[0]:u.snapAmount);var o="stepped"!==f.type,a=r?r:e?o?p/1.5:g:1e3/60,n=e?o?7.5:40:2.5,s=[Math.abs(h[0].offsetTop),Math.abs(h[0].offsetLeft)],d=[c.scrollRatio.y>10?10:c.scrollRatio.y,c.scrollRatio.x>10?10:c.scrollRatio.x],m="x"===f.dir[0]?s[1]+f.dir[1]*(d[1]*n):s[0]+f.dir[1]*(d[0]*n),v="x"===f.dir[0]?s[1]+f.dir[1]*parseInt(f.scrollAmount):s[0]+f.dir[1]*parseInt(f.scrollAmount),x="auto"!==f.scrollAmount?v:m,_=i?i:e?o?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",w=!!e;return e&&17>a&&(x="x"===f.dir[0]?s[1]:s[0]),G(t,x.toString(),{dir:f.dir[0],scrollEasing:_,dur:a,onComplete:w}),e?void(f.dir=!1):(clearTimeout(f.step),void(f.step=setTimeout(function(){l()},a)))}function s(){clearTimeout(f.step),$(f,"step"),Q(t)}var c=t.data(a),u=c.opt,f=c.sequential,h=e("#mCSB_"+c.idx+"_container"),m="stepped"===f.type,p=u.scrollInertia<26?26:u.scrollInertia,g=u.scrollInertia<1?17:u.scrollInertia;switch(o){case"on":if(f.dir=[n===d[16]||n===d[15]||39===n||37===n?"x":"y",n===d[13]||n===d[15]||38===n||37===n?-1:1],Q(t),oe(n)&&"stepped"===f.type)return;l(m);break;case"off":s(),(m||c.tweenRunning&&f.dir)&&l(!0)}},Y=function(t){var o=e(this).data(a).opt,n=[];return"function"==typeof t&&(t=t()),t instanceof Array?n=t.length>1?[t[0],t[1]]:"x"===o.axis?[null,t[0]]:[t[0],null]:(n[0]=t.y?t.y:t.x||"x"===o.axis?null:t,n[1]=t.x?t.x:t.y||"y"===o.axis?null:t),"function"==typeof n[0]&&(n[0]=n[0]()),"function"==typeof n[1]&&(n[1]=n[1]()),n},X=function(t,o){if(null!=t&&"undefined"!=typeof t){var n=e(this),i=n.data(a),r=i.opt,l=e("#mCSB_"+i.idx+"_container"),s=l.parent(),c=typeof t;o||(o="x"===r.axis?"x":"y");var d="x"===o?l.outerWidth(!1)-s.width():l.outerHeight(!1)-s.height(),f="x"===o?l[0].offsetLeft:l[0].offsetTop,h="x"===o?"left":"top";switch(c){case"function":return t();case"object":var m=t.jquery?t:e(t);if(!m.length)return;return"x"===o?ae(m)[1]:ae(m)[0];case"string":case"number":if(oe(t))return Math.abs(t);if(-1!==t.indexOf("%"))return Math.abs(d*parseInt(t)/100);if(-1!==t.indexOf("-="))return Math.abs(f-parseInt(t.split("-=")[1]));if(-1!==t.indexOf("+=")){var p=f+parseInt(t.split("+=")[1]);return p>=0?0:Math.abs(p)}if(-1!==t.indexOf("px")&&oe(t.split("px")[0]))return Math.abs(t.split("px")[0]);if("top"===t||"left"===t)return 0;if("bottom"===t)return Math.abs(s.height()-l.outerHeight(!1));if("right"===t)return Math.abs(s.width()-l.outerWidth(!1));if("first"===t||"last"===t){var m=l.find(":"+t);return"x"===o?ae(m)[1]:ae(m)[0]}return e(t).length?"x"===o?ae(e(t))[1]:ae(e(t))[0]:(l.css(h,t),void u.update.call(null,n[0]))}}},N=function(t){function o(){return clearTimeout(f[0].autoUpdate),0===l.parents("html").length?void(l=null):void(f[0].autoUpdate=setTimeout(function(){return c.advanced.updateOnSelectorChange&&(s.poll.change.n=i(),s.poll.change.n!==s.poll.change.o)?(s.poll.change.o=s.poll.change.n,void r(3)):c.advanced.updateOnContentResize&&(s.poll.size.n=l[0].scrollHeight+l[0].scrollWidth+f[0].offsetHeight+l[0].offsetHeight+l[0].offsetWidth,s.poll.size.n!==s.poll.size.o)?(s.poll.size.o=s.poll.size.n,void r(1)):!c.advanced.updateOnImageLoad||"auto"===c.advanced.updateOnImageLoad&&"y"===c.axis||(s.poll.img.n=f.find("img").length,s.poll.img.n===s.poll.img.o)?void((c.advanced.updateOnSelectorChange||c.advanced.updateOnContentResize||c.advanced.updateOnImageLoad)&&o()):(s.poll.img.o=s.poll.img.n,void f.find("img").each(function(){n(this)}))},c.advanced.autoUpdateTimeout))}function n(t){function o(e,t){return function(){
31return t.apply(e,arguments)}}function a(){this.onload=null,e(t).addClass(d[2]),r(2)}if(e(t).hasClass(d[2]))return void r();var n=new Image;n.onload=o(n,a),n.src=t.src}function i(){c.advanced.updateOnSelectorChange===!0&&(c.advanced.updateOnSelectorChange="*");var e=0,t=f.find(c.advanced.updateOnSelectorChange);return c.advanced.updateOnSelectorChange&&t.length>0&&t.each(function(){e+=this.offsetHeight+this.offsetWidth}),e}function r(e){clearTimeout(f[0].autoUpdate),u.update.call(null,l[0],e)}var l=e(this),s=l.data(a),c=s.opt,f=e("#mCSB_"+s.idx+"_container");return t?(clearTimeout(f[0].autoUpdate),void $(f[0],"autoUpdate")):void o()},V=function(e,t,o){return Math.round(e/t)*t-o},Q=function(t){var o=t.data(a),n=e("#mCSB_"+o.idx+"_container,#mCSB_"+o.idx+"_container_wrapper,#mCSB_"+o.idx+"_dragger_vertical,#mCSB_"+o.idx+"_dragger_horizontal");n.each(function(){Z.call(this)})},G=function(t,o,n){function i(e){return s&&c.callbacks[e]&&"function"==typeof c.callbacks[e]}function r(){return[c.callbacks.alwaysTriggerOffsets||w>=S[0]+y,c.callbacks.alwaysTriggerOffsets||-B>=w]}function l(){var e=[h[0].offsetTop,h[0].offsetLeft],o=[x[0].offsetTop,x[0].offsetLeft],a=[h.outerHeight(!1),h.outerWidth(!1)],i=[f.height(),f.width()];t[0].mcs={content:h,top:e[0],left:e[1],draggerTop:o[0],draggerLeft:o[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(a[0])-i[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(a[1])-i[1])),direction:n.dir}}var s=t.data(a),c=s.opt,d={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:c.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},n=e.extend(d,n),u=[n.dur,n.drag?0:n.dur],f=e("#mCSB_"+s.idx),h=e("#mCSB_"+s.idx+"_container"),m=h.parent(),p=c.callbacks.onTotalScrollOffset?Y.call(t,c.callbacks.onTotalScrollOffset):[0,0],g=c.callbacks.onTotalScrollBackOffset?Y.call(t,c.callbacks.onTotalScrollBackOffset):[0,0];if(s.trigger=n.trigger,0===m.scrollTop()&&0===m.scrollLeft()||(e(".mCSB_"+s.idx+"_scrollbar").css("visibility","visible"),m.scrollTop(0).scrollLeft(0)),"_resetY"!==o||s.contentReset.y||(i("onOverflowYNone")&&c.callbacks.onOverflowYNone.call(t[0]),s.contentReset.y=1),"_resetX"!==o||s.contentReset.x||(i("onOverflowXNone")&&c.callbacks.onOverflowXNone.call(t[0]),s.contentReset.x=1),"_resetY"!==o&&"_resetX"!==o){if(!s.contentReset.y&&t[0].mcs||!s.overflowed[0]||(i("onOverflowY")&&c.callbacks.onOverflowY.call(t[0]),s.contentReset.x=null),!s.contentReset.x&&t[0].mcs||!s.overflowed[1]||(i("onOverflowX")&&c.callbacks.onOverflowX.call(t[0]),s.contentReset.x=null),c.snapAmount){var v=c.snapAmount instanceof Array?"x"===n.dir?c.snapAmount[1]:c.snapAmount[0]:c.snapAmount;o=V(o,v,c.snapOffset)}switch(n.dir){case"x":var x=e("#mCSB_"+s.idx+"_dragger_horizontal"),_="left",w=h[0].offsetLeft,S=[f.width()-h.outerWidth(!1),x.parent().width()-x.width()],b=[o,0===o?0:o/s.scrollRatio.x],y=p[1],B=g[1],T=y>0?y/s.scrollRatio.x:0,k=B>0?B/s.scrollRatio.x:0;break;case"y":var x=e("#mCSB_"+s.idx+"_dragger_vertical"),_="top",w=h[0].offsetTop,S=[f.height()-h.outerHeight(!1),x.parent().height()-x.height()],b=[o,0===o?0:o/s.scrollRatio.y],y=p[0],B=g[0],T=y>0?y/s.scrollRatio.y:0,k=B>0?B/s.scrollRatio.y:0}b[1]<0||0===b[0]&&0===b[1]?b=[0,0]:b[1]>=S[1]?b=[S[0],S[1]]:b[0]=-b[0],t[0].mcs||(l(),i("onInit")&&c.callbacks.onInit.call(t[0])),clearTimeout(h[0].onCompleteTimeout),J(x[0],_,Math.round(b[1]),u[1],n.scrollEasing),!s.tweenRunning&&(0===w&&b[0]>=0||w===S[0]&&b[0]<=S[0])||J(h[0],_,Math.round(b[0]),u[0],n.scrollEasing,n.overwrite,{onStart:function(){n.callbacks&&n.onStart&&!s.tweenRunning&&(i("onScrollStart")&&(l(),c.callbacks.onScrollStart.call(t[0])),s.tweenRunning=!0,C(x),s.cbOffsets=r())},onUpdate:function(){n.callbacks&&n.onUpdate&&i("whileScrolling")&&(l(),c.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(n.callbacks&&n.onComplete){"yx"===c.axis&&clearTimeout(h[0].onCompleteTimeout);var e=h[0].idleTimer||0;h[0].onCompleteTimeout=setTimeout(function(){i("onScroll")&&(l(),c.callbacks.onScroll.call(t[0])),i("onTotalScroll")&&b[1]>=S[1]-T&&s.cbOffsets[0]&&(l(),c.callbacks.onTotalScroll.call(t[0])),i("onTotalScrollBack")&&b[1]<=k&&s.cbOffsets[1]&&(l(),c.callbacks.onTotalScrollBack.call(t[0])),s.tweenRunning=!1,h[0].idleTimer=0,C(x,"hide")},e)}}})}},J=function(e,t,o,a,n,i,r){function l(){S.stop||(x||m.call(),x=K()-v,s(),x>=S.time&&(S.time=x>S.time?x+f-(x-S.time):x+f-1,S.time<x+1&&(S.time=x+1)),S.time<a?S.id=h(l):g.call())}function s(){a>0?(S.currVal=u(S.time,_,b,a,n),w[t]=Math.round(S.currVal)+"px"):w[t]=o+"px",p.call()}function c(){f=1e3/60,S.time=x+f,h=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return s(),setTimeout(e,.01)},S.id=h(l)}function d(){null!=S.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(S.id):clearTimeout(S.id),S.id=null)}function u(e,t,o,a,n){switch(n){case"linear":case"mcsLinear":return o*e/a+t;case"mcsLinearOut":return e/=a,e--,o*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=a/2,1>e?o/2*e*e+t:(e--,-o/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=a/2,1>e?o/2*Math.pow(2,10*(e-1))+t:(e--,o/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=a/2,1>e?o/2*e*e*e+t:(e-=2,o/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=a,e--,-o*(e*e*e*e-1)+t;case"easeOutStrong":return o*(-Math.pow(2,-10*e/a)+1)+t;case"easeOut":case"mcsEaseOut":default:var i=(e/=a)*e,r=i*e;return t+o*(.499999999999997*r*i+-2.5*i*i+5.5*r+-6.5*i+4*e)}}e._mTween||(e._mTween={top:{},left:{}});var f,h,r=r||{},m=r.onStart||function(){},p=r.onUpdate||function(){},g=r.onComplete||function(){},v=K(),x=0,_=e.offsetTop,w=e.style,S=e._mTween[t];"left"===t&&(_=e.offsetLeft);var b=o-_;S.stop=0,"none"!==i&&d(),c()},K=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},Z=function(){var e=this;e._mTween||(e._mTween={top:{},left:{}});for(var t=["top","left"],o=0;o<t.length;o++){var a=t[o];e._mTween[a].id&&(window.requestAnimationFrame?window.cancelAnimationFrame(e._mTween[a].id):clearTimeout(e._mTween[a].id),e._mTween[a].id=null,e._mTween[a].stop=1)}},$=function(e,t){try{delete e[t]}catch(o){e[t]=null}},ee=function(e){return!(e.which&&1!==e.which)},te=function(e){var t=e.originalEvent.pointerType;return!(t&&"touch"!==t&&2!==t)},oe=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},ae=function(e){var t=e.parents(".mCSB_container");return[e.offset().top-t.offset().top,e.offset().left-t.offset().left]},ne=function(){function e(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;t<e.length;t++)if(e[t]+"Hidden"in document)return e[t]+"Hidden";return null}var t=e();return t?document[t]:!1};e.fn[o]=function(t){return u[t]?u[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof t&&t?void e.error("Method "+t+" does not exist"):u.init.apply(this,arguments)},e[o]=function(t){return u[t]?u[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof t&&t?void e.error("Method "+t+" does not exist"):u.init.apply(this,arguments)},e[o].defaults=i,window[o]=!0,e(window).bind("load",function(){e(n)[o](),e.extend(e.expr[":"],{mcsInView:e.expr[":"].mcsInView||function(t){var o,a,n=e(t),i=n.parents(".mCSB_container");if(i.length)return o=i.parent(),a=[i[0].offsetTop,i[0].offsetLeft],a[0]+ae(n)[0]>=0&&a[0]+ae(n)[0]<o.height()-n.outerHeight(!1)&&a[1]+ae(n)[1]>=0&&a[1]+ae(n)[1]<o.width()-n.outerWidth(!1)},mcsInSight:e.expr[":"].mcsInSight||function(t,o,a){var n,i,r,l,s=e(t),c=s.parents(".mCSB_container"),d="exact"===a[3]?[[1,0],[1,0]]:[[.9,.1],[.6,.4]];if(c.length)return n=[s.outerHeight(!1),s.outerWidth(!1)],r=[c[0].offsetTop+ae(s)[0],c[0].offsetLeft+ae(s)[1]],i=[c.parent()[0].offsetHeight,c.parent()[0].offsetWidth],l=[n[0]<i[0]?d[0]:d[1],n[1]<i[1]?d[0]:d[1]],r[0]-i[0]*l[0][0]<0&&r[0]+n[0]-i[0]*l[0][1]>=0&&r[1]-i[1]*l[1][0]<0&&r[1]+n[1]-i[1]*l[1][1]>=0},mcsOverflow:e.expr[":"].mcsOverflow||function(t){var o=e(t).data(a);if(o)return o.overflowed[0]||o.overflowed[1]}})})})});
vendor: 3,779 bytes, lines 31-34
31
32
33/*! jQuery Mobile v1.4.5 | Copyright 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */
34(function(e,t,n){typeof define=="function"&&define.amd?define(["jquery"],function(r){return n(r,e,t),r.mobile}):n(e.jQuery,e,t)})(this,document,function(e,t,n,r){(function(e,t,n,r){function T(e){while(e&&typeof e.originalEvent!="undefined")e=e.originalEvent;return e}function N(t,n){var i=t.type,s,o,a,l,c,h,p,d,v;t=e.Event(t),t.type=n,s=t.originalEvent,o=e.event.props,i.search(/^(mouse|click)/)>-1&&(o=f);if(s)for(p=o.length,l;p;)l=o[--p],t[l]=s[l];i.search(/mouse(down|up)|click/)>-1&&!t.which&&(t.which=1);if(i.search(/^touch/)!==-1){a=T(s),i=a.touches,c=a.changedTouches,h=i&&i.length?i[0]:c&&c.length?c[0]:r;if(h)for(d=0,v=u.length;d<v;d++)l=u[d],t[l]=h[l]}return t}function C(t){var n={},r,s;while(t){r=e.data(t,i);for(s in r)r[s]&&(n[s]=n.hasVirtualBinding=!0);t=t.parentNode}return n}function k(t,n){var r;while(t){r=e.data(t,i);if(r&&(!n||r[n]))return t;t=t.parentNode}return null}function L(){g=!1}function A(){g=!0}function O(){E=0,v.length=0,m=!1,A()}function M(){L()}function _(){D(),c=setTimeout(function(){c=0,O()},e.vmouse.resetTimerDuration)}function D(){c&&(clearTimeout(c),c=0)}function P(t,n,r){var i;if(r&&r[t]||!r&&k(n.target,t))i=N(n,t),e(n.target).trigger(i);return i}function H(t){var n=e.data(t.target,s),r;!m&&(!E||E!==n)&&(r=P("v"+t.type,t),r&&(r.isDefaultPrevented()&&t.preventDefault(),r.isPropagationStopped()&&t.stopPropagation(),r.isImmediatePropagationStopped()&&t.stopImmediatePropagation()))}function B(t){var n=T(t).touches,r,i,o;n&&n.length===1&&(r=t.target,i=C(r),i.hasVirtualBinding&&(E=w++,e.data(r,s,E),D(),M(),d=!1,o=T(t).touches[0],h=o.pageX,p=o.pageY,P("vmouseover",t,i),P("vmousedown",t,i)))}function j(e){if(g)return;d||P("vmousecancel",e,C(e.target)),d=!0,_()}function F(t){if(g)return;var n=T(t).touches[0],r=d,i=e.vmouse.moveDistanceThreshold,s=C(t.target);d=d||Math.abs(n.pageX-h)>i||Math.abs(n.pageY-p)>i,d&&!r&&P("vmousecancel",t,s),P("vmousemove",t,s),_()}function I(e){if(g)return;A();var t=C(e.target),n,r;P("vmouseup",e,t),d||(n=P("vclick",e,t),n&&n.isDefaultPrevented()&&(r=T(e).changedTouches[0],v.push({touchID:E,x:r.clientX,y:r.clientY}),m=!0)),P("vmouseout",e,t),d=!1,_()}function q(t){var n=e.data(t,i),r;if(n)for(r in n)if(n[r])return!0;return!1}function R(){}function U(t){var n=t.substr(1);return{setup:function(){q(this)||e.data(this,i,{});var r=e.data(this,i);r[t]=!0,l[t]=(l[t]||0)+1,l[t]===1&&b.bind(n,H),e(this).bind(n,R),y&&(l.touchstart=(l.touchstart||0)+1,l.touchstart===1&&b.bind("touchstart",B).bind("touchend",I).bind("touchmove",F).bind("scroll",j))},teardown:function(){--l[t],l[t]||b.unbind(n,H),y&&(--l.touchstart,l.touchstart||b.unbind("touchstart",B).unbind("touchmove",F).unbind("touchend",I).unbind("scroll",j));var r=e(this),s=e.data(this,i);s&&(s[t]=!1),r.unbind(n,R),q(this)||r.removeData(i)}}}var i="virtualMouseBindings",s="virtualTouchID",o="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),u="clientX clientY pageX pageY screenX screenY".split(" "),a=e.event.mouseHooks?e.event.mouseHooks.props:[],f=e.event.props.concat(a),l={},c=0,h=0,p=0,d=!1,v=[],m=!1,g=!1,y="addEventListener"in n,b=e(n),w=1,E=0,S,x;e.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500};for(x=0;x<o.length;x++)e.event.special[o[x]]=U(o[x]);y&&n.addEventListener("click",function(t){var n=v.length,r=t.target,i,o,u,a,f,l;if(n){i=t.clientX,o=t.clientY,S=e.vmouse.clickDistanceThreshold,u=r;while(u){for(a=0;a<n;a++){f=v[a],l=0;if(u===r&&Math.abs(f.x-i)<S&&Math.abs(f.y-o)<S||e.data(u,s)===f.touchID){t.preventDefault(),t.stopPropagation();return}}u=u.parentNode}}},!0)})(e,t,n),function(e){e.mobile={}}(e),function(e,t){var r={touch:"ontouchend"in n};
34e.mobile.support=e.mobile.support||{},e.extend(e.support,r),e.extend(e.mobile.support,r)}(e),function(e,t,r){function l(t,n,i,s){var o=i.type;i.type=n,s?e.event.trigger(i,r,t):e.event.dispatch.call(t,i),i.type=o}var i=e(n),s=e.mobile.support.touch,o="touchmove scroll",u=s?"touchstart":"mousedown",a=s?"touchend":"mouseup",f=s?"touchmove":"mousemove";e.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(t,n){e.fn[n]=function(e){return e?this.bind(n,e):this.trigger(n)},e.attrFn&&(e.attrFn[n]=!0)}),e.event.special.scrollstart={enabled:!0,setup:function(){function s(e,n){r=n,l(t,r?"scrollstart":"scrollstop",e)}var t=this,n=e(t),r,i;n.bind(o,function(t){if(!e.event.special.scrollstart.enabled)return;r||s(t,!0),clearTimeout(i),i=setTimeout(function(){s(t,!1)},50)})},teardown:function(){e(this).unbind(o)}},e.event.special.tap={tapholdThreshold:750,emitTapOnTaphold:!0,setup:function(){var t=this,n=e(t),r=!1;n.bind("vmousedown",function(s){function a(){clearTimeout(u)}function f(){a(),n.unbind("vclick",c).unbind("vmouseup",a),i.unbind("vmousecancel",f)}function c(e){f(),!r&&o===e.target?l(t,"tap",e):r&&e.preventDefault()}r=!1;if(s.which&&s.which!==1)return!1;var o=s.target,u;n.bind("vmouseup",a).bind("vclick",c),i.bind("vmousecancel",f),u=setTimeout(function(){e.event.special.tap.emitTapOnTaphold||(r=!0),l(t,"taphold",e.Event("taphold",{target:o}))},e.event.special.tap.tapholdThreshold)})},teardown:function(){e(this).unbind("vmousedown").unbind("vclick").unbind("vmouseup"),i.unbind("vmousecancel")}},e.event.special.swipe={scrollSupressionThreshold:30,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:30,getLocation:function(e){var n=t.pageXOffset,r=t.pageYOffset,i=e.clientX,s=e.clientY;if(e.pageY===0&&Math.floor(s)>Math.floor(e.pageY)||e.pageX===0&&Math.floor(i)>Math.floor(e.pageX))i-=n,s-=r;else if(s<e.pageY-r||i<e.pageX-n)i=e.pageX-n,s=e.pageY-r;return{x:i,y:s}},start:function(t){var n=t.originalEvent.touches?t.originalEvent.touches[0]:t,r=e.event.special.swipe.getLocation(n);return{time:(new Date).getTime(),coords:[r.x,r.y],origin:e(t.target)}},stop:function(t){var n=t.originalEvent.touches?t.originalEvent.touches[0]:t,r=e.event.special.swipe.getLocation(n);return{time:(new Date).getTime(),coords:[r.x,r.y]}},handleSwipe:function(t,n,r,i){if(n.time-t.time<e.event.special.swipe.durationThreshold&&Math.abs(t.coords[0]-n.
34coords[0])>e.event.special.swipe.horizontalDistanceThreshold&&Math.abs(t.coords[1]-n.coords[1])<e.event.special.swipe.verticalDistanceThreshold){var s=t.coords[0]>n.coords[0]?"swipeleft":"swiperight";return l(r,"swipe",e.Event("swipe",{target:i,swipestart:t,swipestop:n}),!0),l(r,s,e.Event(s,{target:i,swipestart:t,swipestop:n}),!0),!0}return!1},eventInProgress:!1,setup:function(){var t,n=this,r=e(n),s={};t=e.data(this,"mobile-events"),t||(t={length:0},e.data(this,"mobile-events",t)),t.length++,t.swipe=s,s.start=function(t){if(e.event.special.swipe.eventInProgress)return;e.event.special.swipe.eventInProgress=!0;var r,o=e.event.special.swipe.start(t),u=t.target,l=!1;s.move=function(t){if(!o||t.isDefaultPrevented())return;r=e.event.special.swipe.stop(t),l||(l=e.event.special.swipe.handleSwipe(o,r,n,u),l&&(e.event.special.swipe.eventInProgress=!1)),Math.abs(o.coords[0]-r.coords[0])>e.event.special.swipe.scrollSupressionThreshold&&t.preventDefault()},s.stop=function(){l=!0,e.event.special.swipe.eventInProgress=!1,i.off(f,s.move),s.move=null},i.on(f,s.move).one(a,s.stop)},r.on(u,s.start)},teardown:function(){var t,n;t=e.data(this,"mobile-events"),t&&(n=t.swipe,delete t.swipe,t.length--,t.length===0&&e.removeData(this,"mobile-events")),n&&(n.start&&e(this).off(u,n.start),n.move&&i.off(f,n.move),n.stop&&i.off(a,n.stop))}},e.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe.left",swiperight:"swipe.right"},function(t,n){e.event.special[t]={setup:function(){e(this).bind(n,e.noop)},teardown:function(){e(this).unbind(n)}}})}(e,this)});
35
36/*!
37 * enquire.js v2.1.0 - Awesome Media Queries in JavaScript
38 * Copyright (c) 2013 Nick Williams - http://wicky.nillia.ms/enquire.js
39 * License: MIT (http://www.opensource.org/licenses/mit-license.php)
40 */
41(function(t,i,n){var e=i.matchMedia;"undefined"!=typeof module&&module.exports?module.exports=n(e):"function"==typeof define&&define.amd?define(function(){return i[t]=n(e)}):i[t]=n(e)})("enquire",this,function(t){"use strict";function i(t,i){var n,e=0,s=t.length;for(e;s>e&&(n=i(t[e],e),n!==!1);e++);}function n(t){return"[object Array]"===Object.prototype.toString.apply(t)}function e(t){return"function"==typeof t}function s(t){this.options=t,!t.deferSetup&&this.setup()}function o(i,n){this.query=i,this.isUnconditional=n,this.handlers=[],this.mql=t(i);var e=this;this.listener=function(t){e.mql=t,e.assess()},this.mql.addListener(this.listener)}
41function r(){if(!t)throw Error("matchMedia not present, legacy browsers require a polyfill");this.queries={},this.browserIsIncapable=!t("only all").matches}return s.prototype={setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(t){return this.options===t||this.options.match===t}},o.prototype={addHandler:function(t){var i=new s(t);this.handlers.push(i),this.matches()&&i.on()},removeHandler:function(t){var n=this.handlers;i(n,function(i,e){return i.equals(t)?(i.destroy(),!n.splice(e,1)):void 0})},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){i(this.handlers,function(t){t.destroy()}),this.mql.removeListener(this.listener),this.handlers.length=0},assess:function(){var t=this.matches()?"on":"off";i(this.handlers,function(i){i[t]()})}},r.prototype={register:function(t,s,r){var h=this.queries,u=r&&this.browserIsIncapable;return h[t]||(h[t]=new o(t,u)),e(s)&&(s={match:s}),n(s)||(s=[s]),i(s,function(i){h[t].addHandler(i)}),this},unregister:function(t,i){var n=this.queries[t];return n&&(i?n.removeHandler(i):(n.clear(),delete this.queries[t])),this}},new r});
42
43/*
44 * jQuery Textarea Characters Counter Plugin v 2.0
45 * Examples and documentation at: http://roy-jin.appspot.com/jsp/textareaCounter.jsp
46 * Copyright (c) 2010 Roy Jin
47 * Version: 2.0 (11-JUN-2010)
48 * Dual licensed under the MIT and GPL licenses:
49 * http://www.opensource.org/licenses/mit-license.php
50 * http://www.gnu.org/licenses/gpl.html
51 * Requires: jQuery v1.4.2 or later
52 */
53(function(d){d.fn.textareaCount=function(b,q){function f(){g.html(t());"undefined"!=typeof q&&q.call(this,{input:e,max:h,left:m,words:k});return!0}function t(){var a=c.val(),n=a.length;if(0<b.maxCharacterSize){n>=b.maxCharacterSize&&(a=a.substring(0,b.maxCharacterSize));var l=r(a),d=b.maxCharacterSize-l;p()||(d=b.maxCharacterSize);if(n>d){var f=this.scrollTop;c.val(a.substring(0,d));this.scrollTop=f}g.removeClass(b.warningStyle);d-n<=b.warningNumber&&g.addClass(b.warningStyle);e=c.val().length+l;
54    p()||(e=c.val().length);k=s(c.val()).length-1;m=h-e}else l=r(a),e=c.val().length+l,p()||(e=c.val().length),k=s(c.val()).length-1;a=b.displayFormat;a=a.replace("#input",e);a=a.replace("#words",k);0<h&&(a=a.replace("#max",h),a=a.replace("#left",m));return a}function p(){return-1!=navigator.appVersion.toLowerCase().indexOf("win")?!0:!1}function r(a){for(var b=0,c=0;c<a.length;c++)"\n"==a.charAt(c)&&b++;return b}function s(a){a=(a+" ").replace(/^[^A-Za-z0-9]+/gi,"");var b=rExp=/[^A-Za-z0-9]+/gi;return a.replace(b,
55    " ").split(" ")}b=d.extend({maxCharacterSize:250,originalStyle:"textarea_counter_default",warningStyle:"textarea_counter_warning",warningNumber:20,displayFormat:"<b>#left</b> "+lang.characters_left},b);var c=d(this);d("<div class='charleft'>&nbsp;</div>").insertAfter(c);var g=c.next(".charleft");g.addClass(b.originalStyle);g.css({});var e=0,h=b.maxCharacterSize,m=0,k=0;c.bind("keyup",function(a){f()}).bind("mouseover",function(a){setTimeout(function(){f()},10)}).bind("paste",function(a){setTimeout(function(){f()},
56    10)})}})(jQuery);
57
58/*
59 * Generated by CoffeeScript 1.4.0
60 */
61(function(){var e,n=[].indexOf||function(e){for(var d=0,g=this.length;d<g;d++)if(d in this&&this[d]===e)return d;return-1};e=jQuery;e.fn.validateCreditCard=function(x,d){var g,f,h,q,r,t,u,k,v,l,w,p;h=[{name:"amex",pattern:/^3[47]/,valid_length:[15]},{name:"diners_club_carte_blanche",pattern:/^30[0-5]/,valid_length:[14]},{name:"diners_club_international",pattern:/^36/,valid_length:[14]},{name:"jcb",pattern:/^35(2[89]|[3-8][0-9])/,valid_length:[16]},{name:"laser",pattern:/^(6304|670[69]|6771)/,valid_length:[16,17,18,19]},{name:"visa_electron",pattern:/^(4026|417500|4508|4844|491(3|7))/,valid_length:[16]},{name:"visa",pattern:/^4/,valid_length:[16]},{name:"mastercard",pattern:/^5[1-5]/,valid_length:[16]},{name:"maestro",pattern:/^(5018|5020|5038|6304|6759|676[1-3])/,valid_length:[12,13,14,15,16,17,18,19]},{name:"discover",pattern:/^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,valid_length:[16]}];null==d&&(d={});null==d.accept&&(d.accept=function(){var a,c,b;b=[];a=0;
61for(c=h.length;a<c;a++)g=h[a],b.push(g.name);return b}());p=d.accept;l=0;for(w=p.length;l<w;l++)if(f=p[l],0>n.call(function(){var a,c,b;b=[];a=0;for(c=h.length;a<c;a++)g=h[a],b.push(g.name);return b}(),f))throw"Credit card type '"+f+"' is not supported";q=function(a){var c,b,e,m;m=[];c=0;for(b=h.length;c<b;c++)g=h[c],(e=g.name,0<=n.call(d.accept,e))&&m.push(g);c=0;for(b=m.length;c<b;c++)if(f=m[c],a.match(f.pattern))return f;return null};t=function(a){var c,b,d,f,e;b=0;e=a.split("").reverse();c=d=0;for(f=e.length;d<f;c=++d)a=e[c],a=+a,c%2?(a*=2,b=10>a?b+a:b+(a-9)):b+=a;return 0===b%10};r=function(a,c){var b;return b=a.length,0<=n.call(c.valid_length,b)};v=function(a){var c,b;f=q(a);c=b=!1;null!=f&&(b=t(a),c=r(a,f));return x({card_type:f,luhn_valid:b,length_valid:c})};k=function(){var a;a=u(e(this).val());return v(a)};u=function(a){return a.replace(/[ -]/g,"")};this.bind("input",function(){e(this).unbind("keyup");return k.call(this)});this.bind("keyup",function(){return k.call(this)});0!==this.length&&k.call(this);return this}}).call(this);
62
63/*
64 * jQuery Templates Plugin 1.0.0pre
65 * http://github.com/jquery/jquery-tmpl
66 * Requires jQuery 1.4.2
67 *
68 * Copyright 2011, Software Freedom Conservancy, Inc.
69 * Dual licensed under the MIT or GPL Version 2 licenses.
70 * http://jquery.org/license
71 */
72(function(a){var r=a.fn.domManip,d="_tmplitem",q=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,b={},f={},e,p={key:0,data:{}},i=0,c=0,l=[];function g(g,d,h,e){var c={data:e||(e===0||e===false)?e:d?d.data:{},_wrap:d?d._wrap:null,tmpl:null,parent:d||null,nodes:[],calls:u,nest:w,wrap:x,html:v,update:t};g&&a.extend(c,g,{nodes:[],parent:d});if(h){c.tmpl=h;c._ctnt=c._ctnt||c.tmpl(a,c);c.key=++i;(l.length?f:b)[i]=c}return c}a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(f,d){a.fn[f]=function(n){var g=[],i=a(n),k,h,m,l,j=this.length===1&&this[0].parentNode;e=b||{};if(j&&j.nodeType===11&&j.childNodes.length===1&&i.length===1){i[d](this[0]);g=this}else{for(h=0,m=i.length;h<m;h++){c=h;k=(h>0?this.clone(true):this).get();a(i[h])[d](k);g=g.concat(k)}c=0;g=this.pushStack(g,f,i.selector)}l=e;e=null;a.tmpl.complete(l);return g}});a.fn.extend({tmpl:function(d,c,b){return a.tmpl(this[0],d,c,b)},tmplItem:function(){return a.tmplItem(this[0])},template:function(b){return a.template(b,this[0])},domManip:function(d,m,k){if(d[0]&&a.isArray(d[0])){var g=a.makeArray(arguments),h=d[0],j=h.length,i=0,f;while(i<j&&!(f=a.data(h[i++],"tmplItem")));if(f&&c)g[2]=function(b){a.tmpl.afterManip(this,b,k)};r.apply(this,g)}else r.apply(this,arguments);c=0;!e&&a.tmpl.complete(b);return this}});a.extend({tmpl:function(d,h,e,c){var i,k=!c;if(k){c=p;d=a.template[d]||a.template(null,d);f={}}else if(!d){d=c.tmpl;b[c.key]=c;c.nodes=[];c.wrapped&&n(c,c.wrapped);return a(j(c,null,c.tmpl(a,c)))}if(!d)return[];if(typeof h==="function")h=h.call(c||{});e&&e.wrapped&&n(e,e.wrapped);i=a.isArray(h)?a.map(h,function(a){return a?g(e,c,d,a):null}):[g(e,c,d,h)];return k?a(j(c,null,i)):i},tmplItem:function(b){var c;if(b instanceof a)b=b[0];while(b&&b.nodeType===1&&!(c=a.data(b,"tmplItem"))&&(b=b.parentNode));return c||p},template:function(c,b){if(b){if(typeof b==="string")b=o(b);else if(b instanceof a)b=b[0]||{};if(b.nodeType)b=a.data(b,"tmpl")||a.data(b,"tmpl",o(b.innerHTML));
72return typeof c==="string"?(a.template[c]=b):b}return c?typeof c!=="string"?a.template(null,c):a.template[c]||a.template(null,q.test(c)?c:a(c)):null},encode:function(a){return(""+a).split("<").join("&lt;").split(">").join("&gt;").split('"').join("&#34;").split("'").join("&#39;")}});a.extend(a.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(){b={}},afterManip:function(f,b,d){var e=b.nodeType===11?a.makeArray(b.childNodes):b.nodeType===1?[b]:[];d.call(f,b);m(e);c++}});function j(e,g,f){var b,c=f?a.map(f,function(a){return typeof a==="string"?e.key?a.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d+'="'+e.key+'" $2'):a:j(a,e,a._ctnt)}):e;if(g)return c;c=c.join("");c.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(f,c,e,d){b=a(e).get();m(b);if(c)b=k(c).concat(b);if(d)b=b.concat(k(d))});return b?b:k(c)}function k(c){var b=document.createElement("div");b.innerHTML=c;return a.makeArray(b.childNodes)}function o(b){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+a.trim(b).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(m,l,k,g,b,c,d){var j=a.tmpl.tag[k],i,e,f;if(!j)throw"Unknown template tag: "+k;i=j._default||[];if(c&&!/\w$/.test(b)){b+=c;c=""}if(b){b=h(b);d=d?","+h(d)+")":c?")":"";e=c?b.indexOf(".")>-1?b+h(c):"("+b+").call($item"+d:b;f=c?e:"(typeof("+b+")==='function'?("+b+").call($item):("+b+"))"}else f=e=i.$1||"null";g=h(g);return"');"+j[l?"close":"open"].split("$notnull_1").join(b?"typeof("+b+")!=='undefined' && ("+b+")!=null":"true").split("$1a").join(f).split("$1").join(e).split("$2").join(g||i.$2||"")+"__.push('"})+"');}return __;")}function n(c,b){c._wrap=j(c,true,a.isArray(b)?b:[q.test(b)?b:a(b).html()]).join("")}function h(a){return a?a.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function s(b){var a=document.createElement("div");a.appendChild(b.cloneNode(true));return a.innerHTML}function m(o){var n="_"+c,k,j,l={},e,p,h;for(e=0,p=o.length;e<p;e++){if((k=o[e]).nodeType!==1)continue;j=k.getElementsByTagName("*");for(h=j.length-1;h>=0;h--)m(j[h]);m(k)}function m(j){var p,h=j,k,e,m;if(m=j.getAttribute(d)){while(h.parentNode&&(h=h.parentNode).nodeType===1&&!(p=h.getAttribute(d)));if(p!==m){h=h.parentNode?h.nodeType===11?0:h.getAttribute(d)||0:0;if(!(e=b[m])){e=f[m];e=g(e,b[h]||f[h]);e.key=++i;b[i]=e}c&&o(m)}j.removeAttribute(d)}else if(c&&(e=a.data(j,"tmplItem"))){o(e.key);b[e.key]=e;h=a.data(j.parentNode,"tmplItem");h=h?h.key:0}if(e){k=e;while(k&&k.key!=h){k.nodes.push(j);k=k.parent}delete e._ctnt;delete e._wrap;a.data(j,"tmplItem",e)}function o(a){a=a+n;e=l[a]=l[a]||g(e,b[e.parent.key+n]||e.parent)}}}function u(a,d,c,b){if(!a)return l.pop();l.push({_:a,tmpl:d,item:this,data:c,options:b})}function w(d,c,b){return a.tmpl(a.template(d),c,b,this)}function x(b,d){var c=b.options||{};c.wrapped=d;return a.tmpl(a.template(b.tmpl),b.data,c,b.item)}function v(d,c){var b=this._wrap;return a.map(a(a.isArray(b)?b.join(""):b).filter(d||"*"),function(a){return c?a.innerText||a.textContent:a.outerHTML||s(a)})}function t(){var b=this.nodes;a.tmpl(null,null,null,this).insertBefore(b[0]);a(b).remove()}})(jQuery);
73
74/*
75 * jquery.qtip. The jQuery tooltip plugin
76 *
77 * Copyright (c) 2009 Craig Thompson
78 * http://craigsworks.com
79 *
80 * Licensed under MIT
81 * http://www.opensource.org/licenses/mit-license.php
82 *
83 * Launch  : February 2009
84 * Version : 1.0.0-rc3
85 * Released: Tuesday 12th May, 2009 - 00:00
86 * Debug: jquery.qtip.debug.js
87 */
88(function(f){f.fn.qtip=function(B,u){var y,t,A,s,x,w,v,z;
88if(typeof B=="string"){if(typeof f(this).data("qtip")!=="object"){f.fn.qtip.log.error.call(self,1,f.fn.qtip.constants.NO_TOOLTIP_PRESENT,false)}if(B=="api"){return f(this).data("qtip").interfaces[f(this).data("qtip").current]}else{if(B=="interfaces"){return f(this).data("qtip").interfaces}}}else{if(!B){B={}}if(typeof B.content!=="object"||(B.content.jquery&&B.content.length>0)){B.content={text:B.content}}if(typeof B.content.title!=="object"){B.content.title={text:B.content.title}}if(typeof B.position!=="object"){B.position={corner:B.position}}if(typeof B.position.corner!=="object"){B.position.corner={target:B.position.corner,tooltip:B.position.corner}}if(typeof B.show!=="object"){B.show={when:B.show}}if(typeof B.show.when!=="object"){B.show.when={event:B.show.when}}if(typeof B.show.effect!=="object"){B.show.effect={type:B.show.effect}}if(typeof B.hide!=="object"){B.hide={when:B.hide}}if(typeof B.hide.when!=="object"){B.hide.when={event:B.hide.when}}if(typeof B.hide.effect!=="object"){B.hide.effect={type:B.hide.effect}}if(typeof B.style!=="object"){B.style={name:B.style}}B.style=c(B.style);s=f.extend(true,{},f.fn.qtip.defaults,B);s.style=a.call({options:s},s.style);s.user=f.extend(true,{},B)}return f(this).each(function(){if(typeof B=="string"){w=B.toLowerCase();A=f(this).qtip("interfaces");if(typeof A=="object"){if(u===true&&w=="destroy"){while(A.length>0){A[A.length-1].destroy()}}else{if(u!==true){A=[f(this).qtip("api")]}for(y=0;y<A.length;y++){if(w=="destroy"){A[y].destroy()}else{if(A[y].status.rendered===true){if(w=="show"){A[y].show()}else{if(w=="hide"){A[y].hide()}else{if(w=="focus"){A[y].focus()}else{if(w=="disable"){A[y].disable(true)}else{if(w=="enable"){A[y].disable(false)}}}}}}}}}}}else{v=f.extend(true,{},s);v.hide.effect.length=s.hide.effect.length;v.show.effect.length=s.show.effect.length;if(v.position.container===false){v.position.container=f(document.body)}if(v.position.target===false){v.position.target=f(this)}if(v.show.when.target===false){v.show.when.target=f(this)}if(v.hide.when.target===false){v.hide.when.target=f(this)}t=f.fn.qtip.interfaces.length;for(y=0;y<t;y++){if(typeof f.fn.qtip.interfaces[y]=="undefined"){t=y;break}}x=new d(f(this),v,t);f.fn.qtip.interfaces[t]=x;if(typeof f(this).data("qtip")=="object"){if(typeof f(this).attr("qtip")==="undefined"){f(this).data("qtip").current=f(this).data("qtip").interfaces.length}f(this).data("qtip").interfaces.push(x)}else{f(this).data("qtip",{current:0,interfaces:[x]})}if(v.content.prerender===false&&v.show.when.event!==false&&v.show.ready!==true){v.show.when.target.bind(v.show.when.event+".qtip-"+t+"-create",{qtip:t},function(C){z=f.fn.qtip.interfaces[C.data.qtip];z.options.show.when.target.unbind(z.options.show.when.event+".qtip-"+C.data.qtip+"-create");z.cache.mouse={x:C.pageX,y:C.pageY};p.call(z);z.options.show.when.target.trigger(z.options.show.when.event)})}else{x.cache.mouse={x:v.show.when.target.offset().left,y:v.show.when.target.offset().top};p.call(x)}}})};function d(u,t,v){var s=this;s.id=v;s.options=t;s.status={animated:false,rendered:false,disabled:false,focused:false};s.elements={target:u.addClass(s.options.style.classes.target),tooltip:null,wrapper:null,content:null,contentWrapper:null,title:null,button:null,tip:null,bgiframe:null};s.cache={mouse:{},position:{},toggle:0};s.timers={};f.extend(s,s.options.api,{show:function(y){var x,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"show")}if(s.elements.tooltip.css("display")!=="none"){return s}s.elements.tooltip.stop(true,false);x=s.beforeShow.call(s,y);if(x===false){return s}function w(){if(s.options.position.type!=="static"){s.focus()}s.onShow.call(s,y);if(f.browser.msie){s.elements.tooltip.get(0).style.removeAttribute("filter")}}s.cache.toggle=1;if(s.options.position.type!=="static"){s.updatePosition(y,(s.options.show.effect.length>0))}if(typeof s.options.show.solo=="object"){z=f(s.options.show.solo)}else{if(s.options.show.solo===true){z=f("div.qtip").not(s.elements.tooltip)}}if(z){z.each(function(){if(f(this).qtip("api").status.rendered===true){f(this).qtip("api").hide()}})}if(typeof s.options.show.effect.type=="function"){s.options.show.effect.type.call(s.elements.tooltip,s.options.show.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.show.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeIn(s.options.show.effect.length,w);break;case"slide":s.elements.tooltip.slideDown(s.options.show.effect.length,function(){w();if(s.options.position.type!=="static"){s.updatePosition(y,true)}});break;case"grow":s.elements.tooltip.show(s.options.show.effect.length,w);break;default:s.elements.tooltip.show(null,w);break}s.elements.tooltip.addClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_SHOWN,"show")},hide:function(y){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"hide")}else{if(s.elements.tooltip.css("display")==="none"){return s}}clearTimeout(s.timers.show);
88s.elements.tooltip.stop(true,false);x=s.beforeHide.call(s,y);if(x===false){return s}function w(){s.onHide.call(s,y)}s.cache.toggle=0;if(typeof s.options.hide.effect.type=="function"){s.options.hide.effect.type.call(s.elements.tooltip,s.options.hide.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.hide.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeOut(s.options.hide.effect.length,w);break;case"slide":s.elements.tooltip.slideUp(s.options.hide.effect.length,w);break;case"grow":s.elements.tooltip.hide(s.options.hide.effect.length,w);break;default:s.elements.tooltip.hide(null,w);break}s.elements.tooltip.removeClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_HIDDEN,"hide")},updatePosition:function(w,x){var C,G,L,J,H,E,y,I,B,D,K,A,F,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updatePosition")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_POSITION_STATIC,"updatePosition")}}G={position:{left:0,top:0},dimensions:{height:0,width:0},corner:s.options.position.corner.target};L={position:s.getPosition(),dimensions:s.getDimensions(),corner:s.options.position.corner.tooltip};if(s.options.position.target!=="mouse"){if(s.options.position.target.get(0).nodeName.toLowerCase()=="area"){J=s.options.position.target.attr("coords").split(",");for(C=0;C<J.length;C++){J[C]=parseInt(J[C])}H=s.options.position.target.parent("map").attr("name");E=f('img[usemap="#'+H+'"]:first').offset();G.position={left:Math.floor(E.left+J[0]),top:Math.floor(E.top+J[1])};switch(s.options.position.target.attr("shape").toLowerCase()){case"rect":G.dimensions={width:Math.ceil(Math.abs(J[2]-J[0])),height:Math.ceil(Math.abs(J[3]-J[1]))};break;case"circle":G.dimensions={width:J[2]+1,height:J[2]+1};break;case"poly":G.dimensions={width:J[0],height:J[1]};for(C=0;C<J.length;C++){if(C%2==0){if(J[C]>G.dimensions.width){G.dimensions.width=J[C]}if(J[C]<J[0]){G.position.left=Math.floor(E.left+J[C])}}else{if(J[C]>G.dimensions.height){G.dimensions.height=J[C]}if(J[C]<J[1]){G.position.top=Math.floor(E.top+J[C])}}}G.dimensions.width=G.dimensions.width-(G.position.left-E.left);G.dimensions.height=G.dimensions.height-(G.position.top-E.top);break;default:return f.fn.qtip.log.error.call(s,4,f.fn.qtip.constants.INVALID_AREA_SHAPE,"updatePosition");break}G.dimensions.width-=2;G.dimensions.height-=2}else{if(s.options.position.target.add(document.body).length===1){G.position={left:f(document).scrollLeft(),top:f(document).scrollTop()};G.dimensions={height:f(window).height(),width:f(window).width()}}else{if(typeof s.options.position.target.attr("qtip")!=="undefined"){G.position=s.options.position.target.qtip("api").cache.position}else{G.position=s.options.position.target.offset()}G.dimensions={height:s.options.position.target.outerHeight(),width:s.options.position.target.outerWidth()}}}y=f.extend({},G.position);if(G.corner.search(/right/i)!==-1){y.left+=G.dimensions.width}if(G.corner.search(/bottom/i)!==-1){y.top+=G.dimensions.height}if(G.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left+=(G.dimensions.width/2)}if(G.corner.search(/((left|right)Middle)|center/)!==-1){y.top+=(G.dimensions.height/2)}}else{G.position=y={left:s.cache.mouse.x,top:s.cache.mouse.y};G.dimensions={height:1,width:1}}if(L.corner.search(/right/i)!==-1){y.left-=L.dimensions.width}if(L.corner.search(/bottom/i)!==-1){y.top-=L.dimensions.height}if(L.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left-=(L.dimensions.width/2)}if(L.corner.search(/((left|right)Middle)|center/)!==-1){y.top-=(L.dimensions.height/2)}I=(f.browser.msie)?1:0;B=(f.browser.msie&&parseInt(f.browser.version.charAt(0))===6)?1:0;if(s.options.style.border.radius>0){if(L.corner.search(/Left/)!==-1){y.left-=s.options.style.border.radius}else{if(L.corner.search(/Right/)!==-1){y.left+=s.options.style.border.radius}}if(L.corner.search(/Top/)!==-1){y.top-=s.options.style.border.radius}else{if(L.corner.search(/Bottom/)!==-1){y.top+=s.options.style.border.radiu
88s}}}if(I){if(L.corner.search(/top/)!==-1){y.top-=I}else{if(L.corner.search(/bottom/)!==-1){y.top+=I}}if(L.corner.search(/left/)!==-1){y.left-=I}else{if(L.corner.search(/right/)!==-1){y.left+=I}}if(L.corner.search(/leftMiddle|rightMiddle/)!==-1){y.top-=1}}if(s.options.position.adjust.screen===true){y=o.call(s,y,G,L)}if(s.options.position.target==="mouse"&&s.options.position.adjust.mouse===true){if(s.options.position.adjust.screen===true&&s.elements.tip){K=s.elements.tip.attr("rel")}else{K=s.options.position.corner.tooltip}y.left+=(K.search(/right/i)!==-1)?-6:6;y.top+=(K.search(/bottom/i)!==-1)?-6:6}if(!s.elements.bgiframe&&f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){f("select, object").each(function(){A=f(this).offset();A.bottom=A.top+f(this).height();A.right=A.left+f(this).width();if(y.top+L.dimensions.height>=A.top&&y.left+L.dimensions.width>=A.left){k.call(s)}})}y.left+=s.options.position.adjust.x;y.top+=s.options.position.adjust.y;F=s.getPosition();if(y.left!=F.left||y.top!=F.top){z=s.beforePositionUpdate.call(s,w);if(z===false){return s}s.cache.position=y;if(x===true){s.status.animated=true;s.elements.tooltip.animate(y,200,"swing",function(){s.status.animated=false})}else{s.elements.tooltip.css(y)}s.onPositionUpdate.call(s,w);if(typeof w!=="undefined"&&w.type&&w.type!=="mousemove"){f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_POSITION_UPDATED,"updatePosition")}}return s},updateWidth:function(w){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateWidth")}else{if(w&&typeof w!=="number"){return f.fn.qtip.log.error.call(s,2,"newWidth must be of type number","updateWidth")}}x=s.elements.contentWrapper.siblings().add(s.elements.tip).add(s.elements.button);if(!w){if(typeof s.options.style.width.value=="number"){w=s.options.style.width.value}else{s.elements.tooltip.css({width:"auto"});x.hide();if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"normal"})}w=s.getDimensions().width+1;if(!s.options.style.width.value){if(w>s.options.style.width.max){w=s.options.style.width.max}if(w<s.options.style.width.min){w=s.options.style.width.min}}}}if(w%2!==0){w-=1}s.elements.tooltip.width(w);x.show();if(s.options.style.border.radius){s.elements.tooltip.find(".qtip-betweenCorners").each(function(y){f(this).width(w-(s.options.style.border.radius*2))})}if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"1"});s.elements.wrapper.width(w);if(s.elements.bgiframe){s.elements.bgiframe.width(w).height(s.getDimensions.height)}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_WIDTH_UPDATED,"updateWidth")},updateStyle:function(w){var z,A,x,y,B;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateStyle")}else{if(typeof w!=="string"||!f.fn.qtip.styles[w]){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.STYLE_NOT_DEFINED,"updateStyle")}}s.options.style=a.call(s,f.fn.qtip.styles[w],s.options.user.style);s.elements.content.css(q(s.options.style));if(s.options.content.title.text!==false){s.elements.title.css(q(s.options.style.title,true))}s.elements.contentWrapper.css({borderColor:s.options.style.border.color});if(s.options.style.tip.corner!==false){if(f("<canvas>").get(0).getContext){z=s.elements.tooltip.find(".qtip-tip canvas:first");x=z.get(0).getContext("2d");x.clearRect(0,0,300,300);y=z.parent("div[rel]:first").attr("rel");B=b(y,s.options.style.tip.size.width,s.options.style.tip.size.height);h.call(s,z,B,s.options.style.tip.color||s.options.style.border.color)}else{if(f.browser.msie){z=s.elements.tooltip.find('.qtip-tip [nodeName="shape"]');z.attr("fillcolor",s.options.style.tip.color||s.options.style.border.color)}}}if(s.options.style.border.radius>0){s.elements.tooltip.find(".qtip-betweenCorners").css({backgroundColor:s.options.style.border.color});if(f("<canvas>").get(0).getContext){A=g(s.options.style.border.radius);s.elements.tooltip.find(".qtip-wrapper canvas").each(function(){x=f(this).get(0).getContext("2d");x.clearRect(0,0,300,300);y=f(this).parent("div[rel]:first").attr("rel");
88r.call(s,f(this),A[y],s.options.style.border.radius,s.options.style.border.color)})}else{if(f.browser.msie){s.elements.tooltip.find('.qtip-wrapper [nodeName="arc"]').each(function(){f(this).attr("fillcolor",s.options.style.border.color)})}}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_STYLE_UPDATED,"updateStyle")},updateContent:function(A,y){var z,x,w;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateContent")}else{if(!A){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateContent")}}z=s.beforeContentUpdate.call(s,A);if(typeof z=="string"){A=z}else{if(z===false){return}}if(f.browser.msie){s.elements.contentWrapper.children().css({zoom:"normal"})}if(A.jquery&&A.length>0){A.clone(true).appendTo(s.elements.content).show()}else{s.elements.content.html(A)}x=s.elements.content.find("img[complete=false]");if(x.length>0){w=0;x.each(function(C){f('<img src="'+f(this).attr("src")+'" />').load(function(){if(++w==x.length){B()}})})}else{B()}function B(){s.updateWidth();if(y!==false){if(s.options.position.type!=="static"){s.updatePosition(s.elements.tooltip.is(":visible"),true)}if(s.options.style.tip.corner!==false){n.call(s)}}}s.onContentUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_UPDATED,"loadContent")},loadContent:function(w,z,A){var y;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"loadContent")}y=s.beforeContentLoad.call(s);if(y===false){return s}if(A=="post"){f.post(w,z,x)}else{f.get(w,z,x)}function x(B){s.onContentLoad.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_LOADED,"loadContent");s.updateContent(B)}return s},updateTitle:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateTitle")}else{if(!w){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateTitle")}}returned=s.beforeTitleUpdate.call(s);if(returned===false){return s}if(s.elements.button){s.elements.button=s.elements.button.clone(true)}s.elements.title.html(w);if(s.elements.button){s.elements.title.prepend(s.elements.button)}s.onTitleUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_TITLE_UPDATED,"updateTitle")},focus:function(A){var y,x,w,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"focus")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_FOCUS_STATIC,"focus")}}y=parseInt(s.elements.tooltip.css("z-index"));x=6000+f("div.qtip[qtip]").length-1;if(!s.status.focused&&y!==x){z=s.beforeFocus.call(s,A);if(z===false){return s}f("div.qtip[qtip]").not(s.elements.tooltip).each(function(){if(f(this).qtip("api").status.rendered===true){w=parseInt(f(this).css("z-index"));if(typeof w=="number"&&w>-1){f(this).css({zIndex:parseInt(f(this).css("z-index"))-1})}f(this).qtip("api").status.focused=false}});s.elements.tooltip.css({zIndex:x});s.status.focused=true;s.onFocus.call(s,A);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_FOCUSED,"focus")}return s},disable:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"disable")}if(w){if(!s.status.disabled){s.status.disabled=true;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DISABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_DISABLED,"disable")}}else{if(s.status.disabled){s.status.disabled=false;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_ENABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_ENABLED,"disable")}}return s},destroy:function(){var w,x,y;x=s.beforeDestroy.call(s);if(x===false){return s}if(s.status.rendered){s.options.show.when.target.unbind("mousemove.qtip",s.updatePosition);s.options.show.when.target.unbind("mouseout.qtip",s.hide);s.options.show.when.target.unbind(s.options.show.when.event+".qtip");s.options.hide.when.target.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind("mouseover.qtip",s.focus);s.elements.tooltip.remove()}else{s.options.show.when.target.unbind(s.options.show.when.event+".qtip-create")}if(typeof s.elements.target.data("qtip")=="object"){y=s.elements.target.data("qtip").interfaces;if(typeof y=="object"&&y.length>0){for(w=0;w<y.length-1;w++){if(y[w].id==s.id){y.splice(w,1)}}}}delete f.fn.qtip.interfaces[s.id];if(typeof y=="object"&&y.length>0){s.elements.target.data("qtip").current=y.length-1}else{s.elements.target.removeData("qtip")}s.onDestroy.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DESTROYED,"destroy");return s.elements.target},getPosition:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getPosition")}
88w=(s.elements.tooltip.css("display")!=="none")?false:true;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x=s.elements.tooltip.offset();if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x},getDimensions:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getDimensions")}w=(!s.elements.tooltip.is(":visible"))?true:false;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x={height:s.elements.tooltip.outerHeight(),width:s.elements.tooltip.outerWidth()};if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x}})}function p(){var s,w,u,t,v,y,x;s=this;s.beforeRender.call(s);s.status.rendered=true;s.elements.tooltip='<div qtip="'+s.id+'" class="qtip '+(s.options.style.classes.tooltip||s.options.style)+'"style="display:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0;position:'+s.options.position.type+';">  <div class="qtip-wrapper" style="position:relative; overflow:hidden; text-align:left;">    <div class="qtip-contentWrapper" style="overflow:hidden;">       <div class="qtip-content '+s.options.style.classes.content+'"></div></div></div></div>';s.elements.tooltip=f(s.elements.tooltip);s.elements.tooltip.appendTo(s.options.position.container);s.elements.tooltip.data("qtip",{current:0,interfaces:[s]});s.elements.wrapper=s.elements.tooltip.children("div:first");s.elements.contentWrapper=s.elements.wrapper.children("div:first").css({background:s.options.style.background});s.elements.content=s.elements.contentWrapper.children("div:first").css(q(s.options.style));if(f.browser.msie){s.elements.wrapper.add(s.elements.content).css({zoom:1})}if(s.options.hide.when.event=="unfocus"){s.elements.tooltip.attr("unfocus",true)}if(typeof s.options.style.width.value=="number"){s.updateWidth()}if(f("<canvas>").get(0).getContext||f.browser.msie){if(s.options.style.border.radius>0){m.call(s)}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color})}if(s.options.style.tip.corner!==false){e.call(s)}}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color});s.options.style.border.radius=0;s.options.style.tip.corner=false;f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.CANVAS_VML_NOT_SUPPORTED,"render")}if((typeof s.options.content.text=="string"&&s.options.content.text.length>0)||(s.options.content.text.jquery&&s.options.content.text.length>0)){u=s.options.content.text}else{if(typeof s.elements.target.attr("title")=="string"&&s.elements.target.attr("title").length>0){u=s.elements.target.attr("title").replace("\\n","<br />");s.elements.target.attr("title","")}else{if(typeof s.elements.target.attr("alt")=="string"&&s.elements.target.attr("alt").length>0){u=s.elements.target.attr("alt").replace("\\n","<br />");s.elements.target.attr("alt","")}else{u=" ";f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.NO_VALID_CONTENT,"render")}}}if(s.options.content.title.text!==false){j.call(s)}s.updateContent(u);l.call(s);if(s.options.show.ready===true){s.show()}if(s.options.content.url!==false){t=s.options.content.url;v=s.options.content.data;y=s.options.content.method||"get";s.loadContent(t,v,y)}s.onRender.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_RENDERED,"render")}function m(){var F,z,t,B,x,E,u,G,D,y,w,C,A,s,v;F=this;F.elements.wrapper.find(".qtip-borderBottom, .qtip-borderTop").remove();t=F.options.style.border.width;B=F.options.style.border.radius;x=F.options.style.border.color||F.options.style.tip.color;E=g(B);u={};for(z in E){u[z]='<div rel="'+z+'" style="'+((z.search(/Left/)!==-1)?"left":"right")+":0; position:absolute; height:"+B+"px; width:"+B+'px; overflow:hidden; line-height:0.1px; font-size:1px">';if(f("<canvas>").get(0).getContext){u[z]+='<canvas height="'+B+'" width="'+B+'" style="vertical-align: top"></canvas>'}else{if(f.browser.msie){G=B*2+3;u[z]+='<v:arc stroked="false" fillcolor="'+x+'" startangle="'+E[z][0]+'" endangle="'+E[z][1]+'" style="width:'+G+"px; height:"+G+"px; margin-top:"+((z.search(/bottom/)!==-1)?-2:-1)+"px; margin-left:"+((z.search(/Right/)!==-1)?E[z][2]-3.5:-1)+'px; vertical-align:top; display:inline-block; behavior:url(#default#VML)"></v:arc>'}}u[z]+="</div>"}D=F.getDimensions().width-(Math.max(t,B)*2);y='<div class="qtip-betweenCorners" style="height:'+B+"px; width:"+D+"px; overflow:hidden; background-color:"+x+'; line-height:0.1px; font-size:1px;">';w='<div class="qtip-borderTop" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.topLeft+u.topRight+y;F.elements.wrapper.prepend(w);C='<div class="qtip-borderBottom" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.bottomLeft+u.bottomRight+y;F.elements.wrapper.append(C);if(f("<canvas>").get(0).getContext){F.elements.wrapper.find("canvas").each(function(){A=E[f(this).parent("[rel]:first").attr("rel")];r.call(F,f(this),A,B,x)})}else{if(f.browser.msie){F.elements.tooltip.append('<v:image style="behavior:url(#default#VML);"></v:image>')}}s=Math.max(B,(B+(t-B)));v=Math.max(t-B,0);F.elements.contentWrapper.css({border:"0px solid "+x,borderWidth:v+"px "+s+"px"})}function r(u,w,s,t){var v=u.get(0).getContext("2d");v.fillStyle=t;v.beginPath();v.arc(w[0],w[1],s,0,Math.PI*2,false);v.fill()}function e(v){var t,s,x,u,w;t=this;if(t.elements.tip!==null){t.elements.tip.remove()}s=t.options.style.tip.color||t.options.style.border.color;if(t.options.style.tip.corner===false){return}else{if(!v){v=t.options.style.tip.corner}}x=b(v,t.options.style.tip.size.width,t.options.style.tip.size.height);t.elements.tip='<div class="'+t.options.style.classes.tip+'" dir="ltr" rel="'+v+'" style="position:absolute; height:'+t.options.style.tip.size.height+"px; width:"+t.options.style.tip.size.width+'px; margin:0 auto; line-height:0.1px; font-size:1px;">';if(f("<canvas>").get(0).getContext){t.elements.tip+='<canvas height="'+t.options.style.tip.size.height+'" width="'+t.options.style.tip.size.width+'"></canvas>'}else{if(f.browser.msie){u=t.options.style.tip.size.width+","+t.options.style.tip.size.height;w="m"+x[0][0]+","+x[0][1];w+=" l"+x[1][0]+","+x[1][1];w+=" "+x[2][0]+","+x[2][1];w+=" xe";t.elements.tip+='<v:shape fillcolor="'+s+'" stroked="false" filled="true" path="'+w+'" coordsize="'+u+'" style="width:'+t.options.style.tip.size.width+"px; height:"+t.options.style.tip.size.height+"px; line-height:0.1px; display:inline-block; behavior:url(#default#VML); vertical-align:"+((v.search(/top/)!==-1)?"bottom":"top")+'"></v:shape>';t.elements.tip+='<v:image style="behavior:url(#default#VML);"></v:image>';t.elements.contentWrapper.css("position","relative")}}t.elements.tooltip.prepend(t.elements.tip+"</div>");t.elements.tip=t.elements.tooltip.find("."+t.options.style.classes.tip).eq(0);if(f("<canvas>").get(0).getContext){h.call(t,t.elements.tip.find("canvas:first"),x,s)}if(v.search(/top/)!==-1&&f.browser.msie&&parseInt(f.browser.version.charAt(0))===6){t.elements.tip.css({marginTop:-4})}n.call(t,v)}function h(t,v,s){var u=t.get(0).getContext("2d");u.fillStyle=s;u.beginPath();u.moveTo(v[0][0],v[0][1]);u.lineTo(v[1][0],v[1][1]);u.lineTo(v[2][0],v[2][1]);u.fill()}function n(u){var t,w,s,x,v;t=this;if(t.options.style.tip.corner===false||!t.elements.tip){return}if(!u){u=t.elements.tip.attr("rel")}w=positionAdjust=(f.browser.msie)?1:0;t.elements.tip.css(u.match(/left|right|top|bottom/)[0],0);if(u.search(/top|bottom/)!==-1){if(f.browser.msie){if(parseInt(f.browser.version.charAt(0))===6){positionAdjust=(u.search(/top/)!==-1)?-3:1}else{positionAdjust=(u.search(/top/)!==-1)?1:2}}if(u.search(/Middle/)!==-1){t.elements.tip.css({left:"50%",marginLeft:-(t.options.style.tip.size.width/2)})}else{if(u.search(/Left/)!==-1){t.elements.tip.css({left:t.options.style.border.radiu
88s-w})}else{if(u.search(/Right/)!==-1){t.elements.tip.css({right:t.options.style.border.radius+w})}}}if(u.search(/top/)!==-1){t.elements.tip.css({top:-positionAdjust})}else{t.elements.tip.css({bottom:positionAdjust})}}else{if(u.search(/left|right/)!==-1){if(f.browser.msie){positionAdjust=(parseInt(f.browser.version.charAt(0))===6)?1:((u.search(/left/)!==-1)?1:2)}if(u.search(/Middle/)!==-1){t.elements.tip.css({top:"50%",marginTop:-(t.options.style.tip.size.height/2)})}else{if(u.search(/Top/)!==-1){t.elements.tip.css({top:t.options.style.border.radius-w})}else{if(u.search(/Bottom/)!==-1){t.elements.tip.css({bottom:t.options.style.border.radius+w})}}}if(u.search(/left/)!==-1){t.elements.tip.css({left:-positionAdjust})}else{t.elements.tip.css({right:positionAdjust})}}}s="padding-"+u.match(/left|right|top|bottom/)[0];x=t.options.style.tip.size[(s.search(/left|right/)!==-1)?"width":"height"];t.elements.tooltip.css("padding",0);t.elements.tooltip.css(s,x);if(f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){v=parseInt(t.elements.tip.css("margin-top"))||0;v+=parseInt(t.elements.content.css("margin-top"))||0;t.elements.tip.css({marginTop:v})}}function j(){var s=this;if(s.elements.title!==null){s.elements.title.remove()}s.elements.title=f('<div class="'+s.options.style.classes.title+'">').css(q(s.options.style.title,true)).css({zoom:(f.browser.msie)?1:0}).prependTo(s.elements.contentWrapper);if(s.options.content.title.text){s.updateTitle.call(s,s.options.content.title.text)}if(s.options.content.title.button!==false&&typeof s.options.content.title.button=="string"){s.elements.button=f('<a class="'+s.options.style.classes.button+'" style="float:right; position: relative"></a>').css(q(s.options.style.button,true)).html(s.options.content.title.button).prependTo(s.elements.title).click(function(t){if(!s.status.disabled){s.hide(t)}})}}function l(){var t,v,u,s;t=this;v=t.options.show.when.target;u=t.options.hide.when.target;if(t.options.hide.fixed){u=u.add(t.elements.tooltip)}if(t.options.hide.when.event=="inactive"){s=["click","dblclick","mousedown","mouseup","mousemove","mouseout","mouseenter","mouseleave","mouseover"];function y(z){if(t.status.disabled===true){return}clearTimeout(t.timers.inactive);t.timers.inactive=setTimeout(function(){f(s).each(function(){u.unbind(this+".qtip-inactive");t.elements.content.unbind(this+".qtip-inactive")});t.hide(z)},t.options.hide.delay)}}else{if(t.options.hide.fixed===true){t.elements.tooltip.bind("mouseover.qtip",function(){if(t.status.disabled===true){return}clearTimeout(t.timers.hide)})}}function x(z){if(t.status.disabled===true){return}if(t.options.hide.when.event=="inactive"){f(s).each(function(){u.bind(this+".qtip-inactive",y);t.elements.content.bind(this+".qtip-inactive",y)});y()}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.timers.show=setTimeout(function(){t.show(z)},t.options.show.delay)}function w(z){if(t.status.disabled===true){return}if(t.options.hide.fixed===true&&t.options.hide.when.event.search(/mouse(out|leave)/i)!==-1&&f(z.relatedTarget).parents("div.qtip[qtip]").length>0){z.stopPropagation();z.preventDefault();clearTimeout(t.timers.hide);return false}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.elements.tooltip.stop(true,true);t.timers.hide=setTimeout(function(){t.hide(z)},t.options.hide.delay)}if((t.options.show.when.target.add(t.options.hide.when.target).length===1&&t.options.show.when.event==t.options.hide.when.event&&t.options.hide.when.event!=="inactive")||t.options.hide.when.event=="unfocus"){t.cache.toggle=0;v.bind(t.options.show.when.event+".qtip",function(z){if(t.cache.toggle==0){x(z)}else{w(z)}})}else{v.bind(t.options.show.when.event+".qtip",x);if(t.options.hide.when.event!=="inactive"){u.bind(t.options.hide.when.event+".qtip",w)}}if(t.options.position.type.search(/(fixed|absolute)/)!==-1){t.elements.tooltip.bind("mouseover.qtip",t.focus)}if(t.options.position.target==="mouse"&&t.options.position.type!=="static"){v.bind("mousemove.qtip",function(z){t.cache.mouse={x:z.pageX,y:z.pageY};if(t.status.disabled===false&&t.options.position.adjust.mouse===true&&t.options.position.type!=="static"&&t.elements.tooltip.css("display")!=="none"){t.updatePosition(z)}})}}function o(u,v,A){var z,s,x,y,t,w;z=this;if(A.corner=="center"){return v.position}s=f.extend({},u);
88y={x:false,y:false};t={left:(s.left<f.fn.qtip.cache.screen.scroll.left),right:(s.left+A.dimensions.width+2>=f.fn.qtip.cache.screen.width+f.fn.qtip.cache.screen.scroll.left),top:(s.top<f.fn.qtip.cache.screen.scroll.top),bottom:(s.top+A.dimensions.height+2>=f.fn.qtip.cache.screen.height+f.fn.qtip.cache.screen.scroll.top)};x={left:(t.left&&(A.corner.search(/right/i)!=-1||(A.corner.search(/right/i)==-1&&!t.right))),right:(t.right&&(A.corner.search(/left/i)!=-1||(A.corner.search(/left/i)==-1&&!t.left))),top:(t.top&&A.corner.search(/top/i)==-1),bottom:(t.bottom&&A.corner.search(/bottom/i)==-1)};if(x.left){if(z.options.position.target!=="mouse"){s.left=v.position.left+v.dimensions.width}else{s.left=z.cache.mouse.x}y.x="Left"}else{if(x.right){if(z.options.position.target!=="mouse"){s.left=v.position.left-A.dimensions.width}else{s.left=z.cache.mouse.x-A.dimensions.width}y.x="Right"}}if(x.top){if(z.options.position.target!=="mouse"){s.top=v.position.top+v.dimensions.height}else{s.top=z.cache.mouse.y}y.y="top"}else{if(x.bottom){if(z.options.position.target!=="mouse"){s.top=v.position.top-A.dimensions.height}else{s.top=z.cache.mouse.y-A.dimensions.height}y.y="bottom"}}if(s.left<0){s.left=u.left;y.x=false}if(s.top<0){s.top=u.top;y.y=false}if(z.options.style.tip.corner!==false){s.corner=new String(A.corner);if(y.x!==false){s.corner=s.corner.replace(/Left|Right|Middle/,y.x)}if(y.y!==false){s.corner=s.corner.replace(/top|bottom/,y.y)}if(s.corner!==z.elements.tip.attr("rel")){e.call(z,s.corner)}}return s}function q(u,t){var v,s;v=f.extend(true,{},u);for(s in v){if(t===true&&s.search(/(tip|classes)/i)!==-1){delete v[s]}else{if(!t&&s.search(/(width|border|tip|title|classes|user)/i)!==-1){delete v[s]}}}return v}function c(s){if(typeof s.tip!=="object"){s.tip={corner:s.tip}}if(typeof s.tip.size!=="object"){s.tip.size={width:s.tip.size,height:s.tip.size}}if(typeof s.border!=="object"){s.border={width:s.border}}if(typeof s.width!=="object"){s.width={value:s.width}}if(typeof s.width.max=="string"){s.width.max=parseInt(s.width.max.replace(/([0-9]+)/i,"$1"))}if(typeof s.width.min=="string"){s.width.min=parseInt(s.width.min.replace(/([0-9]+)/i,"$1"))}if(typeof s.tip.size.x=="number"){s.tip.size.width=s.tip.size.x;delete s.tip.size.x}if(typeof s.tip.size.y=="number"){s.tip.size.height=s.tip.size.y;delete s.tip.size.y}return s}function a(){var s,t,u,x,v,w;s=this;u=[true,{}];for(t=0;t<arguments.length;t++){u.push(arguments[t])}x=[f.extend.apply(f,u)];while(typeof x[0].name=="string"){x.unshift(c(f.fn.qtip.styles[x[0].name]))}x.unshift(true,{classes:{tooltip:"qtip-"+(arguments[0].name||"defaults")}},f.fn.qtip.styles.defaults);v=f.extend.apply(f,x);w=(f.browser.msie)?1:0;v.tip.size.width+=w;v.tip.size.height+=w;if(v.tip.size.width%2>0){v.tip.size.width+=1}if(v.tip.size.height%2>0){v.tip.size.height+=1}if(v.tip.corner===true){v.tip.corner=(s.options.position.corner.tooltip==="center")?false:s.options.position.corner.tooltip}return v}function b(v,u,t){var s={bottomRight:[[0,0],[u,t],[u,0]],bottomLeft:[[0,0],[u,0],[0,t]],topRight:[[0,t],[u,0],[u,t]],topLeft:[[0,0],[0,t],[u,t]],topMiddle:[[0,t],[u/2,0],[u,t]],bottomMiddle:[[0,0],[u,0],[u/2,t]],rightMiddle:[[0,0],[u,t/2],[0,t]],leftMiddle:[[u,0],[u,t],[0,t/2]]};s.leftTop=s.bottomRight;s.rightTop=s.bottomLeft;s.leftBottom=s.topRight;s.rightBottom=s.topLeft;return s[v]}function g(s){var t;if(f("<canvas>").get(0).getContext){t={topLeft:[s,s],topRight:[0,s],bottomLeft:[s,0],bottomRight:[0,0]}}else{if(f.browser.msie){t={topLeft:[-90,90,0],topRight:[-90,90,-s],bottomLeft:[90,270,0],bottomRight:[90,270,-s]}}}return t}function k(){var s,t,u;s=this;u=s.getDimensions();t='<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:false" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=\'0\'); border: 1px solid red; height:'+u.height+"px; width:"+u.width+'px" />';s.elements.bgiframe=s.elements.wrapper.prepend(t).children(".qtip-bgiframe:first")}f(document).ready(function(){f.fn.qtip.cache={screen:{scroll:{left:f(window).scrollLeft(),top:f(window).scrollTop()},width:f(window).width(),height:f(window).height()}};var s;f(window).bind("resize scroll",function(t){clearTimeout(s);s=setTimeout(function(){if(t.type==="scroll"){f.fn.qtip.cache.screen.scroll={left:f(window).scrollLeft(),top:f(window).scrollTop()}}else{f.fn.qtip.cache.screen.width=f(window).width();f.fn.qtip.cache.screen.height=f(window).height()}for(i=0;i<f.fn.qtip.interfaces.length;i++){var u=f.fn.qtip.interfaces[i];if(u.status.rendered===true&&(u.options.position.type!=="static"||u.options.position.adjust.scroll&&t.type==="scroll"||u.options.position.adjust.resize&&t.type==="resize")){u.updatePosition(t,true)}}},100)});f(document).bind("mousedown.qtip",function(t){if(f(t.target).parents("div.qtip").length===0){f(".qtip[unfocus]").each(function(){var u=f(this).qtip("api");if(f(this).is(":visible")&&!u.status.disabled&&f(t.target).add(u.elements.target).length>1){u.hide(t)}})}})});f.fn.qtip.interfaces=[];f.fn.qtip.log={error:function(){return this}};f.fn.qtip.constants={};f.fn.qtip.defaults={content:{prerender:false,text:false,url:false,data:null,title:{text:false,button:false}},position:{target:false,corner:{target:"bottomRight",tooltip:"topLeft"},adjust:{x:0,y:0,mouse:true,screen:false,scroll:true,resize:true},type:"absolute",container:false}
88,show:{when:{target:false,event:"mouseover"},effect:{type:"fade",length:100},delay:140,solo:false,ready:false},hide:{when:{target:false,event:"mouseout"},effect:{type:"fade",length:100},delay:0,fixed:false},api:{beforeRender:function(){},onRender:function(){},beforePositionUpdate:function(){},onPositionUpdate:function(){},beforeShow:function(){},onShow:function(){},beforeHide:function(){},onHide:function(){},beforeContentUpdate:function(){},onContentUpdate:function(){},beforeContentLoad:function(){},onContentLoad:function(){},beforeTitleUpdate:function(){},onTitleUpdate:function(){},beforeDestroy:function(){},onDestroy:function(){},beforeFocus:function(){},onFocus:function(){}}};f.fn.qtip.styles={defaults:{background:"white",color:"#111",overflow:"hidden",textAlign:"left",width:{min:0,max:250},padding:"5px 9px",border:{width:1,radius:0,color:"#d3d3d3"},tip:{corner:false,color:false,size:{width:13,height:13},opacity:1},title:{background:"#e1e1e1",fontWeight:"bold",padding:"7px 12px"},button:{cursor:"pointer"},classes:{target:"",tip:"qtip-tip",title:"qtip-title",button:"qtip-button",content:"qtip-content",active:"qtip-active"}},cream:{border:{width:3,radius:0,color:"#F9E98E"},title:{background:"#F0DE7D",color:"#A27D35"},background:"#FBF7AA",color:"#A27D35",classes:{tooltip:"qtip-cream"}},light:{border:{width:3,radius:0,color:"#E2E2E2"},title:{background:"#f1f1f1",color:"#454545"},background:"white",color:"#454545",classes:{tooltip:"qtip-light"}},dark:{border:{width:3,radius:0,color:"#303030"},title:{background:"#404040",color:"#f3f3f3"},background:"#505050",color:"#f3f3f3",classes:{tooltip:"qtip-dark"}},red:{border:{width:3,radius:0,color:"#CE6F6F"},title:{background:"#f28279",color:"#9C2F2F"},background:"#F79992",color:"#9C2F2F",classes:{tooltip:"qtip-red"}},green:{border:{width:3,radius:0,color:"#A9DB66"},title:{background:"#b9db8c",color:"#58792E"},background:"#CDE6AC",color:"#58792E",classes:{tooltip:"qtip-green"}},blue:{border:{width:3,radius:0,color:"#ADD9ED"},title:{background:"#D0E9F5",color:"#5E99BD"},background:"#E5F6FE",color:"#4D9FBF",classes:{tooltip:"qtip-blue"}}}})(jQuery);
89
90var media_query = 'desktop';
91var large_desktop = true;
92var swipeLeft = rlLangDir == 'rtl' ? 'swiperight' : 'swipeleft';
93var swipeRight = rlLangDir == 'rtl' ? 'swipeleft' : 'swiperight';
94var fl_ratio = typeof window.devicePixelRatio != undefined ? window.devicePixelRatio : 1;
95
96/**
97 * document ready
98 *
99 **/
100$(document).ready(function(){
101    flynaxTpl.customInput();
102    flynaxTpl.langSelector();
103    flynaxTpl.userNavbar();
104    flynaxTpl.categoryTree();
105    flynaxTpl.urlHash();
106    flynaxTpl.themeSwitcher();
107    flynax.moreCategories();
108    flynaxTpl.tabsMore();
109
110    if ($.browser.msie && $.browser.version < 11) {
111        $('body').addClass('ie-fallback');
112    }
113
114    $('div.sorting div.current').tplToggle({
115        cont: $('div.sorting ul.fields'),
116        parent: 'sorting'
117    });
118
119    $('section.side_block .expander').each(function(){
120        $(this).parent().before($(this));
121        $(this).tplToggle({
122            cont: $(this).next(),
123            id: 'cat_box_expander'
124        });
125    });
126
127    $('#refine_keyword_opt').click(function(){
128        $(this).closest('form').find('.options').slideToggle();
129    });
130
131    var plans_controllers = ['add_listing', 'upgrade_listing', 'my_packages', 'add_banner', 'registration', 'profile'];
132
133    var desktop_match = function(){
134        media_query = 'desktop';
135
136        flynaxTpl.menu();
137        flynaxTpl.sidebar('clear');
138
139        if (!$('section.side_block > .expander').next().is(':visible')) {
140            $('section.side_block > .expander').trigger('click');
141        }
142
143        $('div.categories').flCatSlider();
144
145        if (plans_controllers.indexOf(rlPageInfo['controller']) >= 0) {
146            if ($('div.plans-container ul.plans > li').length > 5) {
147                $('div.plans-container').mCustomScrollbar('destroy');
148                $('div.plans-container').mCustomScrollbar({horizontalScroll: true});
149
150                if (rlLangDir == 'rtl') {
151                    $('div.plans-container').mCustomScrollbar('scrollTo', 'right');
152                }
153            }
154        }
155    };
156
157    // Move banner to appropriate position
158    var moveBanner = function(back){
159        var per_line = back ? 3 : 4;
160        var $banner = $('#listings.grid .banner-in-grid');
161        var $items  = $('#listings.grid > article.item');
162
163        if ($banner.length) {
164            $banner.each(function(index){
165                var position = $('#listings.grid > *').index(this) - index;
166
167                if (!$(this).data('position')) {
168                    $(this).attr('data-position', position);
169                }
170
171                if (back) {
172                    $items.eq($(this).data('position') - 1).after($(this));
173                } else {
174                    if (position % per_line !== 0) {
175                        var offset = position / per_line;
176                        offset = Math[offset < 1 ? 'ceil' : 'floor'](offset);
177                        var to = offset * per_line;
178
179                        $items.eq(to - 1).after($(this));
180                    }
181                }
182            });
183        }
184    }
185
186    /**
187     * media queries handler
188     *
189     **/
190    enquire.register("screen and (min-width: 1440px)", {
191        match: function(){
192            $('div.gallery > div.thumbs > div.slider > ul').attr('style', '');
193
194            moveBanner();
195        },
196        unmatch: function(){
197            $('div.gallery > div.thumbs > div.slider > ul').attr('style', '');
198
199            moveBanner(true);
200        }
201    }).register("screen and (min-width: 1200px)", {
202        match: function(){
203            desktop_match();
204            large_desktop = true;
205        },
206        unmatch: function(){}
207    }).register("screen and (min-width: 992px) and (max-width: 1199px)", {
208        match: function(){
209            desktop_match();
210            large_desktop = false;
211        },
212        unmatch: function(){}
213    }).register("screen and (min-width: 768px) and (max-width: 991px)", {
214        match: function(){
215            media_query = 'tablet';
216
217            flynaxTpl.mobileMenu();
218            flynaxTpl.sidebar();
219
220            $('div.categories').flCatSlider();
221
222            if (plans_controllers.indexOf(rlPageInfo['controller']) >= 0) {
223                if ($('div.plans-container ul.plans > li').length > 5) {
224                    $('div.plans-container').mCustomScrollbar('destroy');
225                    $('div.plans-container').mCustomScrollbar({horizontalScroll: true});
226
227                    if (rlLangDir == 'rtl') {
228                        $('div.plans-container').mCustomScrollbar('scrollTo', 'right');
229                    }
230                }
231            }
232        },
233		unmatch: function(){}
234    }).register("screen and (max-width: 767px)", {
235        match: function(){
236            media_query = 'mobile';
237
238            flynaxTpl.moveLeftUserbarItems();
239            flynaxTpl.mobileMenu();
240            flynaxTpl.sidebar();
241
242            $('div.categories').flCatSlider();
243
244            $('.grid_navbar .buttons .list').trigger('click');
245
246            if ($('section.side_block > .expander').next().is(':visible')) {
247                setTimeout(function(){
248                    $('section.side_block > .expander').trigger('click');
249                }, 5);
250            }
251
252            if (plans_controllers.indexOf(rlPageInfo['controller']) >= 0) {
253                $('div.plans-container').mCustomScrollbar('destroy');
254            }
255        },
256        unmatch: function(){
257            flynaxTpl.moveLeftUserbarItems(true);
258
259            /* move home page map search */
260            if (rlPageInfo['controller'] == 'home' && $('section.home-map > div.point1').length) {
261                $('section.home-map div.controls > div.point1').append($('section.home-map > div.point1 > div#search_area'));
262                $('section.home-map > div.point1').remove();
263            }
264        }
265    });
266
267    flFieldset();
268    flynaxTpl.qtip();
269
270    /* other */
271    $('.numeric').numeric({
272        decimal: rlConfig['price_separator']
273    });
274
275    $('footer .scroll-top').click(function(){
276        $('body,html').animate({scrollTop: 0}, 'slow');
277    });
278});
279
280/**
281 * template related javascript handlers
282 *
283 **/
284var flynaxTplClass = function(){
285
286    /**
287     * reference to it self object
288     *
289     **/
290    var self = this;
291
292    var prevHash = '';
293
294    /**
295     * url hash handler
296     *
297     **/
298    this.urlHash = function(){
299        $(window).on('hashchange', function(e){
300            var hash = flynax.getHash();
301
302            if (rlPageInfo['controller'] == 'listing_details' && hash != 'map-fullscreen') {
303                var obj = 'ul.tabs li#tab_' + hash;
304                tabsSwitcher(obj);
305                if ($(obj).length > 0) {
306                    $('html, body').animate({scrollTop: $(obj).offset().top - 58});
307                }
308            }
309            if (prevHash == 'map-fullscreen' && !hash) {
310                $('#modal_block div.inner > div.close').trigger('click');
311            }
312
313            prevHash = flynax.getHash();
314        });
315    };
316
317    /**
318     * Color theme switcher
319     *
320     * @since 4.9.0
321     */
322    this.themeSwitcher = function(){
323        var $switcher = $('#theme-switcher');
324        var $icon = $switcher.find('use');
325        var $lightCss = $('link[href^="' + rlConfig.tpl_base + 'css/light.css' + '"]');
326        var $darkCss = $('link[href^="' + rlConfig.tpl_base + 'css/dark.css' + '"]');
327
328        $switcher.click(function(){
329            var isDark = $(this).attr('data-theme') == 'dark';
330            var setTheme = isDark ? 'light' : 'dark';
331
332            $darkCss
333                .attr('disabled', isDark)
334                .attr('media', isDark ? 'not all' : 'all');
335
336            $lightCss
337                .attr('disabled', !isDark)
338                .attr('media', isDark ? 'all' : 'not all');
339
340            $(this).attr('data-theme', setTheme);
341            createCookie('colorTheme', setTheme, 365);
342
343            $icon.attr('xlink:href', setTheme == 'dark' ? '#theme-sun-icon' : '#theme-moon-icon');
344        });
345
346        if ((window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
347            $switcher.attr('data-theme', 'dark');
348        }
349
350        var cookieTheme = readCookie('colorTheme');
351
352        if (cookieTheme) {
353            $switcher.attr('data-theme', cookieTheme);
354        }
355    }
356
357    /**
358     * sidebar boxes arrangement handler
359     *
360     **/
361    this.sidebar = function(mode){
362		if (rlPageInfo['key'] == 'search_on_map')
363			return;
364
365        if (mode == 'clear') {
366            if ($('aside.left.second-copy').length > 0) {
367                $('#main_container > div.inside-container > div > aside.left').append($('aside.left.second-copy > *'));
368                $('aside.left.second-copy, aside.left.first-copy').remove();
369            }
370        }
371        else {
372            if ($('aside.left.second-copy').length <= 0) {
373                var target = $('#content aside.middle').length ? '#content aside.middle' : '#controller_area';
374                $(target).after('<aside class="left second-copy clearfix"></div>');
375                $('aside.left.second-copy').append($('#main_container > div.inside-container > div > aside.left > *:not(.stick)'));
376            }
377        }
378    };
379
380    /**
381     * custom tips
382     *
383     **/
384    this.qtip = function(){
385        var tmp_style = jQuery.extend({}, qtip_style);
386        tmp_style.tip = 'bottomMiddle';
387
388        $('.hint').each(function(){
389            $(this).qtip({
390                content: $(this).attr('title') ? $(this).attr('title') : $(this).prev('div.qtip_cont').html(),
391                show: 'mouseover',
392                hide: 'mouseout',
393                position: {
394                    corner: {
395                        target: 'topMiddle',
396                        tooltip: 'bottomMiddle'
397                    }
398                },
399                style: tmp_style
400            }).attr('title', '');
401        });
402    };
403
404    /**
405     * main menu handler
406     *
407     **/
408    this.menu = function(){
409        var menu = $('.main-menu ul.menu');
410
411        /* remove main menu header */
412        $('section.main-menu ul.menu').before($('section.main-menu ul.menu > span'));
413
414        /* move footer menu back to footer */
415        $('nav.footer-menu ul').append($('section.main-menu ul.menu > li.mvd'));
416        $('nav.footer-menu ul > li').removeClass('mvd hide');
417        $('section.main-menu ul.menu').removeClass('mobile-menu');
418
419        /* clear */
420        $('#main_menu_more li').remove();
421        menu.find('li:not(:visible)').show();
422        menu.find('li.more').removeClass('more_active');
423        menu.find('li:not(.more)').attr('style', '');
424        $('ul#main_menu_more').hide();
425
426        /* build menu */
427        var width = menu.width(),
428            buttonWidth = menu.find('li.more').outerWidth(),
429            workWidth = width - buttonWidth,
430            countWidth = 0,
431            countItems = menu.find('li:not(:last)').length,
432            border = false,
433            margin = 0,
434            effected = false;
435
436        menu.find('li:not(:last)').each(function(index){
437            countWidth += Math.ceil($(this)[0].getBoundingClientRect().width) + margin;
438
439            if (index == 0) {
440                countWidth -= margin / 2;
441            }
442            index++;
443
444            var rest = countItems != index ? buttonWidth : 0;
445            if (workWidth - countWidth < rest) {
446                effected = true;
447
448                if (!border && countItems != index) {
449                    var newWidth = workWidth - (countWidth - $(this).width());
450                    if (newWidth < $(this).width()) {
451                        $(this).width(newWidth);
452                    }
453                    border = true;
454                }
455                else {
456                    $('#main_menu_more').append('<li></li>');
457                    $('#main_menu_more li:last').html($(this).find('a').parent().html()).addClass($(this).find('a').parent().attr('class'));
458                    $(this).hide();
459                }
460            }
461        });
462
463        if (effected) {
464            menu.find('li.more').show();
465        }
466        else {
467            menu.find('li.more').hide();
468        }
469
470        /* set click handler */
471        menu.find('li.more').unbind('click').click(function(){
472            $(this).toggleClass('more_active');
473            var width = menu.find('li.more > span').position(true).left - parseInt($('#main_menu_more').css('paddingLeft'));
474            if (rlLangDir == 'rtl') {
475                width -= ($('#main_menu_more').width() - parseInt($('#main_menu_more').css('paddingLeft')));
476            }
477            $('#main_menu_more').css('left', width).toggle();
478        });
479
480        /* document click handler */
481        $(document).bind('click touchstart', function(event){
482            var close = true;
483            $(event.target).parents().each(function(){
484                if ($(this).attr('id') == 'main_menu_more' || $(this).hasClass('more') || $(event.target).hasClass('more')) {
485                    close = false;
486                }
487            });
488
489            if (close) {
490                $('#main_menu_more').hide();
491                menu.find('li.more').removeClass('more_active');
492            }
493        });
494    };
495
496    /**
497     * mobile menu handler
498     *
499     **/
500    this.mobileMenu = function(){
501        var $cont = $('nav.main-menu');
502        var $menu = $cont.find('.menu > div');
503        var $menuButton = $cont.find('.menu-button');
504        var $header = $cont.find('.mobile-menu-header');
505        var $closeButton = $header.find('svg');
506
507        $menuButton.unbind('click').click(function(){
508            $menu
509                .removeClass('d-none')
510                .addClass('mobile-menu');
511        });
512        $closeButton.unbind('click').click(function(){
513            $menu
514                .addClass('d-none')
515                .removeClass('mobile-menu');
516        });
517
518        $(window).on('resize', function() {
519            if ($(window).width() > 750) {
520                $menu
521                .addClass('d-none')
522                .removeClass('mobile-menu');
523            }
524        });
525    };
526
527    /**
528     * Left userbar items handler
529     * Move items to mobile menu in mobile view and revert it in desktop views
530     *
531     * @param bool - Revert items to desktop position
532     */
533    this.moveLeftUserbarItems = function(revert){
534        $desktopBar = $('#left-userbar');
535        $mobileBar  = $('#mobile-left-usernav');
536
537        if (revert) {
538            $desktopBar.append($mobileBar.children());
539        } else {
540            $mobileBar.append($desktopBar.children());
541        }
542    };
543
544    /**
545     * highlight search results in grid
546     **/
547    this.highlightResults = function(query, details){
548        if (!query)
549            return;
550
551        query = trim(query);
552        var repeat = new RegExp('(\\s)\\1+', 'gm');
553        query = query.replace(repeat, ' ');
554        query = query.split(' ');
555
556        var pattern = '';
557        for (var i = 0; i < query.length; i++) {
558            if (query[i].length > 2) {
559                pattern += query[i] + '|'
560            }
561        }
562        pattern = rtrim(pattern, '|');
563
564        var pattern = new RegExp('(' + pattern + ')(?=[^>]*(<|$))', 'gi');
565        var link_pattern = new RegExp('<a([^>]*)>(.*)</a>');
566        var selectors = details ? '.table-container div.table-cell div.value, #area_listing div.table-cell div.value' : '#listings article ul.info li.title, #listings article ul.info li.fields';
567
568        $(selectors).each(function(){
569            var value = trim($(this).html());
570            var href = false;
571            if ($(this).find('a').length > 0) {
572                value = trim($(this).find('a').html());
573                href = $(this).find('a').attr('href');
574                className = $(this).find('a').attr('class');
575            }
576
577            //value = value.replace(/(<([^>]+)>)/ig,"");
578            value = value.replace(pattern, '<span class="ks-highlight">$1</span>');
579            value = href ? '<a class="' + className + '" href="' + href + '">' + value + '</a>' : value;
580
581            $(this).html(value);
582        });
583    };
584
585    /**
586     * custom checkboxes, radio handler
587     *
588     **/
589    this.customInputIndex = 1;
590    this.customInput = function(){
591        $('body label > input[type=checkbox]:not(.default),body label > input[type=radio]:not(.default)').each(function(){
592            var name = $(this).attr('id') ? $(this).attr('id') : 'css_' + $(this).prop('tagName') + '_' + self.customInputIndex;
593
594            $(this).parent().prepend('<span></span>');
595            $(this).attr('id', name);
596            $(this).parent().attr('for', name);
597            $(this).parent().before($(this));
598            self.customInputIndex++;
599        });
600    };
601
602    /**
603     * languages selector handler
604     *
605     **/
606    this.langSelector = function(){
607        $('#lang-selector > .default').click(function(){
608            $('span.circle_opened').not($(this).parent()).removeClass('circle_opened');
609            $(this).parent().toggleClass('circle_opened');
610        });
611
612        $(document).bind('click touchstart', function(event){
613            if (!$(event.target).parents().hasClass('circle_opened')) {
614                $('#lang-selector').removeClass('circle_opened');
615            }
616        });
617    };
618
619    /**
620     * user navigation bar
621     *
622     **/
623    this.userNavbar = function(){
624        $('#user-navbar > .default').click(function(){
625            $('span.circle_opened').not($(this).parent()).removeClass('circle_opened');
626            $(this).parent().toggleClass('circle_opened');
627        });
628
629        $(document).bind('click touchstart', function(event){
630            if (!$(event.target).parents().hasClass('circle_opened') && event.target.type != 'password') {
631                $('#user-navbar').removeClass('circle_opened');
632            }
633        });
634    };
635
636    /**
637     * @deprecated 4.9.0
638     **/
639    this.shoppingCart = function(){}
640
641    /**
642     * category tree handler (available for boxes on listing type page only)
643     *
644     **/
645    this.categoryTree = function(){
646        $('.cat-tree-cont').each(function(){
647            var count = $(this).find('ul.cat-tree > li').length;
648
649            var desktop_limit_top = 10;
650            var desktop_limit_bottom = 25;
651
652            if (count <= 0)
653                return;
654
655            if ($(this).find('div.cat-toggle').attr('accesskey')) {
656                desktop_limit_top = parseInt($(this).find('div.cat-toggle').attr('accesskey'));
657            }
658
659            $(this).find('ul.cat-tree > li span.toggle').click(function(){
660                $(this).parent().find('ul').toggle();
661
662                var parent = $(this).closest('.cat-tree-cont');
663                if (parent.hasClass('mCustomScrollbar')) {
664                    parent.addClass('limit-height').mCustomScrollbar('update');
665                }
666
667                $(this).text(trim($(this).text()) == '+' ? '-' : '+');
668            });
669
670            if ($(this).find('ul.cat-tree > li span.toggle:contains("+")').length == 0) {
671                $(this).find('ul.cat-tree > li span.toggle').hide();
672            }
673
674            var current_media_query = media_query;
675            $(window).resize(function(){
676                if (media_query != current_media_query && $(this).hasClass('mCustomScrollbar')) {
677                    $(this).addClass('limit-height').mCustomScrollbar('update');
678                    current_media_query = media_query;
679                }
680            });
681
682            if (count > desktop_limit_top && count <= desktop_limit_bottom) {
683                var gt = desktop_limit_top - 1;
684                $(this).find('ul.cat-tree > li:gt(' + gt + ')').addClass('rest');
685
686                $(this).find('div.cat-toggle').removeClass('hide').click(function(){
687                    $(this).prev().find('> li.rest').toggle();
688                });
689                $(this).removeClass('limit-height');
690            }
691            else if (count > desktop_limit_bottom) {
692                $(this).mCustomScrollbar();
693            }
694            else {
695                $(this).removeClass('limit-height');
696            }
697        });
698    };
699
700    /**
701     * @deprecated 4.9.1
702     */
703    this.picGallery = function(){};
704
705    /**
706    * textarea counter setup
707    *
708    **/
709    this.setupTextarea = function(selector){
710        $('textarea[name=contact_message]').each(function(){
711            $(this).next('.textarea_counter_default').remove();
712            $(this).textareaCount({
713                'maxCharacterSize': rlConfig['messages_length'],
714                'warningNumber': 20
715            });
716        });
717    }
718
719    /**
720     * @deprecated 4.8.0
721     */
722    this.listingDetails = function(){}
723
724    /**
725     * @deprecated 4.8.0
726     */
727    this.accountDetails = function(){}
728
729    /**
730     * location fields hamdler
731     *
732     **/
733    this.locationHandler = function(){
734        var region = $('input[name="f[region]"]');
735        var states = $('select[name="f[b_states]"]');
736        var country = $('select[name="f[b_country]"]');
737
738        if (country.length <= 0)
739            return;
740
741        var locationHandlerAction = function(){
742            if (country.val() == 'united_states') {
743                region.closest('.submit-cell').hide();
744                states.closest('.submit-cell').show();
745            }
746            else {
747                region.closest('.submit-cell').show();
748                states.closest('.submit-cell').hide();
749            }
750        };
751
752        country.bind('change', locationHandlerAction);
753        locationHandlerAction();
754    };
755
756    this.tabsMore = function(){
757        $tabs = $('ul.tabs');
758
759        $tabs.each(function(){
760            var $tabsContainer = $(this);
761            var tmSelf         = this; // reference to local method environment
762            var width          = $tabsContainer.width();
763            var height         = $tabsContainer.height();
764            var count          = $tabsContainer.find('> li:not(.more,.overflowed)').length;
765            var sum            = 0;
766            var overflowed     = false;
767
768            // Trigger resize for the hidden tabs
769            if ($tabsContainer.is(':hidden')) setTimeout(function(){ $(window).trigger('resize'); }, 1);
770
771            this.init = function(){
772                $tabsContainer.find('> li:not(.more,.overflowed)').each(function(){
773                    var index = $tabsContainer.find('> li').index(this) + 1;
774                    var button = index == count ? 0 : height;
775
776                    sum += $(this).outerWidth(true);
777
778                    if (sum + button > width) {
779                        if (!overflowed) {
780                            tmSelf.more($(this).parent());
781                        }
782                        $(this).parent().find('li.overflowed > ul').append($(this));
783                        overflowed = true;
784                    }
785                });
786            };
787
788            this.more = function(parent){
789                parent.append('<li class="more"><span></span><span></span><span></span></li><li class="overflowed"><ul></ul></li>');
790            };
791
792            this.expand = function(){
793                var tabsExpander = function(){
794                    $tabsContainer.addClass('current');
795
796                    $tabs.each(function(){
797                        $(this).not('.current').find('> li.opened').removeClass('opened');
798                    });
799
800                    var $moreLi       = $tabsContainer.find('> li.more');
801                    var $overflowedLi = $tabsContainer.find('> li.overflowed');
802                    $moreLi[$moreLi.hasClass('opened') ? 'removeClass' : 'addClass']('opened');
803                    $overflowedLi[$overflowedLi.hasClass('opened') ? 'removeClass' : 'addClass']('opened');
804
805                    $tabsContainer.removeClass('current');
806                };
807                $tabsContainer.find('> li.more').unbind('click', tabsExpander).bind('click', tabsExpander);
808            };
809
810            this.tabsResize = function(){
811                $tabsContainer.find('> li.more').remove();
812                $tabsContainer.find('> li.overflowed > ul > li').each(function(){
813                    $tabsContainer.append($(this));
814                });
815                $tabsContainer.find('> li.overflowed').remove();
816
817                width      = $tabsContainer.width();
818                sum        = 0;
819                overflowed = false;
820
821                tmSelf.init();
822                tmSelf.expand();
823            };
824
825            this.init();
826            this.expand();
827
828            $(document).bind('mouseup touchstart', function(event){
829                var container = $tabsContainer.find('> li.overflowed');
830
831                // Trigger resize for the hidden tabs
832                if ($tabsContainer.is(':hidden')) setTimeout(function(){ $(window).trigger('resize'); }, 1);
833
834                if (!container.is(event.target)
835                    && container.has(event.target).length === 0
836                    && !$(event.target).hasClass('more')
837                    && !$(event.target).parent().hasClass('more')
838                ) {
839                    $tabsContainer.find('> li.opened').removeClass('opened');
840                }
841            });
842
843            $(window).bind('resize', this.tabsResize);
844        });
845    };
846
847    this.afterListingsAjaxLoad = function(){
848        flFavoritesHandler();
849    };
850
851    /**
852     * @deprecated 4.9.0
853     */
854    this.contactOwnerSubmit = function() {};
855
856    /**
857     * @deprecated 4.9.0
858     */
859    this.realtyPropType = function(){}
860
861    /**
862     * @deprecated 4.9.0
863     */
864    this.searchFormPage = function(){}
865
866    /**
867     * @deprecated 4.8.2
868     */
869    this.searchFormBox = function() {};
870
871    /**
872     * @deprecated 4.7.0 - hisrc() library has been removed
873     */
874    this.hisrc = function(){};
875    this.featured = function(){};
876};
877
878var flynaxTpl = new flynaxTplClass();
879
880/**
881 *
882 * toggle container by clicking some element
883 *
884 **/
885(function($){
886    $.fn.tplToggle = function(options){
887        var settings = $.extend({
888            cont: false, // container to toggle
889            parent: false, // parent element to detect on body click
890            id: false // id to save state
891        }, options);
892
893        var self = this;
894
895        if (settings.id) {
896            if (parseInt(readCookie(settings.id))) {
897                $(settings.cont).toggle();
898                self.toggleClass('active');
899            }
900        }
901
902        this.click(function(){
903            if ($(this).hasClass('disabled'))
904                return false;
905
906            $(settings.cont).toggle();
907            self.toggleClass('active');
908
909            if (settings.id) {
910                createCookie(settings.id, self.hasClass('active') ? 1 : 0, 365);
911            }
912
913            if ($(settings.cont).is(':visible') && settings.id == 'cat_box_expander' && $('div.cat-tree-cont').hasClass('mCustomScrollbar')) {
914                $('div.cat-tree-cont').addClass('limit-height').mCustomScrollbar('update');
915            }
916        });
917        // trigger click on box header (h3)
918        this.parent().find('h3').click(function(){
919            self.trigger('click');
920        });
921
922        if (settings.parent) {
923            $(document).bind('click touchstart', function(event){
924                if (!$(event.target).parents().hasClass(settings.parent)) {
925                    $(settings.cont).hide();
926                    self.removeClass('active');
927                }
928            });
929        }
930    };
931}(jQuery));
932
933/**
934 *
935 * jQuery file uploader plugin by Flynax
936 *
937 **/
938(function($){
939    $.flUpload = function(el, options){
940        var base = this;
941
942        base.validate = new Array();
943        base.validate['image'] = ['image/jpeg', 'image/gif', 'image/png'];
944        base.index = 0;
945        base.files = new Array();
946
947        // access to jQuery and DOM versions of element
948        base.$el = $(el);
949        base.el = el;
950
951        // add a reverse reference to the DOM object
952        base.$el.data("flUpload", base);
953
954        base.init = function(){
955            base.options = $.extend({}, $.flUpload.defaultOptions, options);
956
957            // initialize working object id
958            if ($(base.el).attr('id')) {
959                base.options.id = $(base.el).attr('id');
960            }
961            else {
962                $(base.el).attr('id', base.options.id);
963            }
964
965            base.upload();
966            base.deleteObj();
967        };
968
969        // upload
970        base.upload = function(){
971            $(base.el).change(function(){
972                base.index = 0;
973
974                if ($.browser.msie) {
975                    var name;
976                    eval("name = $(this).val().split('\\').reverse()[0];");
977                    base.poorMode(false, name);
978
979                    return;
980                }
981
982                var imgObj = this.files[0];
983                var name = 'name' in imgObj ? imgObj.name : imgObj.fileName;
984                var ext = name.split('.').reverse()[0];
985
986                if (base.options.validate && base.validate[base.options.validate].indexOf(imgObj.type) < 0) {
987                    printMessage('error', lang['notice_bad_file_ext'].replace('{ext}', '<b>' + ext + '</b>'));
988                }
989                else {
990                    if (base.options.sampleFrame) {
991                        var img = new Image();
992                        if ('getAsDataURL' in imgObj) {
993                            img.src = imgObj.getAsDataURL();
994                            img.onload = function(){
995                                var canvas = document.createElement('canvas');
996                                var width = base.options.sampleMaxWidth;
997                                var height = Math.floor((base.options.sampleMaxWidth * img.height) / img.width);
998
999                                if (base.options.fixedSize && height < base.options.sampleMaxHeight) {
1000                                    width = width * base.options.sampleMaxHeight / height;
1001                                    height = base.options.sampleMaxHeight;
1002                                }
1003                                if (!canvas.getContext) {
1004                                    console.log('.getContext() doesn\'t work')
1005                                }
1006                                canvas.width = base.options.fixedSize ? base.options.sampleMaxWidth : width;
1007                                canvas.height = base.options.fixedSize ? base.options.sampleMaxHeight : height;
1008                                canvas.getContext('2d').drawImage(img, 0, 0, width, height);
1009                                canvas.className = 'new';
1010
1011                                $(base.options.sampleFrame).addClass('active').find('canvas').remove();
1012                                $(base.options.sampleFrame).prepend(canvas);
1013                                $(base.options.sampleFrame).find('.preview').hide();
1014                            };
1015                        }
1016                        else {
1017                            base.poorMode(imgObj, name, ext);
1018                        }
1019                    }
1020                    else {
1021                        console.log('Flynax Error: No sample/preview object specified')
1022                    }
1023                }
1024            });
1025        };
1026
1027        base.poorMode = function(imgObj, name, ext){
1028            var html = '<div title="' + name + '" style="width: ' + base.options.sampleMaxWidth + 'px;height: ' + base.options.sampleMaxHeight + 'px;">' + name + '</div>';
1029            $(base.options.sampleFrame).find('img.preview,div').hide();
1030            $(base.options.sampleFrame).prepend(html);
1031            $(base.options.sampleFrame).addClass('active');
1032        };
1033
1034        base.deleteObj = function(){
1035            $(base.options.sampleFrame).find('img.delete').unbind('click').click(function(){
1036                if ($(this).hasClass('ajax'))
1037                    return;
1038
1039                $(base.options.sampleFrame).find('img.preview').show();
1040                $(base.options.sampleFrame).find('canvas, div').remove();
1041                $(base.options.sampleFrame).removeClass('active');
1042            });
1043        };
1044
1045        // run initializer
1046        base.init();
1047    };
1048
1049    $.flUpload.defaultOptions = {
1050        sampleFrame: false,
1051        sampleMaxWidth: 105,
1052        sampleMaxHeight: 105,
1053        validate: 'image',
1054        fixedSize: false,
1055        allowed: 3,
1056        unlimited: false
1057    };
1058
1059    $.fn.flUpload = function(options){
1060        return this.each(function(){
1061            (new $.flUpload(this, options));
1062        });
1063    };
1064
1065})(jQuery);
1066
1067/**
1068 *
1069 * jQuery categoroes slider plugin by Flynax
1070 *
1071 **/
1072(function($){
1073    $.flCatSlider = function(el, options){
1074        var base = this;
1075
1076        base.block_width = 0;
1077        base.work_width = 0;
1078        base.position = 0;
1079        base.areaMargin = 0;
1080        base.pages = 1;
1081
1082        // access to jQuery and DOM versions of element
1083        base.$el = $(el);
1084        base.el = el;
1085
1086        // add a reverse reference to the DOM object
1087        base.$el.data("flCatSlider", base);
1088
1089        base.init = function(){
1090            base.options = $.extend({}, $.flCatSlider.defaultOptions, options);
1091
1092            // initialize working object id
1093            if ($(base.el).attr('id')) {
1094                base.options.id = $(base.el).attr('id');
1095            }
1096            else {
1097                $(base.el).attr('id', base.options.id);
1098            }
1099
1100            if (!$(base.el).attr('id'))
1101                return;
1102
1103            if (!$(base.el).next().hasClass('category-slider-bar')) {
1104                return;
1105            }
1106
1107            base.clear();
1108            base.setSizes();
1109            base.eventsHandler();
1110            base.scroll();
1111        };
1112
1113        base.clear = function(){
1114            $(base.el).attr('style', '');
1115            $(base.el).find('ul').attr('style', '')
1116            $(base.el).find('ul > li').attr('style', '');
1117            base.position = 0;
1118            $(base.el).next().find('.navigation > span').removeClass('active');
1119            $(base.el).next().find('.navigation > span:first-child').addClass('active');
1120            $(base.el).next().find('.prev').hide();
1121            $(base.el).next().find('.next').show();
1122        };
1123
1124        base.setSizes = function(){
1125            base.pages = parseInt($(base.el).attr('id').split('_')[2]) || 1;
1126
1127            if (base.pages < 2)
1128                return;
1129
1130            base.block_width = 100;
1131            base.work_width = base.block_width - base.areaMargin
1132            //$(base.el).width(base.block_width);
1133            $(base.el).find('ul').css('width', (base.block_width * base.pages) + '%');
1134            $(base.el).find('ul li').css('width', (base.block_width / base.pages) + '%').show();
1135
1136            $(base.el).next().find('.prev').hide();
1137        };
1138
1139        base.eventsHandler = function(){
1140            if (base.pages < 0)
1141                return;
1142
1143            $(base.el).next().find('.navigation span').unbind('click').click(function(){
1144                var point = parseInt($(this).attr('accesskey'));
1145                base.position = point - 1;
1146                base.slider();
1147            });
1148
1149
1150            var move_next = function(){
1151                var active = base.position + 1;
1152                if (active < base.pages) {
1153                    base.position++;
1154                    base.slider();
1155                }
1156            };
1157
1158            $(base.el).next().find('.next').parent().unbind('click', move_next).bind('click', move_next);
1159            $(base.el).unbind(swipeLeft, move_next).bind(swipeLeft, move_next);
1160
1161            var move_prev = function(){
1162                var active = base.position + 1;
1163                if (active > 1) {
1164                    base.position--;
1165                    base.slider();
1166                }
1167            };
1168
1169            $(base.el).next().find('.prev').parent().unbind('click', move_prev).bind('click', move_prev);
1170            $(base.el).unbind(swipeRight, move_prev).bind(swipeRight, move_prev);
1171        };
1172
1173        base.slider = function(){
1174            var pos = (base.block_width * base.position) * -1;
1175            var active = base.position + 1;
1176            if (rlLangDir == 'ltr') {
1177                $(base.el).find('ul').stop().animate({marginLeft: pos + '%'});
1178            }
1179            else {
1180                $(base.el).find('ul').stop().animate({marginRight: pos + '%'});
1181            }
1182            $(base.el).next().find('.navigation span').removeClass('active');
1183            $(base.el).next().find('.navigation span[accesskey=' + active + ']').addClass('active');
1184
1185            if (active == 1) {
1186                $(base.el).next().find('.prev').fadeOut('normal');
1187            }
1188            else {
1189                $(base.el).next().find('.prev').fadeIn('normal');
1190            }
1191
1192            if (active == base.pages) {
1193                $(base.el).next().find('.next').fadeOut('normal');
1194            }
1195            else {
1196                $(base.el).next().find('.next').fadeIn('normal');
1197            }
1198        };
1199
1200        base.scroll = function(){
1201            if ($(base.el).next().hasClass('mousewheel')) {
1202                var last_time_stamp = 0;
1203
1204                $(base.el).parent().unbind('mousewheel').bind('mousewheel', function(e, data){
1205                    // speed down the scroll
1206                    if (e.timeStamp - last_time_stamp < 500) {
1207                        e.preventDefault();
1208                        return;
1209                    }
1210
1211                    last_time_stamp = e.timeStamp;
1212
1213                    if (data < 0) {
1214                        var active = base.position + 1;
1215                        if (active < base.pages) {
1216                            base.position++;
1217                            base.slider();
1218                            e.preventDefault();
1219                        }
1220                    }
1221                    else {
1222                        var active = base.position + 1;
1223                        if (active > 1) {
1224                            base.position--;
1225                            base.slider();
1226                            e.preventDefault();
1227                        }
1228                    }
1229                });
1230            }
1231        };
1232
1233        // run initializer
1234        base.init();
1235    };
1236
1237    $.flCatSlider.defaultOptions = {
1238        scroll: 1
1239    };
1240
1241    $.fn.flCatSlider = function(options){
1242        return this.each(function(){
1243            (new $.flCatSlider(this, options));
1244        });
1245    };
1246
1247})(jQuery);
1248
1249/**
1250 *
1251 * jQuery common slider plugin by Flynax
1252 *
1253 **/
1254(function($){
1255    $.flSlider = function(el, options){
1256        var base = this;
1257
1258        base.items = new Array();
1259        base.loading = new Array();
1260        base.currentSlide = 0;
1261        base.parent = false;
1262        base.cont = false;
1263        base.slidesNumber = 0;
1264        base.itemsPerSlide = 0;
1265        base.workSide = 0;
1266        base.itemSide = 0;
1267        base.itemsCount = 0;
1268
1269        // access to jQuery and DOM versions of element
1270        base.$el = $(el);
1271        base.el = el;
1272
1273        // add a reverse reference to the DOM object
1274        base.$el.data("flSlider", base);
1275
1276        base.init = function(){
1277            base.options = $.extend({}, $.flSlider.defaultOptions, options);
1278
1279            // initialize working object id
1280            if ($(base.el).attr('id')) {
1281                base.options.id = $(base.el).attr('id');
1282            }
1283            else {
1284                $(base.el).attr('id', base.options.id);
1285            }
1286
1287            base.preLoader();
1288        };
1289
1290        base.preLoader = function(){
1291            if (!base.options.height && base.options.vertical) {
1292                console.log('The HEIGHT parameter is required in VERTICAL slider mode');
1293                return;
1294            }
1295
1296            $(base.el).css('opacity', 0);
1297
1298            var index = 0;
1299            $(base.el).find('li').each(function(){
1300                eval(" \
1301				var obj" + index + " = this; \
1302				var src" + index + " = $(obj" + index + ").find('img').attr('src'); \
1303				if ( src" + index + " ) \
1304				{ \
1305					base.loading[" + index + "] = 'progress'; \
1306					var img" + index + " = new Image(); \
1307					img" + index + ".onload = function(){ \
1308						base.loading[" + index + "] = 'success'; \
1309						base.items[" + index + "] = new Array(src" + index + ", $(obj" + index + ").width(), $(obj" + index + ").height()); \
1310						if ( base.loading.indexOf('progress') < 0 ) \
1311						{ \
1312							base.setSizes(); \
1313						} \
1314					}; \
1315					img" + index + ".src = src" + index + "; \
1316				} \
1317				");
1318                index++;
1319            });
1320        };
1321
1322        base.setSizes = function(){
1323            var add_class = base.options.vertical ? ' vertical' : ' horizontal';
1324            base.itemsCount = $(base.el).find('li').length;
1325            $(base.el).before('<div class="slider ' + add_class + '"><div class="prev"></div><div class="container"></div><div class="next"></div></div>');
1326            $(base.el).prev().children('div.container').html($(base.el));
1327            base.parent = $(base.el).parent().parent();
1328            base.cont = $(base.el).parent();
1329
1330            if (base.options.vertical) {
1331                $(base.parent).height(base.options.height);
1332                $(base.cont).height(base.options.height - 40);// -container margin (top and bottom)
1333                base.workSide = base.options.height - 40;
1334                base.itemSide = $(base.el).find('li:first').height();
1335            }
1336            else {
1337                base.workSide = $(base.cont).width();
1338                $(base.cont).width(base.workSide);//fix the width
1339
1340                var max_height = 0;
1341                var total_width = 0;
1342
1343                for (var i = 0; i < base.items.length; i++) {
1344                    max_height = base.items[i][2] > max_height ? base.items[i][2] : max_height;
1345                    total_width += base.items[i][1];
1346                }
1347                $(base.parent).height(max_height);
1348                //$(base.el).width(total_width);
1349
1350                base.itemSide = $(base.el).find('li:first').width();
1351            }
1352
1353            if (!base.itemSide) {
1354                console.log('Can not detect slider work side length (width/height), probably ul located in hidden element.');
1355                return;
1356            }
1357
1358            base.itemsPerSlide = Math.floor((base.workSide + base.options.clearance) / base.itemSide);
1359            base.slidesNumber = Math.ceil(base.itemsCount / base.itemsPerSlide);
1360
1361            if (base.slidesNumber <= 1) {
1362                $(base.el).closest('div.slider').find('div.prev, div.next').remove();
1363                $(base.el).parent().css({width: 'auto', margin: 0});
1364                $(base.el).css({opacity: 1});
1365                return;
1366            }
1367
1368            $(base.el).animate({opacity: 1});
1369
1370            base.setMargin();
1371            base.eventsHandler();
1372        };
1373
1374        base.setMargin = function(){
1375            var work_width = (base.itemsPerSlide * base.itemSide) - base.options.clearance;
1376            base.options.perSlide = base.itemsPerSlide < base.options.perSlide ? base.itemsPerSlide : base.options.perSlide;
1377            var rest = base.workSide - work_width;
1378
1379            var margin = Math.floor(rest / (base.itemsPerSlide - 1));
1380            if (margin >= 1) {
1381                base.itemSide += margin;
1382                if (base.options.vertical) {
1383                    $(base.el).find('li').css('marginBottom', margin + 'px');
1384                }
1385                else {
1386                    $(base.el).find('li').css('marginRight', margin + 'px');
1387                }
1388            }
1389        };
1390
1391        base.eventsHandler = function(){
1392            $(base.parent).find('div.navigation a').click(function(){
1393                var point = parseInt($(this).attr('accesskey'));
1394                currentSlide = point - 1;
1395                base.slider();
1396            });
1397
1398            $(base.parent).find('div.next').click(function(){
1399                if (base.currentSlide + 1 < base.slidesNumber) {
1400                    base.currentSlide++;
1401                    base.slider();
1402                }
1403            });
1404            $(base.parent).find('div.prev').click(function(){
1405                if (base.currentSlide > 0) {
1406                    base.currentSlide--;
1407                    base.slider();
1408                }
1409            });
1410        };
1411
1412        base.slider = function(){
1413            var pos = (base.itemSide * base.options.perSlide * base.currentSlide) * -1;
1414
1415            if (base.options.vertical) {
1416                $(base.el).animate({marginTop: pos});
1417            }
1418            else {
1419                $(base.el).animate({marginLeft: pos});
1420            }
1421//			$(base.el).next().find('div.navigation a').removeClass('active');
1422//			$(base.el).next().find('div.navigation a[accesskey='+ active +']').addClass('active');
1423        };
1424
1425        // run initializer
1426        base.init();
1427    };
1428
1429    $.flSlider.defaultOptions = {
1430        vertical: false,
1431        height: false,//required in vertical mode,
1432        preload: true,
1433        perSlide: 1,
1434        clearance: 0
1435    };
1436
1437    $.fn.flSlider = function(options){
1438        return this.each(function(){
1439            (new $.flSlider(this, options));
1440        });
1441    };
1442
1443})(jQuery);
1444
1445/**
1446 *
1447 * tabs click handler
1448 *
1449 * @param object obj - tab object referent
1450 *
1451 **/
1452$(document).ready(function(){
1453    $('.tabs:not(.tabs-hash) li:not(.more,.overflowed)').click(function(){
1454        tabsSwitcher(this);
1455    });
1456
1457    hashTabs();
1458});
1459
1460var tabsSwitcher = function(obj){
1461    if ($(obj).length <= 0) {
1462        return;
1463    }
1464
1465    var tab_key = $(obj).attr('id').split('_').slice(1, $(obj).attr('id').split('_').length).join('_'),
1466        tab_instance = $(obj).closest('ul.tabs');
1467
1468    $(tab_instance).find('li:not(.more, .overflowed)').each(function(){
1469        var key = $(this).attr('id').split('_').slice(1, $(this).attr('id').split('_').length),
1470            key_string = key.join('_');
1471        $('div#area_' + key_string).hide();
1472    });
1473
1474    $(tab_instance).find('li.active').removeClass('active');
1475
1476    $(obj).addClass('active');
1477    $('div#area_' + tab_key).show();
1478};
1479
1480var hashTabs = function(){
1481    hashTabsSwitcher(window.location.hash);
1482
1483    $('.tabs.tabs-hash li:not(.more,.overflowed) a').off().on('click', function(e){
1484        e.preventDefault();
1485        hashTabsSwitcher(this);
1486    });
1487}
1488
1489var hashTabsSwitcher = function(obj){
1490    if (!obj) {
1491        return;
1492    }
1493
1494    var $obj;
1495    var postfix = '_tab';
1496
1497    if (typeof(obj) === 'string') {
1498        var key = obj.replace(postfix, '');
1499        $obj = $('ul.tabs-hash a[href="' + key + '"]');
1500
1501        // prevent for second call in window hash
1502        if (!$obj.length || $obj.parent().hasClass('active')) {
1503            return;
1504        }
1505    } else {
1506        $obj = $(obj);
1507    }
1508
1509    var tab_key = $obj.data('target');
1510    var tab_instance = $obj.closest('ul.tabs');
1511
1512    $(tab_instance).find('li:not(.more, .overflowed) a').each(function(){
1513        var key = $(this).data('target');
1514        $(tab_instance).parent().find('div#area_' + key).hide();
1515    });
1516
1517    $(tab_instance).find('li.active').removeClass('active');
1518
1519    $obj.parent().addClass('active');
1520    $('div#area_' + tab_key).show();
1521
1522    window.location.hash = tab_key + postfix;
1523};
1524
1525/**
1526 *
1527 * favorites handler
1528 *
1529 **/
1530$(document).ready(function(){
1531    flFavoritesHandler();
1532});
1533
1534var flFavoritesHandler = function(){
1535
1536    /* favorites handler */
1537    $('.favorite').each(function(){
1538        var id = $(this).attr('id').split('_')[1];
1539        var ids = readCookie('favorites');
1540
1541        if (ids) {
1542            ids = decodeURIComponent(ids);
1543            ids = ids.split(',');
1544
1545            if (ids.indexOf(id) >= 0) {
1546                $(this).removeClass('add').addClass('remove');
1547                $(this).attr('title', lang['remove_from_favorites']).find('span.link').text(lang['remove_from_favorites']);
1548            }
1549        }
1550    });
1551
1552    $('.favorite').unbind('click').click(function(){
1553        var id = $(this).attr('id').split('_')[1];
1554        var ids = readCookie('favorites');
1555
1556        if (ids) {
1557            ids = decodeURIComponent(ids);
1558            ids = ids.split(',');
1559
1560            if (ids.indexOf(id) >= 0) {
1561                ids.splice(ids.indexOf(id), 1);
1562                createCookie('favorites', ids.join(','), 93);
1563
1564                $(this).removeClass('remove').addClass('add');
1565                $(this).attr('title', lang['add_to_favorites']).find('span.link').text(lang['add_to_favorites']);
1566
1567                removeFromFavorites(id, true);
1568
1569                if (rlPageInfo['key'] == 'my_favorites') {
1570                    $(this).closest('article').fadeOut(function(){
1571                        $(this).remove();
1572                        printMessage('notice', lang['notice_listing_removed_from_favorites']);
1573
1574                        if ($('#listings > article').length < 1) {
1575                            if ($('ul.pagination').length > 0) {
1576                                var redirect = rlConfig['seo_url'];
1577                                redirect += rlConfig['mod_rewrite'] ? rlPageInfo['path'] + '.html' : 'index.php?page=' + rlPageInfo['path'];
1578                                location.href = redirect;
1579                            }
1580                            else {
1581                                var div = '<div class="info">' + lang['no_favorite'] + '</div>';
1582                                $('#controller_area').append(div);
1583                                $('.grid_navbar').remove();
1584                            }
1585                        }
1586                    });
1587                }
1588
1589                return;
1590            }
1591            else {
1592                ids.push(id);
1593                addToFavorite(id);
1594            }
1595        }
1596        else {
1597            ids = new Array();
1598            ids.push(id);
1599            addToFavorite(id);
1600        }
1601
1602        createCookie('favorites', ids.join(','), 93);
1603
1604        $(this).removeClass('add').addClass('remove');
1605        $(this).attr('title', lang['remove_from_favorites']).find('span.link').text(lang['remove_from_favorites']);
1606    });
1607}
1608
1609/**
1610 * Add listing to favorites list
1611 * @param {int} id
1612 */
1613var addToFavorite = function(id){
1614    ajaxFavorite(id);
1615};
1616
1617/**
1618 * Remove listing from favorites list
1619 * @param {int} id
1620 */
1621var removeFromFavorites = function(id){
1622    ajaxFavorite(id, true);
1623};
1624
1625/**
1626 * Adding/removing listing in favorites list (for logged users only)
1627 * @param {int}  id
1628 * @param {bool} delete_action
1629 */
1630var ajaxFavorite = function(id, delete_action){
1631    if (isLogin) {
1632        $.post(rlConfig['ajax_url'], {mode: 'ajaxFavorite', id: id, delete: delete_action});
1633    }
1634};
1635
1636/**
1637 * notices/errors handler
1638 *
1639 * @param string type - message type: error, notice, warning
1640 * @param string/array message - message text
1641 * @param string/array fields - error fields names, array or comma separated
1642 * @param direct - DEPRECATED
1643 *
1644 **/
1645var PMtimer = false;
1646var printMessage = function(type, message, fields, direct){
1647    if (!message || !type)
1648        return;
1649
1650    var self = this;
1651    var types = new Array('error', 'notice', 'warning');
1652    var height = 0;
1653    var from_top = false;
1654
1655    var time = 20 //seconds
1656    time *= 1000;
1657
1658    if (types.indexOf(type) < 0)
1659        return;
1660
1661    this.isFixed = function(){
1662        //var selector = media_query == 'desktop' ? 'body > header > section.point1' : 'body > header';
1663        var header_height = $('body header.page-header').height() + $('.header-banner-cont').outerHeight();
1664        return $(document).scrollTop() > header_height ? true : false;
1665    };
1666
1667    this.getHeight = function(){
1668        return media_query != 'mobile' ? $('body > header').height() : $('body > header > section.point1').height();
1669    };
1670
1671    this.build = function(){
1672        this.closeMessage();
1673
1674        var offset = 0;
1675        var addClass = this.isFixed() ? ' fixed' : '';
1676
1677        if ($('body > div#modal_mask').length > 0) {
1678            addClass += ' top';
1679            this.from_top = true;
1680        }
1681        var html = ' \
1682			<div class="notification ' + type + addClass + ' hide"><div> \
1683				<div class="message">' + message + '</div> \
1684				<div class="close close-black" title="' + lang['close'] + '"></div> \
1685			</div></div> \
1686		';
1687
1688        if ($('body > *:first').hasClass('tmp-hidden')) {
1689            $('body').append(html);
1690        } else {
1691            $('section#main_container').prepend(html);
1692        }
1693        height = $('.notification').height() - offset; //70 is shadow height
1694
1695        if (this.from_top) {
1696            offset = 0;
1697        }
1698
1699        $('.notification').css('top', '-' + height + 'px').show().animate({top: offset}, 'slow', function(){
1700            if (self.isFixed()) {
1701                $(this).addClass('done');
1702            }
1703        });
1704
1705        PMtimer = setTimeout(self.closeMessage, time);
1706    };
1707
1708    this.closeMessage = function(build){
1709        clearTimeout(PMtimer);
1710
1711        var top = $('.notification').hasClass('fixed') && media_query == 'desktop' ? 58 : 0;
1712
1713        $('.notification').animate({top: 50 + top, opacity: 0}, function(){
1714            $('.notification').remove();
1715            if (build) {
1716                self.build();
1717            }
1718        });
1719    };
1720
1721    if (typeof(message) == 'object') {
1722        var tmp = '<ul>';
1723        for (var i = 0; i < message.length; i++) {
1724            tmp += '<li>' + message[i] + '</li>';
1725        }
1726        tmp += '</ul>';
1727        message = tmp;
1728    }
1729
1730    $('input,select,textarea,table.error').removeClass('error');
1731
1732    /* highlight error fields */
1733    if (fields) {
1734        if (typeof(fields) != 'object') {
1735            fields = fields.split(',');
1736        }
1737
1738        for (var i = 0; i < fields.length; i++) {
1739            if (!fields[i])
1740                continue;
1741
1742            if (trim(fields[i]) != '') {
1743                if (fields[i].charAt(0) == '#') {
1744                    $(fields[i]).addClass('error');
1745                }
1746                else {
1747                    var selector = 'input[name="' + fields[i] + '"],input[name^="' + fields[i] + '"]:last:not(.policy),select[name="' + fields[i] + '"],textarea[name="' + fields[i] + '"]';
1748                    if ($(selector).length > 0 && $(selector).attr('type') != 'radio' && $(selector).attr('type') != 'checkbox') {
1749                        $(selector).addClass('error');
1750                    }
1751                    else {
1752                        if ($(selector).attr('type') == 'radio' || $(selector).attr('type') == 'checkbox') {
1753                            $(selector).closest('div.field').addClass('error');
1754                        }
1755                        else {
1756                            $('input[name="' + fields[i] + '"],select[name="' + fields[i] + '"],textarea[name^="' + fields[i] + '"]').parent().addClass('error');
1757                        }
1758                    }
1759                }
1760            }
1761        }
1762
1763        var removeHighlightFromParent = function () {
1764            $(this).closest('div.error').removeClass('error');
1765        };
1766
1767        $('div.field.error input')
1768            .off('click', removeHighlightFromParent)
1769            .on('click', removeHighlightFromParent);
1770
1771        var removeHighlightFromField = function () {
1772            $(this).removeClass('error');
1773        };
1774
1775        $('input,select,textarea,table.error')
1776            .off('focus', removeHighlightFromField)
1777            .on('focus', removeHighlightFromField);
1778    }
1779
1780    if ($('.notification').length > 0) {
1781        self.closeMessage(true);
1782    }
1783    else {
1784        self.build();
1785    }
1786
1787    $('.notification div.close').live('click', function(){
1788        self.closeMessage();
1789    });
1790
1791    $('.notification').mouseenter(function(){
1792        clearTimeout(PMtimer);
1793    }).mouseleave(function(){
1794        PMtimer = setTimeout(self.closeMessage, time);
1795    });
1796
1797    var notificationScroll = function(){
1798        if (this.isFixed()) {
1799            $('.notification').addClass('fixed done');
1800        }
1801        else {
1802            $('.notification').removeClass('hide fixed done').removeAttr('style');
1803        }
1804    };
1805    $(window).bind('touchmove scroll', notificationScroll);
1806};
1807
1808var flFieldset = function(){
1809    var open = function(fieldset, quick){
1810        if (quick) {
1811            fieldset.find('div.body').show();
1812            fieldset.find('span.arrow').removeClass('up');
1813        } else {
1814            fieldset.find('div.body').slideDown(function(){
1815                fieldset.find('span.arrow').removeClass('up');
1816            });
1817        }
1818    }
1819
1820    var close = function(fieldset, quick){
1821        if (quick) {
1822            fieldset.find('div.body').hide();
1823            fieldset.find('span.arrow').addClass('up');
1824        } else {
1825            fieldset.find('div.body').slideUp(function(){
1826                fieldset.find('span.arrow').addClass('up');
1827            });
1828        }
1829    }
1830
1831    var add = function(cookies, id){
1832        if (cookies) {
1833            if (cookies.indexOf(id) < 0) {
1834                cookies.push(id);
1835                id = cookies.join(',');
1836            }
1837        }
1838        createCookie('fieldset', id, 62);
1839    }
1840
1841    var remove = function(cookies, id){
1842        cookies.splice(cookies.indexOf(id), 1);
1843        createCookie('fieldset', cookies.join(','), 62);
1844    }
1845
1846    $('div.fieldset header .arrow').unbind('click').click(function(){
1847        var parent = $(this).closest('.fieldset');
1848        var id = $(parent).attr('id');
1849        var cookies = readCookie('fieldset') ? readCookie('fieldset').split(',') : Array();
1850
1851        // close
1852        if (parent.find('div.body').is(':visible')) {
1853            close(parent);
1854
1855            if (parent.hasClass('hidden-default')) {
1856                remove(cookies, id);
1857            } else {
1858                add(cookies, id);
1859            }
1860        }
1861        // open
1862        else {
1863            open(parent);
1864
1865            if (parent.hasClass('hidden-default')) {
1866                add(cookies, id);
1867            } else {
1868                remove(cookies, id);
1869            }
1870        }
1871    });
1872
1873    $('div.fieldset').each(function(){
1874        var id = $(this).attr('id');
1875        var cookies = readCookie('fieldset') ? readCookie('fieldset').split(',') : Array();
1876
1877        // close quick
1878        if (($(this).hasClass('hidden-default') && cookies.indexOf(id) < 0) || (!$(this).hasClass('hidden-default') && cookies.indexOf(id) >= 0)) {
1879            close($(this), true);
1880        }
1881        // open quick
1882        else if (($(this).hasClass('hidden-default') && cookies.indexOf(id) >= 0) || (!$(this).hasClass('hidden-default') && cookies.indexOf(id) < 0)) {
1883            open($(this), true);
1884        }
1885    });
1886}
1887
1888/**
1889 *
1890 * hide or show the object (via jQuery effect) by ID, and hide all objects by html path
1891 *
1892 * @param srting id - field id
1893 * @param srting path - html path
1894 *
1895 **/
1896function show(id, path) {
1897    if (path != undefined) {
1898        $(path).slideUp('fast');
1899    }
1900
1901    if ($('#' + id).css('display') == 'block') {
1902        $('#' + id).slideUp('normal');
1903    }
1904    else {
1905        $('#' + id).slideDown('slow');
1906    }
1907}
1908
1909/**
1910 *
1911 * trim string
1912 *
1913 * @param string str - string for trim
1914 * @param string chars - chars to be trimmed
1915 *
1916 * @return trimmed string
1917 *
1918 **/
1919function trim(str, chars) {
1920    return ltrim(rtrim(str, chars), chars);
1921}
1922
1923/**
1924 *
1925 * left trim string
1926 *
1927 * @param string str - string for trim
1928 * @param string chars - chars to be trimmed
1929 *
1930 * @return trimmed string
1931 *
1932 **/
1933function ltrim(str, chars) {
1934    if (!str)
1935        return;
1936
1937    chars = chars || "\\s";
1938    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
1939}
1940
1941/**
1942 *
1943 * right trim string
1944 *
1945 * @param string str - string for trim
1946 * @param string chars - chars to be trimmed
1947 *
1948 * @return trimmed string
1949 *
1950 **/
1951function rtrim(str, chars) {
1952    if (!str)
1953        return;
1954
1955    chars = chars || "\\s";
1956    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
1957}
1958
1959/**
1960 *
1961 * escape or replace quotes
1962 *
1963 * @param string str - string for replacing
1964 * @param bool to - replace if true and escape if false
1965 *
1966 **/
1967function quote(str, to) {
1968    if (!to) {
1969        return str.replace(/'/g, "").replace(/"/g, "");
1970    }
1971    else {
1972        var to_single = '&rsquo;';
1973        var to_double = '&quot;';
1974
1975        return str.replace(/'/g, to_single).replace(/"/g, to_double).replace(/\n/g, '<br />');
1976    }
1977}
1978
1979/**
1980 * @deprecated 4.7.0 - hisrc() library has been removed
1981 */
1982var caroselCallback = function(){};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.