if(!Array.prototype.find){Object.defineProperty(Array.prototype,"find",{value:function(predicate){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(typeof predicate!=="function"){throw new TypeError("predicate must be a function")}var thisArg=arguments[1];var k=0;while(k<len){var kValue=o[k];if(predicate.call(thisArg,kValue,k,o)){return kValue}k++}return undefined}})}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k<len){if(o[k]===searchElement){return true}k++}return false}})}if(!Array.prototype.filter){Array.prototype.filter=function(fun){"use strict";if(this===void 0||this===null){throw new TypeError}var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function"){throw new TypeError}var res=[];var thisArg=arguments.length>=2?arguments[1]:void 0;for(var i=0;i<len;i++){if(i in t){var val=t[i];if(fun.call(thisArg,val,i,t)){res.push(val)}}}return res}}Array.prototype.shuffle=function(){var len=this.length;var i=len;while(i--){var p=parseInt(Math.random()*len);var t=this[i];this[i]=this[p];this[p]=t}return this};Array.prototype.diff=function(a){return this.filter(function(i){return a.indexOf(i)<0})};String.prototype.capitalize=function(){return this[0].toUpperCase()+this.slice(1)};String.prototype.replaceAll=function(search,replacement){var target=this;return target.replace(new RegExp(search,"g"),replacement)};HTMLElement.prototype.remove=HTMLElement.prototype.remove||function(){this.parentNode&&this.parentNode.removeChild(this)};Object.merge=function(destination,source){for(var property in source)destination[property]=source[property];return destination};function in_array(val,arr){for(var i=0;i<arr.length;i++)if(arr[i]==val)return true;return false}function getRandom(min,max){return min+Math.floor(Math.random()*(max-min+1))}var cookie={set:function(name,value,exdays,path,domain){path=typeof domain==="undefined"?"/":path;domain=typeof domain==="undefined"?"":"; Domain="+domain;if(value===null&&cookie.get(name)){document.cookie=name+"=; Path="+path+"; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";return}value=encodeURIComponent(value);if(exdays){var exdate=new Date;exdate.setDate(exdate.getDate()+exdays);value+="; Expires="+exdate.toUTCString()}document.cookie=name+"="+value+"; Path="+path+domain},get:function(name){var result={};var value="";var cookies=document.cookie.split("; ");for(var i=0;i<cookies.length;i++){var split=cookies[i].split("=");result[split[0]]=split[1]}if(name)value=typeof result[name]==="string"?decodeURIComponent(result[name]):"";if(value!==""&&!isNaN(value))value=value-0;else if(value=="false")value=false;else if(value=="true")value=true;return value},remove:function(name,domain){domain=typeof domain==="undefined"?"":"Domain="+domain+";";document.cookie=name+"=; Path=/; "+domain+" Expires=Thu, 01 Jan 1970 00:00:01 GMT;"},list:function(){var cookies=document.cookie.split("; ");var list=[];for(var i=0;i<cookies.length;i++){var split=cookies[i].split("=");list.push(split[0])}return list}};var storage={is_present:function(){return typeof localStorage==="object"},set:function(name,value){if(this.is_present()){localStorage.setItem(name,value)}else{cookie.set(name,value)}},get:function(name){var value=this.is_present()?localStorage.getItem(name):cookie.get(name);return value==="true"?true:value==="false"?false:value}};function disableSelection(el,entire_document){if(entire_document){$(el).bind("mousedown.disableSelection touchstart.disableSelection",function(e){$("body").addClass("prevent-selection")});var evts="mouseup.disableSelection touchend.disableSelection";$(document).unbind(evts).bind(evts,function(e){$("body").removeClass("prevent-selection")})}else{$(el).bind(("onselectstart"in document.createElement("div")?"selectstart":"mousedown")+".disableSelection",function(e){e.preventDefault()})}}function enableSelection(el){$(el).unbind(".disableSelection")}if(window.$)$.fn.onlongtap=function(callback,data){var timeout;this.on({"touchstart.onlongtap":function(e){timeout=setTimeout(function(){e.data=$.extend(e.data,data);callback(e)},450)},"touchend.onlongtap":function(){$("body").removeClass("prevent-selection");clearTimeout(timeout)}})};function wrapWords(element,attrs){if(!element)return;var $=jQuery;var result_html="";{var html=element.innerHTML;html=html.replace(/\{(.*?)\}/g,'<span class="expression word-wrapper">$1</span>');element.innerHTML=html;var expr=element.getElementsByClassName("expression");for(var i=0;i<expr.length;i++){wrapWords(expr[i])}expr=element.getElementsByTagName("expr");for(var i=0;i<expr.length;i++){$(expr).addClass("word-wrapper");wrapWords(expr[i])}}for(var i=0;i<element.childNodes.length;i++){var node=element.childNodes[i];if(node.nodeType!=3){result_html+=node.outerHTML+" ";continue}var words=$.trim(node.nodeValue).replace(/(\S)('\S)/g,"$1 spacetodelete$2").replace(/\s+/g," ").replace(/(\S)(-)(\S)/g,"$1 spacetodelete$2 spacetodelete$3").replace(/\s+/g," ").split(" ");for(var j=0;j<words.length;j++){var prepend="";var word="";var append="";if(/^(?:a|an|the|[^a-z0-9\u00C0-\u017F]+)$/i.test(words[j])){if(/^[^a-z0-9\u00C0-\u017F]$/i.test(words[j]))result_html=$.trim(result_html);result_html+=" "+words[j]+" ";continue}if(/[^a-z0-9\u00C0-\u017F]$/i.test(words[j])){var matches=words[j].match(/([a-z0-9\u00C0-\u017F\-\—\_\.\:'@]+?)([^a-z0-9\u00C0-\u017F]+)$/i);word=matches[1];append=matches[2]}if(/^[^a-z0-9\u00C0-\u017F]/i.test(words[j])){var matches=words[j].match(/^([^a-z0-9\u00C0-\u017F]+)([a-z0-9\u00C0-\u017F\-\—\_\.\:']+)/i);prepend=matches[1];word=prepend?matches[2]:word}if(word==""){word=words[j]}result_html+=prepend+"<span class=word-wrapper"+(attrs?" "+attrs:"")+">"+word+"</span>"+append+" "}}result_html=$.trim(result_html).replace(/\s(<span[^>]*?>)spacetodelete/g,"$1").replace(/\s+/g," ").replace(/ ([\.\,\!\?])/g,"$1").replace(/spacetodelete/g,"").replace(/ <span class=word-wrapper><\/span>/g,"");element.innerHTML=result_html}function wrapWordsI(element,cls){if(!element)return;cls=typeof cls==="undefined"?cls="word-wrapper":cls;var result_html="",matches=[];for(var i=0,l=element.childNodes.length;i<l;i++){var node=element.childNodes[i];if(node.nodeType!=3){result_html+=node.outerHTML+" ";continue}var words=$.trim(node.nodeValue).replace(/\s+/g," ").split(" ");for(var j=0;j<words.length;j++){var prepend="";var word="";var append="";if(/^(?:a|an|the|[^a-z0-9]+)$/i.test(words[j])){result_html+=words[j]+" ";continue}if(/([a-zA-Z0-9]+)/i.test(words[j])){matches=words[j].match(/^([^a-zA-Z\s']?)([a-zA-Z\-']+)([^a-zA-Z\s']?)$/);if(matches!==null){prepend=typeof matches[1]!=="undefined"?matches[1]:"";word=matches[2];append=typeof matches[3]!=="undefined"?matches[3]:""}}if(word=="")word=words[j];result_html+=prepend+'<span class="'+cls+'">'+word+"</span>"+append+" "}}result_html=$.trim(result_html).replace(/\s+/g," ").replace(/ ([\.,!\?])/g,"$1");element.innerHTML=result_html}function unwrapWords(element){var html=element.innerHTML;html=html.replace(/<span class=word-wrapper>([^<]+?)<\/span>/g,"$1");element.innerHTML=html}function findPos(obj){var r={left:0,top:0};if(obj.offsetParent){do{r.left+=obj.offsetLeft;r.top+=obj.offsetTop}while(obj=obj.offsetParent)}return r}function animate(element,props,speed,easing,callback){if(!element)return;speed=speed||500;easing=easing||"ease";animate._callback=callback;var supports=browser.supports.transition;if(supports){var css_prefix=supports===true?"":supports;var js_prefix=supports===true?"":css_prefix.charAt(1).toUpperCase()+css_prefix.replace(/\-/g,"").slice(1);var js_transition_prop=js_prefix?js_prefix+"Transition":"transition";var transition_value="";for(var prop in props){var _prop=prop;if(typeof browser.supports(prop)=="string")_prop=browser.supports(prop)+prop;_prop=_prop.replace(/([a-z])([A-Z])/,function(a,b,c){return b+"-"+c.toLowerCase()});transition_value+=_prop+" "+speed+"ms "+easing+", "}transition_value=transition_value.slice(0,-2);element.style[js_transition_prop]=transition_value;var eventname="transitionend";if(supports!==true)eventname+=" webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd";function transitionend(event){stop();if(browser.ie&&!callback)callback=animate._callback;callback&&callback.call(element,event)}function stop(){element.removeEventListener(eventname,transitionend,false);if(element.style[js_transition_prop].replace(/\s0s(,|$)/g,"$1")==transition_value){element.style[js_transition_prop]=""}}element.addEventListener(eventname,transitionend,false);animate._listeners=animate._listeners||[];animate._listeners.push({element:element,stop:stop})}for(var prop in props){var _prop=prop;if(!(prop in element.style)){var prefix=browser.supports(prop);if(prefix&&typeof prefix=="string"){_prop=prefix.charAt(1).toUpperCase()+prefix.replace(/\-/g,"").slice(1)+prop.charAt(0).toUpperCase()+prop.slice(1)}}var value=!isNaN(props[prop])&&prop!="opacity"?props[prop]+"px":props[prop];element.style[_prop]=value}if(!supports){if(browser.ie&&!callback)callback=animate._callback;callback&&callback.call(element)}}animate.stop=function(element){if(animate._listeners){for(var i=0;i<animate._listeners.length;i++){animate._listeners.element==element&&animate._listeners.stop()}}};if(window.$)$.fn.ui=function(){var ui_elements=this.add("*",this).filter(function(){var matches=this.className.match(/(?:^|\s)ui-(button|radio|radio-toggle|select)(?:$|\s)/);if(!matches)return false;this.ui_type=matches[1];return true});if(ui_elements.length==0)return this;for(var i=0;i<ui_elements.length;i++){var element=ui_elements[i];if(element.ui_enabled)return;element.ui_enabled=true;switch(element.ui_type){case"button":case"radio":case"checkbox":var replacement=createReplacement(element);break;case"radio-toggle":var children=$(element).children();children.each(function(){var replacement=$(this).is("input[type=radio]")?createReplacement(this):$(this);replacement.addClass("ui-replacement");replacement.click(function(){if($(this).hasClass("disabled"))return;children.removeClass("active");$(this).addClass("active")})});break;case"select":function setValue(val,updateReplacement,replacementItem){var is_multiple=select.is("[multiple]");var html="";if(is_multiple&&$.isArray(val)){for(var i=0;i<val.length;i++){html+='<option value="'+val[i]+'"></option>'}}else if(is_multiple&&is_ctrl_pressed){if($.inArray(val,select.val())!=-1){if(select.val().length>1){$("option[value='"+val+"']",select).remove()}html=select.html()}else{html=select.html()+'<option value="'+val+'"></option>'}}else{html='<option value="'+val+'">'+select.next().find("li.selected").text()+"</option>"}select.html(html);function onchange(e){if(r)return;setValue(select.val(),true)}if(is_multiple){val=$("option",select).map(function(){return this.value})}r=1;select.val(val).change();r=0;if(updateReplacement){if(toggle.text()==val)return;var cur_item=replacementItem||items.filter(function(){return $(this).data("value")==val});if(!is_multiple||is_multiple&&!is_ctrl_pressed)$("li",list).removeClass("selected");if(is_multiple){if($("li.selected",list).length>1&&cur_item.is(".selected"))cur_item.removeClass("selected");else cur_item.addClass("selected")}else cur_item.addClass("selected");if(toggle.length)toggle.text(select.next().find("li.selected").text())}}function getValue(){return select.val()}var select=$(element);var replacement=createReplacement(element);var html=select.html().replace(/<optgroup([^>]*?)\slabel=["]([^"]*?)["]([^>]*?>)/gi,'<li class="optgroup"$1$3<div class="optgroup-title">$2</div><ul>').replace(/<\/optgroup>/gi,"</ul></li>").replace(/<option([^>]*?)>([\s\S]*?)<\/option>/gi,"<li$1><span>$2</span></li>").replace(/(<li[^>]*?)selected(?:=['"].*?['"])?/gi,'$1class="selected"').replace(/(<li[^>]*?)value=/gi,"$1data-value=").replace(/\sclass="([^"]*)"([^<>]*?)\sclass="([^"]*)"/,' class="$1 $3"$2');select.after(replacement);html='<ul tabindex="-1">'+html+"</ul>";if(!select.is("[data-select-type=opened], [multiple]")){html='<div class="toggle">'+$("option:selected",select).text()+"</div>"+html}replacement.html(html);setValue(select.val());var toggle=$(">.toggle",replacement);var list=select.next().children("ul");var items=$("li",list);toggle.click(function(){toggle.add(list).toggleClass("active");setTimeout(function(){list.css("top",toggle.outerHeight())},0)});if(list[0].scrollHeight>list.height()){list.addClass("has-scrollbar")}list.on("click","li:not(.optgroup)",function(){var cur_item=$(this);var val=cur_item.attr("data-value");setValue(val,true,cur_item);$(document).unbind("keydown.selectlist").bind("keydown.selectlist",function(e){if(e.which==40||e.which==38){var cur_item=$(".selected",list);var target_item=cur_item[e.which==40?"next":"prev"]();var target_item_group=cur_item.parent().parent("li.optgroup");if(target_item_group.length&&!target_item.length){target_item_group=target_item_group[e.which==40?"next":"prev"]("li.optgroup");target_item=target_item_group.find(" > ul > li:"+(e.which==40?"first":"last"))}if(!target_item.length||target_item.is(":hidden"))return;e.preventDefault();val=target_item.text();target_item.click();var target_offset_top=target_item.offset().top;var inner_offset=target_item[0].offsetTop;if(target_offset_top+target_item.height()>list.offset().top+list.height()){if(target_item_group.length){target_item_group[e.which==40?"prevUntil":"nextUntil"]().each(function(){inner_offset+=$(this).outerHeight()})}list.scrollTop(inner_offset-list.height()+target_item.height())}else if(target_offset_top<list.offset().top){if(target_item_group.length){target_item_group[e.which==40?"nextUntil":"prevUntil"]().map(function(){inner_offset+=$(this).outerHeight()})}list.scrollTop(inner_offset)}}})});$(document).click(function(e){var replacement=$(e.target).is(".ui-select")?$(e.target):$(e.target).parents(".ui-select");if(!$(e.target).is(list)&&!replacement.length){$(document).unbind("keydown.selectlist");toggle.add(list).removeClass("active")}if(replacement.length){$(".ui-select").filter(function(){return this!=replacement[0]}).find(">.toggle, >ul").removeClass("active")}});var r;select.change();return{setValue:setValue,getValue:getValue};break}}function createReplacement(element){var form=$(element).parents("form");var replacement=$(element);if(element.tagName!="DIV"){replacement=$('<div class="'+(element.className?element.className+" ":"")+"ui-replacement ui-replacement-"+element.type+'" data-name="'+element.name+'">'+(($(element).data("text")===0?"0":$(element).data("text"))||element.innerHTML)+"</div>");$(element).css({position:"absolute",left:-9e4}).after(replacement);if(element.tagName!="SELECT"){replacement.bind("click change",function(e){if($(element).hasClass("disabled"))return;if(element.type=="radio"){$(element).uiCheck()}$(element)[element.type=="button"||element.type=="submit"?"click":"change"]()})}}else{replacement.addClass("ui-replacement")}if(!/(^|\s)ui-button($|\s)/.test(element.className)){function onChange(){if($(element).hasClass("disabled"))return;if(element.checked){element.type=="radio"&&$("input[name="+element.name+"] + .ui-replacement",form).removeClass("active");replacement.addClass("active")}else{replacement.removeClass("active")}}$(element).change(onChange);onChange()}return replacement}return this};if(window.$)$.fn.uiCheck=function(bool){function checkElement(element){var $element=$(element);if($element.hasClass("disabled"))return;var replacement=$element.next();if($element.is(":radio")){var parent=$element.parents("fieldset").length?$element.parents("fieldset"):$element.parents("form");$("input:radio[name="+element.name+"]",parent).attr("checked",false).prop("checked",false);$element.attr("checked",true).prop("checked",true)}}if(this.length>1){this.each(function(){checkElement(this)})}else{checkElement(this[0])}return this};if(window.$)$.fn.hint=function(options){if(this.length==0)return this;var defaults={delay:700,speed:120,position:"top"};options=$.extend({},defaults,options);for(var i=0;i<this.length;i++){this[i].hint_original_text=this[i].hint_text=options.text;$(this[i]).hover(function(){$("#hint").remove();var text=this.hint_text;if(text instanceof Array){var text_index=$(this).data("hint-text-index")||0;text=text[text_index]}var html='<div id=hint class="hint '+options.position+(options.hint_class?" "+options.hint_class:"")+'">';if(options.title){html+="<h3 class=hint-title>"+options.title+"</h3>"}html+="<div class=hint-content>"+text+"</div>";html+="<div class=traingle></div>";var $hint=$(html).appendTo("body");$hint[0].hint_original_text=options.text;$hint[0].hint_text=text;var element_w=$(this).outerWidth();var element_h=$(this).outerHeight();var element_offset=$(this).offset();var hint_w=$hint.outerWidth();var hint_h=$hint.outerHeight();var hint_offset={};switch(options.position){case"top":hint_offset.top=element_offset.top-hint_h-9;hint_offset.left=element_offset.left+element_w/2-hint_w/2;break;case"left":hint_offset.top=element_offset.top-hint_h/2+element_h/2;hint_offset.left=element_offset.left-hint_w-9;break}if(options.offset){for(var pos in options.offset){if(/^[\+\-]\=/.test(options.offset[pos].toString()))hint_offset[pos]+=options.offset[pos].replace("=","")-0;else hint_offset[pos]=options.offset[pos]}}if(options.containment){var $containment=$(options.containment);var containment_offset=$containment.offset();var containment_w=$containment.outerWidth();if(hint_offset.left<containment_offset.left){hint_offset.left=containment_offset.left}else if(hint_offset.left+hint_w>containment_offset.left+containment_w){hint_offset.left=containment_offset.left+containment_w-hint_w}}if(options.position=="top"||options.position=="bottom"){$(".traingle",$hint).css("left",element_offset.left-hint_offset.left+element_w/2-11)}else{$(".traingle",$hint).css("top",element_offset.top-hint_offset.top+element_h/2-11)}var css=hint_offset;css.opacity=0;setTimeout(function(){$hint.length&&$hint.css(css).animate({opacity:1},options.speed)},options.delay)},function(){$("#hint").remove()}).mousedown(function(){$("#hint").remove()});$(document).bind("touchstart",function(){$("#hint").remove()})}return this};if(window.$)$.fn.imageSwitcher=function(options){options=options||{};if(!options.last_index)options.last_index=5;this.each(function(){var interval;$(this).parent().hover(function(){var first_img=$(this).children("img:first");if($(this).children("img").length==1){for(var i=2;i<=options.last_index;i++){var src=first_img[0].src.replace(/\d\.jpg$/,i+".jpg");$('<img src="'+src+'" style="left:-999em" />').insertAfter(first_img)}}var images=$(this).children("img");first_img.css("z-index",1);var cur_img=0;var zIndex=1;interval=setInterval(function(){if(cur_img==options.last_index-1)cur_img=-1;$(images[++cur_img]).css({left:0,zIndex:++zIndex})},options.delay||1e3)},function(){clearInterval(interval);$(this).children("img").css("z-index",0).filter(":first").css("z-index",1)})});return this};function Scrollbar(scroll_content,scrollbar_id,useNative){var self=this;this.native=useNative;this.scroll_content=scroll_content;if(useNative!==false&&/ewebkit/i.test(navigator.userAgent)){scroll_content.style.overflow="auto";return}this.handle=document.createElement("div");this.handle.className="scrollbar-handle";this.scrollbar=document.createElement("div");this.scrollbar.id=scrollbar_id;this.scrollbar.className="scrollbar";this.scrollbar.appendChild(this.handle);$(this.scrollbar).insertBefore(this.scroll_content);this.update();setTimeout(function(){self.update()},0);$(document).bind("mousedown."+scrollbar_id+" touchstart."+scrollbar_id,function(e){var is_handle=$(e.target).is(self.handle);var is_scrollbar=$(e.target).is(self.scrollbar);var start_y=e.pageY;var start_pos=$(self.handle).position().top;if(!is_handle&&!is_scrollbar)return;if(is_handle||is_scrollbar){$("body").addClass("prevent-selection")}$(self.scrollbar).addClass("active");if(is_handle){$(document).bind("mousemove."+scrollbar_id+" touchmove."+scrollbar_id,function(e){var handle_pos=e.pageY-start_y+start_pos;var percent=(handle_pos-4)/(self.scrollbar.clientHeight-8-self.handle.clientHeight)*100;if(percent<0)percent=0;self.setPosition(percent+"%")})}else{var target_pos=e.pageY-$(self.scrollbar).offset().top;var interval=setInterval(function(){var top=$(self.handle).position().top;if(target_pos<start_pos&&top+self.handle.clientHeight/2<target_pos||target_pos>start_pos&&top+self.handle.clientHeight/2>target_pos){clearInterval(interval);return}self.setPosition((target_pos<start_pos?"-":"+")+"1.2%")},25);$(self.scrollbar).bind("mouseout touchend mouseup mousemove",function(e){if(e.type=="mousemove"){if(e.pageY>start_y+20||e.pageY<start_y-20){clearInterval(interval)}return}clearInterval(interval)})}});$(document).bind("mouseup."+scrollbar_id+" touchend."+scrollbar_id,function(){$(document).unbind("mousemove."+scrollbar_id+" touchmove."+scrollbar_id);$("body").removeClass("prevent-selection");$(self.scrollbar).removeClass("active")});$(this.scroll_content).bind("scroll resize mouseover",function(){self.update()});$(document).bind("mousewheel.Scrollbar"+(!browser.msie?" wheel.Scrollbar":""),function(e){var y=e.originalEvent.deltaY||-e.originalEvent.wheelDeltaY||-e.originalEvent.wheelDelta;var el=e.target;var found=e.target==self.scroll_content;while(el){if(el==self.scroll_content){found=true;break}el=el.parentNode}if(!found&&e.target!=self.scrollbar&&e.target!=self.handle||y<0&&self.scroll_content.scrollTop==0||y>0&&self.scroll_content.scrollTop==self.scroll_content.scrollHeight-self.scroll_content.clientHeight)return;e.preventDefault();if(y<0){self.setPosition("-40",false)}if(y>0){self.setPosition("+40",false)}$(self.scroll_content).trigger("mouseWheel",[y])})}Scrollbar.prototype.setPosition=function(pos,update,anim_speed,anim_callback){if(this.native!==false&&/ewebkit/i.test(navigator.userAgent)){this.scroll_content.scrollTop=pos;return}var handle_pos=null;var content_pos=null;var percent=null;var content_scroll_height=this.scroll_content.scrollHeight-this.scroll_content.clientHeight;if(typeof pos=="string"){if(/^[\+\-][\d\.]+$/.test(pos)){pos=pos-0;content_pos=this.scroll_content.scrollTop+pos}else if(/^[\d\.]+%$/.test(pos)){var percent=pos.slice(0,-1)-0;content_pos=content_scroll_height/100*percent}else if(/^[\+\-][\d\.]+%$/.test(pos)){var percent=pos.slice(0,-1)-0;var current_percent=this.scroll_content.scrollTop/content_scroll_height*100;content_pos=content_scroll_height/100*(current_percent+percent)}}if(content_pos===null){content_pos=pos}if(content_pos>content_scroll_height){content_pos=content_scroll_height}else if(content_pos<0){content_pos=0}if(anim_speed){$(this.scroll_content).animate({scrollTop:content_pos},anim_speed,anim_callback)}else{this.scroll_content.scrollTop=content_pos}if(update!==false)this.update()};Scrollbar.prototype.update=function(){if(this.native!==false&&/ewebkit/i.test(navigator.userAgent))return;var content_scroll_height=this.scroll_content.scrollHeight-this.scroll_content.clientHeight;var current_percent=this.scroll_content.scrollTop/content_scroll_height*100||0;var handle_height_percent=(this.scroll_content.clientHeight-8)/this.scroll_content.scrollHeight*100;var handle_height=this.scroll_content.clientHeight/100*handle_height_percent;if(handle_height<30)handle_height=30;var scroll_height=this.scrollbar.clientHeight-4-handle_height;var handle_pos=scroll_height/100*current_percent;if(handle_pos<4)handle_pos=4;if(handle_pos>scroll_height&&scroll_height>4)handle_pos=scroll_height;$(this.handle).css({top:handle_pos,height:handle_height});var display=this.scroll_content.scrollHeight>this.scroll_content.clientHeight&&this.scroll_content.style.display!="none"?"block":"none";if(this.scrollbar.style.display!=display){this.scrollbar.style.display=display;if(display=="block"){$(this.scroll_content).addClass("scrollbar-visible");$(this.scrollbar).addClass("scrollbar-visible")}else{$(this.scroll_content).removeClass("scrollbar-visible");$(this.scrollbar).removeClass("scrollbar-visible")}}};function kineticScroll(element,indicator){var self=this,relative,min,max,offset,reference,pressed,xform,velocity,frame,timestamp,ticker,amplitude,target,timeConstant;function xpos(e){if(e.targetTouches&&e.targetTouches.length>=1){return e.targetTouches[0].clientX}return e.clientX}this.scroll=function(x){offset=x>max?max:x<min?min:x;element.style[xform]="translateX("+-offset+"px)";if(indicator)indicator.style[xform]="translateX("+offset*relative+"px)"};function track(){var now,elapsed,delta,v;now=Date.now();elapsed=now-timestamp;timestamp=now;delta=offset-frame;frame=offset;v=200*delta/(1+elapsed);velocity=.8*v+.2*velocity}function autoScroll(){var elapsed,delta;if(amplitude){elapsed=Date.now()-timestamp;delta=-amplitude*Math.exp(-elapsed/timeConstant);if(delta>.5||delta<-.5){self.scroll(target+delta);requestAnimationFrame(autoScroll)}else{self.scroll(target)}}}function tap(e){pressed=true;reference=xpos(e);velocity=amplitude=0;frame=offset;timestamp=Date.now();clearInterval(ticker);ticker=setInterval(track,100);e.preventDefault();e.stopPropagation();return false}function drag(e){var x,delta;if(pressed){x=xpos(e);delta=reference-x;if(delta>2||delta<-2){reference=x;self.scroll(offset+delta)}}e.preventDefault();e.stopPropagation();return false}function release(e){if(!pressed)return;pressed=false;clearInterval(ticker);if(velocity>10||velocity<-10){amplitude=.8*velocity;target=Math.round(offset+amplitude);timestamp=Date.now();requestAnimationFrame(autoScroll)}e.preventDefault();e.stopPropagation();return false}if(typeof window.ontouchstart!=="undefined"){element.addEventListener("touchstart",tap);document.addEventListener("touchmove",drag);document.addEventListener("touchend",release)}element.addEventListener("mousedown",tap);document.addEventListener("mousemove",drag);document.addEventListener("mouseup",release);var innerWidth=element.parentNode.scrollWidth;max=innerWidth-parseInt(getComputedStyle(element.parentNode).width,10);offset=min=0;pressed=false;timeConstant=325;indicator=document.getElementById("indicator");relative=(innerWidth-30)/max;xform="transform";["webkit","Moz","O","ms"].every(function(prefix){var e=prefix+"Transform";if(typeof element.style[e]!=="undefined"){xform=e;return false}return true})}function ajax(options){var defaults={url:location.href,method:"POST",done:function(){},fail:function(){},dataType:"json"};options=Object.merge(defaults,options);var params=serialize(options.data);var xhr=new XMLHttpRequest;xhr.open(options.method,options.url,true);if(options.method=="POST")xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status==200){var resp=xhr.responseText;if(options.dataType=="json"){try{resp=JSON.parse(resp)}catch(e){console.log(e);options.fail();return}}options.done(resp)}else options.fail()}};xhr.onerror=options.fail;xhr.send(params);return xhr}function serialize(obj,prefix){var str=[];for(var p in obj){if(typeof obj[p]!="function"){var k=prefix?prefix+"["+p+"]":p,v=obj[p];str.push(typeof v=="object"?serialize(v,k):encodeURIComponent(k)+"="+encodeURIComponent(v))}}return str.join("&")}function escapeHTML(str){str=String(str);var replacers={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;","'":"&#39;"};return str.replace(/[&<>'"]/g,function(c){return replacers[c]})}function unescapeHTML(str){str=String(str);var replacers={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;","'":"&#39;"};for(c in replacers){str=str.replace(new RegExp(replacers[c],"g"),c)}return str}if(typeof String.prototype.format!="function"){String.prototype.format=function(){var s=this,args=arguments,i=arguments.length;return s.replace(/(\$|@)([0-9]+)/gm,function(m,type,i){return type=="@"?escapeHTML(args[i*1-1]):args[i*1-1]})}}if(typeof String.prototype.if!="function"){String.prototype.if=function(couse){return couse?this.toString():""}}function update_user_meta_or_cookie(key,value,cookie_path){if(user.logged_in){update_user_meta(key,value)}else{cookie.set(key,value,365,cookie_path||"/")}}function update_user_meta(key,value){if(user.logged_in){var req={ajax_action:"ajax_update_user_meta",key:key,value:value};$.post("/",req)}}function replaceUrlParam(paramName,paramValue,url){var pattern=new RegExp("(\\?|\\&)("+paramName+"=).*?(&|$)");url=typeof url==="undefined"?window.location.href:url;var newUrl=url;if(url.search(pattern)>=0){newUrl=url.replace(pattern,"$1$2"+paramValue+"$3")}else{newUrl=newUrl+(newUrl.indexOf("?")>0?"&":"?")+paramName+"="+paramValue}return newUrl}function getParameterByName(name,url){url=typeof url==="undefined"?window.location.href:url;name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var regex=new RegExp("[\\?&]"+name+"=([^&#]*)"),results=regex.exec(url);return results===null?"":decodeURIComponent(results[1].replace(/\+/g," "))}function getRealKey(c,shiftKey){var _to_ascii={188:"44",109:"45",190:"46",191:"47",192:"96",220:"92",222:"39",221:"93",219:"91",173:"45",187:"61",186:"59",189:"45"};var shiftUps={96:"~",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",48:")",45:"_",61:"+",91:"{",93:"}",92:"|",59:":",39:'"',44:"<",46:">",47:"?"};if(_to_ascii.hasOwnProperty(c)){c=_to_ascii[c]}if(!shiftKey&&(c>=96&&c<=105)){c=String.fromCharCode(c-48)}else if(!shiftKey&&(c>=65&&c<=90)){c=String.fromCharCode(c+32)}else if(shiftKey&&shiftUps.hasOwnProperty(c)){c=shiftUps[c]}else{c=String.fromCharCode(c)}return c}function decodeHtmlEntities(html){var txt=document.createElement("textarea");txt.innerHTML=html;return txt.value}!function(){"use strict";var a="undefined"!=typeof module&&module.exports,b="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,c=function(){for(var a,b,c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],d=0,e=c.length,f={};e>d;d++)if(a=c[d],a&&a[1]in document){for(d=0,b=a.length;b>d;d++)f[c[0][d]]=a[d];return f}return!1}(),d={request:function(a){var d=c.requestFullscreen;a=a||document.documentElement,/5\.1[\.\d]* Safari/.test(navigator.userAgent)?a[d]():a[d](b&&Element.ALLOW_KEYBOARD_INPUT)},exit:function(){document[c.exitFullscreen]()},toggle:function(a){this.isFullscreen?this.exit():this.request(a)},onchange:function(){},onerror:function(){},raw:c};return c?(Object.defineProperties(d,{isFullscreen:{get:function(){return!!document[c.fullscreenElement]}},element:{enumerable:!0,get:function(){return document[c.fullscreenElement]}},enabled:{enumerable:!0,get:function(){return!!document[c.fullscreenEnabled]}}}),document.addEventListener(c.fullscreenchange,function(a){d.onchange.call(d,a)}),document.addEventListener(c.fullscreenerror,function(a){d.onerror.call(d,a)}),void(a?module.exports=d:window.screenfull=d)):void(a?module.exports=!1:window.screenfull=!1)}();function isEmpty(obj){if(obj==null)return true;if(obj.length>0)return false;if(obj.length===0)return true;for(var key in obj){if(hasOwnProperty.call(obj,key))return false}return true}function watchEpisode(post_id,watched){watched=typeof watched==="undefined"?1:watched;if(media_type=="series"){$.post("/api2/movies/toggleWatched",{post_id:post_id,watched:watched})}else if(media_type=="films"){}else{$.post("/",{ajax_action:"ajax_series_checkWatched",
post_id:post_id,watched:watched})}}function addLinksToText(inputText){var pattern=/([-a-zA-Z0-9@:%_\+.~#?&\/\/=]{2,256}\.[a-z]{2,4}\b(\/?[-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)?)/gi;if(inputText.match(/puzzle-english/g)){var replacedText=inputText.replace(pattern,'<a href="$1">$1</a>')}else{var replacedText=inputText.replace(pattern,'<a href="$1" target="_blank">$1</a>')}return replacedText}function puzzleNotification(theBody,theIcon,theTitle,sender,autoFadeOut){autoFadeOut=typeof autoFadeOut==="undefined"?0:parseInt(autoFadeOut);var $pic=$(".puzzle-notification__header__pic");var $pnotification=$(".puzzle-notification");$pnotification.fadeOut("400");clearTimeout(window.message_notification_to);if(sender!=0){$(".puzzle-notification__content, .puzzle-notification__header").on("click",function(){window.location.href="/user#messages_"+sender})}$(".puzzle-notification__header__text").html(theTitle);$(".puzzle-notification__content__text").html(addLinksToText(theBody));if(typeof theIcon!=="undefined"&&theIcon!==""){$pic.show();$pic.find("img").show().attr("src",theIcon)}else{$pic.hide();$pic.find("img").hide().attr("src",theIcon)}$pnotification.fadeIn("400").queue();if(autoFadeOut>0){window.message_notification_to=setTimeout(function(){$pnotification.fadeOut().queue()},autoFadeOut)}}function startTimer(duration,display,callback){var timer=duration,minutes,seconds;display.text(duration);window.next_episode_countdown=setInterval(function(){if(--timer<0){clearInterval(window.next_episode_countdown);callback&&callback();return}minutes=parseInt(timer/60,10);seconds=parseInt(timer%60,10);display.text(seconds)},1e3)}function Timer(settings){var self=this;this.duration=this._duration=settings.duration;this.interval={};this._ticking=function(){if(--self._duration<0){clearInterval(self.interval);settings.onTimeEnd&&settings.onTimeEnd();return}settings.onTick&&settings.onTick(self._duration)};this.start=function(){this.interval=setInterval(function(){self._ticking()},1e3)};this.reset=function(){clearInterval(this.interval);this._duration=this.duration};this.stop=function(){clearInterval(this.interval)};this.addTime=function(seconds){this._duration+=seconds};this.setDuration=function(seconds){this._duration=seconds>0?seconds:0}}function likeUnlikePost(postId,action,postType){$.post("/",{ajax_action:"ajax_likeUnlikePost",action:action,postId:postId,postType:postType})}function registerUser(event){event.preventDefault();var email=$('#authForm input[name="email"]').val();if(email.length>0){$('#sign_up_popup_form input[name="email"]').val(email);$('.video-carousel__link.js-tab-link[data-id="regForm"]').click();$("#sign_up_popup button").click()}}function $getPiece(index,user){user=typeof user!=="undefined";var $phrases=$("#phrases");return!user&&$phrases.hasClass("j-admin_mode")?$phrases.find("li.admin[data-piece_index="+index+"]"):$phrases.find("li:not(.admin)[data-piece_index="+index+"]")}function ucfirst(str){var f=String(str).charAt(0).toUpperCase();return f+String(str).substr(1,String(str).length-1)}function plural_ru(n,arr){n=Math.abs(n);var i=n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;return arr[i]}function plural_en(n,arr){n=Math.abs(n);var i=n==1?1:2;return arr[i]}function titleCase(str){var splitStr=str.toLowerCase().split(" ");for(var i=0;i<splitStr.length;i++){splitStr[i]=splitStr[i].charAt(0).toUpperCase()+splitStr[i].substring(1)}return splitStr.join(" ")}function localizeGetText(params){var label=params.l;label=label.replace(" ","_").toLowerCase();if(params.n=="gramotey")label=label.replace(/ /g,"_").toLowerCase();var namespace=params.n==undefined?"default":params.n;var variable=params.v==undefined?null:params.v;var text="";var data;try{data=i18n[namespace][label]}catch(e){data=undefined}if(data===undefined){$.post("/",{ajax_action:"ajax_add_i18n_label",label:label,namespace:namespace,variable:variable});text="!RELOAD PAGE!"}else{if(data.type=="simple"){text=data.val;if(text.indexOf("##")){var matches=text.match(/##([a-z0-9-_=]+)##/i);if(matches){for(i=0;i<matches.length;i++){var inner_label=matches[i];var exact_match="##"+inner_label+"##";if(inner_label.indexOf("=")){var inner_label_data=inner_label.split("=");var inner_label_param=params[inner_label_data[1]];var inner_label_params={l:"",n:namespace,v:""};inner_label_params.v=inner_label_param;var inner_label=inner_label_data[0]}inner_label_params.l=inner_label;var inner_label_value=localize(inner_label_params);if(inner_label_param!==undefined)inner_label_value=inner_label_param+" "+inner_label_value;text=text.replace(exact_match,inner_label_value)}}}}else if(data.type=="plural"){var text_data=data.val.split("##");if(window.site_language=="ru"){text=plural_ru(params.v,text_data)}else{text=plural_en(params.v,text_data)}}else if(data.type=="multiple"){text=data.val;var text_data=data.val.split("##");var index_params=params.v-1;if(text_data.length>1){for(var i=0;i<text_data.length;i++){if(i==index_params)text=text_data[i]}}}}if(params.t!==undefined){switch(params.t){case"first":text=ucfirst(text);break;case"small":text=text.toLowerCase();break;case"big":text=text.toUpperCase();break;case"all_first":text=titleCase(text);break}}if(String(text).length<1)text="!MISSING!";return text}function localize(params){return window.user.is_admin?"<span>"+localizeGetText(params)+"</span>":localizeGetText(params)}