(function($){var addMethods=function(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=$.keys(source);if(!$.keys({toString:true}).length)properties.push("toString","valueOf");for(var i=0,length=properties.length;i0)){return rules[selector].apply(this,[parent||target].concat($.makeArray(arguments)));} parent=null;}};}});var bindEvents=function(instance){for(var member in instance){if(member.match(/^on(.+)/)&&typeof instance[member]=='function'){instance.element.live(RegExp.$1,{'behavior':instance},instance[member]);}}};var behaviorWrapper=function(behavior){return $.PrototypeClass(behavior,{initialize:function($super,element,args){this.element=element;if($super)$super.apply(this,args);},trigger:function(eventType,extraParameters){var parameters=[this].concat(extraParameters);this.element.trigger(eventType,parameters);}});};var attachBehavior=function(el,behavior,args){var wrapper=behaviorWrapper(behavior);var instance=new wrapper(el,args);bindEvents(instance);if(!behavior.instances)behavior.instances=[];behavior.instances.push(instance);return instance;};$.fn.extend({attach:function(){var args=$.makeArray(arguments),behavior=args.shift();attachBehavior(this,behavior,args);return this;},delegate:function(type,rules){return this.bind(type,$.delegate(rules));},attached:function(behavior){var instances=[];if(!behavior.instances)return instances;this.each(function(i,element){$.each(behavior.instances,function(i,instance){if(instance.element.get(0)==element)instances.push(instance);});});return instances;},firstAttached:function(behavior){return this.attached(behavior)[0];}});Remote=$.PrototypeClass({initialize:function(options){if(this.element.attr('nodeName')=='FORM')this.element.attach(Remote.Form,options);else this.element.attach(Remote.Link,options);}});Remote.Base=$.PrototypeClass({initialize:function(options){this.options=$.extend(true,{},options||{});},_makeRequest:function(options){$.ajax(options);return false;}});Remote.Link=$.PrototypeClass(Remote.Base,{onclick:function(e){var options=$.extend({url:$(this).attr('href'),type:'GET'},this.options);return e.data.behavior._makeRequest(e.data.behavior.options);}});Remote.Form=$.PrototypeClass(Remote.Base,{onclick:function(e){var target=e.target;if($.inArray(target.nodeName.toLowerCase(),['input','button'])>=0&&target.type.match(/submit|image/)) e.data.behavior._submitButton=target;},onsubmit:function(e){var elm=$(this),data=elm.serializeArray();if(e.data.behavior._submitButton)data.push({name:e.data.behavior._submitButton.name,value:e.data.behavior._submitButton.value});var options=$.extend({url:elm.attr('action'),type:elm.attr('method')||'GET',data:data},e.data.behavior.options);e.data.behavior._makeRequest(options);return false;}});$.ajaxSetup({beforeSend:function(xhr){if(!this.dataType) xhr.setRequestHeader("Accept","text/javascript, text/html, application/xml, text/xml, */*");}});})(jQuery);var SingleParent=$.PrototypeClass({parent:null,setParent:function(parent) {this.parent=parent;}});var UserEventDefinition=$.PrototypeClass({name:new Array(),xPath:new String(),jQueryObject:new Object(),delay:null,delayId:null,handlerCallBack:new Function(),initialize:function(initializationObject){this.name=this.cleanName(initializationObject.name);this.xPath=initializationObject.xPath;this.jQueryObject=initializationObject.jQueryObject;this.handlerCallBack=initializationObject.handlerCallBack;this.delay=initializationObject.delay;this.validateMembers();},validateMembers:function(){if($.isUndefined(this.name)||$.isUndefined(this.handlerCallBack)||!this.name){throw"UserEventDefinition not valid, it doesnt have the mandatory attributes";} if(($.isUndefined(this.xPath)||!this.xPath.length)&&!$.isElement(this.jQueryObject)){throw"UserEventDefinition not valid, you have to set one "+"of the quasi optional attributes";} if(typeof this.delay!=='undefined'&&!$.isNumeric(this.delay)){throw"UserEventDefinition not valid, delay must be a Number";}},getElements:function(){var elements=[];if($.isObject(this.jQueryObject)&&!$.isUndefined(this.name)&&this.name&&!$.isUndefined(this.xPath)&&this.xPath.length&&typeof this.handlerCallBack!=='undefined'){elements=this.jQueryObject.find(this.xPath);} else if($.isObject(this.jQueryObject)&&!$.isUndefined(this.name)&&this.name&&$.isUndefined(this.xPath)&&typeof this.handlerCallBack!=='undefined'){elements=[this.jQueryObject];} else if(!$.isUndefined(this.name)&&this.name&&!$.isUndefined(this.xPath)&&this.xPath.length&&typeof this.handlerCallBack!=='undefined'){elements=$(this.xPath);} return elements;},cleanName:function(name){if(!$.isArray(name)){name=name.split(',');} name=$.map(name,$.trim);return name;}});var DelayedExecuter=$.PrototypeClass({});DelayedExecuter.execute=function(userEventDefinition,observedEvent){observedEvent.preventDefault();var event=observedEvent;if(userEventDefinition.delayId!=null){clearTimeout(userEventDefinition.delayId);userEventDefinition.delayId=null;} userEventDefinition.delayId=setTimeout(function(){DelayedExecuter.executeHandlerCallBackDelayed(event,userEventDefinition);}.bind(this),userEventDefinition.delay*1000);};DelayedExecuter.executeHandlerCallBackDelayed=function(event,userEventDefinition){clearTimeout(userEventDefinition.delayId);userEventDefinition.delayId=null;userEventDefinition.handlerCallBack(event);};var UserInterface=$.PrototypeClass(SingleParent,{modules:Object,registerEventWasSuccessful:false,observeredElements:Array(),initialize:function(){},registerEvent:function(userEventDefinition){this.registerEventWasSuccessful=false;var elements=userEventDefinition.getElements();if(elements.length){$(elements).each(function(i,element){this.registerObserver(element,userEventDefinition);}.bind(this));this.registerEventWasSuccessful=true;} return this.registerEventWasSuccessful;},registerObserver:function(domElement,userEventDefinition){var callback;if(typeof(userEventDefinition.delay)!=='undefined'&&$.isNumeric(userEventDefinition.delay)){callback=DelayedExecuter.execute.bind(this,userEventDefinition);} else{callback=userEventDefinition.handlerCallBack;} $(userEventDefinition.name).each(function(i,name){element=$(domElement).on(name,callback);if($.isElement(element)){this.registerEventWasSuccessful=true;this.observeredElements.push({element:element,eventName:name,handlerCallBack:callback});} else{this.registerEventWasSuccessful=false;}}.bind(this));},stopAllObservers:function(){$(this.observeredElements).each(function(i,observeredElement){$(observeredElement.element).off(observeredElement.eventName,observeredElement.handlerCallBack);}.bind(this));this.observeredElements=[];},loadModule:function(moduleToLoad){var moduleToLoadLowerCase;try{moduleToLoad=$.trim(moduleToLoad);moduleToLoadLowerCase=moduleToLoad.toLowerCase();this.modules[moduleToLoadLowerCase]=eval('new '+moduleToLoad);this.modules[moduleToLoadLowerCase].setParent(this);return this.modules[moduleToLoadLowerCase];} catch(e){sanego.error('sanego.ui.modules.'+moduleToLoadLowerCase+'.initialize '+e);return false;}},loadModules:function(modulesToLoad){var success=true;modulesArray=modulesToLoad.split(',');for(var i=0;i');}},prepareRequest:function(){$('span.sanego-request').each(function(i,el){if($(el).attr('data-value')){this.request[$(el).data('id')]=$(el).attr('data-value');}else{this.request[$(el).data('id')]=$.parseJSON($(el).html().trim());}}.bind(this));},prepareConfig:function(){$('span.sanego-config').each(function(i,el){this[$(el).data('id')]=$(el).attr('data-value');}.bind(this));}});var I18n=$.PrototypeClass({labels:{}});I18n._=function(id,params){if($.isUndefined(params)){params={};} if(!$.isString(id)){throw"I18n._ expects 'id' to be a string.";} var label=id;if(I18n.labels[id]){label=I18n.labels[id];} else{sanego.notice("Encountered untranslated I18n '"+id+"'.");} return $.interpolate(label,params);};function _(id,params){return I18n._(id,params);} I18n.labels={'Yes':'Ja','No':'Nein',"Ok":"Ok",'close':'schließen','update':'aktualisieren','save':'speichern','cancel':'abbrechen','Cancel':'Abbrechen','preview':'Vorschau ansehen','next':'Weiter','submit':'Eintragen','undo changes':'Änderungen rückgängig machen','preference saved':'Präferenz gespeichert','Do you really want to delete the record irrevertably?':'Soll der Eintrag wirklich unwiederbringlich gelöscht werden?','Do you really want to leave the page? There might by unappplied changed.':'Soll die Seite wirklich verlassen werden? Eventuell liegen ungespeicherte Änderungen vor.',"Do you want to accept {username}'s invitation?":'Einladung von {username} wirklich annehmen?',"Do you want to dismiss {username}'s invitation?":'Einladung von {username} wirklich löschen?',"Do you want to take back the invitation for {username}?":'Einladung für {username} wirklich zurückziehen?','Do you want to delete the connection to {username}?':'Kontakt zu {username} wirklich zurückziehen?','Do you want to invite {username} as a contact?':'Wollen Sie {username} als Kontakt einladen?','Do you want to reset the institute selection?':'Wollen Sie die Instituts-Auswahl wirklich zurücksetzen?','Do you really want to make changes?':'Wirklich die Änderungen durchführen?','There are no changes':'Es gibt keine Änderungen!','Do you really want to make changes for all {count} doctors?':'Wirklich die Änderungen für alle {count} Ärzte durchführen?','Do you want to delete this subscription?':'Wollen Sie diese Benachrichtigung wirklich löschen?','Do you really want to select no appointment option?':'Sie haben keinen Behandlungszeitraum angegeben. Sind Sie sicher, dass keine Behandlung stattgefunden hat?','You have to at least provide the mood. Even better with an additional description. Thanks.':"Es muss mindestens die Stimmung angegeben werden. Besser noch, auch eine Beschreibung. Danke.",'Oops - An unknonw error occured. Please try again later. Thank you for your understanding.':'Oops - Es ist ein unbekannter Fehler aufgetreten, bitte versuchen Sie es später noch einmal. Vielen Dank für Ihr Verständnis.','Ask the community':'Frage an die Community','Thank you for your review.':'Vielen Dank für Ihre Bewertung.','Checked the preview? Now save it.':'Vorschau kontrolliert? So speichern?','select':'wählen','Should the user really not be suggest any more?':'Soll der Benutzer wirklich nicht mehr vorgeschlagen werden?','Your changes have not been accepted as the maximum execution time is exceeded!':'Ihre Änderungen wurden nicht übernommen, da die maximale Bearbeitungszeit überschritten wurde!','Confirm':'Bestätigen','Clear':'Löschen','Back':'Zurück','Edit':'Bearbeiten','Patient information':'Patientendaten','Confirm and Send':'Bestätigen und senden','Are you sure you want to remove these tags?':'Sind Sie sicher, dass Sie diese Tags entfernen wollen?','Are you sure you want to delete this article?':'Sind Sie sicher, dass Sie diesen Expertenartikel entfernen wollen?','car':'Verkehrslage','publicTransport':'Verkehrsmittel','bicycle':'Fahrradwege'};var AsyncScriptLoader=$.PrototypeClass({css:[],pLibs:[],sLibs:[],callback:new Function(),sLibsLoaded:0,initialize:function(css,pLibs,sLibs,callback){this.css=css;this.pLibs=pLibs;this.sLibs=sLibs;this.callback=callback;this.firstLevelLoad();},validateMembers:function(){if($.isUndefined(this.callback)||$.isUndefined(this.pLibs)){throw"LoadDepency not valid, it doesnt have the mandatory attributes";}},firstLevelLoad:function(){$(this.css).each(function(i,v){var link=document.createElement('link');link.setAttribute('rel','stylesheet');link.setAttribute('type','text/css');link.setAttribute('href',v);document.getElementsByTagName('head')[0].appendChild(link);});var total=this.pLibs.length;$(this.pLibs).each(function(i,v){var script=document.createElement("script");document.getElementsByTagName("head")[0].appendChild(script);script.src=v;if(i+1==total){if(this.sLibs.length){script.onload=this.secondLevelLoad.bind(this);}else{script.onload=this.runCallback().bind(this);}}}.bind(this));},secondLevelLoad:function(){var total=this.sLibs.length;$(this.sLibs).each(function(i,v){var script=document.createElement("script");document.getElementsByTagName("head")[0].appendChild(script);script.src=v;if(i+1==total){script.onload=this.runCallback.bind(this);}else{script.onload=this.incrementLoadedCount.bind(this);}}.bind(this));},incrementLoadedCount:function(){this.sLibsLoaded++;},runCallback:function(){if(this.sLibs.length==0||this.sLibsLoaded+1>=this.sLibs.length){this.callback();}else{setTimeout(function(){this.runCallback();}.bind(this),100);}}});var Controller=$.PrototypeClass(SingleParent,{request:{},initialize:function(){},setRequest:function(request){this.request=request;return this;},init:function(){this.showBubbleFlashIfDue();},showBubbleFlashIfDue:function(){if(typeof this.request.showBubbleFlash!='undefined'&&this.request.showBubbleFlash){sanego.ui.modules.overlay.update(this.request.bubbleFlashText).show();}},autosuggestWithLoadingOverlay:function(what,elementId){sanego.ui.modules.autosuggest.addToOneElement(what,elementId,{'afterUpdateElement':function(field,item){AjaxLoaderOverlay.show($('#'+elementId).up());}.bind(this)});}});var ExtendedAutocompleter=$.PrototypeClass({initialize:function(element,update,url,options){element=$(element);this.element=element;this.url=url;this.update=$("#"+update);this.hasFocus=false;this.changed=false;this.active=false;this.autosuggestSelectIndex=0;this.entryCount=0;this.oldElementValue=element.val();if(this.setOptions){this.setOptions(options);}else{this.options=options||{};} this.options.asynchronous=true;this.options.defaultParams=this.options.parameters||null;this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onSetOffsets=this.onSetOffsets();this.observer=null;this.element.attr('autocomplete','off');$("#".update).hide();this.getBrowser();element.keydown(function(event){this.onKeyPress(event);}.bind(this));element.focus(function(event){this.onFocus(event);}.bind(this));},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry());},getCurrentEntry:function(){return this.getEntry(this.autosuggestSelectIndex);},onSetOffsets:function(){this.centerSuggestBox();},onKeyPress:function(event){if(this.active) switch(event.keyCode){case 13:case 9:event.preventDefault();var linkElement=this.getCurrentEntry().find('a');if(linkElement.length>0&&linkElement.attr('href').length){window.location=linkElement.attr('href');} this.selectEntry();this.hide();return;case 27:event.preventDefault();this.hide();this.active=false;return;case 37:case 39:return;case 38:event.preventDefault();this.markPrevious();this.render();return;case 40:event.preventDefault();this.markNext();this.render();return;}else{if($.browser>0&&event.keyCode==0)return;} this.changed=true;this.hasFocus=true;if(this.observer)clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},onFocus:function(event){if(Utils.isMobile()){var input=$(event.target);var scrollChangedCallback=function(){setTimeout(function(){$(window).on('scroll.hidemobilekeyboard',function(){Utils.hideMobileKeyboard(this.element);$(window).off('scroll.hidemobilekeyboard');}.bind(this));}.bind(this),1000);}.bind(this);if(input.prev('label').length){input.prev('label').scrollTo(1000,scrollChangedCallback);}else{input.scrollTo(1000,scrollChangedCallback);}}},getBrowser:function(){var matched,browser;$.uaMatch=function(ua){ua=ua.toLowerCase();var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie)[\s?]([\w.]+)/.exec(ua)||/(trident)(?:.*? rv:([\w.]+)|)/.exec(ua)||ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"};};matched=$.uaMatch(navigator.userAgent);matched.browser=matched.browser=='trident'?'msie':matched.browser;browser={};if(matched.browser){browser[matched.browser]=true;browser.version=matched.version;} if(browser.chrome){browser.webkit=true;}else if(browser.webkit){browser.safari=true;} $.browser=browser;},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices();}else{this.active=false;this.hide();} this.oldElementValue=this.element.val();},getToken:function(){var bounds=this.getTokenBounds();return $.trim(this.element.val().substring(bounds[0],bounds[1]));},hide:function(){this.stopIndicator();if(this.update.css('display')!='none'){this.update.hide('fast');}},show:function(){this.centerSuggestBox();if(this.update.css('display')=='none'){this.update.show('fast');};},startIndicator:function(){if(this.options.indicator)this.options.indicator.show();},stopIndicator:function(){if(this.options.indicator)this.options.indicator.hide();},getTokenBounds:function(){if(null!=this.tokenBounds)return this.tokenBounds;var value=this.element.val();if($.trim(value).length==0)return[0,0];return(this.tokenBounds=[0,$.trim(value).length]);},setOptions:function(options){this.options=$.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(){var ret=[];var partial=[];var entry=this.getToken();var count=0;for(var i=0;i"+elem.substr(0,entry.length)+""+ elem.substr(entry.length)+"");break;}else if(entry.length>=this.options.partialChars&&this.options.partialSearch&&foundPos!=-1){if(this.options.fullSearch||/\s/.test(elem.substr(foundPos-1,1))){partial.push("
  • "+elem.substr(0,foundPos)+""+ elem.substr(foundPos,entry.length)+""+elem.substr(foundPos+entry.length)+"
  • ");break;}} foundPos=this.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase(),foundPos+1):elem.indexOf(entry,foundPos+1);}} if(partial.length) ret=ret.concat(partial.slice(0,this.options.choices-ret.length));return"
      "+ret.join('')+"
    ";}.bind(this)},options||{});},updateElement:function(selectedElement){if(this.options.updateElement){this.options.updateElement(selectedElement);return;} var value='';if(this.options.select){var nodes=$(selectedElement).find('.'+this.options.select)||[];if(nodes.length>0)value=this.collectTextNodes(nodes[0],this.options.select);}else{value=this.collectTextNodesIgnoreClass(selectedElement,'informal');} var bounds=this.getTokenBounds();if(bounds[0]!=-1){var newValue=this.element.val().substr(0,bounds[0]);var whitespace=this.element.val().substr(bounds[0]).match(/^\s+/);if(whitespace) newValue+=whitespace[0];if(newValue.trim().lenght||value){this.element.val(newValue+value+this.element.val().substr(bounds[1]));}}else{this.element.val(value);} if(selectedElement.hasClass('label')){this.element.value=this.oldElementValue;}else{this.oldElementValue=this.element.value;} this.element.focus();if(this.options.afterUpdateElement) this.options.afterUpdateElement(this.element,selectedElement);},collectTextNodesIgnoreClass:function(element,className){var text="";$(element).contents().each(function(index,child){if(child.nodeType===3){text+=child.nodeValue;}else if(child.nodeType===1&&!$(child).hasClass(className)){text+=this.collectTextNodes(child,text);}}.bind(this));return text;},collectTextNodes:function(element,text){var text="";$(element).contents().each(function(index,child){if(child.nodeType===3){text+=child.nodeValue;}else if(child.nodeType===1){text+=this.collectTextNodes(child,text);}}.bind(this));return text;},markPrevious:function(){if(this.autosuggestSelectIndex>0){this.autosuggestSelectIndex--;}else{this.autosuggestSelectIndex=this.entryCount-1;this.update.scrollTop=this.update.scrollHeight;} if(!this.isElementInViewport(this.getEntry(this.autosuggestSelectIndex))){this.getEntry(this.autosuggestSelectIndex).scrollIntoView(true);}},markNext:function(){if(this.autosuggestSelectIndex=docOffsetsTop&&elOffset<=(docOffsetsTop+docHeight)){return true;} return false;},getUpdatedChoices:function(){this.startIndicator();var entry=encodeURIComponent(this.options.paramName)+'='+ encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;if(this.options.defaultParams) this.options.parameters+='&'+this.options.defaultParams;$.ajax({url:this.url,data:this.options.parameters,error:function(transport){return;}.bind(this),complete:function(transport){if(transport){this.updateChoices(transport.responseText);}}.bind(this)});},updateChoices:function(choices){if(!this.changed&&this.hasFocus){this.update.html(choices);$.trim(this.update.html());this.update.html(this.update.html());$.trim(this.update.down().html());if(this.update.get(0)&&this.update.find("li").length){this.entryCount=this.update.find("li").length;for(var i=0;i0){for(var i=0;i*").remove().end();};}(jQuery));(function($){$.interpolate=function(t,o,s){var m=(!s)?/{([^{}]*)}/g:s;if(s)m=s;return t.replace(m,function(a,b){var r=o[b];return typeof r==='string'||typeof r==='number'?r:a;});};}(jQuery));(function($){$.stripTags=function(text){return text.replace(/<\/?[^>]+>/gi,'');};}(jQuery));(function($){$.isUndefined=function(obj){return typeof obj==="undefined";};}(jQuery));(function($){$.isString=function(obj){return typeof obj==="string";};}(jQuery));(function($){$.isElement=function(el){return typeof el!=='undefined'&&$(el).length>0;};}(jQuery));(function($){$.isObject=function(el){if(typeof el==='undefined'){return false;} return Boolean(el.jquery);};}(jQuery));(function($){jQuery.fn.up=function(selector){return this.first().parents(selector).first();};}(jQuery));(function($){jQuery.fn.down=function(selector){return this.first().find(selector).first();};}(jQuery));(function($){$.fn.scrollTo=function(duration,complete,additionalSpace=0){var menuHeight=$('#outerHeader').height()+50;var duration=typeof duration!=='undefined'?duration:1000;$('html, body').animate({scrollTop:this.offset().top+additionalSpace-menuHeight},duration,complete);}})(jQuery);(function($){jQuery.fn.identify=function(){return $(this).uniqueId();};}(jQuery));(function($){jQuery.fn.classNamesArray=function(){if(this.attr('class').length){return this.attr('class').split(/\s+/);}else{return[];}};}(jQuery));SingleParent.UserInterfaceUniqueElement=$.PrototypeClass(SingleParent,{initialize:function(){this.userEventDefinitions=[];},unregisterEvents:function(){$(this.userEventDefinitions).each(function(i,eventDefinition){if($.isUndefined(eventDefinition)){return false;} var elements=eventDefinition.getElements();if(!elements.length){return false;} elements.each(function(j,element){$(eventDefinition.name).each(function(k,name){$(element).off(name,eventDefinition.handlerCallBack);}.bind(this));}.bind(this));eventDefinition=null;});this.userEventDefinitions=[];}});var Layout=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{onScrollLoaded:false,spritesToResize:[],scrollElement:null,setup:function(){this.resizeDefaultUserImage();sanego.ui.modules.greedylink.add('.greedyLink');this.registerBreadcrumbClickCounter();this.registerTabsLinksTracking();this.registerLazyLoadImages();this.registerOnScroll();this.cleanHtmlForMobile();if(sanego.userId&&Utils.isMobile()){this.registerNavbarBrand();} if(Utils.detectIE()){$('head').append('');}},resizeDefaultUserImage:function(){if(Utils.isMobile()){$('.userimage.big_she').toggleClass('big_she').toggleClass('small_she');$('.userimage.big_he').toggleClass('big_he').toggleClass('small_he');}},makeImagesResponsive:function(containerXPath){$(containerXPath).find('img').addClass('img-responsive');},registerBreadcrumbClickCounter:function(){$('div.breadcrumbs a').each(function(i,link){$(link).click(function(event){var el=$(event.currentTarget);Utils.bcT(location.href,el.attr('href'));});});},registerLazyLoadImages:function(){var lazyloadEl=$('img.lazyload[src="data:,"]');if(lazyloadEl.length){this.loadImagesInViewport();this.scrollElement=$(document);this.scrollElement.on('scroll.lazyloadimages',function(event){this.loadImagesInViewport(event);}.bind(this));}},loadImagesInViewport:function(event){var lazyloadEl=$('img.lazyload[src="data:,"]');var elCount=lazyloadEl.length;lazyloadEl.each(function(i,img){if($(img)&&$(img).attr('src')=="data:,"&&Utils.isElementInViewport($(img),false,100)){$(img).attr('src',$(img).data('src'));if(this.scrollElement&&elCount<=1){this.scrollElement.off('scroll.lazyloadimages');}}}.bind(this));},registerOnScroll:function(){$(window).scroll(function(){if(!this.onScrollLoaded){this.onScrollLoaded=true;}}.bind(this));},registerTabsLinksTracking:function(){sanego.ui.modules.tracking.trackTabsElementClick($('.tabbed .w a'));},registerNavbarBrand:function(){$('.navbar-brand').each(function(i,el){var li=$(el).up('.navbar').find('.nav').find('.active > a');if(li.length>0){li.up('.navbar').find('.navbar-brand').text(li.last().text());}});},cleanHtmlForMobile:function(){if(Utils.isMobile()){$("#about-us, #services").find('p').each(function(){var element=$(this);if(element.html().replace(/\s| /g,'').length==0||element.html().replace(/\s| /g,'').length==4&&element.children().is("br")){element.hide();}});}},});var Overlay=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{fullWidthPercentage:95,initialize:function($super){$super();this.id=null;this.backgroundId=null;this.contentId=null;this.defaultWidth=465;this.hideOverlayHook=null;this.canHide=true;},setup:function(){if(this.generate()){this.setupDocumentListeners();}},generate:function(){if($.isElement($(this.id))||$.isElement($(this.backgroundId))){return false;} var overlay=$("
    ",{'class':'overlay','style':'display: none'});if(sanego.extraOverlayClassNames){overlay.addClass(sanego.extraOverlayClassNames);} overlay.identify();this.id='#'+$(overlay).attr('id');$(document.body).append(overlay);var contentArea=$("
    ");contentArea.addClass('content');$(this.id).append($("
    ")).append(contentArea);this.contentId='#'+$(contentArea).uniqueId().attr('id');var backg=$("
    ",{'class':'overlayBackg',style:'display: none'});$(document.body).append(backg) this.backgroundId='#'+$(backg).identify().attr('id');$(this.backgroundId).click(function(){this.hide();}.bind(this));this.hide();this.addCloseButton();if(Utils.isMobile()&&$(window).width()',{'href':'#','title':_('close')+' [esc]'}).append(_('close')).click(function(event){event.preventDefault();this.hide(true);}.bind(this));$(this.id).find('div').first().addClass('closeOverlay').html(this._closeButton);},removeCloseButton:function(){if(this._closeButton)this._closeButton.remove();},insert:function(htmlString){$(this.contentId).append(htmlString);this.center();return this;},show:function(){this.blurFocusedElement();$(this.id).show();$(this.backgroundId).show();return this;},hide:function(forceHide){if(!this.canHide&&!forceHide)return;if($.isFunction(this.hideOverlayHook)){this.hideOverlayHook();this.hideOverlayHook=null;} if(this.visible()&&typeof this.focusedElement!=='undefined'&&this.focusedElement.length){this.focusedElement.focus();} $(this.id).hide();$(this.backgroundId).hide();$(this.id).trigger('overlay:close');return this;},hideDelayed:function(seconds){if(!$.isNumeric(seconds)){seconds=1.5;} setTimeout(function(){this.hide();}.bind(this),seconds*1000);return this;},update:function(htmlString){$(this.contentId).html(htmlString);this.center();return this;},resize:function(width,height,fullscreen){if(typeof width!=='undefined'&&width!=null){width=width+35;}else{width=this.defaultWidth;} if(width>$(window).width()){width=$(window).width();} $(this.id).css({'width':width+'px'});if(typeof fullscreen!=='undefined'){$(this.id).css({'height':this.fullWidthPercentage+'%'});}else if(typeof height!=='undefined'&&height!=null){height=height+60;if(height>$(window).height()){heigth=$(window).height();} $(this.id).css({'height':height+'px'});}else{$(this.id).css({'height':'auto'});} this.center();return this;},resizeFullScreen:function(){fullWidth=$(window).width()*this.fullWidthPercentage / 100;this.resize(fullWidth,undefined,true);},center:function(){var paddingHeight=38;var marginAndPaddingHeight=paddingHeight+20;var viewportHeight=$(window).height();var maxHeight=viewportHeight-marginAndPaddingHeight;var height=0;var outerHeight=$(this.id).outerHeight();var contentHeight=$(this.id).find('.content').prop('scrollHeight')+paddingHeight;if(outerHeight>contentHeight){height=outerHeight;}else{height=contentHeight;} if(maxHeight>0){$(this.contentId).css({'overflowY':'auto','maxHeight':maxHeight+'px'});} var diff=viewportHeight-height;var top=Math.max((diff / 2),0);var width=$(this.id).outerWidth();diff=$(window).width()-width;if(Utils.isMobile()){var left=0;}else{var left=Math.max((diff / 2),0);} $(this.id).css({'top':top+'px','left':left+'px'});return this;},resetSize:function(){if(this.defaultWidth!=null){this.resize(this.defaultWidth);} return this;},showConfirmLayer:function(confirmHTML,confirmYesLabel,confirmNoLabel,functionObject){var confirmDiv=$('
    ');var yesButton=$('',{type:'button',value:confirmYesLabel});var noButton=$('',{type:'button',value:confirmNoLabel});yesButton.click(functionObject);noButton.click(function(){this.hide();}.bind(this));confirmDiv.append(confirmHTML);confirmDiv.append($('
    '));confirmDiv.append($('
    '));confirmDiv.append(yesButton);confirmDiv.append(' ');confirmDiv.append(noButton);this.update(confirmDiv).show();yesButton.focus();return this;},showAlert:function(message,okLabel){var confirmDiv=$('
    ');var okButton=$('',{type:'button',value:okLabel});okButton.click(this.showAlertClickHandler.bind(this));confirmDiv.append(message);confirmDiv.append($('
    '));confirmDiv.append($('
    '));confirmDiv.append(okButton);this.update(confirmDiv).show();okButton.focus();return this;},showAlertClickHandler:function(event){this.hide();},appear:function(){$(this.backgroundId).fadeIn();$(this.id).fadeIn();return this;},setupDocumentListeners:function(){$(document).keydown(function(event){if(event.keyCode==27){event.preventDefault();this.hide();}}.bind(this));$(window).resize(function(event){if(this.visible()){this.center();}}.bind(this));},selectContent:function(selector){return $(this.contentId).find(selector);},updateAjax:function(url,options){this.update();AjaxLoaderOverlay.show($(this.id));this.update('');this.center();this.show();if($.isUndefined(options)){options={};} if($.isUndefined(options.method)){options.method='get';} var postSuccess;if($.isFunction(options.success)){postSuccess=options.success;} else{postSuccess=function(transport){};} options.success=function(transport){AjaxLoaderOverlay.hide($(this.id));this.update(transport);this.center();postSuccess(transport);}.bind(this);$.ajax(url,options);return this;},visible:function(){return $(this.id).is(':visible');},onHide:function(callback){$(this.id).on('overlay:close',function(){callback();});},blurFocusedElement:function(){this.focusedElement=$(":focus");this.focusedElement.blur();}});var ContentOverlay=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{ajaxUrl:null,continueUrl:null,target:null,entryPagePrefix:'',trackingArea:'',initialize:function($super){$super();},setup:function(){if(this.parent.parent.contentOverlayUrl){this.ajaxUrl=this.parent.parent.contentOverlayUrl;this.showAjaxForm(this.ajaxUrl);} if(this.parent.parent.entryPagePrefix){this.entryPagePrefix=this.parent.parent.entryPagePrefix;} if(this.parent.parent.entryPagePrefix){this.trackingArea=this.parent.parent.trackingArea;}},showAjaxForm:function(ajaxUrl){if($.isUndefined(ajaxUrl)){ajaxUrl=this.ajaxUrl;} $.ajax(ajaxUrl,{type:'get',cache:false,success:this.onSuccess.bind(this),fail:this.showStaticForm.bind(this)});},showStaticForm:function(){if(!$.isUndefined(this.staticFallbackUrl)){window.location=this.staticFallbackUrl;}},onSuccess:function(transport){this.parent.modules.overlay.resize(700).update(transport).show();this.tracking();return false;},tracking:function(){var entryPageName=this.entryPagePrefix;sanego.ui.modules.tracking.impression('Overlay',this.trackingArea);},generateAjaxUrl:function(url){if($.isUndefined(url)){return this.ajaxUrl;} var params=url.split("?")[1];var ajaxUrl=this.ajaxUrl;if(!$.isUndefined(params)){ajaxUrl=ajaxUrl+'?'+params;} return ajaxUrl;},close:function(){this.parent.modules.overlay.hide();}});var RegistrationOverlay=$.PrototypeClass(ContentOverlay,{initialize:function($super){$super();this.entryPagePrefix='registrieren';this.trackingArea='registrieren';this.staticFallbackUrl='/registrieren';this.ajaxUrl='/ajax/registration-overlay';this.overlayDontShowAgain=true;},setup:function(){if(this.userEventDefinitions.length>0){this.unregisterEvents();} if(!this.parent.parent.userIsLoggedIn){if(this.parent.parent.useRegistrationOverlay){this.userEventDefinitions[0]=new UserEventDefinition({name:"click",xPath:".doRegister, a[href='#registrieren']",handlerCallBack:function(event){event.preventDefault();var el=$(event.currentTarget);if(el.data('continue')){this.continueUrl=el.data('continue');} if(el.data('target')){this.target=el.data('target');} this.show(this.staticFallbackUrl);}.bind(this)});this.parent.registerEvent(this.userEventDefinitions[0]);}}},show:function(url){if(this.parent.parent.useRegistrationOverlay){this.showAjaxForm(this.generateAjaxUrl(url));} else{this.showStaticForm();}},onSuccess:function(transport){this.parent.modules.overlay.resize(700).update(transport).show();if(this.continueUrl){$('.overlay form input[name=continue]').val(this.continueUrl);} if(this.parent.parent.useLoginOverlay){this.enableShowLoginOverlay();} this.tracking();return false;},enableFocusLoginBox:function(){$(this.parent.modules.overlay.contentId).find(".doLogin").first().click(function(event){event.preventDefault();this.parent.modules.overlay.hide();this.parent.modules.loginbox.show();}.bind(this));},enableShowLoginOverlay:function(){$(this.parent.modules.overlay.contentId).find(".doLogin").first().click(function(event){var el=event.target;this.parent.modules.loginoverlay.continueUrl=this.continueUrl;this.parent.modules.loginoverlay.target=this.target;this.parent.modules.loginoverlay.show(el.href);event.preventDefault();}.bind(this));}});var LoginOverlay=$.PrototypeClass(ContentOverlay,{initialize:function($super){$super();this.entryPagePrefix='login';this.trackingArea='login';this.staticFallbackUrl='/login';this.ajaxUrl='/ajax/login-overlay';},setup:function(){if(this.userEventDefinitions.length>0){this.unregisterEvents();} if(!this.parent.parent.userIsLoggedIn){if(this.parent.parent.useLoginOverlay){this.userEventDefinitions[0]=new UserEventDefinition({name:"click",xPath:".doLogin:not(.static)",handlerCallBack:function(event){event.preventDefault();this.show(this.staticFallbackUrl);el=$(event.currentTarget);if(el.data('continue')){this.continueUrl=el.data('continue');} if(el.data('target')){this.target=el.data('target');}}.bind(this)});this.parent.registerEvent(this.userEventDefinitions[0]);}}},show:function(url){if(this.parent.parent.useLoginOverlay){this.showAjaxForm(this.generateAjaxUrl(url));}else{this.showStaticForm();}},onSuccess:function(transport){this.parent.modules.overlay.resize(550).update(transport).show();if(this.parent.parent.useRegistrationOverlay){this.enableShowRegistrationOverlay();} if(this.continueUrl){$('.overlay form input[name=continue]').val(this.continueUrl);} if(this.target){$('.overlay form').attr('target',this.target);}else{if(!Utils.isMobile()){$('#username_loginOverlay').focus();} this.registerFormValidator();} this.tracking();this.registerOnFormSubmit();return false;},enableShowRegistrationOverlay:function(){$(this.parent.modules.overlay.contentId).find(".doRegister").click(function(event){var el=$(event.currentTarget);this.parent.modules.registrationoverlay.show(el.attr('href'));event.preventDefault();}.bind(this));},registerFormValidator:function(){try{new UserAuthenticateOverlayFormValidator();} catch(error){sanego.error(error);}},registerOnFormSubmit:function(){$('.overlay form').submit(function(){if(this.target=='_blank'){return this.close();}}.bind(this));}});var DoctorLoginOverlay=$.PrototypeClass(ContentOverlay,{initialize:function($super){$super();this.entryPagePrefix='doctorLogin';this.trackingArea='doctorLogin';this.ajaxUrl='/ajax/doctor-login-overlay';this.continueUrl='';},setup:function(){if(this.userEventDefinitions.length>0){this.unregisterEvents();} if(this.parent.parent.useLoginOverlay){this.userEventDefinitions[0]=new UserEventDefinition({name:"click",xPath:".doDoctorLogin",handlerCallBack:function(event){event.preventDefault() var el=$(event.currentTarget);if(el.data('doctorid')){this.doctorId=el.data('doctorid');}else if(el.data('instituteid')){this.instituteId=el.data('instituteid');} if(el.data('continue')){this.continueUrl=el.data('continue');}else{this.continueUrl=document.location.pathname+'editieren/';} this.show();}.bind(this)});this.parent.registerEvent(this.userEventDefinitions[0]);}},show:function(){if(this.parent.parent.useLoginOverlay&&this.doctorId){this.showAjaxForm(this.generateAjaxUrl(this.ajaxUrl)+'?doctorId='+this.doctorId+'&continue='+this.continueUrl);}else if(this.parent.parent.useLoginOverlay&&this.instituteId){this.showAjaxForm(this.generateAjaxUrl(this.ajaxUrl)+'?instituteId='+this.instituteId+'&continue='+this.continueUrl);}},onSuccess:function(transport){this.parent.modules.overlay.resize(550).update(transport).show();this.tracking();this.focusLoginForm();return false;},focusLoginForm:function(){if(!Utils.isMobile()){$('#username_loginOverlay').focus();} try{new UserAuthenticateOverlayFormValidator();} catch(error){sanego.error(error);}}});var Spam=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{DELAY_TIME:3.5,MAX_NUM_DOCTORS:1,initialize:function($super){$super();this.item={};this.doctor={};this.user={};this.claimedDoctor;this.continueUrl;this.requestSent=false;this.refreshPage=true;},setup:function(){$(document).on('overlay:close',function(){this.onClose();}.bind(this));this.overlay=this.parent.modules.overlay;},hideOverlay:function(event){event.preventDefault();this.overlay.hide();},doReportSpam:function(){this.disableInputs();if(!this.requestSent){this.requestSent=true;if($('#claimsRatedDoctorCheckbox').length&&$('#claimsRatedDoctorCheckbox').prop('checked')){this.claimedDoctor=this.doctor.id;} $.ajax('/ReportSpam/index',{method:'post',data:{itemType:this.item.type,itemId:this.item.id,claimedDoctor:($.isUndefined(this.claimedDoctor)?'':this.claimedDoctor)},success:function(response){this.onClose=function(){if(this.refreshPage){if(this.continueUrl){window.location=this.continueUrl;}else{window.location.reload();}}};$('#response').html(response.message);$('#response').show();if(response.proceed){this.fetchSpamExplain();}else{this.overlay.hideDelayed(this.DELAY_TIME);}}.bind(this),fail:function(){this.overlay.hide();}.bind(this)});}},doSpamExplain:function(){this.disableInputs();if(!this.requestSent){this.requestSent=true;if(this.item.type!='DoctorRating'){this.overlay.hide();return;} var explanation=$('#explanationField').val();var isAbuse=$('#isAbuse:checked').length?1:0;var isFalseFact=$('#isFalseFact:checked').length?1:0;var isOther=$('#isOther:checked').length?1:0;$.ajax('/ReportSpam/create-spam-report',{method:'post',data:{itemId:this.item.id,itemType:this.item.type,isAbuse:isAbuse,isFalseFact:isFalseFact,isOther:isOther,explanation:explanation},success:function(transport){if(this.parent.parent.userIsLoggedIn&&this.parent.parent.userId==this.doctor.userId){this.overlay.selectContent('.success').last().show();this.overlay.hideDelayed(this.DELAY_TIME);}else if(this.claimedDoctor){if(this.doctor.userId){this.showLoginOverlay();}else{this.fetchSpamVerify();}}else if(this.parent.parent.userIsLoggedIn){this.overlay.selectContent('.success').last().show();this.overlay.hideDelayed(this.DELAY_TIME);}else{this.showLoginOverlay();}}.bind(this),fail:function(){this.overlay.selectContent('.error').last().show();this.overlay.hideDelayed(this.DELAY_TIME);}.bind(this)});}},fetchSpamConfirm:function(){this.overlay.updateAjax('/ajax/spam-confirm',{method:'post',data:{itemType:this.item.type,itemId:this.item.id},success:function(){this.overlay.selectContent('form').last().submit(function(event){event.preventDefault();});if(this.item.type=='DoctorRating'){$('#claimsRatedDoctor').show();$('#claimsRatedDoctorCheckbox').prop('disabled',false);if(this.parent.parent.userIsLoggedIn){if(this.parent.parent.userId==this.doctor.userId){$('#claimsRatedDoctorCheckbox').attr('checked',true);$('#claimsRatedDoctor').hide();$('#ownerText').show();}else{}}else{if(this.doctor.userId){}else if(!jQuery.isEmptyObject(sanego.request.claimedDoctors)&&sanego.request.claimedDoctors[this.doctor.id]!=='undefined'){if(Object.keys(sanego.request.claimedDoctors).length<=this.MAX_NUM_DOCTORS){$('#claimsRatedDoctorCheckbox').attr('checked',true);}}}} $('#confirmSpamSubmit').focus();$('#confirmSpamSubmit').click(this.doReportSpam.bind(this));$('#confirmSpamCancel').click(this.hideOverlay.bind(this));this.requestSent=false;}.bind(this),fail:function(){this.overlay.hide();}.bind(this)});},fetchSpamExplain:function(){this.overlay.updateAjax('/ajax/spam-explain',{method:'post',data:'itemId='+this.item.id+'&assumeDoctor='+($.isUndefined(this.claimedDoctor)?0:1),success:function(transport){if(transport==1){this.overlay.hideDelayed(this.DELAY_TIME);}else{$('#explanationField').focus() $('#whyReportCancel').click(this.hideOverlay.bind(this));this.requestSent=false;}}.bind(this),fail:function(){this.overlay.hide();}.bind(this)});},fetchSpamVerify:function(){this.disableInputs();this.overlay.updateAjax('/ajax/spam-verify',{method:'post',data:'doctorId='+this.doctor.id,success:function(){$('#loginButton').click(this.showLoginOverlay.bind(this));this.overlay.selectContent('a').first().focus();if(this.doctor.userId){$(this.overlay.selectContent('p')[1]).show();}else if(this.doctor.verificationCount==0){$(this.overlay.selectContent('p')[2]).show();}else{$(this.overlay.selectContent('p')[2]).show();$(this.overlay.selectContent('p')[3]).show();}}.bind(this),fail:function(){this.overlay.hide();}.bind(this)});},showReportOverlay:function(item,continueUrl,doctor,refreshPage){this.item=item;this.continueUrl=continueUrl;this.doctor=doctor;this.fetchSpamConfirm();if(!$.isUndefined(refreshPage)){this.refreshPage=refreshPage;}},showLoginOverlay:function(event){if(this.parent.parent.userIsLoggedIn){this.parent.loadModule('LoginOverlay');} var query={};if(this.continueUrl){query['continue']=encodeURIComponent(this.continueUrl);} if(this.claimedDoctor){query.doctorId=this.claimedDoctor;} this.parent.modules.loginoverlay.show('?'+$.param(query));if(!$.isUndefined(event))event.preventDefault();},disableInputs:function(){this.overlay.selectContent('input').prop('disabled',true);this.overlay.selectContent('textarea').prop('disabled',true);},enableInputs:function(){this.overlay.selectContent('input').prop('disabled',false);},onClose:function(){}});var InformationOverlay=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{initialize:function($super){$super();},setup:function(){if(this.userEventDefinitions.length>0){this.unregisterEvents();} this.userEventDefinitions[0]=new UserEventDefinition({name:"click",xPath:"a.informationOverlay",handlerCallBack:this.fetch.bind(this)});this.parent.registerEvent(this.userEventDefinitions[0]);},fetch:function(event){var parameters={};var href=$(event.currentTarget).attr('href');var matches=href.split('#');var type=matches[1];if(type){parameters.type=type;href=matches[0];} event.preventDefault();this.parent.modules.overlay.updateAjax(href,{data:parameters});}});var Autosuggest=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{suggestionsId:'',initialize:function($super){$super();this.elements=[];},add:function(){var whatToSuggest=arguments[0];var j=0;for(var i=1;i",{id:this.suggestionId,'class':'suggestions'});$(document.body).append(inputArea);if(typeof options==='undefined'){options={};} options.paramName='name';options.parameters='whatToSuggest='+whatToSuggest;options.method='get';var input=$(inputArea).identify();new ExtendedAutocompleter(element,input.get(0).id,'/ajax/autosuggest',options);this.elements.push(element);return true;} return false;},isElementExtended:function(element){return(typeof element==='element'&&this.elements.include(element));},modifyQueryString:function(querystring,blacklist,stimuli){if(!$.isUndefined(blacklist)){querystring+=this.valuesToQueryString('blacklist',blacklist);} if(!$.isUndefined(stimuli)){querystring+=this.valuesToQueryString('stimuli',stimuli);} return querystring;},valuesToQueryString:function(parameterName,values){if(!$.isArray(values)){values=[values];} var parameterstring='';$.each(values,function(i,item){parameterstring+='&'+parameterName+'[]='+encodeURIComponent(item);});return parameterstring;},remove:function(){$('#'+this.suggestionId).remove();}});var CategorizedAutosuggest=$.PrototypeClass(Autosuggest,{initialize:function($super){$super();},addToOneElement:function(whatToSuggest,elementId,options){element=$('#'+elementId);if(!element.get().length){sanego.error('Autosuggest for element with id='+elementId+' cannot be created. Element does not exist!');return;} if(element&&!this.isElementExtended(element)){var elementId=element.attr("id");var inputArea=$("
    ",{id:elementId+'_suggestions','class':'suggestions'});$(document.body).append(inputArea);if($.isUndefined(options)){options={};} options.paramName='name';options.parameters='whatToSuggest='+whatToSuggest;options.method='get';new ExtendedAutocompleter(element,$(inputArea).attr("id"),'/ajax/categorized-autosuggest',options);this.elements.push(element);return true;} return false;}});var GrowingTextArea=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(){$('.maygrow').autogrow();}});var GreedyLink=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{add:function(xPath){$(xPath).each(function(i,listElement){$(listElement).css({cursor:'pointer'}).on('mouseover',function(event){$(listElement).find('a').first().css({textDecoration:'underline'});}).on('mouseout',function(event){$(listElement).find('a').first().css({textDecoration:'none'});}).on('click',function(event){event.preventDefault();}).on('mousedown',function(event){var element=$(event.currentTarget);if(event.which==1||event.which==2){var link=element.find('a');if(link.length){if(event.ctrlKey||event.which==2){window.open(link.attr('href'),'_blank');}else{document.location=link.attr('href');}}}}.bind(this));}.bind(this));}});var FakeLink=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{initialize:function($super){$super();this.xPath='.fakeLink';},setup:function(){this.initialRun();},initialRun:function(){$(this.xPath).each(function(i,element){var element=$(element) if(element.hasClass('mobOnly')&&!Utils.isMobile()){element.show();return true;} if(element.data('url')){element.addClass('linkStyle');element.click(function(){this.fakeLinkClickObserver(element.attr('data-url'),element.attr('data-target'));}.bind(this));}else{var previous=$(element).prev();if(!previous.attr('href')){var content=$.trim(element.text())||'';var id=element.attr('id');var rel=element.attr('rel');var target=element.data('target');var title=element.attr('title');var accesskey=element.attr('accesskey');element.removeClass('fakeLink');var classNames=element.attr('class');previous.wrap($('',{href:content,id:id,rel:rel,target:target,title:title,'class':classNames,accesskey:accesskey}));element.remove();}}}.bind(this));},fakeLinkClickObserver:function(url,target){if(target=='_blank'){window.open(url);}else{location.href=url;}}});var YesNoRating=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(){if(this.userEventDefinitions.length>0){this.unregisterEvents();} this.userEventDefinitions[0]=new UserEventDefinition({name:"click",xPath:"div.yesNoRating .link",handlerCallBack:this.yesNoRating.bind(this)});this.parent.registerEvent(this.userEventDefinitions[0]);this.userEventDefinitions[1]=new UserEventDefinition({name:"click",xPath:"div.yesNoRating .label",handlerCallBack:this.showWhoRated.bind(this)});this.parent.registerEvent(this.userEventDefinitions[1]);},yesNoRating:function(event){event.preventDefault();var linkElement=$(event.currentTarget);if(linkElement.attr('href')){var rateUrl=linkElement.attr('href');}else{var rateUrl=linkElement.data('url');} var divContainerElement=linkElement.up('div.yesNoRating');AjaxLoaderOverlay.show(divContainerElement);$.ajax(rateUrl,{method:'post',success:function(divContainerElement,transport){divContainerElement.html(transport);this.setup();}.bind(this,divContainerElement),failure:function(event){}});},showWhoRated:function(event){event.preventDefault();var labelElement=$(event.currentTarget) sanego.ui.modules.overlay.updateAjax(labelElement.data('url'),{success:function(transport){}.bind(this)});}});var Tabs=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(){var tablinks=$('ul.page-links li a');var tabIds=[];if(tablinks.length>0){tablinks.each(function(i,linkElement){var linkElement=$(linkElement);var tabLink=this.getTabLinkContentId(linkElement);if(tabLink&&$(tabLink)){tabIds.push(tabLink);var headings=$(tabLink).find('h1:first, h2:first, h3:first, h4:first, h5:first, h6:first');if(headings.length>0){headings.first().hide();} linkElement.click(function(event){event.preventDefault();var linkElement=$(event.currentTarget);if('onhashchange'in window){var activeId=this.getTabLinkContentId(linkElement);var tmpId=activeId+'-'+Math.floor(Math.random()*10001);$('#'+activeId).attr('id',tmpId);document.location.hash=activeId;$('#'+tmpId).attr('id',activeId);} else{this.focus(linkElement);}}.bind(this));}}.bind(this));if(tablinks.length===tabIds.length){$('ul.page-links').each(function(i,list){this.elementToTabbedList(list);}.bind(this));if('onhashchange'in window){$(window).hashchange(function(event){var tabId=document.location.hash.substring(1);if($('#'+tabId)){this.focus($('.tabbed li a[href~="#'+tabId+'"]').first());}}.bind(this));} this.autoFocus();}}},autoFocus:function(){var hash=document.location.hash;var active=$('.tabbed li.active a');$('.tabbed li:first-child a').each(function(i,element){var hasActiveSibling=false;$(element).up().nextAll().each(function(i,sibling){if($(sibling).hasClass('active')){hasActiveSibling=true;return;}});if(!hasActiveSibling){active.push(element);}});if(hash.length>0&&$(hash.substring(1))){active.push($('.tabbed li a[href~="#'+hash.substring(1)+'"]').first());} active.each(function(i,element){this.focus(element);}.bind(this));},focus:function(element){var activeId=this.getTabLinkContentId(element);var activeTab=element.up('li');var siblingTabs=activeTab.siblings();siblingTabs.each(function(siblingTab){siblingTab.removeClass('active');this.getTabContentElement(siblingTab).hide();}.bind(this));activeTab.addClass('active');$(activeId).show();},getTabLinkContentId:function(linkElement){return linkElement.attr('href').split('#')[1];},getTabContentElement:function(tabElement){var id=this.getTabLinkContentId(tabElement.find('a').first());return $(id);},elementToTabbedList:function(list){list.addClass('tabbed');var wrapped;list.find('li').each(function(i,item){wrapped=$('
    ',{'class':'w'});item.children.each(function(i,content){wrapped.append(content);});item.html(wrapped);});}});var ShowMore=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(container){var elements=null;if(typeof container!=='undefined'){elements=container.find('.showMore');}else{elements=$('.showMore');} elements.each(function(i,link){var link=$(link);var contentUrl=link.data('url');link.show();if(link.prevAll('.lessText').length){link.prevAll('.lessText').first().show();} link.click(function(event){event.preventDefault();var link=$(event.currentTarget);if(link.hasClass('overlay')){if(contentUrl){newHtml=contentUrl;this.parent.modules.overlay.updateAjax(newHtml).show();}else{newHtml=link.prevAll('.moreText').first().html();this.parent.modules.overlay.update(newHtml).show();}}else{if(link.prevAll('.lessText').length){link.prevAll('.lessText').first().remove();} if(contentUrl){AjaxLoaderOverlay.show(link);var postData={};if(link.data('post')){postData=link.data('post');} $.post(contentUrl,postData).done(function(data){AjaxLoaderOverlay.hide(link);var updateElement=link.prevAll('.loadHtml').first();updateElement.html(data);updateElement.show();link.toggleClass('showMore shownMore').hide();$(updateElement).trigger('ShowMore:loaded');if(updateElement.find('.showMore')){sanego.ui.modules.showmore.setup(updateElement);}});}else{var moreTextElement=link.prevAll('.moreText').first() moreTextElement.hasClass("limitText")?moreTextElement.removeClass("limitText"):moreTextElement.css('display','inline-block');link.toggleClass('showMore shownMore').hide();}}}.bind(this));}.bind(this));}});var TextPreview=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(container){const DESKTOP_HEIGHTLIMIT=1000;const MOBILE_HEIGHTLIMIT=100;var elements=null;if(typeof container!=='undefined'){elements=container.find('#about-us > .moreText, #services > .moreText');}else{elements=$('#about-us > .moreText, #services > .moreText');} elements.each(function(i,textElement){var textElement=$(textElement);var height=textElement.outerHeight(true);if(Utils.isMobile()){height+=this.getImagesHeight(textElement);} if((!Utils.isMobile()&&height>DESKTOP_HEIGHTLIMIT)||(Utils.isMobile()&&this.getViewHeight(height)>MOBILE_HEIGHTLIMIT)){textElement.addClass("limitText");}else{textElement.siblings(".showMore").hide();}}.bind(this));},getViewHeight:function(height){var viewportHeight=$(window).height();var vh=(height*100)/ viewportHeight;return vh;},getImagesHeight:function(textElement){var images=textElement.find("img");var imagesHeight=0;images.each(function(i,image){var image=$(image);var imageHeight=parseInt(image.get(0).style.height)||0;imagesHeight+=imageHeight;}) return imagesHeight}});var ShowRest=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(container){var elements=null;if(typeof container!=='undefined'){elements=container.find('.showRest');}else{elements=$('.showRestCont .showRest');} elements.each(function(i,link){var link=$(link);var container=link.up('.showRestCont');link.show();container.find('.lessText').css('display','inline');var lessHtmlLenght=container.find('.lessText').text().length;var maxLenght=container.find('.lessText').data('length');if(lessHtmlLenght>=maxLenght){container.find('.lessText').append('…');} if(container.find('.lessText').length){container.find('.lessText').first().show();} link.click(function(event){event.preventDefault();var link=$(event.currentTarget);link.hide();container.find('.hideText').hide();lessHtml=container.find('.lessText').html().replace(/…$/,'').replace(/\.\.\.$/,'');container.find('.lessText').html(lessHtml) container.find('.moreText').css('display','inline');}.bind(this));}.bind(this));}});var OverlayPicture=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{initialize:function($super){$super();this.xPath='.overlayPicture';},setup:function(xPath){if(typeof xPath!='undefined'){this.xPath=xPath;} this.initialRun();},initialRun:function(){$(this.xPath).each(function(i,element){if(!$(element).find('img').length&&!$(element).is('img')){return;} $(element).click(function(event){event.preventDefault();if($(event.currentTarget).is('img')){var photoLink=$(event.currentTarget).up('a');}else{var photoLink=$(event.currentTarget).find('a');} $('',{'src':photoLink.attr('href'),'class':'img-responsive center'}).on('load',function(){Utils.isMobile()?sanego.ui.modules.overlay.update(this).show():sanego.ui.modules.overlay.update(this).resize(this.width,this.height).show()});});}.bind(this));}});var Tracking=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{impression:function(category,label){if(typeof gtag!=="undefined"){try{gtag('event','impression',{'event_category':category,'event_action':'impression','event_label':label,'custom_event_dimension':category+'-impression-'+label,'send_to':['G-96V65N44V7','G-V0YSD986CL']});} catch(e){}}},clickEvent:function(category,label,callback){if(typeof callback=="undefined"){callback=function(){};} if(typeof gtag!=="undefined"){try{gtag("event","click",{'event_category':category,'event_label':label,'event_action':'click','custom_event_dimension':category+'-click-'+label,'event_callback':Utils.createFunctionWithTimeout(callback),'send_to':['G-96V65N44V7','G-V0YSD986CL']})} catch(e){}}},event:function(category,action,label,value){if(typeof gtag!=="undefined"){if(!$.isUndefined(sanego.request.abTest)){var ab=sanego.request.abTest;label+=$.interpolate(", version: {version}, release: {release}",{version:ab.version,release:ab.release})} try{gtag('event','custom_event',{'event_category':category,'event_action':action,'event_label':label,'custom_event_dimension':category+'-'+action+'-'+label,'value':value,'send_to':['G-96V65N44V7','G-V0YSD986CL']});}catch(e){}}},trackTabsElementClick:function(elements){elements.click(function(event){event.preventDefault();var element=$(event.target);var tabType=$.trim(element.text());var tabUrl=$(this).attr('href');sanego.ui.modules.tracking.clickEvent('Tabs',tabType,function(){location.href=tabUrl;});});}});var Button=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(){$('.button').click(this.onClick);},onClick:function(event){var button=$(event.currentTarget);if(button.hasClass('disabled')){event.preventDefault();}}});var Hiddeable=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{initialize:function($super){$super();},setup:function(){$('.hiddeable:not(.open)').hide();}});var SlideToggle=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(){this.toggleButtons=$('.showToggle, .hideToggle, .bothToggle') if(this.toggleButtons.length>0){this.toggleButtons.on("click",function(event){event.preventDefault();var clickedButton=$(event.target);this.container=clickedButton.parents(".toggleContainer") this.toggleSlide();}.bind(this));}},toggleSlide:function(){if(this.container.find(".bothToggle").length===0){this.toggleButtons=this.container.find(".showToggle, .hideToggle") this.toggleButtons.toggle()}else{this.container.find(".bothToggle").toggleClass("open")} this.container.find(".hiddeable").slideToggle()}});var Location=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{tempPlaceholder:'',registerForContainer:function(container,what,trackingLabel){if(typeof container=='undefined'){return sanego.error('cointaner has to be defined');} var element=container;element.click(function(){element.off('click');this.tempPlaceholder=element.attr('placeholder');element.attr('placeholder','');navigator.geolocation.getCurrentPosition(function(loc){sanego.ui.modules.tracking.event('Location','google',trackingLabel);this.coordsToCity(element,what,loc.coords.latitude,loc.coords.longitude);}.bind(this),function(error){if(error.code==error.PERMISSION_DENIED){sanego.ui.modules.tracking.event('Location','denied',trackingLabel);}else{sanego.ui.modules.tracking.event('Location','maxmind',trackingLabel);this.ipCityGuess(element,what);}}.bind(this));}.bind(this));},coordsToCity:function(el,type,lat,lon){$.ajax('/ajax/coords-to-city',{data:{lat:lat,lon:lon,type:type},method:'post',headers:{Token:sanego.request.jwttoken},success:function(transport){el.val(transport.address);el.effect('highlight',{color:'#FF8618'},3000);el.trigger('change');},complete:function(){el.attr('placeholder',this.tempPlaceholder);}.bind(this)});},ipCityGuess:function(el,type){$.ajax('/ajax/ip-city-guess',{method:'post',data:{type:type},headers:{Token:sanego.request.jwttoken},success:function(transport){el.val(transport.address);el.effect('highlight',{color:'#FF8618'},3000);},complete:function(){el.attr('placeholder',this.tempPlaceholder);}.bind(this)});}});var BarRating=$.PrototypeClass({clickEventMutex:false,domElement:null,container:null,initialXOffset:736,initialYOffset:0,xOffset:16,yOffset:20,initialize:function(domElement,container){this.domElement=domElement;this.container=container;},writeHint:function(obj,txt){$(obj).up().find('span.rateHint').html(txt);},writeDescr:function(obj,txt){$(obj).up('fieldset').find('span.criteriaDescr').first().html(txt);},writeKey:function(obj,txt){$(obj).up('fieldset').find('span.rateKey').first().html(txt);},setValue:function(obj){var input=$(obj).up().find('input').first();input.val($(obj).attr('class'));input.trigger('BarRating:valueChanged',input);},getPoints:function(obj){return $(obj).up().find('input').first().val();},getTempValue:function(element){return parseInt(element.data('value'))},convertSelectsToBars:function(){$(this.domElement).find('select').each(function(i,el){this.convertSelectToBars(el);}.bind(this));},convertSelectToBars:function(rating){$(rating).hide();var ratingId=$(rating).attr('id');var ratingName=$(rating).attr('name');var ratingValue=$(rating).val();var div=$('
    ').addClass('rateImages');var values=$(rating).find('option');$.each(values,function(i,el){var option=$(el);if(option.val()){var a=$('',{'href':'#','class':'r'+option.val(),'data-value':option.val()});var img=$('
    ',{class:"selected",alt:option.html()});$(a).append(img);$(div).append(a);}}.bind(this));$(div).append($('').addClass('rateHint'));$(rating).last().after(div);$(div).append($(rating).up().find('p').first());$(rating).remove();if(!$(div).up().up().find('span.criteriaDescr').length){var fieldset=$(div).up('fieldset');var legend=fieldset.find('legend').first();var desc=$('').addClass('criteriaDescr');var key=$('').addClass('rateKey');if(legend.length){legend.first().after(desc);legend.first().after(key);}else{fieldset.prepend(desc);fieldset.prepend(key);}} var inputH=$('',{type:'hidden',id:ratingId,name:ratingName,value:ratingValue});$(div).append(inputH);},addBarObservers:function(){this.clickEventMutex=false;$(this.domElement).find('a').each(function(i,a){$(a).mouseover(function(event){if(!this.clickEventMutex){var element=$(event.currentTarget);var agent=navigator.userAgent.toLowerCase();if(agent.indexOf('iphone')>=0||agent.indexOf('ipad')>=0||agent.indexOf('ipod')>=0){element.click();return false;} this.setActiveSprites(element,this.getTempValue(element));if(!Utils.isMobile()){this.writeHint(element,element.find('div').first().attr('alt'));this.writeKey(element,element.up().nextAll('.rateKey').html());this.writeDescr(element,element.nextAll('p.descriptionText').html());}}}.bind(this));$(a).on('click touch',function(event){this.clickEventMutex=true;event.preventDefault();var element=$(event.currentTarget);element.nextAll('input').val(this.getTempValue(element));this.setActiveSprites(element,this.getPoints(element));}.bind(this));$(a).mouseout(function(event){if(!this.clickEventMutex){var element=$(event.currentTarget);this.setActiveSprites(element,this.getPoints(element));if(!Utils.isMobile()){this.writeHint(element,'');this.writeKey(element,'');this.writeDescr(element,'');}}}.bind(this));}.bind(this));},setInitiallyActiveSprites:function(){$('.rateImages a').each(function(i,el){this.setActiveSprites(el,this.getPoints(el));}.bind(this));},setActiveSprites:function(obj,val){val=parseInt(val);var ratingBars=$(obj).up('div.rateImages').find('div');var ratingBarsCount=ratingBars.length;ratingBars.each(function(j,o){j=j+1;if(j<=val){this.selectSprites(o,val);}else{this.resetSprites(o,parseInt(j));} if(j==(ratingBarsCount-1)){this.clickEventMutex=false;}}.bind(this));},resetSprites:function(element,value){$(element).removeClass();var link=$(element).up('a');link.removeClass();link.addClass('r'+value);},selectSprites:function(element,value){$(element).up('a').removeClass();$(element).up('a').addClass('r'+value);$(element).addClass('selected');}});var Experience=$.PrototypeClass({domElement:null,container:null,drugXPath:'.drug',illnessXPath:'.illness',initialize:function(domElement,container){this.domElement=domElement;this.container=container;this.addEventListeners();},addEventListeners:function(){this.getDrugElements().each(function(i,el){var e=$(el);e.focus(function(){element=this;});e.keyup(function(){element=$(this);element.removeClass('error');element.trigger('Experience:drugChanged',this);}.bind(this));e.blur(function(){element=$(this);element.trigger('Experience:drugBlured',this);}.bind(this));});this.getIllnessElements().each(function(i,el){var e=$(el);e.focus(function(){element=$(this);});e.keyup(function(){element=$(this);element.removeClass('error');element.trigger('Experience:illnessChanged',this);}.bind(this));e.blur(function(event){element=$(event.target);element.trigger('Experience:illnessBlured',this);}.bind(this));});},getDrugElements:function(){return this.domElement.find(this.drugXPath);},getIllnessElements:function(){return this.domElement.find(this.illnessXPath);}});var ExperienceContainer=$.PrototypeClass({userEventDefinitions:Array(),domElement:null,rows:[],addLineLinkXPath:'#addNewLine',rowIdentification:'.line',initialize:function(domElement){this.domElement=domElement;this.domElement.find(this.rowIdentification).each(function(i,row){var object=new Experience($(row),this);this.rows.push(object);}.bind(this));},registerAddButton:function(callback){sanego.ui.registerEvent(new UserEventDefinition({name:'click',jQueryObject:$(this.addLineLinkXPath),handlerCallBack:callback}));},registerEvents:function(){this.registerAutosuggests();},registerAutosuggests:function(){this.domElement.find('.drug').identify();this.domElement.find('.illness').identify();this.domElement.find('.drug').each(function(i,el){sanego.ui.modules.autosuggest.add('drug',$(el).attr('id'));});this.domElement.find('.illness').each(function(i,el){sanego.ui.modules.autosuggest.add('illness',$(el).attr('id'));});},isRowFilled:function(row){if(this.isDrugFilled(row)&&this.isIllnessFilled(row)){return true;} return false;},isRowEmpty:function(row){if(!this.isDrugFilled(row)&&!this.isIllnessFilled(row)){return true;} return false;},isIllnessFilled:function(row){if($.trim(row.find('.illness').first().val())){return true;} return false;},isDrugFilled:function(row){if($.trim(row.find('.drug').first().val())){return true;} return false;},getNewLine:function(){var clone=$(this.rowIdentification).last().clone();clone=$(clone);clone.find('input').each(function(i,el){var el=$(el);el.val('');});clone.find('input[type=text]').each(function(i,o){$(o).attr('value','').attr('title',null).attr('readonly',false).attr('id','').removeClass('error');$(o).identify();});return clone;},addLine:function(){var line=this.getNewLine();var object=new Experience(line,this);this.rows.push(object);return object;},registerAdditionalExperienceObservers:function(){$(document).on('Experience:drugBlured Experience:drugChanged Experience:illnessBlured Experience:illnessChanged,',function(event){this.highlightRedundantExperiences();}.bind(this));},highlightRedundantExperiences:function(){if($('.exp').length>1){$('.exp').find('.drug').removeClass('warning');$('.exp').find('.illness').removeClass('warning');$('.exp').each(function(){var row=$(this);$('.exp').each(function(el){if(!row.is(this)){if($(this).find('.drug').val()==row.find('.drug').val()&&$(this).find('.illness').val()==row.find('.illness').val()){row.find('.drug').addClass('warning');row.find('.illness').addClass('warning');}}});});}}});var BarRatingContainer=$.PrototypeClass({domElement:null,rows:[],rowIdentification:'.barRating',firstRatingId:'drug0_rating',formId:'sideeffectForm',elementToCopy:'.line',initialize:function(domElement){this.domElement=domElement;$(this.domElement).find(this.rowIdentification).each(function(i,row){var object=new BarRating(row,this);this.rows.push(object);}.bind(this));},initialSelectToBarConvertion:function(){$(this.rows).each(function(i,row){row.convertSelectsToBars();row.addBarObservers();row.setInitiallyActiveSprites();}.bind(this));},getDrugElement:function(){return $(this.drugXPath,this.domElement).first();},getNewRating:function(){var number=this.rows.length;var clone=$(this.domElement).find('fieldset').first().clone(true);$(clone).find('input').val('');$(clone).attr('id','drug'+number+'_rating');$(clone).removeClass('error');$(clone).find('input[type=hidden]').each(function(i,o){var o=$(o);var matches='';matches=o.attr('id').match(/(_\d+_rating)/);var newId='drug'+number+matches[1];matches=o.attr('name').match(/(_rating.+)/);var newName='drug'+number+matches[1];$(o).attr('id',newId).attr('name',newName);});return clone;},addRating:function(){var rating=this.getNewRating();var newContainer=$('
    ',{'class':'barRating'}).html(rating);var object=new BarRating(rating,this);object.addBarObservers();rating.find('a').each(function(i,element){object.setActiveSprites(element,null);}.bind(this));this.rows.push(object);return newContainer;},isRowFilled:function(number){var rating=true;$('#drug'+number+'_rating').find('div.rate input').each(function(i,el){if(!$(el).val().length){rating=false;return false;}});return rating;}});var Controller_DoctorRating=$.PrototypeClass(Controller,{doctorRateFormIdHash:'#rate_doctor',toCopyElementLinkXPath:'.line',addLineIdHash:'#addNewLine',submitLinkHash:'#rating_submit',userEventDefinitions:Array(),actionIndex:function(){if(!$.isUndefined(this.request.linkStatistics)){this.linkAccessStatistics(this.request.linkStatistics);}},actionEdit:function(){this.registerEvents();this.handleNoAppointment($.parseJSON(this.request.doctorNoAppointmentRatings));this.addAutosuggest();},actionNew:function(){this.registerEvents();this.handleNoAppointment($.parseJSON(this.request.doctorNoAppointmentRatings));sanego.ui.modules.tracking.event('DoctorRating','form','step-1-view');this.addAutosuggest();},registerEvents:function(){this.userEventDefinitions[0]=new UserEventDefinition({name:'click',jQueryObject:$(this.addLineIdHash),handlerCallBack:this.addLine.bind(this)});this.userEventDefinitions[1]=new UserEventDefinition({name:'submit',jQueryObject:$(this.doctorRateFormIdHash),handlerCallBack:this.submitHandler.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[0]);sanego.ui.registerEvent(this.userEventDefinitions[1]);var barRating=new BarRatingContainer($(this.doctorRateFormIdHash));barRating.initialSelectToBarConvertion();},addAutosuggest:function(){$(this.doctorRateFormIdHash).find(this.toCopyElementLinkXPath).each(function(i,el){sanego.ui.modules.autosuggest.add('drug',$(el).find('.drug').first().attr('id'));sanego.ui.modules.autosuggest.add('illness',$(el).find('.illness').first().attr('id'));});},addLine:function(event){event.preventDefault();var clone=$(this.doctorRateFormIdHash).find(this.toCopyElementLinkXPath).last().clone(true);var i=parseInt($(this.doctorRateFormIdHash).find(this.toCopyElementLinkXPath).last().find('.number').first().html())+1;$(clone).find('.number').first().html(i);$(clone).find('input').val('') var autosuggests=new Array();$(clone).find('input[type=text]').each(function(i,o){$(o).attr('id',null).attr('value','').removeClass('error');$(o).identify();autosuggests.push($(o).attr('id'));});$('#doctor_experience').append($(clone));$.each(autosuggests,function(index,objId){if(index==0){sanego.ui.modules.autosuggest.add('drug',objId);} if(index==1){sanego.ui.modules.autosuggest.add('illness',objId);}}.bind(this));},toggleNoAppointment:function(noAppointmentRatings,hide){var noAppointmentElements=new Array();var ratings=$('#doctor_rating').find('div.rate');$.each(noAppointmentRatings,function(i,index){noAppointmentElements.push(ratings[index]);});if(hide){$('#doctor_endDate_section').hide();$('#lightRating').hide();ratings.hide();$(noAppointmentElements).show();}else{$('#doctor_endDate_section').show();$('#lightRating').show();ratings.show();} $('#doctor_noAppointment').prop('disabled',false);},handleNoAppointment:function(noAppointmentRatings){$('#doctor_noAppointment').click(function(event){if($('#doctor_noAppointment').prop('checked')){$('#doctor_noAppointment').prop('checked',false);sanego.ui.modules.overlay.showConfirmLayer(_('Do you really want to select no appointment option?'),_('Yes'),_('No'),function(){sanego.ui.modules.overlay.hide();$('#doctor_noAppointment').prop('checked',true);this.toggleNoAppointment(noAppointmentRatings,true);}.bind(this));}else{$('#doctor_noAppointment').prop('checked',false);this.toggleNoAppointment(noAppointmentRatings,false);}}.bind(this));$('#doctor_noAppointment').prop('disabled',false);},validate:function(){var valid=true;$(this.doctorRateFormIdHash).find('.error').removeClass('error');$(this.doctorRateFormIdHash).find('.errorText').remove();$('#doctor_rating input').each(function(i,el){if($(el).up('div.rate').is(':visible')&&!$(el).val().length){$('#doctor_rating').addClass('error');valid=false;return;}});if($.trim($('#doctor_description').val()).length<10||$.trim($('#doctor_description').val()).length>800){$('#doctor_description').up('fieldset').addClass('error');if($.trim($('#doctor_description').val()).length<10){appendValidationText=" Nur "+$('#doctor_description').val().length+' Zeichen'}else{appendValidationText=$('#doctor_description').val().length+' Zeichen'} $(this.doctorRateFormIdHash).find('label[for=doctor_description]').last().after($('',{'class':'errorText'}).html(appendValidationText));valid=false;} if(!$('#doctor_confirmation').prop('checked')){$('#doctor_confirmation').up('fieldset').addClass('error');valid=false;} if($('#tan').length&&$.trim($('#tan').val()).length>0&&$.trim($('#tan').val()).length!=6){$('#tan').up('fieldset').addClass('error');$('#tan').last().after($('',{'class':'errorText'}).html('Die TAN ist ungültig'));valid=false;}else{} if($.trim($('#yearofbirth')&&$('#yearofbirth').val())){var d=new Date();var year=parseInt($.trim($('#yearofbirth').val()));if(!year||year<(d.getUTCFullYear()-140)||year>d.getUTCFullYear()){$('#yearofbirth').up('div').find('input').first().addClass('error');valid=false;}} return valid;},submitHandler:function(event){event.preventDefault();if(!this.validate()){$(this.doctorRateFormIdHash+' .error').first().scrollTo();return false;} AjaxLoaderOverlay.show($('.content').first());this.disableSubmit(event);$(this.doctorRateFormIdHash).off();sanego.ui.modules.tracking.event('DoctorRating','form','step-2-submit');setTimeout(function(){$(this.doctorRateFormIdHash).submit();}.bind(this),1000);},disableSubmit:function(event){$(this.submitLinkHash).prop('disabled',true);},linkAccessStatistics:function(url){var counter=$('.pageImpressionCount').first();var link=$('',{'href':url});var width=900;var height=230;link.html(counter.html());link.click(function(event){var src=$(event.target).attr('href');event.preventDefault();sanego.ui.modules.overlay.update($('',{'width':width,'height':height,'src':src})).resize(width,height).show();}.bind(this));counter.html(link);}});var Controller_DoctorSearch=$.PrototypeClass(Controller,{loadMoreButton:null,currentPage:1,currentAdvantagoPage:1,actionIndex:function(){var doctorSearch=new DoctorSearchContainer();doctorSearch.registerAutosuggest();this.registerSortFilters();this.registerLoadMore();this.registerLoadMoreAdvantago();},actionFederalstates:function(){$('#fsMapContainer').click(function(event){AjaxLoaderOverlay.show($(event.target).up('.article'));});},registerSortFilters:function(){sanego.ui.registerEvent(new UserEventDefinition({name:"change",xPath:"div.searchContainer div.sortBy select",handlerCallBack:this.changeSortBy.bind(this)}));},registerLoadMore:function(){var loadMoreButtons=$('#doctorList .loadMore');if(loadMoreButtons.length){this.loadMoreButton=loadMoreButtons.first();sanego.ui.registerEvent(new UserEventDefinition({name:"click",jQueryObject:this.loadMoreButton,handlerCallBack:this.loadMore.bind(this)}));}},registerLoadMoreAdvantago:function(){var loadMoreButtons=$('.advantagoSearchResult .loadMore');if(loadMoreButtons.length){this.loadMoreButton=loadMoreButtons.first();sanego.ui.registerEvent(new UserEventDefinition({name:"click",jQueryObject:this.loadMoreButton,handlerCallBack:this.loadMoreAdvantago.bind(this)}));}},changeSortBy:function(event){var container=$('.searchContainer .list').first();AjaxLoaderOverlay.show(container);var select=$(event.target);var options=select.find('option');var selectedOption=options[select[0].selectedIndex];var queryString=document.location.search.replace('?','');var params=$.dataAppendQueryString({},queryString) var urlHash='#searchListHeader';if($(selectedOption).attr('value')){params.sortBy=$(selectedOption).attr('value');window.location=this.getURI(params,urlHash);}else{delete params.sortBy;if(Object.keys(params).length){window.location=this.getURI(params,urlHash);}else{window.location='./'+urlHash;}}},getURI:function(params,urlHash){return"?"+Object.keys(params).map(function(prop){return[prop,params[prop]].join("=");}).join("&")+urlHash;},loadMore:function(event){AjaxLoaderOverlay.show($('.doctorSearchResult').first());var reqParams=this.request.searchParams;reqParams.p=this.currentPage+1;reqParams.sortBy=this.request.sortBy;reqParams.sortOrder=this.request.sortOrder;$.ajax('/ajax/load-more-doctors-for-search',{method:'post',data:(reqParams),success:function(transport){this.currentPage=this.currentPage+1;if(this.currentPage==this.request.nPages){this.loadMoreButton.hide();} if(transport.length){$('.resultList').first().append(transport);sanego.ui.modules.showmore.setup($('.resultList'));sanego.ui.modules.greedylink.add('.resultList li .name');sanego.ui.modules.layout.registerLazyLoadImages();} AjaxLoaderOverlay.hide($('.doctorSearchResult').first());}.bind(this)});},loadMoreAdvantago:function(event){AjaxLoaderOverlay.show($('.advantagoSearchResult').first());var reqParams=this.request.searchParams;reqParams.nPageAdvantago=this.currentAdvantagoPage+1;$.ajax('/ajax/load-more-advantago-for-search',{method:'post',data:(reqParams),success:function(transport){this.currentAdvantagoPage=this.currentAdvantagoPage+1;if(typeof transport=='undefined'||!transport.hasMore){this.loadMoreButton.hide();} if(typeof transport!='undefined'&&transport.html.length){$('.advantagoSearchResult .resultList').first().append((transport.html));sanego.ui.modules.showmore.setup($('.advantagoSearchResult .resultList'));sanego.ui.modules.greedylink.add('.advantagoSearchResult .resultList li .name');sanego.ui.modules.layout.registerLazyLoadImages();} AjaxLoaderOverlay.hide($('.advantagoSearchResult').first());}.bind(this)});}});var Controller_ClinicSearch=$.PrototypeClass(Controller,{actionIndex:function(){sanego.ui.modules.autosuggest.add('city','clinicsearch_where');$('#fsMapContainer').click(function(event){AjaxLoaderOverlay.show($(event.target).up('.article'));});},});var Controller_Experience=$.PrototypeClass(Controller,{init:function(){$('#experience_table input[name^=drug]').each(function(i,element){$(element).identify();sanego.ui.modules.autosuggest.add('drug',$(element).first().attr('id'));});$('#experience_table input[name^=illness]').each(function(i,element){$(element).identify();sanego.ui.modules.autosuggest.add('illness',$(element).first().attr('id'));});$('#experience_table .new input[name^=drug]').first().focus();if(this.request.addMode==='drug'){this.highlightNewIllness();}else if(this.request.addMode==='illness'){this.highlightNewDrug();}},highlightNewDrug:function(){this.highlightNew('drug');},highlightNewIllness:function(){this.highlightNew('illness');},highlightNew:function(what){var el=$('#experience_table .new input[name^='+what+']').first();el.focus();el.effect('highlight',{color:'#FF7E00'});}});var SingleInput=$.PrototypeClass({formId:Object,responseId:Object,loadingId:Object,saveAndGetListCallback:Object,form:Object,loadingData:Object,submitted:Object,initialize:function(){this.formId=this.getFormId();this.responseId=this.getResponseId();this.loadingId=this.getNewAnswerFormId();this.saveAndGetListCallback=this.getAjaxCallback();this.submitted=false;this.form=$('#'+this.formId);if(this.form){this.form.submit(this.handleSubmit.bind(this));}},handleSubmit:function(e){e.preventDefault();if(!this.submitted){this.submitted=true;$(this.getAjaxCallback(),{method:'post',data:this.form.serialize(),success:function(transport){$('#'+this.responseId).html(transport);transport.evalScripts();AjaxLoaderOverlay.hide($('#'+this.loadingId));this.onSuccess(transport) this.form.prop('disabled',false);this.form[0].reset();this.submitted=false;}.bind(this),fail:function(){AjaxLoaderOverlay.hide($('#'+this.loadingId));this.onFailure();this.form.prop('disabled',false);this.submitted=false;}.bind(this)});this.form.prop('disabled',true);AjaxLoaderOverlay.show($('#'+this.loadingId));this.loadingData=$('#'+this.loadingId).html();this.onLoading();}},onLoading:function(){},onSuccess:function(transport){},onFailure:function(){throw"TODO: Overwrite this abstract function";},getAjaxCallback:function(){throw"TODO: Overwrite this abstract function";},getFormId:function(){throw"TODO: Overwrite this abstract function";},getResponseId:function(){throw"TODO: Overwrite this abstract function";},getNewAnswerFormId:function(){throw"TODO: Overwrite this abstract function";}});var QuestionAnswerForm=$.PrototypeClass(SingleInput,{globalVariables:{formElement:'',answersArea:'',answerArea:'',firstAnswerElement:'',firstAnswerText:'',firstAnswerId:'',firstEditableAnswerElement:'',firstEditableAnswerText:'',editableAnswerElement:'',updateLoadingElement:'',updateQuestionId:'',updateAnswerText:'',updateAnswerId:'',updateAreaElement:'',editLinkElement:'',saveLinkElement:''},initialize:function(){this.formUrl=$('#answer_question').attr('action');this.setGlobalVariables();this.registerCommonEvents();},registerCommonEvents:function(){const commonEvents=[{name:"click",xPath:"div.answerActions a[name='edit']",handlerCallBack:this.switchToEditState.bind(this)},{name:"click",xPath:"div.answerActions a[name='edit_save']",handlerCallBack:this.handleUpdate.bind(this)},{name:"click",xPath:"div.loadingArea input[name='update_anonym']",handlerCallBack:this.handleUpdateAnonym.bind(this)},{name:"click",xPath:"a.unhideNegativeAnswer",handlerCallBack:this.unhideNegativeAnswer.bind(this)}];this.registerEvents(commonEvents);sanego.ui.modules.growingtextarea.setup();},registerEvents:function(events){events.forEach(event=>{const{name,xPath,jQueryObject,handlerCallBack}=event;sanego.ui.registerEvent(new UserEventDefinition({name,xPath,jQueryObject,handlerCallBack:handlerCallBack}));});},isTextFieldValid:function(textField){const warningMessage=textField.up('div').find('.warningMessage');if(!$.trim(textField.val())){warningMessage.removeClass('hidden').show();return false;}else{warningMessage.hide();return true;}},handleQuestionExperiencesForUser:function(transport,submitB){if(transport.status!=204){sanego.ui.modules.overlay.update(transport.responseText);sanego.ui.modules.overlay.hideOverlayHook=function(){$('#answer_question').find('input[type="submit"]').first().prop('disabled',false);};sanego.ui.modules.overlay.show();this.answerSave(submitB);$('#saveButton').click(function(){AjaxLoaderOverlay.show($(sanego.ui.modules.overlay.id)) this.saveExperiencesForUser();}.bind(this));}},saveExperiencesForUser:function(){const question_id=$('[name="question_id"]').first().val();const checkBoxes=[];let count=0;$('#experiencesInputs input').each(function(i,checkBox){checkBoxes.push($(checkBox).val());if($(checkBox).prop('checked')){count++;}});sanego.request.experiencecount-=count;if(count){$.ajax('/ajax/save-question-experiences-for-user',{method:'post',data:{'checkBoxes[]':checkBoxes,question_id:question_id},success:function(data,textStatus,jqXHR){AjaxLoaderOverlay.hide($(sanego.ui.modules.overlay.id));sanego.ui.modules.overlay.hide();}.bind(this)});}else{AjaxLoaderOverlay.hide($(sanego.ui.modules.overlay.id));sanego.ui.modules.overlay.hide();}},answerAdd:function(submitB){this.answerSave(submitB);},answerSave:function(submitB){AjaxLoaderOverlay.show($(this.getNewAnswerFormId()));$.ajax(this.formUrl,{method:'post',data:this.globalVariables.formElement.serialize(),complete:function(response){if(response.responseJSON&&response.responseJSON.errors&&response.responseJSON.errors.recaptcha){this.handleRecaptchaError(submitB);return;}else{this.resetRecaptchaStyles();} this.removeSaveLinks();this.insertNewAnswer(response);this.setGlobalVariables();this.registerCommonEvents();if(!sanego.request.userId)reCaptchaExecute();if(this.globalVariables.answerArea){this.globalVariables.answerArea.val('');} $(submitB).prop('disabled',false);AjaxLoaderOverlay.hide($(this.getNewAnswerFormId()));}.bind(this),fail:function(){AjaxLoaderOverlay.hide($(this.getNewAnswerFormId()));}});},handleRecaptchaError:function(submitB){const recaptchaFieldset=document.querySelector('#answer_question fieldset.cbox');if(recaptchaFieldset){recaptchaFieldset.style.border='1px solid #FF6600';recaptchaFieldset.style.backgroundColor='#FFF4C9';} $(submitB).prop('disabled',false);AjaxLoaderOverlay.hide($(this.getNewAnswerFormId()));if(!sanego.request.userId)reCaptchaExecute();},resetRecaptchaStyles:function(){const recaptchaFieldset=document.querySelector('#answer_question fieldset.cbox');if(recaptchaFieldset){recaptchaFieldset.style.border='';recaptchaFieldset.style.backgroundColor='';} const captchaConsentCheckbox=document.querySelector('#answer_question #captchaConsent');if(captchaConsentCheckbox){captchaConsentCheckbox.checked=false;}},removeSaveLinks:function(){if(this.globalVariables.firstAnswerElement){this.globalVariables.firstAnswerElement.find("a[name='edit']").first().remove();this.globalVariables.firstAnswerElement.find("a[name='edit_save']").first().remove();}},insertNewAnswer:function(response){const content=response.responseText;const container=this.globalVariables.answersArea.length?this.globalVariables.answersArea:$('.questionAnswers').first();container.prepend(content);const firstRow=$('.questionAnswers tr').first();if(firstRow.length){firstRow.effect('highlight',{color:'#FF7E00',duration:3000});}},switchToEditState:function(event){const srcElement=$(event.target);event.preventDefault();const label_container=$("label[for='answer_text']").first();if(label_container.siblings('span').first()){label_container.siblings("span").first().remove();} const editElement=srcElement.up('div.loadingArea').find("textarea[name='answer_edit']").first();editElement.css({border:"1px solid #9FB9D1",display:"block"});const editHiddenElement=srcElement.up('div.loadingArea').find(".edit_hidden").first();editHiddenElement.hide();const copiedObject=editElement.clone(true);this.globalVariables.firstAnswerText=copiedObject.val();editElement.prop('disabled',false);srcElement.up().find("a[name='edit_save']").first().toggle('blind');srcElement.toggle();},unhideNegativeAnswer:function(event){event.preventDefault();const answerId=$(event.currentTarget).data('id');$('#QuestionAnswer_'+answerId+'UnhideLayer').fadeOut('fast');$('#QuestionAnswer_'+answerId+'AnswerLayer').fadeIn('slow');},handleUpdateAnonym:function(event){event.preventDefault();const srcElement=$(event.target);const labelElement=srcElement.closest('label');const isChecked=srcElement.is(':checked');const trElement=srcElement.closest('tr');const answerId=trElement.attr('id').replace('QuestionAnswer_','');const data={answer_id:answerId,anonym:isChecked?1:0,isFirst:this.globalVariables.firstAnswerId==answerId?1:0};labelElement.addClass('colour yellow');$.ajax({url:'/ajax/update-anonym',type:'POST',data:data,success:function(response,textStatus,xhr){if(xhr.status===200){labelElement.removeClass('yellow').addClass('green').animate({opacity:1},500,function(){$(this).removeClass('green colour');});trElement.replaceWith(response);this.setGlobalVariables();this.registerCommonEvents();}else{this.handleAjaxError(labelElement);}}.bind(this),error:function(xhr,status,error){this.handleAjaxError(labelElement);}.bind(this)});},handleAjaxError:function(labelElement){labelElement.removeClass('yellow').addClass('red').animate({opacity:1},500,function(){$(this).removeClass('red colour');});},handleUpdate:function(event){const srcElement=$(event.target);event.preventDefault();if(!this.isTextFieldValid(srcElement.up('td.d').find('textarea').first())){return;} this.setGlobalVariablesForUpdateAnswer(srcElement);AjaxLoaderOverlay.show(this.getUpdateLoadingId());const obj=this;$.ajax(sanego.request.questionurl,{method:'post',data:{'question_id':this.globalVariables.updateQuestionId,'answer_text':this.globalVariables.updateAnswerText,'answerId':this.globalVariables.updateAnswerId,'actionUpdate':true},success:function(response){if(response&&typeof response.error!=='undefined'&&response.error.maxTimeExceeded){sanego.ui.modules.overlay.showAlert(_('Your changes have not been accepted as the maximum execution time is exceeded!'),_('Ok'));}else{if(response){const content=response;const contentElement=($('')).html(content);obj.globalVariables.updateAreaElement.html(contentElement.find('tr').first().html());obj.globalVariables.updateAreaElement.identify();obj.globalVariables.updateAreaElement.effect('highlight',{color:'#FF7E00'});obj.globalVariables.editableAnswerElement.prop('disabled',true);obj.globalVariables.editableAnswerElement.hide();if(!$(obj.globalVariables.updateAreaElement).prevAll().length){obj.globalVariables.editLinkElement=obj.globalVariables.updateAreaElement.find("a[name='edit']").first();obj.globalVariables.saveLinkElement=obj.globalVariables.updateAreaElement.find("a[name='edit_save']").first();obj.registerCommonEvents();}else{obj.globalVariables.updateAreaElement.find("a[name='edit']").first().remove();obj.globalVariables.updateAreaElement.find("a[name='edit_save']").first().remove();} obj.globalVariables.editableAnswerElement.up().find(".edit_hidden").first().html(obj.globalVariables.editableAnswerElement.html());obj.globalVariables.editableAnswerElement.up().find(".edit_hidden").first().show();}} if($('.update_warn').first()){$('.update_warn').first().remove();} AjaxLoaderOverlay.hide(obj.getUpdateLoadingId());},onFailure:function(){window.location.reload();}});},setGlobalVariables:function(){this.globalVariables.formElement=$('#answer_question');this.globalVariables.answersArea=$('.questionAnswers tbody');this.globalVariables.answerArea=$('#answer_text');this.setGlobalVariablesForNewAnswer();},setGlobalVariablesForNewAnswer:function(){if($(".questionAnswers tbody tr").length){this.globalVariables.firstAnswerElement=$(".questionAnswers tbody tr").first();this.globalVariables.firstAnswerId=this.globalVariables.firstAnswerElement.attr('id').replace('QuestionAnswer_','');if(this.globalVariables.firstAnswerElement.find('.edit_hidden').first()){this.globalVariables.firstAnswerText=$.trim(this.globalVariables.firstAnswerElement.find('.edit_hidden').html());}} if($("textarea[name='answer_edit']").length){this.globalVariables.firstEditableAnswerElement=$("textarea[name='answer_edit']").first();this.globalVariables.firstEditableAnswerText=$("textarea[name='answer_edit']").first().val();} if($("a[name='edit']").first()){this.globalVariables.editLinkElement=$("a[name='edit']").first();this.globalVariables.saveLinkElement=$("a[name='edit_save']").first();}},getUpdateLoadingId:function(){return this.globalVariables.updateLoadingElement;},setGlobalVariablesForUpdateAnswer:function(element){this.globalVariables.updateLoadingElement=element.up('div.loadingArea');this.globalVariables.updateAreaElement=this.globalVariables.updateLoadingElement.up('tr');this.globalVariables.editableAnswerElement=this.globalVariables.updateLoadingElement.find("textarea[name='answer_edit']").first();this.globalVariables.updateQuestionId=$('[name="question_id"]').val();this.globalVariables.updateAnswerText=$.trim(this.globalVariables.editableAnswerElement.val());this.globalVariables.updateAnswerId=this.globalVariables.updateLoadingElement.find("[name='answer_Id']").first().val();this.globalVariables.editLinkElement=this.globalVariables.updateAreaElement.find("a[name='edit']").first();this.globalVariables.saveLinkElement=this.globalVariables.updateAreaElement.find("a[name='edit_save']").first();},getAjaxCallback:function(){return"/ajax/save-answer-for-question";},getFormId:function(){return"#answer_question";},getResponseId:function(){return"#article_answer";},getNewAnswerFormId:function(){return"#answer_question_formid";}});var Controller_Question=$.PrototypeClass(Controller,{ExperienceContainer:Object,init:function(){sanego.ui.registerEvent(new UserEventDefinition({name:"submit",xPath:"form[name='answer_question']",handlerCallBack:this.prevent.bind(this)}));},actionIndex:function(){const questionAnswerForm=new QuestionAnswerForm();const answerQuestion=$("#answer_question");if(answerQuestion.length){answerQuestion.submit((event)=>this.handleSubmit(event,questionAnswerForm));}},actionNew:function(){sanego.ui.modules.tracking.event('Question','form','step1view');this.registerExperiences();this.registerTitle();const questionForm=$('#questionForm');const submitButton=questionForm.find('input[type=submit]').first();questionForm.submit((event)=>{submitButton.prop('disabled',true);if(!this.isQuestionValid()){event.preventDefault();submitButton.prop('disabled',false);questionForm.find('.error').first().up('fieldset').scrollTo();return false;} sanego.ui.modules.tracking.event('Question','form','step2submit');AjaxLoaderOverlay.show(questionForm.first());});},actionEdit:function(){this.registerExperiences();},handleSubmit:function(event,questionAnswerForm){event.preventDefault();const textArea=$('#answer_question textarea').first();if(!questionAnswerForm.isTextFieldValid(textArea)){return false;} const submitButton=$('#answer_question').find('input[type="submit"]').first();if(sanego.request.experienceCopy&&sanego.request.userId){this.fetchQuestionExperiences(submitButton,questionAnswerForm);}else{questionAnswerForm.answerAdd(submitButton);}},fetchQuestionExperiences:function(submitButton,questionAnswerForm){const questionId=$('[name="question_id"]').val();this.ajaxCall('/ajax/get-question-experiences-for-user','get',{user_id:sanego.request.userId,question_id:questionId},function(data,textStatus,jqXHR){if(jqXHR.status!=204){questionAnswerForm.handleQuestionExperiencesForUser(jqXHR,submitButton);if(sanego.request.experiencecount==0){sanego.request.experienceCopy=false;}}else{questionAnswerForm.answerAdd(submitButton);}},function(){window.location.reload();});},prevent:function(event){event.preventDefault();},registerExperiences:function(){this.ExperienceContainer=new ExperienceContainer($('.experiences').first());this.ExperienceContainer.registerEvents();this.ExperienceContainer.registerAddButton(this.addExperienceLine.bind(this));this.ExperienceContainer.registerAdditionalExperienceObservers();},addExperienceLine:function(){var newLine=this.ExperienceContainer.addLine().domElement;if(newLine.html().length){$('.experiences').append(newLine);this.ExperienceContainer.registerEvents();}},suggestSimilarQuestions:function(element){if(element.val().length>1){this.ajaxCall('/ajax/get-similar-questions','get',{title:element.val()},function(data,textStatus,jqXHR){if(jqXHR.status!=204){sanego.ui.modules.overlay.update(data).show().resize(800);}});}},registerTitle:function(){const title=$('#title');if(title.val().trim().length&&$('.error').length===0){this.suggestSimilarQuestions(title);} title.blur(()=>{this.suggestSimilarQuestions(title);});},isQuestionValid:function(){let valid=true;const requiredFields=$('#questionForm #title, #questionForm #questionDescr');requiredFields.each((i,field)=>{$(field).removeClass('error');if(!$(field).val().length){$(field).addClass('error');valid=false;}});return valid;},ajaxCall:function(url,method,data,successCallback,failCallback){$.ajax(url,{method:method,data:data,success:successCallback.bind(this),fail:failCallback||function(){window.location.reload();}});},});var QuestionListForm=$.PrototypeClass({extendTeaser:function(teaserText){$('#questionSubmit').submit(function(event){var el=$('#questionSubmit').first();if(!$(el).val()||$trim($(el).val())==teaserText){event.preventDefault();$(el).focus();} else{if(!('#description').val().length){event.preventDefault();$('#description').focus();}}});var elId=$('#questionTeaser input.title').attr('id');sanego.ui.modules.autosuggest.addToOneElement('questionTitle',elId,{'afterUpdateElement':function(field,item){AjaxLoaderOverlay.show($('#'+elId).up('.article'));}.bind(this)});}});var Controller_QuestionList=$.PrototypeClass(Controller,{init:function(){questionlistForm=new QuestionListForm();questionlistForm.extendTeaser(_('Ask the community'));}});var Controller_DoctorVerification=$.PrototypeClass(Controller,{doctorForVerificationFormAction:String,actionIndex:function(){this.track('doctor basic package');},actionSignup:function(){this.registerFileSelectObserver(8388608,['image/jpeg','image/png','image/gif','image/webp','image/bmp','application/pdf']);var form=$('#searchForVerification');if(form.length){this.doctorForVerificationFormAction=form.attr('action');this.searchDoctorForVerification(form);this.track('select name');}else if($.isUndefined(sanego.request.mailSent)){this.track('submit form');}else{this.track('email verification');} $('#searchForVerification').click(function(){sanego.ui.modules.tracking.clickEvent('DoctorVerification','search doctor');});$('.doctorVerification .button').click(function(){sanego.ui.modules.tracking.clickEvent('DoctorVerification','book now '+$('.package-badge').up().attr('class'));});},actionContact:function(){var package=$('div.contact').attr('class').match(/package.+/)[0];this.track('contact form '+package);$('div.contact [type=submit]').click(function(){sanego.ui.modules.tracking.clickEvent('DoctorVerification','submit contact form');});},actionContactSuccess:function(){this.track('contact form success');},actionWhyRegister:function(){this.track('doctor adpage');$('#whyRegister .button').click(function(){sanego.ui.modules.tracking.clickEvent('DoctorVerification','show packages');});},actionShowMethods:function(){this.track('email verification success');},actionVerify:function(){this.track('code entering page');},searchDoctorForVerification:function(form){form.submit(function(event){event.preventDefault();var overlayHeight=Utils.isMobile()?430:382;var form=$(event.target);sanego.ui.modules.overlay.resize(710,overlayHeight).updateAjax(this.doctorForVerificationFormAction,{data:form.serialize(true),success:function(transport){var form=$('#doctorSearch');form.attr('action',this.doctorForVerificationFormAction);this.searchDoctorForVerification(form);}.bind(this)});}.bind(this));},track:function(action){sanego.ui.modules.tracking.event('Doctor','registration',action);},registerNewEntry:function(){sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:"#btnNewEntry",handlerCallBack:this.changeSortBy.bind(this)}));},registerFileSelectObserver:function(maxSize,extensions){var fileInput=$('.uploadButton').first();var fileNameDisplay=$('.uploadButtonFilename');fileInput.on('change',function(){const file=$(this).prop('files')[0];if(file){if(file.size>maxSize){fileNameDisplay.html('✗ Datei zu groß');}else if(!extensions.includes(file.type)){fileNameDisplay.html('Dateitypen: jpeg, png, gif, webp, bmp, pdf');}else{fileNameDisplay.html('✓ '+file.name);}}else{fileNameDisplay.text('Keine Datei ausgewählt');}});}});var AjaxLoaderOverlay=$.extend(AjaxLoaderOverlay,{insertedOverlays:Object(),show:function(domElementToUpdateAssigned,ajaxLoaderOverlayCSSClassNameAssigned,ignoreExistingCheck) {var ajaxLoaderOverlayCSSClassName;var domElementToUpdate=this.getElement(domElementToUpdateAssigned);domElementToUpdate.identify();if(!(typeof ignoreExistingCheck!=='undefined'&&ignoreExistingCheck)&&this.insertedOverlays[domElementToUpdate.attr('id')]){throw"AjaxLoaderOverlay.show trying to insert another overlay on the same element";} ajaxLoaderOverlayCSSClassName='ajaxLoaderOverlay';if(!$.isUndefined(ajaxLoaderOverlayCSSClassNameAssigned)&&ajaxLoaderOverlayCSSClassNameAssigned!=null&&ajaxLoaderOverlayCSSClassNameAssigned!=false) {ajaxLoaderOverlayCSSClassName=ajaxLoaderOverlayCSSClassNameAssigned;} var overlay=$('
    ',{'class':ajaxLoaderOverlayCSSClassName});var borderLeftRight=parseInt(domElementToUpdate.css('border-left-width')) +parseInt(domElementToUpdate.css('border-right-width')) var borderTopBottom=parseInt(domElementToUpdate.css('border-top-width')) +parseInt(domElementToUpdate.css('border-bottom-width')) $(overlay).css({'height':domElementToUpdate.outerHeight(false)-borderTopBottom+'px','width':domElementToUpdate.outerWidth(false)-borderLeftRight+'px','marginTop':(-(parseInt($(domElementToUpdateAssigned).css('paddingTop'))))+'px','marginLeft':(-(parseInt($(domElementToUpdateAssigned).css('paddingLeft'))))+'px'});$(domElementToUpdate).prepend(overlay);this.insertedOverlays[domElementToUpdate.attr('id')]=overlay;},hide:function(domElementUpdatedAssigned) {var elementId=this.getElement(domElementUpdatedAssigned).attr('id');var oneOverlay=this.insertedOverlays[elementId];oneOverlay.remove();delete this.insertedOverlays[elementId];},getElement:function(domElementUpdatedAssigned){if(!domElementUpdatedAssigned.length){throw"AjaxLoaderOverlay.getElement: no length of element";} if($.isString(domElementUpdatedAssigned)) {domElementUpdated=$(domElementUpdatedAssigned);} else if($.isObject(domElementUpdatedAssigned)) {domElementUpdated=domElementUpdatedAssigned;} else if($.isElement(domElementUpdatedAssigned)) {domElementUpdated=$(domElementUpdatedAssigned);} else {throw"AjaxLoaderOverlay.getElement: no valid domElementUpdated assigned";} return domElementUpdated;}});var SideeffectForm=$.PrototypeClass({callback:null,Sideeffect:Object,ExperienceContainer:Object,DrugRatingContainer:Object,lastStep:0,focusError:false,shouldValidate:false,animationSpeed:0.5,ajaxForm:false,initialize:function(callback){this.onStepLoad=callback;this.addFormBehaviour();this.registerFormEvents();if($('.accordion .error').length){this.trackCurrentStep('error');}else{this.trackCurrentStep();}},registerFormEvents:function(){this.ExperienceContainer=new ExperienceContainer($('.experiences').first());this.DrugRatingContainer=new BarRatingContainer($('.drugRating').first());this.DrugRatingContainer.initialSelectToBarConvertion();this.registerExperienceObservers();this.registerDrugRatingObservers();this.registerDescriptionObservers();this.ExperienceContainer.registerAddButton(this.addDrugRating.bind(this));this.ExperienceContainer.registerEvents();this.ExperienceContainer.registerAdditionalExperienceObservers();},addFormBehaviour:function(){$('#drug0_rating').first().hide();this.registerAccordion();},addSideefectTagFormBehaviour:function(){var defaultInputs=$('#suggestedSideeffecttags').find('div.list input');defaultInputs.identify();defaultInputs.each(function(i,el){sanego.ui.modules.autosuggest.add('sideeffecttag',$(el).attr('id'));});this.lastTagFocusObserver();},lastTagFocusObserver:function(object){var taginputs=$('#suggestedSideeffecttags').find('div.list input');var object=taginputs.last();var previous=this.getPreviousInputInTagList(object);sanego.ui.modules.autosuggest.add('sideeffecttag',object.attr('id'));if(previous){previous.off('focus');previous.up('div').removeClass('last');} object.focus(function(event){var input=$(event.target);if(this.getPreviousInputInTagList(input).val().length&&input.up('div').next().length==0){var list=input.up('.list');var clone=input.up('div').clone();clone.find('input').first().attr('id','').val('').identify();list.append(clone);this.lastTagFocusObserver();}}.bind(this));},getPreviousInputInTagList:function(current){return current.up('div').prev().find("input").first();},toggleAccordion:function(elementToOpen){var step=$('.accordion .step')[this.getCurrentStep()];if($(step).is(':visible')){$(step).slideUp(this.animationSpeed*1000,'easeInQuart',function(){$(step).hide();this.trackCurrentStep();}.bind(this));} this.open(elementToOpen);},open:function(el){$(el).slideDown(this.animationSpeed*1000,function(){this.setProgressClassNames();this.registerNextSubmitButton();this.updateStepHeaders();this.toggleBackButton();}.bind(this));},validateCurrentStep:function(focusError,strict){this.focusError=focusError;var isValid=true;if(!this.validateFirstLineFilled()){this.focusOnError();isValid=false;} else{if(!this.validateLinesFilled(strict)){this.focusOnError();isValid=false;}} if(!this.validateDuration()){this.focusOnError();isValid=false;} if(!this.validateRatings()){this.focusOnError();isValid=false;} if(this.getCurrentStep()==1){if(!this.validateDescription()){this.focusOnError();isValid=false;}};if(this.getCurrentStep()==2){if(!this.validatePersonalDetails()){this.focusOnError();isValid=false;}};if(!isValid){return false;} return true;},openPrevious:function(event){event.preventDefault();var currentElement=$('.accordion .step')[this.getCurrentStep()];this.toggleAccordion($(currentElement).prev('.step'));},openNext:function(event){event.preventDefault();if(this.validateCurrentStep(true)){var currentElement=$('.accordion .step')[this.getCurrentStep()];this.toggleAccordion($(currentElement).next('.step'));}},registerNextSubmitButton:function(){var submit=$('#entryFormSubmit');var step=this.getCurrentStep();submit.off();switch(step){case 1:this.addSideefectTagFormBehaviour();if(this.ajaxForm){submit.removeClass('next');submit.val(_('submit'));submit.click(this.submit.bind(this));if($('#home')){$('#controls').addClass('bottom');}}else{submit.addClass('next');submit.val(_('next'));submit.click(this.openNext.bind(this));} break;case 2:if(this.ajaxForm){submit.removeClass('next');submit.val(_('update'));$('#sideeffectForm .back.button').first().remove();submit.click(this.addPersonalDetails.bind(this));}else{submit.addClass('next');submit.val(_('next'));} break;default:submit.addClass('next');submit.val(_('next'));submit.click(this.openNext.bind(this));if($('#home')&&$('.barRating').first().is(':visible')){$('#controls').removeClass('bottom');} break;}},setProgressClassNames:function(){var progress=$('.progress li');if(!progress.length){return false;} progress.removeClass('active');progress.removeClass('todo');$(progress[this.getCurrentStep()]).addClass('active');for(var i=this.getCurrentStep()+1;i0){button.show();}else{button.hide();}},submit:function(event){event.preventDefault();var formContainer=$(event.target).up('.content');if(!this.validateCurrentStep()){return false;} var submit=$('#entryFormSubmit');submit.off();AjaxLoaderOverlay.show(formContainer);var form=$('#sideeffectForm');$.ajax(form.attr('action'),{method:'post',data:form.serialize(),success:function(transport){AjaxLoaderOverlay.hide(formContainer);if(!transport.length){var response=transport;if(response.success){this.toggleAccordion($('.accordion .step.part3').first());this.Sideeffect=response.Sideeffect;}else{this.handleUnknownError(transport);}}else{this.handleUnknownError(transport);}}.bind(this),failure:function(transport){AjaxLoaderOverlay.hide(formContainer);this.handleUnknownError(transport);}.bind(this)});},addPersonalDetails:function(event){event.preventDefault();var formContainer=$(event.target).up('.content');if(!this.validateCurrentStep()){return false;} var submit=$('#entryFormSubmit');submit.off();this.trackCurrentStep('step-4-complete');AjaxLoaderOverlay.show(formContainer);var params=$('#sideeffectForm').serializeArray();params.push({name:'sideeffect_id',value:this.Sideeffect.id});$.ajax('/sideeffect/add-personal-details',{method:'post',data:$.param(params),success:function(transport){var response=transport;if(!$.isUndefined(response.errors)){AjaxLoaderOverlay.hide(formContainer);sanego.error(response.errors);return;} if(!$.isUndefined(response.url)){setTimeout(function(){location.href=response.url;},1000);}else{AjaxLoaderOverlay.hide(formContainer);this.handleUnknownError(transport);}}.bind(this),fail:function(transport){this.handleUnknownError(transport);}.bind(this)});},registerAccordion:function(){accordion=$('.accordion').first();$('.back.button').first().click(this.openPrevious.bind(this));var contents=accordion.find('.step');contents.hide();$('.accordion .error').each(function(i,el){return this.openAllOnGeneralError();}.bind(this));if(!$('.accordion .error').length){contents.first().show();} this.registerNextSubmitButton();this.updateStepHeaders();},updateStepHeaders:function(){if($.isFunction(this.onStepLoad)){this.onStepLoad(this.getCurrentStep()+1);}},validateLinesFilled:function(strict){var valid=true;$('.exp').each(function(i,el){var el=$(el);if(!this.ExperienceContainer.isRowEmpty(el)||strict){if(!this.ExperienceContainer.isIllnessFilled(el)){el.find('.illness').first().addClass('error');valid=false;}else{el.find('.illness').first().removeClass('error');} if(!this.ExperienceContainer.isDrugFilled(el)){el.find('.drug').first().addClass('error');valid=false;}else{el.find('.drug').first().removeClass('error');}}else{el.find('.illness').first().removeClass('error');el.find('.drug').first().removeClass('error');}}.bind(this));return valid;},validateFirstLineFilled:function(){var firstRow=$('.exp').first();if(this.ExperienceContainer.isRowEmpty(firstRow)){firstRow.find('.drug').first().addClass('error');firstRow.find('.illness').first().addClass('error');return false;}else{firstRow.find('.drug').first().removeClass('error');firstRow.find('.illness').first().removeClass('error');return true;}},validateDuration:function(){var valid=true;$('.exp .period').removeClass('error');$('.exp .period').each(function(i,el){var el=$(el);const value=el.val().trim();if(value.length&&!/^\d+$/.test(value)){el.addClass('error');valid=false;}}.bind(this));return valid;},validateRatings:function(){var valid=true;$('.exp').each(function(i,line){var rating=$('#drug'+i+'_rating');if(!this.ExperienceContainer.isRowEmpty($(line))&&!this.DrugRatingContainer.isRowFilled(i)){rating.addClass('error');valid=false;return;};rating.removeClass('error');}.bind(this));return valid;},validateDescription:function(){var description=$('textarea.description').first();if(!$.trim(description.val())){description.addClass('error');return false;} description.removeClass('error');return true;},validatePersonalDetails:function(){var valid=true;var value;var d=new Date();var dataUsageValid=true;$('#email').removeClass('error');if(!sanego.userIsLoggedIn){if($('#allowDataUsage').is(":checked")&&!$('#email').val().length){$('#email').addClass('error');dataUsageValid=false;valid=false;}} $('#patient_yearofbirth, #patient_height, #patient_weight, #email').each(function(i,el){var el=$(el);if(dataUsageValid||el.attr('id')!='email'){el.removeClass('error');} value=el.val().trim();if(!value.length){return;} if(el.attr('id')!='email'&&!((value-0)==value)){el.addClass('error');valid=false;} if(el.attr('id')=='patient_yearofbirth'&&(value<(d.getUTCFullYear()-140)||(value>d.getUTCFullYear()))){el.addClass('error');valid=false;} if(el.attr('id')=='patient_height'&&value>271){el.addClass('error');valid=false;} if(el.attr('id')=='patient_weight'&&value>555){el.addClass('error');valid=false;} if(el.attr('id')=='email'){var emailRegex=new RegExp('^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$');if(!emailRegex.test(value)){el.addClass('error');valid=false;}}});return valid;},focusOnError:function(){var errors=$('.error :visible');if(this.focusError){if(errors&&errors.first().is(':visible')){errors.first().focus();}} return;},getCurrentStep:function(){$('.accordion .step').each(function(i,el){if($(el).is(':visible')){this.step=i;return this.step;}}.bind(this));return this.step;},registerExperienceObservers:function(){this.registerExperienceDrugObservers();this.registerExperienceIllnessObservers();this.registerDescriptionObservers();},registerDrugRatingObservers:function(){$(document).on('BarRating:valueChanged',function(event){if(this.shouldValidate){this.validateCurrentStep(false);}}.bind(this));},registerExperienceDrugObservers:function(){$(document).on('Experience:drugChanged',function(event){if(this.shouldValidate){this.validateCurrentStep(false);} if($(event.target)){if($(event.target).up('.line').find('.illness').first().val()&&$(event.target).val()) {this.unhideRatingBars($(event.target).up('fieldset'));}}}.bind(this));$(document).on('Experience:drugBlured',function(event){if($(event.target)){if(!$(event.target).up('.line').find('.illness').first().val()||!$(event.target).val()) {this.hideRatingBars($(event.target).up('fieldset'));}}}.bind(this));},registerDescriptionObservers:function(){$('textarea.description').first().keyup(function(){if(this.shouldValidate){this.validateCurrentStep(false);}}.bind(this));},registerExperienceIllnessObservers:function(){var firstRow=$('.exp').first();if(firstRow.find('.illness').first().val()&&firstRow.find('.drug').first().val()) {this.unhideRatingBars(firstRow.up('fieldset'));}else{this.hideRatingBars(firstRow.up('fieldset'));} $(document).on('Experience:illnessChanged',function(event){if(this.shouldValidate){this.validateCurrentStep(false);} if($(event.target)){if($(event.target).up('.line').find('.drug').first().val()&&$(event.target).val()) {this.unhideRatingBars($(event.target).up('fieldset'));}}}.bind(this));$(document).on('Experience:illnessBlured',function(event){if($(event.target)){if(!$(event.target).up('.line').find('.drug').first().val()||!$(event.target).val()) {this.hideRatingBars($(event.target).up('fieldset'));}}}.bind(this));},addDrugRating:function(){if(this.validateCurrentStep(false,true)) {this.insertNewExperienceDrugRatingFieldset();this.registerExperienceObservers();this.registerDrugRatingObservers();}},insertNewExperienceDrugRatingFieldset:function(){var newRating=this.DrugRatingContainer.addRating()[0];var newLine=this.ExperienceContainer.addLine().domElement[0];var newFieldset=$('
    ').append($('
    ',{'class':'experiences'}).html(newLine));newFieldset.append(newRating).css("min-height : 215px;");$('.step.part1 > fieldset').last().after(newFieldset);$('.drugRating').last().css("display : none;");this.ExperienceContainer.domElement=$('.step.part1 > fieldset').last();this.ExperienceContainer.registerEvents();},getStepByClassNames:function(classNames){var page=1;$.each(classNames,function(i,el){var matches=el.match(/part(\d+)/);if(matches&&matches[1]){page=matches[1];return;}});return page-1;},unhideRatingBars:function(el){el.find('.barRating').show();el.find('.drugRating').show();},hideRatingBars:function(el){el.find('.barRating').hide();el.find('.drugRating').hide();},trackCurrentStep:function(name){if(!name){name='step-'+this.getCurrentStep();} sanego.ui.modules.tracking.event('Sideeffect','form',name);},openAllOnGeneralError:function(){$('.accordion .step').show();var submit=$('#entryFormSubmit');submit.val(_('submit'));},handleUnknownError:function(response){this.openAllOnGeneralError();var errorHtml=$(response).find('#sideeffectForm > .error');$('html #sideeffectForm').prepend(errorHtml);this.trackCurrentStep('error-ajax');sanego.error('unknown error');}});var ImageUpload=$.PrototypeClass({mainContainer:'.imageUpload',attachedImagesCount:0,registerEvents:function(){sanego.ui.registerEvent(new UserEventDefinition({name:"change",xPath:'input.files[disabled=disabled]',handlerCallBack:this.submitImageForm.bind(this)}));$('.showImageUpload').off();sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:'.showImageUpload',handlerCallBack:this.toggleImageForm.bind(this)}));$(this.mainContainer).find('input.files[disabled=disabled]').prop('disabled',false);},submitImageForm:function(event){event.preventDefault();var element=$(event.currentTarget);if(element.val().length){var hideForLoading=element.up('form').up(".grey");var form=element.up('form');if(!hideForLoading||!hideForLoading.length){hideForLoading=element.up('fieldset');} AjaxLoaderOverlay.show(hideForLoading,null,true);form.submit(function(e){e.preventDefault();$.ajax({url:form.attr('action'),type:"post",data:new FormData(e.currentTarget),contentType:false,cache:false,processData:false,success:function(data){this.attachedImagesCount++;var currentImage=form.up().find('.currentImage');currentImage.html(data);var uploadedImgSrc=currentImage.find('img').attr('src');if(uploadedImgSrc){var removeForm=form.up().find('.imageRemoveForm');removeForm.find('input[name=filepath]').prop('value',uploadedImgSrc);removeForm.show();this.registerDeleteObserver(removeForm);if(form.up('fieldset').hasClass('multiple')){form.up(this.mainContainer).prev('.showImageUpload').hide();this.copyForm(form);}} AjaxLoaderOverlay.hide(hideForLoading);}.bind(this),error:function(e){sanego.error('Image upload error.');}});}.bind(this));form.submit();form.off();}},copyForm:function(form){var baseInputName=form.up('.imageUpload').find('input.files').first().attr('name');var formClone=form.up('.subform').clone();formClone.find('.currentImage').html('');this.prepareForm(formClone,baseInputName);formClone.appendTo(form.up('.imageUpload'));this.registerEvents();},toggleImageForm:function(event){event.preventDefault();var element=$(event.currentTarget);element.next(this.mainContainer).toggle();},registerDeleteObserver:function(element){element.off('click');element.click(function(event){event.preventDefault();var el=$(event.currentTarget);var path=el.find('input[name=filepath]').val();$.ajax({url:el.attr('action'),data:{filepath:path},success:function(data){this.resetForm(el.up('.subform'));}.bind(this),error:function(e){sanego.error('Image delete error.');}});}.bind(this));},prepareForm:function(form,baseInputName){form.find('input.files').attr('disabled',true);form.find('input.files').val('');form.find('.imageRemoveForm').hide();},resetForm:function(subform){var preview=subform.find('.currentImage');preview.html('');subform.find('.imageRemoveForm').hide();subform.find('input.files').val('');}});var Comment=$.PrototypeClass({container:null,imageUploadForm:null,FORM_DUMMY_CLASS_NAME:'dummy',teaserText:'',itemIdOfCommentsToShow:String(),containerSiteURL:String,userEventDefinitions:Array(),submitURL:String,showPageURL:String,isOwnProfile:Boolean,type:String,initialize:function(){this.imageUploadForm=new ImageUpload();this.teaserText=$('form.dummy textarea').val();},registerOverlay:function(){$('[id^=Wall_]').each(function(){$(this).find('img:not(.articles .comments img)').not(".ui img, .yesNoRating img").magnificPopup({type:'image',gallery:{enabled:true,tPrev:'',tNext:'',tCounter:'Bild %curr% von %total%'},image:{titleSrc:function(item){}},callbacks:{elementParse:function(qw){qw.src=qw.el.attr('src').replace('thumb','working');}}});$(this).find('.comments .d').each(function(i,el){$(el).find('img').not(".ui img, .yesNoRating img").magnificPopup({type:'image',gallery:{enabled:true,tPrev:'',tNext:'',tCounter:'Bild %curr% von %total%'},image:{titleSrc:function(item){}},callbacks:{elementParse:function(qw){qw.src=qw.el.attr('src').replace('thumb','working');}}});});});},focusNew:function(event){var form=$(event.target).up('form');if(form.hasClass(this.FORM_DUMMY_CLASS_NAME)){form.removeClass(this.FORM_DUMMY_CLASS_NAME);form.find('textarea[name=comment]').val('');}},resetForm:function(form){form.addClass(this.FORM_DUMMY_CLASS_NAME);form.find('textarea').val(this.teaserText).css('height','');this.imageUploadForm.resetForm(form);},saveNewComment:function(event){event.preventDefault();var element=$(event.target).up('form.nc').up('.grey');if(element){var form=element;}else{var form=$(event.target).up('form.nc');} var text=form.find('textarea[name=comment]').first().val();if(text.length){var articleId=form.find('input[name=articleId]').first().val();if(form.hasClass("grey")){text=this.appendImageToText(form.children("form.nc"),text);}else{text=this.appendImageToText(form,text);} this.submit(form,text,articleId);} else{if(form.hasClass("grey")){this.resetForm(form.children("form.nc"));}else{this.resetForm(form);}}},appendImageToText:function(form,text){form.up().find('.imageUpload').first().find('.subform').each(function(i,el){var imgCont=$(el).find('.currentImage') var uploadedImgSrc=imgCont.find('img').attr('src');if(typeof uploadedImgSrc!='undefined'&&uploadedImgSrc.length){if(i==0){text=text+"\n";}else{text=text+" ";} text=text+Utils.baseUrl()+uploadedImgSrc;} if(i==0){this.imageUploadForm.resetForm($(el));}else{el.remove();}}.bind(this));return text;},saveNewArticle:function(event){event.preventDefault();var element=$(event.target).up('form.na').up('.grey');if(element.length){var form=element;}else{var form=$(event.target).up('form.na');} var text=form.find('textarea[name=comment]').first().val();if(text.length){if(form.hasClass("grey")){text=this.appendImageToText(form.children("form.na"),text);}else{text=this.appendImageToText(form,text);} this.submit(form,text);}else{if(form.hasClass("grey")){this.resetForm(form.children("form.na"));}else{this.resetForm(form);}}},submit:function(form,text,articleId){AjaxLoaderOverlay.show(form);var params={'itemId':this.itemIdOfCommentsToShow,'text':text,'type':this.type};if(typeof articleId!=='undefined'){params.articleId=articleId;} $.ajax(this.submitURL,{method:'post',data:params,success:function(transport){if(typeof articleId==='undefined'){this.loadPage(1,false);}else{var comments=$('#Article_'+articleId).find('.comments').first();var ul=comments.find('ul').first();if(!$.isElement(ul)){ul=$('
      ');comments.prepend(ul);} ul.append(transport);var li=ul.find('li.c').last();this.registerEntryEvents(li);sanego.ui.loadedModulesReSetup();} if(form.hasClass("grey")){if(form.children("form.na").length){this.resetForm(form.children("form.na"));}else if(form.children("form.nc")){this.resetForm(form.children("form.nc"));}}else{this.resetForm(form);} AjaxLoaderOverlay.hide(form);}.bind(this),complete:function(){this.registerOverlay();}.bind(this)});},confirmDelete:function(event){event.preventDefault();var id=this.getIdFromUnderscoreDelimitedString($(event.target).up('div.d').attr('id'));sanego.ui.modules.overlay.showConfirmLayer(_('Do you really want to delete the record irrevertably?'),_('Yes'),_('No'),this.doDelete.bind(this,id));},registerMoreCommentEvents:function(){this.userEventDefinitions[13]=new UserEventDefinition({name:"click",xPath:".comments li a.loadHiddenComments",handlerCallBack:this.loadHiddenComments.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[13]);},doDelete:function(id){sanego.ui.modules.overlay.hide();var activity=$('#Article_'+id).up('li');AjaxLoaderOverlay.show(activity);$.ajax("/ajax/comment-delete",{method:'post',data:{'id':id},success:function(transport){AjaxLoaderOverlay.hide(activity);activity.fadeOut();if($('.comments ul.articles a').length-1<1){this.loadPage(1,false);}}.bind(this,id)});},registerPagerLinks:function(){this.userEventDefinitions[1]=new UserEventDefinition({name:"click",xPath:"a.bottomCommentPagerLink",delay:0.5,handlerCallBack:this.processPaging.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[1]);},registerNewCommentEvents:function(entry){this.userEventDefinitions[2]=new UserEventDefinition({name:"click keyup",xPath:".d .comments form.nc textarea",handlerCallBack:this.focusNew.bind(this)});this.userEventDefinitions[3]=new UserEventDefinition({name:"click",xPath:".d .comments form.nc .s input[type=submit]",handlerCallBack:this.saveNewComment.bind(this)});if(typeof entry==='undefined'){if(this.container){entry=this.container;}else{entry=$('.comments').first();}} this.userEventDefinitions[2].jQueryObject=entry;this.userEventDefinitions[3].jQueryObject=entry;sanego.ui.registerEvent(this.userEventDefinitions[2]);sanego.ui.registerEvent(this.userEventDefinitions[3]);},registerEntryEvents:function(entry){this.userEventDefinitions[4]=new UserEventDefinition({name:"click",xPath:"ul.actions li.delete a",handlerCallBack:this.confirmDelete.bind(this)});if(typeof entry==='undefined'){if(this.container){entry=this.container;}else{entry=$('.comments').first();}} this.userEventDefinitions[4].jQueryObject=entry;sanego.ui.registerEvent(this.userEventDefinitions[4]);sanego.ui.modules.yesnorating.setup();this.registerVideoEmbed();this.registerImageUploadEvents();},registerImageUploadEvents:function(){this.imageUploadForm.registerEvents();},registerNewArticleEvents:function(){this.userEventDefinitions[5]=new UserEventDefinition({name:"click keyup",xPath:".comments form.na textarea",handlerCallBack:this.focusNew.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[5]);this.userEventDefinitions[6]=new UserEventDefinition({name:"click",xPath:".comments form.na .s input[type=submit]",handlerCallBack:this.saveNewArticle.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[6]);},registerRefreshLink:function(){if($("#commentsRefresh")){this.userEventDefinitions[10]=new UserEventDefinition({name:"click",jQueryObject:$("#commentsRefresh"),xPath:"a",handlerCallBack:this.refresh.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[10]);}},registerStaticPageCallEvents:function(){this.registerNewArticleEvents();this.registerRefreshLink();this.registerDynamicContentEvents();},registerDynamicContentEvents:function(){this.registerNewCommentEvents();this.registerPagerLinks();this.registerEntryEvents();this.registerMoreCommentEvents();this.registerVideoEmbed();this.registerOverlay();},processPaging:function(event){event.preventDefault();var element=$(event.currentTarget);var matches=element.attr('href').match(/commentPage=(\d+).*/);var page=matches[1];var jumpTo='top';if(element.hasClass('bottomCommentPagerLink')){jumpTo='bottom';} this.loadPage(page,jumpTo);},refresh:function(event){event.preventDefault();this.loadPage(1,false);},loadPage:function(page,jumpTo){if(this.container){var commentsContainer=this.container.find('.commentContainer');}else{var commentsContainer=$('.commentContainer');} AjaxLoaderOverlay.show(commentsContainer.up('div.comments'));$.ajax(this.showPageURL,{method:'get',data:{'commentPage':page,'itemId':this.itemIdOfCommentsToShow,'containerSiteURL':this.containerSiteURL,'isOwnProfile':Number(this.isOwnProfile)},success:function(transport){commentsContainer.html(transport);AjaxLoaderOverlay.hide(commentsContainer.up('div.comments'));if(jumpTo!==false){window.scrollTo(0,this.getListTopOffset(jumpTo));} this.registerDynamicContentEvents();sanego.ui.loadedModulesReSetup();}.bind(this),fail:function(){document.location.reload();}});},getListTopOffset:function(edge){var offs=$('.comments').first().offset().top;if(edge=='bottom'){offs+=$('.comments').first().height()-$(window).height();} return offs;},getIdFromUnderscoreDelimitedString:function(idString){var underScorePos=idString.lastIndexOf('_');if(!isNaN(underScorePos)){var id=idString.substring(underScorePos+1,idString.length);if(!isNaN(id)){return id;}} return false;},loadHiddenComments:function(event){event.preventDefault();var element=$(event.currentTarget);var match=element.up('div.d').attr('id').match('Article_(.+)');if(!match||!match[1]){return false;} var articleId=match[1];var commentContainer=$('#Article_'+articleId).find('.comments').first();AjaxLoaderOverlay.show(commentContainer);$.ajax("/ajax/load-hidden-comments",{method:'get',data:{'ownerId':this.profileOwnerId,'articleId':articleId},success:function(transport){var list=commentContainer.find('ul').first();list.html(transport);AjaxLoaderOverlay.hide(commentContainer);this.registerEntryEvents(list);this.registerOverlay();sanego.ui.loadedModulesReSetup();}.bind(this)});},registerVideoEmbed:function(){}});var SideeffectComment=$.PrototypeClass(Comment,{});var Controller_Sideeffect=$.PrototypeClass(Controller,{actionIndex:function(){this.registerEvents($('body'));this.registerComments();if(document.location.hash=='#showRelatedUsers'){this.loadRelatedUsersTeaser();}},actionNew:function(){var sideeffectForm=new SideeffectForm(function(step){var label=false;$('.article .blurb').hide();var blurb=$('.article .blurb.part'+step).first();if(!blurb.length){blurb.show();} switch(step){case 1:label='-rate';break;case 2:label='-describe';break;case 3:label='-reviewer-information';break;} if(label){step+=label;}});sideeffectForm.ajaxForm=true;},actionEdit:function(){var sideeffectForm=new SideeffectForm();sideeffectForm.ajaxForm=false;},actionVerifyAnonymous:function(){sanego.ui.modules.tracking.event('Sideeffect','form','captcha');},registerEvents:function(container){if(!container.find('.ratingform').length){return false;} sanego.ui.registerEvent(new UserEventDefinition({name:"submit",jQueryObject:container.find('.ratingform'),handlerCallBack:this.stopFormSubmit.bind(this)}));},registerComments:function(container){sanego.ui.loadedModulesReSetup(container);if($('.comments .na').length){var comment=new SideeffectComment();comment.container=container;comment.type='SideeffectDiscussion';comment.submitURL="/ajax/article-comment-submit";comment.showPageURL="/ajax/sideeffect-comment-show-page";comment.itemIdOfCommentsToShow=this.getValue('itemId',container);comment.containerSiteURL='./';comment.registerStaticPageCallEvents();comment.showRelatedUsersTeaser=sanego.request.showRelatedUsersTeaser;}},registerRatingAndCommentEvents:function(){$('.sideeffectListDivs .se .showMore').click(function(event){var el=$(event.target).up('.se');var seId=el.data('id');var commentsCont=el.find('.comments');AjaxLoaderOverlay.show(commentsCont);this.registerEvents(el);$.post('/Erfahrungsberichte/load-comments',{id:seId}).done(function(data){AjaxLoaderOverlay.hide(commentsCont);commentsCont.html(data);this.registerComments(el);}.bind(this)).fail(function(data){AjaxLoaderOverlay.hide(commentsCont);el.css('opacity',0.5) commentsCont.up('div').hide();});}.bind(this));},registerLoadMoreDynamic:function(triggeringElement){$(triggeringElement).click(function(){var el=$(triggeringElement).prevAll('.loadHtml');el.off('ShowMore:loaded');el.on('ShowMore:loaded',function(){this.registerRatingAndCommentEvents();}.bind(this));}.bind(this));},stopFormSubmit:function(event){event.preventDefault();},loadRelatedUsersTeaser:function(){sanego.ui.modules.overlay.resize(580,290).updateAjax('/ajax/get-related-users-by-item/',{data:{'id':this.getValue('itemId'),'itemType':this.getValue('itemType'),'isDeviceMobile':Utils.isMobile()}}).show();},getValue:function(propName,container){if(typeof container=='undefined'){var container=$('body');} return container.find('.'+propName).data('value');}});var LatestItemLoader=$.PrototypeClass({activityListsRegistered:false,questionListsRegistered:false,getLatestActivitiesCount:0,intervalId:null,registerOnScrollListeners:function(){$(document).on('scroll.activitylists',$.proxy(this.registerOnceWhenInViewport,this));},registerOnceWhenInViewport:function(){if(!this.questionListsRegistered&&($('.questions').length&&Utils.isElementInViewport($('.questions'))||$('.answers').length&&Utils.isElementInViewport($('.answers')))){this.loadOpenQuestionsList();this.loadQuestionAnswersList();this.questionListsRegistered=true;} if(!this.activityListsRegistered&&($('#networkticker').length&&Utils.isElementInViewport($('#networkticker'))||$('.users').length&&Utils.isElementInViewport($('.users')))){this.loadUserList();this.loadActivityList();this.dynamicActivityList();this.activityListsRegistered=true;} if(this.activityListsRegistered&&this.questionListsRegistered){$(document).off('scroll.activitylists');}},dynamicActivityList:function(){var periodicalUpdater=function(){this.loadActivityList();this.getLatestActivitiesCount++;if(this.getLatestActivitiesCount>10){clearInterval(this.intervalId);}};this.intervalId=setInterval($.proxy(periodicalUpdater,this),8000);},loadActivityList:function(){$.get('/ajax/get-latest-activities',function(transport){$('#networkticker').hide().html(transport).slideDown('slow');if(!sanego.userIsLoggedIn){sanego.ui.modules.registrationoverlay.setup();sanego.ui.modules.loginoverlay.setup();}});},loadUserList:function(){$.get('/ajax/load-latest-users',function(transport){$('.users .content').hide().html(transport).slideDown('slow');if(!sanego.userIsLoggedIn){sanego.ui.modules.registrationoverlay.setup();sanego.ui.modules.loginoverlay.setup();}});},loadSideeffectList:function(){$.get('/ajax/load-latest-sideeffects',function(transport){$('.newestSideEffects .content').hide().html(transport).slideDown('slow');});},loadOpenQuestionsList:function(){$.get('/ajax/load-latest-open-questions',function(transport){$('.questions .content').hide().html(transport).slideDown('slow');});},loadQuestionAnswersList:function(){$.get('/ajax/load-latest-question-answers',function(transport){$('.answers .content').hide().html(transport).slideDown('slow');});}});var Controller_Index=$.PrototypeClass(Controller,{init:function(){var questionlistForm=new QuestionListForm();questionlistForm.extendTeaser(_('Ask the community'));var formLoader=new LatestItemLoader();formLoader.loadSideeffectList();formLoader.registerOnScrollListeners();},actionIndex:function(){var experienceContainer=new ExperienceContainer($('#sideeffectTeaser .experiences'));experienceContainer.registerEvents();var doctorSearch=new DoctorSearchContainer();doctorSearch.registerAutosuggest();}});var Controller_DrugList=$.PrototypeClass(Controller,{actionIndex:function(){this.autosuggestWithLoadingOverlay('drugLinked','itemSearch');this.apomioIframeClickTracking();},apomioIframeClickTracking:function(){var monitor=setInterval(function(){var elem=document.activeElement;if(elem&&elem.tagName=='IFRAME'&&elem.getAttribute('id')=='apomioI'){clearInterval(monitor);sanego.ui.modules.tracking.clickEvent('Apomio','search iframe');}},300);}});var Controller_IllnessList=$.PrototypeClass(Controller,{actionIndex:function(){this.autosuggestWithLoadingOverlay('illnessLinked','itemSearch');}});var Controller_SideeffecttagList=$.PrototypeClass(Controller,{actionIndex:function(){this.autosuggestWithLoadingOverlay('sideeffecttagLinked','itemSearch');}});var Controller_AgentList=$.PrototypeClass(Controller,{actionIndex:function(){this.autosuggestWithLoadingOverlay('agentLinked','itemSearch');}});var DoctorInstitutePicker=$.PrototypeClass({city:String(),NEW_INSTITUTE_ID:0,createNewInstitute:false,enable:function(){$('#editDoctorsInstituteOption').show();if(this.createNewInstitute){this.createInstituteMode();} else{if($('#eitherEditOrChooseOtherInstitute')){$('#eitherEditOrChooseOtherInstitute').show();}} this.enableResetToOriginalInstituteLink();this.enableChangeInstituteLink();},createInstituteMode:function(){$('#originalInstituteName').hide();this.updateToBeInstituteLabel('');$('#eitherEditOrChooseOtherInstitute').hide();$('#instituteDidChangeQuestion').hide();$('#originalInstituteEditLink').hide();$('#toBeInstituteName').show();$('#newInstiuteFields').show();sanego.ui.modules.autosuggest.add('city','institute_city');},show:function(){sanego.ui.modules.overlay.update($('#institutePicker').html()).resize(700).show();this.enableMakeNewInsituteLink(sanego.ui.modules.overlay.contentId);this.ajaxRequest({'l':this.city},false);},extendSearchFrom:function(){$('#clinicSearch').submit(function(event){event.preventDefault();var form=$(event.currentTarget);AjaxLoaderOverlay.show(sanego.ui.modules.overlay.selectContent('#clinicSearch').first().up());this.ajaxRequest(form.serialize(true),true);}.bind(this));},extendSearchResults:function(){$('.resultList li a.addToDoc').each(function(i,link){$(link).click(function(event){event.preventDefault();var el=$(event.target);var newId=el.attr('rel');var originalId=$('#originalInstituteId').val();if(newId!=originalId){$('#instituteDidChangeQuestion').hide();$('#newInstiuteFields').hide();if(originalId){$('#originalInstituteName').hide();$('#eitherEditOrChooseOtherInstitute').hide();$('#originalInstituteEditLink').hide();} this.updateToBeInstituteId(newId);this.updateToBeInstituteLabel(el.up('div').attr('title'));this.showToBeInstituteLabelWithEffect();} else{this.resetInstitute();} sanego.ui.modules.overlay.hide();}.bind(this));}.bind(this));},enableMakeNewInsituteLink:function(containerId){$(containerId).find('a.makeNewInstitute').click(function(event){this.updateToBeInstituteId(this.NEW_INSTITUTE_ID);this.createInstituteMode();sanego.ui.modules.overlay.hide();$('#institute_name').focus();}.bind(this));},enableResetToOriginalInstituteLink:function(){var resetLink=$('#toBeInstituteName').find('a').first();if(resetLink){resetLink.click(function(){sanego.ui.modules.overlay.showConfirmLayer(_('Do you want to reset the institute selection?'),_('Yes'),_('No'),this.resetInstitute.bind(this));this.resetInstitute.bind(this);}.bind(this));}},enableChangeInstituteLink:function(){$('#changeInstitute').click(function(event){event.preventDefault();this.show();}.bind(this));},ajaxRequest:function(parameters,updateResultOnly){if(!updateResultOnly){AjaxLoaderOverlay.show(sanego.ui.modules.overlay.selectContent('div.search').first());} parameters.nocache=Math.random();parameters.mode='doctorInstitutePicker';$.ajax('/instituteSearch',{method:'get',data:parameters,success:function(transport){if(!updateResultOnly){sanego.ui.modules.overlay.selectContent('div.search').first().html(transport);sanego.ui.modules.overlay.center();} else{$('#clinicSearch').up('div').html(transport);} this.extendSearchFrom();this.extendSearchResults();if($(".resultList").length){$(".resultList").first().scrollTo();} $('#clinicsearch_what').focus();}.bind(this)});},updateToBeInstituteLabel:function(label){$('#toBeInstituteName').find('span').first().html(label);},updateToBeInstituteId:function(id){$('#instituteId').val(id);},resetInstitute:function(){sanego.ui.modules.overlay.hide();this.updateToBeInstituteId($('#originalInstituteId').val());$('#toBeInstituteName').hide();$('#originalInstituteName').show();$('#instituteDidChangeQuestion').show();$('#eitherEditOrChooseOtherInstitute').show();$('#originalInstituteEditLink').show();$('#newInstiuteFields').hide();this.updateToBeInstituteLabel('');},showToBeInstituteLabelWithEffect:function(){$('#toBeInstituteName').effect('highlight',{color:'#FF7E00'});}});var CalendarEditor=$.PrototypeClass({userEventDefinitions:Array(),parentContainer:null,container:null,callbackcontainer:null,extendedView:null,simpleView:null,extendView:'.extendView',applyAllPath:'a.applyAll',initialize:function(container,callbackcontainer){this.setContainer(container,callbackcontainer);this.registerSettingsEvents();this.closeDays();this.registerCheckboxAgreements();this.registerHoursSelectBoxEvents();this.endHourObserver();},setContainer:function(container,callbackcontainer){this.container=$(container);this.callbackcontainer=$(callbackcontainer);this.extendedView=this.container.find('.extendedView').first();this.simpleView=this.container.find('.simpleView').first();},registerSettingsEvents:function(){this.userEventDefinitions[0]=new UserEventDefinition({name:"click",jQueryObject:this.container,xPath:this.applyAllPath,handlerCallBack:this.applyFirstDayToAll.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[0]);this.userEventDefinitions[1]=new UserEventDefinition({name:"click",jQueryObject:this.container,xPath:this.extendView,handlerCallBack:this.toggleViews.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[1]);this.userEventDefinitions[2]=new UserEventDefinition({name:"click",jQueryObject:this.container,xPath:'.hSpecify',handlerCallBack:this.hoursSpecified.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[2]);this.userEventDefinitions[3]=new UserEventDefinition({name:"click",jQueryObject:this.container,xPath:'.hNoSpecify',handlerCallBack:this.noHoursSpecified.bind(this)});sanego.ui.registerEvent(this.userEventDefinitions[3]);},endHourObserver:function(){$(document).ready(function(){$("[name*='Time_Hour'], [name='doctor_closing_time_Hour']").each(function(i,e){var elementHour=$(e);this.disable24hMinutes(elementHour);}.bind(this)).change(function(event){var elementHour=$(event.target);this.disable24hMinutes(elementHour);}.bind(this));}.bind(this));},disable24hMinutes:function(elementHour){var elementMinute=elementHour.next();var elementHourVal=parseInt(elementHour.val());if(elementHourVal==24){elementMinute.val("00");elementMinute.after($('').attr({type:'hidden',name:elementMinute.attr('name'),value:'00'}));elementMinute.prop("disabled",true);}else if(elementHourVal&&parseInt($('input:radio[name="doctor_specify_hours"]').val())){elementMinute.prop("disabled",false);}},observeAndHandleSave:function(callbackClass){var tmp_callbackcontainer=this.callbackcontainer;this.container.find('[type=submit]').first().click(function(event){event.preventDefault();var form=$(event.currentTarget).up('form');AjaxLoaderOverlay.show(form);var calendarType=$('input[name="calendarType"]').val();$.ajax(form.attr('action'),{method:'post',data:form.serialize(),success:function(transport){var responseJSON=transport;if(responseJSON&&responseJSON.hourErrors){AjaxLoaderOverlay.hide(form);$('#calendarContainer').addClass('error');this.appendErrors(responseJSON);}else{if(!$.isUndefined(callbackClass)&&!$.isUndefined(callbackClass.calendarOnSaveCallback)){callbackClass.calendarOnSaveCallback(tmp_callbackcontainer,calendarType);}}}.bind(this),failure:function(){form.find('fieldset').first().addClass('error');}});}.bind(this));},appendErrors:function(responseJSON){var divElm=$('
      ',{'class':'cbox'});var errorElm=$('',{'class':'error'});$.each(responseJSON.hourErrors,function(i,item,value){errorElm.append(value);divElm.append(errorElm);$('.errorContent').first().effect('highlight',{color:'#FF7E00'})}.bind(errorElm,divElm));$('.errorContent').html(divElm);},toggleViews:function(){this.extendedView.toggle();this.simpleView.toggle();this.applyToExtendedView();if(!$.isUndefined(this.parentContainer)){this.parentContainer.center();}},applyToExtendedView:function(){var type=$("input[name='type']").val();var currentType=$(".extendView").prop("checked");if((type=="simple"||type=="none")&¤tType){this.applyFromSingleToExtended();}},closeDays:function(){this.closeDaysForView(this.extendedView);},closeDaysForView:function(view){view.find('td.closedDay').each(function(i,el){$(el).click(function(event){element=$(event.target);if(!element.is("input[type=checkbox]")){element=element.find("input[type=checkbox]");element.prop('checked',function(i,v){return!v;});} var status=element.prop('checked');var agreements=element.up('td').prev('td');var hours=agreements.prev('td');$(hours).find("select").prop('disabled',status);$(agreements).find("input").prop('disabled',status);}.bind(this));}.bind(this));},registerCheckboxAgreements:function(){$('.agreement div.agreement_parts').each(function(i,el){$(el).click(function(event){element=$(event.target);if(!element.is("input[type=checkbox]")){element=element.find("input[type=checkbox]");if(!element.prop('disabled')){element.prop('checked',function(i,v){return!v;});}} if(!element.prop('disabled')){var key=element.attr('id').match(/agreement_(\d+)_/)[1];var hours=element.up('td').prev('td').find('.row')[key-1];$(hours).find("select").prop('disabled',function(i,v){return!v;});}});});},registerHoursSelectBoxEvents:function(){$(".hours").find("select[name*='Time_Hour']").each(function(i,el){$(el).change(function(event){element=$(event.target);next=element.next('select');if(!next.val()){next.val("00");}});});},noHoursSpecified:function(event){this.simpleView.find('select').prop('disabled',true);this.extendedView.find('select').prop('disabled',true);this.extendedView.find('input').prop('disabled',true);$(this.extendView).first().prop('disabled',true);},hoursSpecified:function(event){this.simpleView.find('select').prop('disabled',false);this.extendedView.find('input').prop('disabled',false);this.extendedView.find('.hours select').each(function(i,input){if(!$(input).up().next().find('input').first().prop('checked')){$(input).prop('disabled',false);}});$(this.extendView).first().prop('disabled',false);},applyFromSingleToExtended:function(){var checked=new Array();$(".simpleView").find("select").each(function(i,element){checked.push($(element)[0].selectedIndex);}) $(".weekDay").each(function(i,element){$(element).find('select, input').each(function(index,element){var attr=$(element).attr('id');if(typeof attr!==typeof undefined&&attr!==false){element_id=$(element).attr("id").indexOf("agreement_2_");} if($(element).is('input')&&element_id==-1){$(element).prop("disabled",false);$(element).prop("checked",false);}else if($(element).is('input')&&element_id==0){$(element).prop("disabled",false);}else if($(element).is('select.firstDayPart')){$(element).prop("disabled",false);$(element)[0].selectedIndex=checked[index]+1;}else if($(element).is('select.secondDayPart')){$(element).prop("disabled",false);}})});},applyFirstDayToAll:function(){var checked=new Array();var disabled=new Array();$(".weekDay").first().find("select, input").each(function(i,element){if($(element).is('input')){checked.push($(element).prop("checked"));disabled.push($(element).prop("disabled"));}else if($(element).is('select')){checked.push($(element)[0].selectedIndex);disabled.push($(element).prop("disabled"));}});$(".weekDay").nextAll().each(function(i,element){$(element).find('select, input').each(function(index,element){if($(element).is('input')){$(element).prop("disabled",disabled[index]);$(element).prop("checked",checked[index]);}else if($(element).is('select')){$(element).prop("disabled",disabled[index]);$(element)[0].selectedIndex=checked[index];if($(element).val()=='24'){$(element).next().after($('').attr({type:'hidden',name:$(element).next().attr('name'),value:'00'}));}}})});}});var UserFrontendContent=$.PrototypeClass({premiumProfileEditors:{},calendarEditor:CalendarEditor,calendarOverlay:null,registerInlineEditor:function(){var contentDiv=$('div.user-content .editor').first();var contentTitleDiv=$('div.user-content .content-title').first();var editLink=$('a.edit-user-content').first();editLink.click(function(event){event.preventDefault();this.loadInlineEditor(editLink,contentDiv,contentTitleDiv);}.bind(this));this.loadInlineEditor(editLink,contentDiv,contentTitleDiv);},loadInlineEditor:function(editLink,contentDiv,contentTitleDiv){if(sanego.userIsLoggedIn){sanego.request.config.type=contentDiv.up().up().attr('id');var Editor=new InlineEditor(contentDiv,contentTitleDiv,editLink,sanego.request.config);this.premiumProfileEditors[Editor.contentId]=Editor;sanego.controller.premiumProfileEditors[Editor.contentId]=Editor;}},registerShowMoreContent:function(){if($('.practice-info .user-content').length){var gallery=$('.gallery').up('col-md-4');$('.practice .showMore').click(function(event){colEl=$(event.currentTarget).up('.practice').up();if(colEl.hasClass('col-md-8')){colEl.toggleClass('col-md-8').toggleClass('col-md-12').toggleClass('col-sm-6').toggleClass('col-sm-12');}});}},registerCalendars:function(){if($('a.edit-opening-hours').length>0){$('a.edit-opening-hours').first().show().click(function(event){event.preventDefault();if($("#instituteProfile").length){var openingHoursType="Calendar_OpeningHourInstitute";}else if($("#doctorProfile").length){var openingHoursType="Calendar_OpeningHourDoctor";} this.loadCalendarForm('#calendarContainer','#opening-hours-content',openingHoursType);}.bind(this));}},loadCalendarForm:function(containerId,container,calendarType){this.calendarOverlay=sanego.ui.modules.overlay;this.calendarOverlay.resize(600);this.calendarOverlay.updateAjax('/ajax/load-calendar-form/',{method:'post',data:{'id':sanego.request.itemId,'acxiomItemType':sanego.request.itemType,calendarType:calendarType},success:function(){this.calendarEditor=new CalendarEditor(containerId,container);this.calendarEditor.parentContainer=this.calendarOverlay;this.calendarEditor.observeAndHandleSave(this);}.bind(this)});},calendarOnSaveCallback:function(contentDiv,calendarType){$.ajax('/ajax/load-calendar/',{method:'post',data:{'id':sanego.request.itemId,'acxiomItemType':sanego.request.itemType,calendarType:calendarType},success:function(transport){contentDiv.html(transport);this.calendarOverlay.hide();}.bind(this)});},setupContentEventListeners:function(){if($('#edit-search-terms-switch')){$('#edit-search-terms-switch').click(function(event){event.preventDefault();$(event.currentTarget).hide();$('#search-terms-inline').hide();$('#edit-search-terms').show();});} if($('#add-search-term')){$('#add-search-term').click(function(event){event.preventDefault();var url=$(event.currentTarget).attr('href');sanego.ui.modules.overlay.resize(340).updateAjax(url,{success:function(transport){this.addSearchTerm(url,transport);}.bind(this)});}.bind(this));} if($('#delete-search-terms')){$('#delete-search-terms').submit(function(event){event.preventDefault();var confirmed=confirm(_('Are you sure you want to remove these tags?'));if(confirmed===false){return;} this.deleteSearchTerms($(event.currentTarget));}.bind(this));} var setPublic=$('#set-public');if(setPublic){var form=setPublic.up('form');form.find('input[type="submit"]').first().hide();setPublic.click(function(event){this.ajaxSubmit(form,{wrapper:$('#edit-search-terms')});}.bind(this));}},addSearchTerm:function(url,transport){var existing=[];if($('.search-terms .value').length){$('.search-terms .value').each(function(i,term){existing.push($(term).html().replace(/^\s*/,"").replace(/\s*$/,""));});} var form=$('#connect-search-term');var displayErrors=function(errors){if($('ul.search-term-error').length){$('ul.search-term-error').remove();} var errorElm=$('
        ',{'class':'search-term-error'});$.each(errors,function(i,msg){errorElm.append($('
      • ').html(msg));});form.append(errorElm);form.down('input[name="value"]').focus();};form.submit(function(event){event.preventDefault();var newTerm=$(event.currentTarget).down('input').val();if(!newTerm.length){displayErrors([_('Please enter a search term.')]);return;} if(existing.indexOf(newTerm)!==-1){displayErrors([_('You already have this search term')]);return;} $.ajax(url,{method:'post',data:form.serialize(),success:function(transport){if(!$.isUndefined(transport)){var response=transport;if(!$.isUndefined(response.errors)){displayErrors(response.errors);}else{$('#delete-search-terms').show();var termsTable=$('table.search-terms').first();termsTable.show();var submitTermButton=$('table.search-terms tfoot td').first();submitTermButton.show();termsTable.down('tbody').append($('
    ').append($('
    ').append($('',{type:'checkbox',name:'terms[]',value:response.term.id}))).append($('').html(response.term.value)));var remaining=$('#search-terms-remaining');remaining.html(parseInt(remaining.html())-1);sanego.ui.modules.overlay.hide();}}else{sanego.error('unkown error');}},fail:function(transport){sanego.error(transport);}});});},deleteSearchTerms:function(form){AjaxLoaderOverlay.show($('#edit-search-terms'));$.ajax(form.attr('action'),{method:'post',data:form.serialize(),success:function(transport){if(transport.noSelected){$('#delete-search-terms').effect('highlight',{color:'#FF7E00'});} var inputs=form.find('input[name="terms[]"]');var removed=0;inputs.each(function(i,input){if($(input).prop('checked')){removed++;$(input).up('tr').remove();}});var remaining=$('#search-terms-remaining');remaining.html(parseInt(remaining.html())+removed);if(!form.find('input[name="terms[]"]').length){form.hide();} AjaxLoaderOverlay.hide($('#edit-search-terms'));},fail:function(transport){AjaxLoaderOverlay.hide($('#edit-search-terms'));sanego.error('Problem deleting search terms.');}});},ajaxSubmit:function(form,options){if(options.wrapper){AjaxLoaderOverlay.show(options.wrapper);} $.ajax(form.attr('action'),{method:'post',data:form.serialize(),success:function(transport){if($.isFunction(options.onSuccess)){options.onSuccess(transport);} if($(options.wrapper)){AjaxLoaderOverlay.hide(options.wrapper);}},fail:function(transport){sanego.error('Problem deleting search terms.');}});},registerPracticePictureObservers:function(){var gallery=$('.practice .gallery');if(gallery.length){this.changeToJsLinks(gallery);} sanego.ui.modules.overlaypicture.setup('#about-us img, #services img');},changeToJsLinks:function(gallery){gallery.find('a').each(function(i,el){var src=$(el).data('src');$(el).attr('href',src);});},});var DataChangeForm=$.PrototypeClass({formId:'',initialForm:{},initialize:function(formId){this.formId=formId;},registerConfirm:function(submit){this.initialForm=this.retrieveInitialForm(submit.up('form'));var docCount=$('#doctorCount').text();submit.click(function(e){e.preventDefault();var confirmMsg='Do you really want to make changes?';var currForm=$(e.currentTarget).up('form');var changeMsg=this.getChanges(currForm,this.initialForm);var remChangeMsg=this.getChanges(this.initialForm,currForm);if($('#doctorCount').length){confirmMsg='Do you really want to make changes for all {count} doctors?'} if(changeMsg||remChangeMsg){if(remChangeMsg){changeMsg+='
    '+''+remChangeMsg+'';} sanego.ui.modules.overlay.showConfirmLayer(_(confirmMsg,{count:docCount})+'

    '+_(changeMsg),_('Yes'),_('No'),function(submit){sanego.ui.modules.overlay.hide();submit.off('click');submit.click();}.bind(this,submit,docCount));}else{sanego.ui.modules.overlay.showAlert(_('There are no changes'),_('Ok'));}}.bind(this));},getChanges:function(form1,form2){var diff=this.getObjDiff(form2.serializeObject(),form1.serializeObject());var diffText='';if($('#newInstiuteFields').is(':visible')){diffText='Ihre neue Praxis/Klinik'+'
    ';} $.each(diff,function(i,val){if(val){var tmpTxt=this.getDiffText(i,val);if(tmpTxt){diffText+=tmpTxt;}}}.bind(this));return diffText;},getDiffText:function(i,val){var diffText='';var curr=$('[name="'+i+'"]');if(i=='claimedDoctorId'||i=='submitted'){return'';} if(i=='instituteId'){diffText=this.readForInstitute(val)+'
    ';}else if($.isString(val)){if(curr.is('select')){diffText+=this.readForSelect(curr,val);}else if(curr.is(':radio')){diffText+=this.readForRadio(curr,val);}else if(val){diffText+=this.readTextInput(curr,val);} if(diffText){diffText+='
    ';}}else{var label=curr.up('fieldset').find('legend').ignore('span').text();$.each(val,function(i,val){if(val){diffText+=label+': '+val+'
    ';}});} return diffText;},readForInstitute:function(val){if(val==this.initialForm.find('#instituteId').val()){return'Ihre Praxis/Klinik: '+$('#originalInstituteName').text();}else{if($('#toBeInstituteName span').text()){return'Ihre Praxis/Klinik: '+$('#toBeInstituteName span').text();}} return'';},readTextInput:function(input,val){return input.prev('label').ignore('span').text()+': '+val;},readForSelect:function(select,value){if(value=='NULL'){return'';} return select.up().prev('label').ignore('span').text()+": "+select.find('option[value='+value+']').text();},readForRadio:function(radio,value){return radio.up('.form-group').find('> label').ignore('span').text()+": "+radio.up('.form-group').find('input[value='+value+']').up().find('label').text();},getObjDiff:function(prev,now){var changes={},prop,pc;for(prop in now){if(!prev||prev[prop]!==now[prop]){if(typeof now[prop]=="object"){if(c=this.getObjDiff(prev[prop],now[prop])) changes[prop]=c;}else{changes[prop]=now[prop];}}} for(prop in changes){return changes;} return false;},retrieveInitialForm:function(form){if($('.error').length){return $(sessionStorage.getItem('form'+this.formId));}else{var f=form.clone();sessionStorage.setItem('form'+this.formId,f.html());return f;}}});var Maps=$.PrototypeClass({mapLayers:'',oldTransportMode:'',oldAddress:'',oldTrafficMode:true,layers:{},initialize:function(mapConf,uiConf){sanego.request.jwttoken=uiConf.token;this.setConfigs(mapConf,uiConf);this.setWindowSize('#'+mapConf.mapContainerId,uiConf.userInterfaceId);},setConfigs:function(mapConf,uiConf){this.uiConf=uiConf;this.mapConf=mapConf;},setWindowSize:function(id,uiId){$(id).width($(id).width()).height($(id).up().up().height()-$(uiId).height());},setMapLib:function(mapLib){this.hereMap=mapLib;},useMapNavigation:function(mapNavigation){this.mapNavigation=mapNavigation;},registerMapEvents:function(){this.registerExternalLinkObservers();this.registerDirectionObservers();},registerDirectionObservers:function(){$(this.uiConf.directionsModeId).find('a').click(function(event){event.preventDefault();$(this.uiConf.directionsModeId).find('.selected').removeClass('selected');$(event.currentTarget).addClass('selected');this.updateDirections();}.bind(this));if(typeof this.uiConf.directionsStartId!='undefined'&&typeof this.uiConf.directionsCalculateId!='undefined'){$(this.uiConf.directionsCalculateId).click(function(event){event.preventDefault();this.updateDirections();}.bind(this));} $(this.uiConf.mapLayers).find('input').change(function(event){event.preventDefault();this.updateDirections();}.bind(this));},registerExternalLinkObservers:function(){if(typeof this.uiConf.directionsStartId!='undefined'){$(this.uiConf.directionsStartId).on('change paste keyup',function(){this.updateExternalLinks();}.bind(this));this.updateExternalLinks();}},drawRoute:function(){this.updateAdditionalLayers();if(!this.mapNavigation.doesStartAndEndCoordinatesExist()){sanego.ui.modules.tracking.event('Map','route','no address');return;}else{var onResult=function(result){if(!result.type){$(this.uiConf.directionsStartId).removeClass('error');sanego.ui.modules.tracking.event('Map','route','OK');if(result.routes.length&&this.mapNavigation){this.mapNavigation.createAndAddRouteLine(result);}}else{$(this.uiConf.directionsStartId).addClass('error');sanego.ui.modules.tracking.event('Map','route','wrong address');} this.updateInfoDetails(result);}.bind(this);if(this.getMode()=='publicTransport'){this.mapNavigation.publicTransportRoute(this.getMode(),onResult,function(){$(this.uiConf.directionsStartId).addClass('error');});}else{this.mapNavigation.route(this.getMode(),onResult,function(){$(this.uiConf.directionsStartId).addClass('error');});} $('.externalUrls').html(this.getExternalMapLink());}},updateInfoDetails:function(result){if(result.routes.length&&typeof result.routes[0].sections[0].travelSummary!='undefined'){var totalLength=result.routes[0].sections.reduce((sum,section)=>sum+section.travelSummary.length,0);var totalDuration=result.routes[0].sections.reduce((sum,section)=>sum+section.travelSummary.duration,0);$(this.uiConf.directionsInfoId).show();let textSummary=$.interpolate("Ihre Fahrt ist {distance} km lang und dauert etwa {hours} Stunden und {minutes} Minuten.",{distance:(totalLength/1000).toFixed(1),hours:(totalDuration/3600).toFixed(0),minutes:(totalDuration%3600 / 60).toFixed(0)});$(this.uiConf.directionsInfoId).find('.summary').html(textSummary);}else{$(this.uiConf.directionsInfoId).hide()}},updateAdditionalLayers:function(){var currentMode=this.getMode();this.hereMap.cleanMap();if(currentMode=='pedestrian'||currentMode=='bicycle'){$(this.uiConf.mapLayers).find('.text').text('');$(this.uiConf.mapLayers).hide();}else{$(this.uiConf.mapLayers).find('.text').text(_(currentMode));$(this.uiConf.mapLayers).show();if($(this.uiConf.mapLayers).find('input').prop('checked')){this.hereMap.map.setBaseLayer(this.hereMap.layers[currentMode]);}}},updateExternalLinks:function(){$('.externalUrls').html(this.getExternalMapLink());},getMode:function(){return $(this.uiConf.directionsModeId).find('a.selected').data('value');},updateDirections:function(){if(!this.validateRequiredFields()){$(this.uiConf.directionsStartId).effect('highlight',{color:'#FF8618'});return;} if(!this.isDifferentAddress()&&!this.isDifferentTransportMode()&&!this.isDifferentTrafficMode()){return;} if(this.getStartAddress()){this.oldAddress=this.getStartAddress();this.oldTransportMode=this.getMode();this.oldTrafficMode=this.getTrafficMode();this.mapNavigation.geocode(this.drawRoute.bind(this),this.getStartAddress(),function(status){if(!status){$(this.uiConf.directionsStartId).addClass('error');}else{$(this.uiConf.directionsStartId).removeClass('error');}}.bind(this));}else{this.mapNavigation.emptyStartLatLng();}},getExternalMapLink:function(){var travelMode=this.getMode();return'Here Maps oder ' +'Google Maps';},getStartAddress:function(){return $(this.uiConf.directionsStartId).val().trim();},getTrafficMode:function(){return $(this.uiConf.mapLayers).find('input').prop('checked');},validateRequiredFields:function(){if(!$(this.getStartAddress().length)){$(this.uiConf.directionsStartId).focus();return false;} return true;},isDifferentTransportMode:function(){if(this.oldTransportMode!=this.getMode()){return true;} return false;},isDifferentTrafficMode:function(){if(this.oldTrafficMode!=this.getTrafficMode()){return true;} return false;},isDifferentAddress:function(){if(this.oldAddress!=this.getStartAddress()){return true;} return false;}});var PromotedBadge=$.PrototypeClass({initialize:function(){if($('#promoteBadge').length){sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:"#promoteBadge .doBadge",handlerCallBack:this.showBadgeHtml.bind(this)}));}},showBadgeHtml:function(event){event.preventDefault();var element=$(event.currentTarget);var badgeType=$.trim(element.attr('class').replace('doBadge',''));var html='';if(badgeType=='big'){html=sanego.request.badgeImageHtmlBig;}else{html=sanego.request.badgeImageHtmlTiny.replace('sanego_tiny','sanego_'+badgeType);} sanego.ui.modules.overlay.update(html).show();},});var ToTopButton=$.PrototypeClass(SingleParent.UserInterfaceUniqueElement,{setup:function(scrollLimitElement){this.ToTopButton=$(".toTopButton") this.registerGoToTop() $(document).scroll(function(){if(this.ToTopButton.length&&this.checkScrollLimit(scrollLimitElement)){$(".h5-sticky-ad").length?this.ToTopButton.css("bottom","6rem"):this.ToTopButton.css("bottom","1rem")}else{this.ToTopButton.css("bottom","-5rem")}}.bind(this));$(".h5-sticky-ad-close").length&&$(".h5-sticky-ad-close").on("click",()=>{if(this.checkScrollLimit(scrollLimitElement)){this.ToTopButton.css("bottom","1rem")}})},registerGoToTop:function(){this.ToTopButton.on("click",()=>{$("html, body").animate({scrollTop:0},"slow");return false;})},checkScrollLimit:function(scrollLimit){return $(window).scrollTop()>scrollLimit.offset().top}});var Controller_Doctor=$.PrototypeClass(Controller,{doctorRegisterUrlScheme:'/Arzt-code?doctorId=%id%',doctorRegisterElementClass:'doDoctorRegister',institutePicker:DoctorInstitutePicker,ratingsLoaded:{},premiumProfileEditors:{},registerEvents:function(){sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:".editDetails",handlerCallBack:this.openEditPage.bind(this)}));new PromotedBadge();sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:'.'+this.doctorRegisterElementClass,handlerCallBack:this.registerPageRedirect.bind(this)}));const toTopButton=new ToTopButton();toTopButton.setup($('#ratingsHeader')) $(document).scroll(function(){if(Utils.isElementInViewport($('.ratings .content'))){$('.doctorRatings.comparison > div, .doctorRatings > li[id^="rating"]').each(function(i,el){var rating=$(el);if(Utils.isElementInViewport(rating)){this.loadThumbsRating(rating);}}.bind(this))}}.bind(this));},actionIndex:function(){this.registerEvents();var doctorSearch=new DoctorSearchContainer();this.initMap();UserFrontendContent=new UserFrontendContent();UserFrontendContent.setupContentEventListeners();this.beautifyEmail();UserFrontendContent.registerPracticePictureObservers();UserFrontendContent.registerShowMoreContent();UserFrontendContent.registerCalendars();if(!$.isUndefined(this.request.linkStatistics)){this.linkAccessStatistics(this.request.linkStatistics);} if($('#edit-search-terms')){$('#edit-search-terms').hide();} var editTermsLink=$('#edit-search-terms-switch');if(editTermsLink){editTermsLink.show();} $("[data-target]").on("click",function(){const adsEnabled=Utils.areAdsEnabled() const target=$("#"+$(this).attr("data-target")) target.scrollTo(400,()=>{},adsEnabled?-130:-80)})},actionAboutUs:function(){UserFrontendContent=new UserFrontendContent();UserFrontendContent.registerInlineEditor();},actionServices:function(){UserFrontendContent=new UserFrontendContent();UserFrontendContent.registerInlineEditor();},actionEdit:function(){this.addFormBehaviorForEdit();this.initiateInstitutePicker();},actionNew:function(){this.addFormBehavior();this.initiateInstitutePicker();},initiateInstitutePicker:function(action){this.institutePicker=new DoctorInstitutePicker();this.setInstituteSuggestions(this.request.instituteSuggestions);this.institutePicker.createNewInstitute=this.request.createNewInstitute;this.institutePicker.enable();},addFormBehaviorForEdit:function(){this.enableMedicalAreaFormSelectAdding('medicalAreas2');this.addFormBehavior();var form=new DataChangeForm('doc'+this.request.doctorId);form.registerConfirm($('.editDoctor .button'));},addFormBehavior:function(){this.enableMedicalAreaFormSelectAdding('medicalAreas1');this.enableProfessionalGroupFormSelectAdding();this.enableLanguageFormSelectAdding();this.lockSubmitButtonAfterClick();},openEditPage:function(){window.open(this.request.linkEdit,'_blank');},loadThumbsRating:function(rating){var id=rating.attr('id').replace('rating-','');if(typeof this.ratingsLoaded[id]==='undefined'){this.ratingsLoaded[id]=true;rating.find('.yesNoContainer').load('/ajax/rating-thumb-html/?'+$.param({'id':id}),function(){sanego.ui.modules.yesnorating.setup();});}},setInstituteSuggestions:function(city){this.institutePicker.city=city;},enableMedicalAreaFormSelectAdding:function(medicalAreas){this.enableFormSelectAdding(medicalAreas);},enableProfessionalGroupFormSelectAdding:function(){this.enableFormSelectAdding('professionalGroups');},enableLanguageFormSelectAdding:function(){this.enableFormSelectAdding('languages');},lockSubmitButtonAfterClick:function(){$('form.editDoctor').first().submit(function(event){var el=$(event.currentTarget);$(el).find('input[name=submit]').first().prop('disabled',true);});},enableFormSelectAdding:function(containerId){$('#'+containerId+' a').last().click(function(event){var clone=$('#'+containerId+' div.line').first().clone();$(clone).find('select').each(function(i,o){$(o).attr('id',null).removeClass('error').val('');});$('#'+containerId+' div.list').first().append($(clone));event.preventDefault();}.bind(this));},linkAccessStatistics:function(url){var counter=$('.pageImpressionCount').first();var link=$('',{'href':url});link.html(counter.html());link.click(function(event){this.loadAccessStatisticsOverlay(event);}.bind(this));counter.html(link);},loadAccessStatisticsOverlay:function(event){var width=900;var height=230;var src=$(event.target).attr('href');event.preventDefault();sanego.ui.modules.overlay.update($('',{'width':width,'height':height,'src':src})).resize().show();},beautifyEmail:function(){if(!$('.email').length){return;} email=$('.email').html().replace("[AT]",'@').replace(/\[DOT]/g,'.').replace(/\ /g,'');$('.email').first().html(email);},loadMap:function(event){event.preventDefault();sanego.ui.modules.overlay.resizeFullScreen();sanego.ui.modules.overlay.center();sanego.ui.modules.overlay.updateAjax('/ajax/load-map',{data:{itemId:this.request.itemId,itemType:this.request.itemType},success:function(response){sanego.ui.modules.location.registerForContainer($('#map_directions_start'),'formatted_address','doctormap');}.bind(this)});},initMap:function(){if(Utils.isMobile()){var staticMapImg=$('',{'href':'#'}).html('Karte / Route ansehen');$('#doctorProfile .mapLink').first().html(staticMapImg);}else{var staticMapUrl=this.request.staticMapUrl;var markerLeft='243px';if(Utils.isTablet()){staticMapUrl=staticMapUrl.replace(/w=\d+/,'w=356');markerLeft='156px';} var match=this.request.hereAccessToken.match(/(.*?)/);var hereAccessToken=match?match[1]:this.request.hereAccessToken||null;$.ajax({url:staticMapUrl,method:'GET',headers:{'Authorization':'Bearer '+hereAccessToken},xhrFields:{responseType:'blob'},success:function(blob){const imgUrl=URL.createObjectURL(blob);var mapContainer=$('#doctorProfile .map');var staticMapImg=$('',{src:imgUrl,alt:'Karte / Route ansehen'});var staticMapMarker=$('',{'style':'width: auto; position: absolute; top: 63px; left:'+markerLeft,src:this.request.staticMapMarker});sanego.ui.modules.tracking.event('MapImage','show','doctor');mapContainer.html(staticMapImg).append(staticMapMarker);}.bind(this),error:function(xhr,status,error){console.error('Error fetching map image:',status,error);}});} sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:"#doctorProfile .map, #doctorProfile .mapLink a",handlerCallBack:this.loadMap.bind(this)}));},registerPageRedirect:function(){location.href=this.doctorRegisterUrlScheme.replace('%id%',this.request.itemId);}});var Controller_Institute=$.PrototypeClass(Controller,{premiumProfileEditors:{},actionIndex:function(){this.initMap();UserFrontendContent=new UserFrontendContent();UserFrontendContent.setupContentEventListeners();UserFrontendContent.registerPracticePictureObservers();UserFrontendContent.registerShowMoreContent();UserFrontendContent.registerCalendars();if($('#edit-search-terms')){$('#edit-search-terms').hide();} $("[data-target]").on("click",function(){const adsEnabled=Utils.areAdsEnabled() const target=$("#"+$(this).attr("data-target")) target.scrollTo(400,()=>{},adsEnabled?-130:-80)}) var editTermsLink=$('#edit-search-terms-switch');if(editTermsLink){editTermsLink.show();} const toTopButton=new ToTopButton();toTopButton.setup($("#instituteDoctorsHeading")) new PromotedBadge();},actionAboutUs:function(){UserFrontendContent=new UserFrontendContent();UserFrontendContent.registerInlineEditor();},actionServices:function(){UserFrontendContent=new UserFrontendContent();UserFrontendContent.registerInlineEditor();},actionEdit:function(){var form=new DataChangeForm('inst'+this.request.instituteId);form.registerConfirm($('.editInstitute .button'));},loadMap:function(event){event.preventDefault();sanego.ui.modules.overlay.resizeFullScreen();sanego.ui.modules.overlay.center();sanego.ui.modules.overlay.updateAjax('/ajax/load-map',{data:{itemId:this.request.itemId,itemType:this.request.itemType},success:function(response){sanego.ui.modules.location.registerForContainer($('#map_directions_start'),'formatted_address','institutemap');}.bind(this)});},initMap:function(event){if(Utils.isMobile()){var staticMapImg=$('',{'href':'#'}).html('Karte / Route ansehen');$('#instituteProfile .mapLink').first().html(staticMapImg);}else{var staticMapUrl=this.request.staticMapUrl;var markerLeft='243px';if(Utils.isTablet()){staticMapUrl=staticMapUrl.replace(/w=\d+/,'w=356');markerLeft='156px';} var hereAccessToken=this.request.hereAccessToken;$.ajax({url:staticMapUrl,method:'GET',headers:{'Authorization':'Bearer '+hereAccessToken},xhrFields:{responseType:'blob'},success:function(blob){const imgUrl=URL.createObjectURL(blob);var mapContainer=$('#instituteProfile .map');var staticMapImg=$('',{src:imgUrl,alt:'Karte / Route ansehen'});var staticMapMarker=$('',{'style':'width: auto; position: absolute; top: 63px; left:'+markerLeft,src:this.request.staticMapMarker});sanego.ui.modules.tracking.event('MapImage','show','institute');mapContainer.html(staticMapImg).append(staticMapMarker);}.bind(this),error:function(xhr,status,error){console.error('Error fetching map image:',status,error);}});} sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:"#instituteProfile .map, #instituteProfile .mapLink a",handlerCallBack:this.loadMap.bind(this)}));}});var Controller_Illness=$.PrototypeClass(Controller,{containerXPath:'.wiki .html',actionIndex:function(){var SideeffectController=new Controller_Sideeffect();SideeffectController.registerRatingAndCommentEvents();SideeffectController.registerLoadMoreDynamic('.moreDrugSEs, #moreDrugsWithSE');},actionWiki:function(){sanego.ui.modules.layout.makeImagesResponsive(this.containerXPath);if(sanego.userIsLoggedIn){new WikiEditor;} var userEventDefinitions=new UserEventDefinition({name:"click",xPath:"input#previewImage",handlerCallBack:this.submitImageForm.bind(this)});sanego.ui.registerEvent(userEventDefinitions);},submitImageForm:function(){AjaxLoaderOverlay.show($('#imagesFrame').up());$('#imageForm').submit();AjaxLoaderOverlay.hide($('#imagesFrame').up());$('#imagesFrame').css({'width':'100%','height':'100%'});}});var Controller_ForgotPassword=$.PrototypeClass(Controller,{actionIndex:function(){$('#password').focus();},actionAssign:function(){if(!$.isUndefined(sanego.request.fromDoctorVerification)){sanego.ui.modules.tracking.event('Doctor','registration','code entering success');}}});var Controller_Drug=$.PrototypeClass(Controller,{actionIndex:function(){var SideeffectController=new Controller_Sideeffect();SideeffectController.registerRatingAndCommentEvents();SideeffectController.registerLoadMoreDynamic('.moreSideeffects');this.registerApomioClickTracking();},actionWiki:function(){new WikiEditor();},registerApomioClickTracking:function(){sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:".apomioAd",handlerCallBack:this.trackApomioLinkClicks.bind(this)}));},trackApomioLinkClicks:function(event){var el=$(event.currentTarget);var pos=$('.apomioAd').identify().index(el.identify())+1;var label='Ad link';if($(event.target).is('input')){label='Ad button';} sanego.ui.modules.tracking.clickEvent('Apomio',label+', pos. '+pos+' - '+sanego.request.controller);}});var Controller_Agent=$.PrototypeClass(Controller,{actionIndex:function(){var SideeffectController=new Controller_Sideeffect();SideeffectController.registerRatingAndCommentEvents();SideeffectController.registerLoadMoreDynamic('.moreSideeffects','.loadHtml');}});var Controller_Sideeffecttag=$.PrototypeClass(Controller,{actionIndex:function(){var SideeffectController=new Controller_Sideeffect();SideeffectController.registerRatingAndCommentEvents();SideeffectController.registerLoadMoreDynamic('.moreDrugSEs, #moreDrugsWithSE');}});var Controller_DrugSideeffecttag=$.PrototypeClass(Controller,{actionIndex:function(){var SideeffectController=new Controller_Sideeffect();SideeffectController.registerRatingAndCommentEvents();SideeffectController.registerLoadMoreDynamic('.moreDrugSEs');var DrugController=new Controller_Drug();DrugController.registerApomioClickTracking();}});var Controller_DrugIllness=$.PrototypeClass(Controller,{actionIndex:function(){var SideeffectController=new Controller_Sideeffect();SideeffectController.registerRatingAndCommentEvents();SideeffectController.registerLoadMoreDynamic('.moreDrugSEs, #moreDrugsWithSE');var DrugController=new Controller_Drug();DrugController.registerApomioClickTracking();}});var Controller_UserRegistration=$.PrototypeClass(Controller,{actionIndex:function(){try{new UserRegisterFormValidator('RegPage');$('#usernameRegPage').last().focus();} catch(error){sanego.error(error);}}});var Controller_Authentication=$.PrototypeClass(Controller,{actionLogin:function(){$('#username_loginPage').focus();},actionSocial:function(){}});Controller_Authentication.alreadySigningIn=false;Controller_Authentication.socialSignedIn=function(type,token,userId,email,name,surname,fullname,imageUrl){if(!Controller_Authentication.alreadySigningIn){AjaxLoaderOverlay.show($('.content').first());Controller_Authentication.alreadySigningIn=true;$.post('/social/verify',{'type':type,'token':token,'userId':userId,'email':email,'name':name,'surname':surname,'fullname':fullname,'imageUrl':imageUrl}).done(function(response){Controller_Authentication.alreadySigningIn=false;window.location=response.redirectUrl;}).fail(function(response){Controller_Authentication.alreadySigningIn=false;AjaxLoaderOverlay.hide($('.content').first());});}};var Controller_Advantago=$.PrototypeClass(Controller,{actionIndex:function(){this.initMap();},loadMap:function(event){event.preventDefault();sanego.ui.modules.overlay.resizeFullScreen();sanego.ui.modules.overlay.center();sanego.ui.modules.overlay.updateAjax('/ajax/load-map',{data:{itemId:this.request.itemId,itemType:this.request.itemType},success:function(response){sanego.ui.modules.location.registerForContainer($('#map_directions_start'),'formatted_address','advantagoitemmap');}.bind(this)});},initMap:function(){if(Utils.isMobile()){var staticMapImg=$('',{'href':'#'}).html('Karte / Route ansehen');$('#advantagoItemProfile .mapLink').first().html(staticMapImg);}else{var staticMapUrl=this.request.staticMapUrl;var markerLeft='325px';if(Utils.isTablet()){staticMapUrl=staticMapUrl.replace(/w=\d+/,'w=356');markerLeft='156px';} var hereAccessToken=this.request.hereAccessToken;$.ajax({url:staticMapUrl,method:'GET',headers:{'Authorization':'Bearer '+hereAccessToken},xhrFields:{responseType:'blob'},success:function(blob){const imgUrl=URL.createObjectURL(blob);var mapContainer=$('#advantagoItemProfile .map');var staticMapImg=$('',{src:imgUrl,alt:'Karte / Route ansehen'});var staticMapMarker=$('',{'style':'width: auto; position: absolute; top: 63px; left:'+markerLeft,src:this.request.staticMapMarker});sanego.ui.modules.tracking.event('MapImage','show','advantagoItem');mapContainer.html(staticMapImg).append(staticMapMarker);}.bind(this),error:function(xhr,status,error){console.error('Error fetching map image:',status,error);}});} sanego.ui.registerEvent(new UserEventDefinition({name:"click",xPath:"#advantagoItemProfile .map, #advantagoItemProfile .mapLink a",handlerCallBack:this.loadMap.bind(this)}));},});var DoctorSearchContainer=$.PrototypeClass({doctorSearchUrl:'/Arzt/',instituteSearchUrl:'/Klinik/',registerAutosuggest:function(){var callbackFunction=function(element,queryStr){if($('#doctorsearch_where').val()!=''){queryStr+='&whereToSuggest=';queryStr+=encodeURI($('#doctorsearch_where').val());} return queryStr;};var afterUpdateElementFunction=function(text,li){if(li.hasClass('doctorName')||li.hasClass('clinicName')){AjaxLoaderOverlay.show($('.doctorSearchForm').first());}}.bind(this);sanego.onDomLoaded(function(){sanego.ui.modules.categorizedautosuggest.addToOneElement(['medicalArea','doctorName','clinicName','advantago'],'doctorsearch_what',{afterUpdateElement:afterUpdateElementFunction,callback:callbackFunction});sanego.ui.modules.categorizedautosuggest.addToOneElement(['city','postalCode','cityPart'],'doctorsearch_where',{afterUpdateElement:afterUpdateElementFunction});});}});var MedicalSearch=$.PrototypeClass({config:{},initialized:false,initializer:undefined,mapReloading:false,mapTimeout:0,idsInMap:[],idsToCoords:{},clustered:[],mapViewChanged:false,markersWithImageCount:0,markersLastIndex:0,defBblH:'',checkInitialized:function(callback){if(!this.initialized){this.initializer(callback);this.initialized=true;}else{callback();}},toggle:function(){$('#mapContainer').toggle();},registerEvents:function(){var mapSearchHeadline=$('.showMap').first();mapSearchHeadline.html($('',{'href':'#','id':'resizeMap'}).html(mapSearchHeadline.html()));this.userEventDefinition=new Array();this.userEventDefinition[0]=new UserEventDefinition({name:"click",jQueryObject:mapSearchHeadline,xPath:'a',handlerCallBack:this.toggleMapViewClick.bind(this)});sanego.ui.registerEvent(this.userEventDefinition[0]);},initMap:function(config){this.config=config.search;new AsyncScriptLoader(["https://js.api.here.com/v3/3.1/mapsjs-ui.css"],["https://js.api.here.com/v3/3.1/mapsjs-core.js"],["https://js.api.here.com/v3/3.1/mapsjs-service.js","https://js.api.here.com/v3/3.1/mapsjs-ui.js","https://js.api.here.com/v3/3.1/mapsjs-mapevents.js","https://js.api.here.com/v3/3.1/mapsjs-harp.js","https://js.api.here.com/v3/3.1/mapsjs-clustering.js",config.search.hereMapLibPath,config.search.mapClusterLibPath],function(){this.maplib=new HereMap();this.maplib.initialize(config.map);this.clusterlib=new HereMapCluster(this.maplib,{autofitBbl:Utils.isMobile(),bblHeadText:this.clH});this.defBblH=this.clusterlib.config.bblHeadText;this.addMarkers(this.maplib.cfg.markers);this.clusterlib.startClustering();this.maplib.fitBounds();this.registerMapListeners(this.maplib);}.bind(this));},addMarkers:function(markers){$(markers).each(function(i,v){var markerImage=this.getMarkerImage(v);var zIndex=this.getMarkerZIndex(v);this.clusterlib.addMarker(v.lat,v.lon,markerImage,v.title,zIndex,v.imageUrl);this.idsToCoords[v.id]={lat:v.lat,lon:v.lon};this.idsInMap.push(v.id);}.bind(this));if(markers.length){this.clusterlib.config.bblHeadText=this.defBblH;}else{this.clusterlib.config.bblHeadText=this.clusterlib.config.bblHeadText.replace('mindestens','');}},getMarkerImage:function(v){if(v.imageUrl){var letteredIconImage=v.imageUrl;this.markersWithImageCount++;}else{var letter=String.fromCharCode("A".charCodeAt(0)+this.markersLastIndex-this.markersWithImageCount);if(letter<='Z'){var letteredIconImage=$.interpolate(this.config.markerPath+"{letter}.png",{letter:letter});}else{var letteredIconImage=$.interpolate(this.config.markerPath+"default.png",{});}} this.markersLastIndex++;return letteredIconImage;},getMarkerZIndex:function(v){if(v.imageUrl){return 2}else{return 1;}},registerMapListeners:function(maplib){maplib.map.addEventListener('mapviewchangestart',function(evt){if(this.mapViewChanged){this.potentialReload(evt.currentTarget);}else{this.mapViewChanged=true;}}.bind(this));},potentialReload:function(map){if(this.mapTimeout){clearTimeout(this.mapTimeout);} this.mapTimeout=setTimeout(function(){if(!this.mapReloading){this.mapReloading=true;var map=this.maplib.map;var boundaries=map.getViewModel().getLookAtData().bounds;var zoom=map.getZoom();this.customReloadMarkers(boundaries,zoom);}else{}}.bind(this),1000);},reloadMarkers:function(baseUrl,boundaries,zoom){var box=boundaries.getBoundingBox();var queryParam={latMax:box.getTop(),latMin:box.getBottom(),lonMax:box.getRight(),lonMin:box.getLeft(),zoomLevel:zoom};var queryParamString=$.param(queryParam);var url=$.interpolate('{baseUrl}&{queryParamString}',{baseUrl:baseUrl,queryParamString:queryParamString});Utils.writeLoadingIndicator('#mapStatus');$.ajax(url,{method:'get',requestHeaders:{Accept:'application/json'},success:function(json){this.maplib.reloadedCount++;this.addMarkers(json.locations);var zIndex=this.idsInMap.length;this.clusterlib.removeLayerIdx(1);this.clusterlib.startClustering(zIndex);this.mapReloading=false;Utils.removeLoadingIndicator($('#mapStatus'),true);}.bind(this)});},toggleMapViewClick:function(event){event.preventDefault();var that=this;this.checkInitialized(function(){var list=$('div.list');var listCol=list.parents('div').first();$('#map_canvas').css({'height':listCol.width()});$('#resizeMap').toggleClass('opened');if($('#resizeMap').hasClass('opened')){list.scrollTo();sanego.ui.modules.tracking.event('Map','open',document.location.pathname);}else{Utils.removeLoadingIndicator($('#mapStatus'));} that.toggle();});},getInBoundaries:function(locs,boundaries){var box=boundaries.getBoundingBox();var ids=[];$.each(locs,function(i,el){if(el.lat>box.getBottom()&&el.latbox.getLeft()&&el.lonHier gibt es mindestens {count} Ärzte

    ",customReloadMarkers:function(boundaries,zoom){var blacklistedInView=this.getInBoundaries(this.idsToCoords,boundaries);var queryParam={blackList:blacklistedInView.join(','),doctorType:this.doctorType,medicalArea:this.medicalArea,q:this.what};var queryParamString=$.param(queryParam);var url=$.interpolate("/api/doctors?service=map&{queryParamString}",{queryParamString:queryParamString});this.reloadMarkers(url,boundaries,zoom);}});var ClinicSearch=$.PrototypeClass(MedicalSearch,{departmentGroup:String,what:String,clH:"

    Hier gibt es mindestens {count} Kliniken

    ",customReloadMarkers:function(boundaries,zoom){var blacklistedInView=this.getInBoundaries(this.idsToCoords,boundaries);var queryParam={blackList:blacklistedInView.join(','),departmentGroup:this.departmentGroup,q:this.what};var queryParamString=$.param(queryParam);var url=$.interpolate('/api/clinics?service=map&{queryParamString}',{queryParamString:queryParamString}) this.reloadMarkers(url,boundaries,zoom);}});var FormValidation=$.PrototypeClass({initialize:function(){this.isValid=false;this.formValidator=null;this.inputValidators=null;this.cachedEvent=null;this.setInitializeObject();this.validateMembers();if(this.formValidator!=null){this.registerFormValidatorEvent();} if(this.inputValidators!=null){this.registerInputValidatorsEvents();}},setInitializeObject:function(){throw("child class of FormValidation didn't define the method on its own");},validateMembers:function(){if(this.formValidator==null&&this.inputValidators==null){throw"missing required Element in FormValidator";}},registerFormValidatorEvent:function(){try{var userEventDefinition=new UserEventDefinition({name:'submit',jQueryObject:this.formValidator.formElement,handlerCallBack:this.ElementValidationAjax.bind(this,this.formValidator)});sanego.ui.registerEvent(userEventDefinition);} catch(error){throw"cant register formValidator event: "+error;}},registerInputValidatorsEvents:function(){$(this.inputValidators).each(function(i,inputValidator){try{this.registerInputValidatorEvents(inputValidator);} catch(error){throw"cant register inputValidatorsEvents: "+error;}}.bind(this));},registerInputValidatorEvents:function(inputValidator){$(inputValidator.eventNames).each(function(i,eventName){$(inputValidator.observeElements).each(function(i,observeElement){var userEventDefinition=new UserEventDefinition({name:eventName,jQueryObject:observeElement,delay:inputValidator.delay,handlerCallBack:this.ElementValidationAjax.bind(this,inputValidator)});sanego.ui.registerEvent(userEventDefinition);}.bind(this));}.bind(this));},doAjaxRequest:function(elementValidator,ajaxRequestParameters,observedEvent){$.ajax(FormValidation.ajaxURL+elementValidator.ajaxAction,{type:"POST",data:ajaxRequestParameters,success:this.doAjaxRequestSuccess.bind(this,elementValidator,observedEvent),fail:this.doAjaxRequestFailure.bind(this,elementValidator,observedEvent)});},ElementValidationAjax:function(elementValidator,observedEvent){observedEvent.preventDefault();var ajaxRequestParameters=new Object;if(observedEvent.type=='submit'){ajaxRequestParameters=elementValidator.formElement.serialize(true);var honeypot=$('[name="rgb"]');if(honeypot.length){ajaxRequestParameters.rgb=honeypot.prop('checked');}}else{try{$(elementValidator.valueElements).each(function(i,oneOrManyDomElements){$(oneOrManyDomElements).each(function(j,domElement){if(!$.isUndefined(domElement)){ajaxRequestParameters[$(domElement).attr('name')]=$(domElement).val();}});});} catch(error){throw"Error in FormValidator.ElementValidationAjax: "+error;}} this.doAjaxRequest(elementValidator,ajaxRequestParameters,observedEvent);},doAjaxRequestSuccess:function(elementValidator,observedEvent,response){try{elementValidator.isValid=response.valid;$(elementValidator.messageElement).html(response.message);elementValidator.onSuccessCallBack(response,observedEvent);} catch(error){sanego.error("Error in FormValidator.doAjaxRequestSuccess: "+error);}},doAjaxRequestFailure:function(elementValidator,observedEvent){elementValidator.onFailureCallBack(elementValidator,observedEvent);}});FormValidation.ajaxURL="/ajax/";var InputValidator=$.PrototypeClass({eventNames:Object,delay:Number,valueElements:Object,observeElements:Object,messageElement:Element,ajaxAction:String,ajaxParameters:Object,onSuccessCallBack:Function,onFailureCallBack:Function,isValid:false,initialize:function(initializationObject){if($.isArray(initializationObject.eventNames)){this.eventNames=initializationObject.eventNames;} else{this.eventNames=[];this.eventNames[0]=initializationObject.eventNames;} if($.isUndefined(initializationObject.delay)){this.delay=0;} else{this.delay=initializationObject.delay;} if($.isElement(initializationObject.valueElements)){this.valueElements=[];this.valueElements[0]=initializationObject.valueElements;} else{this.valueElements=initializationObject.valueElements;} if($.isArray(initializationObject.observeElements)){this.observeElements=initializationObject.observeElements;} else{this.observeElements=[];this.observeElements[0]=initializationObject.observeElements;} this.messageElement=initializationObject.messageElement;this.ajaxAction=initializationObject.ajaxAction;this.ajaxParameters=initializationObject.ajaxParameters;if($.isUndefined(this.ajaxParameters)){this.ajaxParameters=new Object();} this.onSuccessCallBack=initializationObject.onSuccessCallBack;this.onFailureCallBack=initializationObject.onFailureCallBack;this.validateMembers();},validateMembers:function(){if($.isUndefined(this.eventNames)||!$.isArray(this.eventNames)){throw"missing required eventName in InputTextElementValidator";}else{$(this.eventNames).each(function(i,item){if(!$.isString(item)){throw"one Element in eventNames is not a String in InputTextElementValidator";}});} if(!$.isNumeric(this.delay)){throw"delay is not a Number in InputTextElementValidator.";} if($.isUndefined(this.valueElements)||!$.isArray(this.valueElements)){throw"missing one required valueElement in InputTextElementValidator";}else{$(this.valueElements).each(function(i,item){if(!$.isElement(item)){throw item+" one Element in valueElements is not a Element in InputTextElementValidator";}});} if($.isUndefined(this.observeElements)||!$.isArray(this.observeElements)){throw this.observeElements+" missing one required observeElements in InputTextElementValidator";}else{$(this.observeElements).each(function(i,item){if(!$.isElement(item)){throw item+" one Element in observeElements is not a Element in InputTextElementValidator";}});} if($.isUndefined(this.messageElement)){throw"missing required messageElement in InputTextElementValidator";} if($.isUndefined(this.ajaxAction)||!this.ajaxAction.length){throw"missing required ajaxAction in InputTextElementValidator";} if(!$.isFunction(this.onSuccessCallBack)){throw"missing required onSuccessCallBack in InputTextElementValidator";} if(!$.isFunction(this.onFailureCallBack)){throw"missing required onSuccessCallBack in InputTextElementValidator";}}});var FormValidationSetupValidator=$.PrototypeClass({isValid:false,formElement:Element,messageElement:Element,ajaxAction:String,ajaxParameters:Object,onSuccessCallBack:Function,onFailureCallBack:Function,initialize:function(initializationObject){this.formElement=initializationObject.formElement;this.messageElement=initializationObject.messageElement;this.ajaxAction=initializationObject.ajaxAction;this.ajaxParameters=initializationObject.ajaxParameters;if($.isUndefined(this.ajaxParameters)){this.ajaxParameters=new Object();} this.onSuccessCallBack=initializationObject.onSuccessCallBack;this.onFailureCallBack=initializationObject.onFailureCallBack;this.validateMembers();},validateMembers:function(){if($.isUndefined(this.formElement)||!$.isElement(this.formElement)){throw"missing one required formElement in FormValidationSetupValidator";}else if(!$(this.formElement).is('form')){throw $(this.formElement.identify())+" is not a form Element FormValidationSetupValidator";} if(!$.isElement(this.messageElement)){throw"missing required messageElement in FormValidationSetupValidator";} if($.isUndefined(this.ajaxAction)||!this.ajaxAction.length){throw"missing required ajaxAction in FormValidationSetupValidator";} if(!$.isFunction(this.onSuccessCallBack)){throw"missing required onSuccessCallBack in FormValidationSetupValidator";} if(!$.isFunction(this.onFailureCallBack)){throw"missing required onSuccessCallBack in FormValidationSetupValidator";}}});var UserRegisterFormValidator=$.PrototypeClass(FormValidation,{pageType:'',initialize:function($super,pageType){this.pageType=pageType;$super();},setInitializeObject:function(){this.inputValidators=new Array();var usernameValidatorElement=new InputValidator({eventNames:"keyup",delay:0.5,valueElements:$("#username"+this.pageType),observeElements:$("#username"+this.pageType),messageElement:$("#userError"+this.pageType),ajaxAction:"validate-username",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(usernameValidatorElement);var emailValidatorElement=new InputValidator({eventNames:"keyup",delay:0.5,valueElements:$("#email"+this.pageType),observeElements:$("#email"+this.pageType),messageElement:$("#emailError"+this.pageType),ajaxAction:"validate-email",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(emailValidatorElement);var emailBlurValidatorElement=new InputValidator({eventNames:"blur",valueElements:$("#email"+this.pageType),observeElements:$("#email"+this.pageType),messageElement:$("#emailError"+this.pageType),ajaxAction:"validate-email",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(emailBlurValidatorElement);var passwordValidatorElement=new InputValidator({eventNames:"keyup",delay:0.5,valueElements:[$("#password"+this.pageType),$("#username"+this.pageType)],observeElements:$("#password"+this.pageType),messageElement:$("#passwordError"+this.pageType),ajaxAction:"check-user-password-strength",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(passwordValidatorElement);var passwordBlurValidatorElement=new InputValidator({eventNames:"blur",valueElements:[$("#password"+this.pageType),$("#username"+this.pageType)],observeElements:$("#password"+this.pageType),messageElement:$("#passwordError"+this.pageType),ajaxAction:"check-user-password-strength",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(passwordBlurValidatorElement);var passwordsAreEqualValidatorElement=new InputValidator({eventNames:"keyup",delay:0.5,valueElements:[$("#password2"+this.pageType),$("#password"+this.pageType)],observeElements:[$("#password2"+this.pageType),$("#password"+this.pageType)],messageElement:$("#password2Error"+this.pageType),ajaxAction:"check-passwords-are-equal",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(passwordsAreEqualValidatorElement);var passwordsAreEqualBlurValidatorElement=new InputValidator({eventNames:"blur",valueElements:[$("#password2"+this.pageType),$("#password"+this.pageType)],observeElements:[$("#password2"+this.pageType),$("#password"+this.pageType)],messageElement:$("#password2Error"+this.pageType),ajaxAction:"check-passwords-are-equal",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(passwordsAreEqualBlurValidatorElement);var agbValidatorElement=new InputValidator({eventNames:"change",valueElements:$("#agb"+this.pageType),observeElements:$("#agb"+this.pageType),messageElement:$("#agbError"+this.pageType),ajaxAction:"validate-agb-checkbox",onSuccessCallBack:this.onValidateFormElementSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(agbValidatorElement);this.formValidator=new FormValidationSetupValidator({formElement:$("#createuser"+this.pageType),messageElement:$("#formError"+this.pageType),ajaxAction:"validate-user-register-form",onSuccessCallBack:this.onValidateFormSuccess,onFailureCallBack:this.onFailure});},onValidateFormSuccess:function(response,observedEvent){try{if(this.isValid){$(observedEvent.currentTarget).off();this.formElement.submit();}} catch(error){sanego.error("Error in onValidateFormSuccess: "+error);}},onValidateFormElementSuccess:function(response){},onFailure:function(error){sanego.error(error);}});var ReportSpamExplainFormValidator=$.PrototypeClass(FormValidation,{setInitializeObject:function(){this.inputValidators=new Array();var submitValidatorElement=new InputValidator({eventNames:["click"],valueElements:[$("#isAbuse"),$("#isFalseFact"),$("#isOther"),$("#explanationField")],observeElements:$("#whyReportSubmit"),messageElement:$("#error_whyReport"),ajaxAction:"validate-report-spam-explain-user-form",onSuccessCallBack:this.onValidateFormSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(submitValidatorElement);},onValidateFormSuccess:function(response,observedEvent){if(this.isValid){$(observedEvent.currentTarget).off();sanego.ui.modules.spam.overlay.selectContent('.failure').last().hide();sanego.ui.modules.spam.doSpamExplain();}else{sanego.ui.modules.spam.overlay.selectContent('.failure').last().show()}},onFailure:function(){sanego.ui.modules.spam.overlay.hideDelayed(spam.DELAY_TIME)}});var ReportSpamExplainUserFormValidator=$.PrototypeClass(FormValidation,{setInitializeObject:function(){this.inputValidators=new Array();var submitValidatorElement=new InputValidator({eventNames:["click"],valueElements:[$("#explanationField")],observeElements:$("#whyReportSubmit"),messageElement:$("#error_whyReport"),ajaxAction:"validate-report-spam-explain-user-form",onSuccessCallBack:this.onValidateFormSuccess,onFailureCallBack:this.onFailure});this.inputValidators.push(submitValidatorElement);},onValidateFormSuccess:function(response,observedEvent){if(this.isValid){$(observedEvent.currentTarget).off();sanego.ui.modules.spam.overlay.selectContent('.failure').last().hide();sanego.ui.modules.spam.doSpamExplain();}else{sanego.ui.modules.spam.overlay.selectContent('.failure').last().show()}},onFailure:function(){sanego.ui.modules.spam.overlay.selectContent('.error').last().show() sanego.ui.modules.spam.overlay.hideDelayed(spam.DELAY_TIME)}});var UserAuthenticateOverlayFormValidator=$.PrototypeClass(FormValidation,{setInitializeObject:function(){this.formValidator=new FormValidationSetupValidator({formElement:$("#authenticateUser_loginOverlay"),messageElement:$("#error_loginOverlay"),ajaxAction:"validate-overlay-login-form",onSuccessCallBack:this.onValidateFormSuccess,onFailureCallBack:this.onFailure});},onValidateFormSuccess:function(response,observedEvent){try{if(this.isValid){$(observedEvent.currentTarget).off();this.formElement.submit();}} catch(error){sanego.error("Error in onValidateFormSuccess: "+error);}},onFailure:function(error){sanego.error(error);}});var Utils=$.PrototypeClass({});Utils.writeLoadingIndicator=function(oId){$(oId).css('visibility','visible').html('
    ');};Utils.removeLoadingIndicator=function(oId,justHide){var justHide=justHide||false;if(justHide){$(oId).css('visibility','hidden');}else{$(oId).html('');}};Utils.bcT=function(uri,target){$.ajax('/tracking',{method:'get',data:{'type':'bc','uri':uri,'target':target}});};Utils.isElementInViewport=function(el,topInside,extraOffset){topInside=topInside||false;extraOffset=extraOffset||0;var docHeight=$(window).height();var topOffset=$(window).scrollTop();var elOffset=el.offset().top;var elHeight=el.height();var totalElOffset=0;if(topInside){totalElOffset=elOffset;}else{totalElOffset=elOffset+elHeight;} if(totalElOffset>=topOffset-extraOffset&&elOffset<=(topOffset+docHeight+extraOffset)){return true;} return false;};Utils.findBootstrapEnvironment=function(){var envs=['xs','sm','md','lg'];$el=$('
    ');$el.appendTo($('body'));for(var i=envs.length-1;i>=0;i--){var env=envs[i];$el.addClass('hidden-'+env);if($el.is(':hidden')){$el.remove();return env}};};Utils.isMobile=function(){return Utils.findBootstrapEnvironment()=='xs';};Utils.isTablet=function(){return Utils.findBootstrapEnvironment()=='sm';};Utils.detectIE=function(){var ua=window.navigator.userAgent;var msie=ua.indexOf('MSIE ');if(msie>0){return parseInt(ua.substring(msie+5,ua.indexOf('.',msie)),10);} var trident=ua.indexOf('Trident/');if(trident>0){var rv=ua.indexOf('rv:');return parseInt(ua.substring(rv+3,ua.indexOf('.',rv)),10);} var edge=ua.indexOf('Edge/');if(edge>0){return parseInt(ua.substring(edge+5,ua.indexOf('.',edge)),10);} return false;};Utils.getParameterByName=function(name,url){var match=RegExp('[?&]'+name+'=([^&]*)').exec(url);return match&&decodeURIComponent(match[1].replace(/\+/g,' '));};Utils.createFunctionWithTimeout=function(callback,opt_timeout){var called=false;function fn(){if(!called){called=true;callback();}} setTimeout(fn,opt_timeout||1000);return fn;} Utils.hideMobileKeyboard=function(element){element.blur();return element;} Utils.baseUrl=function(){if(document.location.origin){return document.location.origin;}else{var port=document.location.port?':'+document.location.port:'';return document.location.protocol+"//"+document.location.hostname+port;}} Utils.getDevice=function(){return Utils.isMobile()?(Utils.isTablet()?"tablet":"mobile"):"desktop";} Utils.areAdsEnabled=function(){const wrapper=document.getElementById("wrapper") return wrapper.classList.contains("adsOn")} var ProPackagePicker=$.PrototypeClass({element:null,getElement:function(){if(!this.element){this.element=$('#pro-package-features');} return this.element;},extendPackageSelection:function(){var element=this.getElement();if(!element){return false;} element.find('.package').each(function(i,pack){$(pack).css({'cursor':'pointer'});$(pack).click(function(event){var el=$(event.currentTarget);var packageId=el.find('.head').data('position');this.selectPackage(parseInt(packageId));}.bind(this));}.bind(this));},selectPackage:function(num){this.markPackageSelected(num);},markPackageSelected:function(num){var element=this.getElement();var column=num+1;element.find('.selected').removeClass('selected');element.find('.feature div:nth-child('+column+')').addClass('selected');element.find('.package:nth-child('+column+')').addClass('selected');},disablePackage:function(num){var element=this.getElement();if(!element){return false;} var column=num+1;var radio=element.find('span:nth-child('+column+') input[type="radio"]').first();radio.checked=false;this.markPackageDisabled(num);},markPackageDisabled:function(num){var element=this.getElement();var column=num+1;element.find('.feature div:nth-child('+column+')').addClass('disabled');element.find('.package:nth-child('+column+')').addClass('disabled');element.find('.package'+num).addClass('disabled');element.find('.package'+num).off();element.find('.package:nth-child('+column+')').css({'cursor':'default'});},registerPackageURLS:function(){var packageElements=['.package1','.package7','.package8'];$.each(packageElements,function(index,packageElement){var element=$(packageElement);this.registerPackageURL(element,index+1);}.bind(this));},registerPackageURL:function(packageType,packageNum){packageType.click(function(event){var el=$(event.currentTarget);url=el.data('url');location.href=url;}.bind(this));}});;(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){factory(require('jquery'));}else{factory(window.jQuery||window.Zepto);}}(function($){var CLOSE_EVENT='Close',BEFORE_CLOSE_EVENT='BeforeClose',AFTER_CLOSE_EVENT='AfterClose',BEFORE_APPEND_EVENT='BeforeAppend',MARKUP_PARSE_EVENT='MarkupParse',OPEN_EVENT='Open',CHANGE_EVENT='Change',NS='mfp',EVENT_NS='.'+NS,READY_CLASS='mfp-ready',REMOVING_CLASS='mfp-removing',PREVENT_CLOSE_CLASS='mfp-prevent-close';var mfp,MagnificPopup=function(){},_isJQ=!!(window.jQuery),_prevStatus,_window=$(window),_document,_prevContentType,_wrapClasses,_currPopupType;var _mfpOn=function(name,f){mfp.ev.on(NS+name+EVENT_NS,f);},_getEl=function(className,appendTo,html,raw){var el=document.createElement('div');el.className='mfp-'+className;if(html){el.innerHTML=html;} if(!raw){el=$(el);if(appendTo){el.appendTo(appendTo);}}else if(appendTo){appendTo.appendChild(el);} return el;},_mfpTrigger=function(e,data){mfp.ev.triggerHandler(NS+e,data);if(mfp.st.callbacks){e=e.charAt(0).toLowerCase()+e.slice(1);if(mfp.st.callbacks[e]){mfp.st.callbacks[e].apply(mfp,$.isArray(data)?data:[data]);}}},_getCloseBtn=function(type){if(type!==_currPopupType||!mfp.currTemplate.closeBtn){mfp.currTemplate.closeBtn=$(mfp.st.closeMarkup.replace('%title%',mfp.st.tClose));_currPopupType=type;} return mfp.currTemplate.closeBtn;},_checkInstance=function(){if(!$.magnificPopup.instance){mfp=new MagnificPopup();mfp.init();$.magnificPopup.instance=mfp;}},supportsTransitions=function(){var s=document.createElement('p').style,v=['ms','O','Moz','Webkit'];if(s['transition']!==undefined){return true;} while(v.length){if(v.pop()+'Transition'in s){return true;}} return false;};MagnificPopup.prototype={constructor:MagnificPopup,init:function(){var appVersion=navigator.appVersion;mfp.isIE7=appVersion.indexOf("MSIE 7.")!==-1;mfp.isIE8=appVersion.indexOf("MSIE 8.")!==-1;mfp.isLowIE=mfp.isIE7||mfp.isIE8;mfp.isAndroid=(/android/gi).test(appVersion);mfp.isIOS=(/iphone|ipad|ipod/gi).test(appVersion);mfp.supportsTransition=supportsTransitions();mfp.probablyMobile=(mfp.isAndroid||mfp.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent));_document=$(document);mfp.popupsCache={};},open:function(data){var i;if(data.isObj===false){mfp.items=data.items.toArray();mfp.index=0;var items=data.items,item;for(i=0;i(winHeight||_window.height()));},_setFocus:function(){(mfp.st.focus?mfp.content.find(mfp.st.focus).eq(0):mfp.wrap).focus();},_onFocusIn:function(e){if(e.target!==mfp.wrap[0]&&!$.contains(mfp.wrap[0],e.target)){mfp._setFocus();return false;}},_parseMarkup:function(template,values,item){var arr;if(item.data){values=$.extend(item.data,values);} _mfpTrigger(MARKUP_PARSE_EVENT,[template,values,item]);$.each(values,function(key,value){if(value===undefined||value===false){return true;} arr=key.split('_');if(arr.length>1){var el=template.find(EVENT_NS+'-'+arr[0]);if(el.length>0){var attr=arr[1];if(attr==='replaceWith'){if(el[0]!==value[0]){el.replaceWith(value);}}else if(attr==='img'){if(el.is('img')){el.attr('src',value);}else{el.replaceWith('');}}else{el.attr(arr[1],value);}}}else{template.find(EVENT_NS+'-'+key).html(value);}});},_getScrollbarSize:function(){if(mfp.scrollbarSize===undefined){var scrollDiv=document.createElement("div");scrollDiv.style.cssText='width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';document.body.appendChild(scrollDiv);mfp.scrollbarSize=scrollDiv.offsetWidth-scrollDiv.clientWidth;document.body.removeChild(scrollDiv);} return mfp.scrollbarSize;}};$.magnificPopup={instance:null,proto:MagnificPopup.prototype,modules:[],open:function(options,index){_checkInstance();if(!options){options={};}else{options=$.extend(true,{},options);} options.isObj=true;options.index=index||0;return this.instance.open(options);},close:function(){return $.magnificPopup.instance&&$.magnificPopup.instance.close();},registerModule:function(name,module){if(module.options){$.magnificPopup.defaults[name]=module.options;} $.extend(this.proto,module.proto);this.modules.push(name);},defaults:{disableOn:0,key:null,midClick:false,mainClass:'',preloader:true,focus:'',closeOnContentClick:false,closeOnBgClick:true,closeBtnInside:true,showCloseBtn:true,enableEscapeKey:true,modal:false,alignTop:false,removalDelay:0,prependTo:null,fixedContentPos:'auto',fixedBgPos:'auto',overflowY:'auto',closeMarkup:'',tClose:'Close (Esc)',tLoading:'Loading...'}};$.fn.magnificPopup=function(options){_checkInstance();var jqEl=$(this);if(typeof options==="string"){if(options==='open'){var items,itemOpts=_isJQ?jqEl.data('magnificPopup'):jqEl[0].magnificPopup,index=parseInt(arguments[1],10)||0;if(itemOpts.items){items=itemOpts.items[index];}else{items=jqEl;if(itemOpts.delegate){items=items.find(itemOpts.delegate);} items=items.eq(index);} mfp._openClick({mfpEl:items},jqEl,itemOpts);}else{if(mfp.isOpen) mfp[options].apply(mfp,Array.prototype.slice.call(arguments,1));}}else{options=$.extend(true,{},options);if(_isJQ){jqEl.data('magnificPopup',options);}else{jqEl[0].magnificPopup=options;} mfp.addGroup(jqEl,options);} return jqEl;};var INLINE_NS='inline',_hiddenClass,_inlinePlaceholder,_lastInlineElement,_putInlineElementsBack=function(){if(_lastInlineElement){_inlinePlaceholder.after(_lastInlineElement.addClass(_hiddenClass)).detach();_lastInlineElement=null;}};$.magnificPopup.registerModule(INLINE_NS,{options:{hiddenClass:'hide',markup:'',tNotFound:'Content not found'},proto:{initInline:function(){mfp.types.push(INLINE_NS);_mfpOn(CLOSE_EVENT+'.'+INLINE_NS,function(){_putInlineElementsBack();});},getInline:function(item,template){_putInlineElementsBack();if(item.src){var inlineSt=mfp.st.inline,el=$(item.src);if(el.length){var parent=el[0].parentNode;if(parent&&parent.tagName){if(!_inlinePlaceholder){_hiddenClass=inlineSt.hiddenClass;_inlinePlaceholder=_getEl(_hiddenClass);_hiddenClass='mfp-'+_hiddenClass;} _lastInlineElement=el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);} mfp.updateStatus('ready');}else{mfp.updateStatus('error',inlineSt.tNotFound);el=$('
    ');} item.inlineElement=el;return el;} mfp.updateStatus('ready');mfp._parseMarkup(template,{},item);return template;}}});var AJAX_NS='ajax',_ajaxCur,_removeAjaxCursor=function(){if(_ajaxCur){$(document.body).removeClass(_ajaxCur);}},_destroyAjaxRequest=function(){_removeAjaxCursor();if(mfp.req){mfp.req.abort();}};$.magnificPopup.registerModule(AJAX_NS,{options:{settings:null,cursor:'mfp-ajax-cur',tError:'The content could not be loaded.'},proto:{initAjax:function(){mfp.types.push(AJAX_NS);_ajaxCur=mfp.st.ajax.cursor;_mfpOn(CLOSE_EVENT+'.'+AJAX_NS,_destroyAjaxRequest);_mfpOn('BeforeChange.'+AJAX_NS,_destroyAjaxRequest);},getAjax:function(item){if(_ajaxCur){$(document.body).addClass(_ajaxCur);} mfp.updateStatus('loading');var opts=$.extend({url:item.src,success:function(data,textStatus,jqXHR){var temp={data:data,xhr:jqXHR};_mfpTrigger('ParseAjax',temp);mfp.appendContent($(temp.data),AJAX_NS);item.finished=true;_removeAjaxCursor();mfp._setFocus();setTimeout(function(){mfp.wrap.addClass(READY_CLASS);},16);mfp.updateStatus('ready');_mfpTrigger('AjaxContentAdded');},error:function(){_removeAjaxCursor();item.finished=item.loadError=true;mfp.updateStatus('error',mfp.st.ajax.tError.replace('%url%',item.src));}},mfp.st.ajax.settings);mfp.req=$.ajax(opts);return'';}}});var _imgInterval,_getTitle=function(item){if(item.data&&item.data.title!==undefined) return item.data.title;var src=mfp.st.image.titleSrc;if(src){if($.isFunction(src)){return src.call(mfp,item);}else if(item.el){return item.el.attr(src)||'';}} return'';};$.magnificPopup.registerModule('image',{options:{markup:'
    '+'
    '+'
    '+'
    '+'
    '+'
    '+'
    '+'
    '+'
    '+'
    '+'
    '+'
    ',cursor:'mfp-zoom-out-cur',titleSrc:'title',verticalFit:true,tError:'The image could not be loaded.'},proto:{initImage:function(){var imgSt=mfp.st.image,ns='.image';mfp.types.push('image');_mfpOn(OPEN_EVENT+ns,function(){if(mfp.currItem.type==='image'&&imgSt.cursor){$(document.body).addClass(imgSt.cursor);}});_mfpOn(CLOSE_EVENT+ns,function(){if(imgSt.cursor){$(document.body).removeClass(imgSt.cursor);} _window.off('resize'+EVENT_NS);});_mfpOn('Resize'+ns,mfp.resizeImage);if(mfp.isLowIE){_mfpOn('AfterChange',mfp.resizeImage);}},resizeImage:function(){var item=mfp.currItem;if(!item||!item.img)return;if(mfp.st.image.verticalFit){var decr=0;if(mfp.isLowIE){decr=parseInt(item.img.css('padding-top'),10)+parseInt(item.img.css('padding-bottom'),10);} item.img.css('max-height',mfp.wH-decr);}},_onImageHasSize:function(item){if(item.img){item.hasSize=true;if(_imgInterval){clearInterval(_imgInterval);} item.isCheckingImgSize=false;_mfpTrigger('ImageHasSize',item);if(item.imgHidden){if(mfp.content) mfp.content.removeClass('mfp-loading');item.imgHidden=false;}}},findImageSize:function(item){var counter=0,img=item.img[0],mfpSetInterval=function(delay){if(_imgInterval){clearInterval(_imgInterval);} _imgInterval=setInterval(function(){if(img.naturalWidth>0){mfp._onImageHasSize(item);return;} if(counter>200){clearInterval(_imgInterval);} counter++;if(counter===3){mfpSetInterval(10);}else if(counter===40){mfpSetInterval(50);}else if(counter===100){mfpSetInterval(500);}},delay);};mfpSetInterval(1);},getImage:function(item,template){var guard=0,onLoadComplete=function(){if(item){if(item.img[0].complete){item.img.off('.mfploader');if(item===mfp.currItem){mfp._onImageHasSize(item);mfp.updateStatus('ready');} item.hasSize=true;item.loaded=true;_mfpTrigger('ImageLoadComplete');} else{guard++;if(guard<200){setTimeout(onLoadComplete,100);}else{onLoadError();}}}},onLoadError=function(){if(item){item.img.off('.mfploader');if(item===mfp.currItem){mfp._onImageHasSize(item);mfp.updateStatus('error',imgSt.tError.replace('%url%',item.src));} item.hasSize=true;item.loaded=true;item.loadError=true;}},imgSt=mfp.st.image;var el=template.find('.mfp-img');if(el.length){var img=document.createElement('img');img.className='mfp-img';if(item.el&&item.el.find('img').length){img.alt=item.el.find('img').attr('alt');} item.img=$(img).on('load.mfploader',onLoadComplete).on('error.mfploader',onLoadError);img.src=item.src;if(el.is('img')){item.img=item.img.clone();} img=item.img[0];if(img.naturalWidth>0){item.hasSize=true;}else if(!img.width){item.hasSize=false;}} mfp._parseMarkup(template,{title:_getTitle(item),img_replaceWith:item.img},item);mfp.resizeImage();if(item.hasSize){if(_imgInterval)clearInterval(_imgInterval);if(item.loadError){template.addClass('mfp-loading');mfp.updateStatus('error',imgSt.tError.replace('%url%',item.src));}else{template.removeClass('mfp-loading');mfp.updateStatus('ready');} return template;} mfp.updateStatus('loading');item.loading=true;if(!item.hasSize){item.imgHidden=true;template.addClass('mfp-loading');mfp.findImageSize(item);} return template;}}});var hasMozTransform,getHasMozTransform=function(){if(hasMozTransform===undefined){hasMozTransform=document.createElement('p').style.MozTransform!==undefined;} return hasMozTransform;};$.magnificPopup.registerModule('zoom',{options:{enabled:false,easing:'ease-in-out',duration:300,opener:function(element){return element.is('img')?element:element.find('img');}},proto:{initZoom:function(){var zoomSt=mfp.st.zoom,ns='.zoom',image;if(!zoomSt.enabled||!mfp.supportsTransition){return;} var duration=zoomSt.duration,getElToAnimate=function(image){var newImg=image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),transition='all '+(zoomSt.duration/1000)+'s '+zoomSt.easing,cssObj={position:'fixed',zIndex:9999,left:0,top:0,'-webkit-backface-visibility':'hidden'},t='transition';cssObj['-webkit-'+t]=cssObj['-moz-'+t]=cssObj['-o-'+t]=cssObj[t]=transition;newImg.css(cssObj);return newImg;},showMainContent=function(){mfp.content.css('visibility','visible');},openTimeout,animatedImg;_mfpOn('BuildControls'+ns,function(){if(mfp._allowZoom()){clearTimeout(openTimeout);mfp.content.css('visibility','hidden');image=mfp._getItemToZoom();if(!image){showMainContent();return;} animatedImg=getElToAnimate(image);animatedImg.css(mfp._getOffset());mfp.wrap.append(animatedImg);openTimeout=setTimeout(function(){animatedImg.css(mfp._getOffset(true));openTimeout=setTimeout(function(){showMainContent();setTimeout(function(){animatedImg.remove();image=animatedImg=null;_mfpTrigger('ZoomAnimationEnded');},16);},duration);},16);}});_mfpOn(BEFORE_CLOSE_EVENT+ns,function(){if(mfp._allowZoom()){clearTimeout(openTimeout);mfp.st.removalDelay=duration;if(!image){image=mfp._getItemToZoom();if(!image){return;} animatedImg=getElToAnimate(image);} animatedImg.css(mfp._getOffset(true));mfp.wrap.append(animatedImg);mfp.content.css('visibility','hidden');setTimeout(function(){animatedImg.css(mfp._getOffset());},16);}});_mfpOn(CLOSE_EVENT+ns,function(){if(mfp._allowZoom()){showMainContent();if(animatedImg){animatedImg.remove();} image=null;}});},_allowZoom:function(){return mfp.currItem.type==='image';},_getItemToZoom:function(){if(mfp.currItem.hasSize){return mfp.currItem.img;}else{return false;}},_getOffset:function(isLarge){var el;if(isLarge){el=mfp.currItem.img;}else{el=mfp.st.zoom.opener(mfp.currItem.el||mfp.currItem);} var offset=el.offset();var paddingTop=parseInt(el.css('padding-top'),10);var paddingBottom=parseInt(el.css('padding-bottom'),10);offset.top-=($(window).scrollTop()-paddingTop);var obj={width:el.width(),height:(_isJQ?el.innerHeight():el[0].offsetHeight)-paddingBottom-paddingTop};if(getHasMozTransform()){obj['-moz-transform']=obj['transform']='translate('+offset.left+'px,'+offset.top+'px)';}else{obj.left=offset.left;obj.top=offset.top;} return obj;}}});var IFRAME_NS='iframe',_emptyPage='//about:blank',_fixIframeBugs=function(isShowing){if(mfp.currTemplate[IFRAME_NS]){var el=mfp.currTemplate[IFRAME_NS].find('iframe');if(el.length){if(!isShowing){el[0].src=_emptyPage;} if(mfp.isIE8){el.css('display',isShowing?'block':'none');}}}};$.magnificPopup.registerModule(IFRAME_NS,{options:{markup:'
    '+'
    '+''+'
    ',srcAction:'iframe_src',patterns:{youtube:{index:'youtube.com',id:'v=',src:'//www.youtube.com/embed/%id%?autoplay=1'},vimeo:{index:'vimeo.com/',id:'/',src:'//player.vimeo.com/video/%id%?autoplay=1'},gmaps:{index:'//maps.google.',src:'%id%&output=embed'}}},proto:{initIframe:function(){mfp.types.push(IFRAME_NS);_mfpOn('BeforeChange',function(e,prevType,newType){if(prevType!==newType){if(prevType===IFRAME_NS){_fixIframeBugs();}else if(newType===IFRAME_NS){_fixIframeBugs(true);}}});_mfpOn(CLOSE_EVENT+'.'+IFRAME_NS,function(){_fixIframeBugs();});},getIframe:function(item,template){var embedSrc=item.src;var iframeSt=mfp.st.iframe;$.each(iframeSt.patterns,function(){if(embedSrc.indexOf(this.index)>-1){if(this.id){if(typeof this.id==='string'){embedSrc=embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length,embedSrc.length);}else{embedSrc=this.id.call(this,embedSrc);}} embedSrc=this.src.replace('%id%',embedSrc);return false;}});var dataObj={};if(iframeSt.srcAction){dataObj[iframeSt.srcAction]=embedSrc;} mfp._parseMarkup(template,dataObj,item);mfp.updateStatus('ready');return template;}}});var _getLoopedId=function(index){var numSlides=mfp.items.length;if(index>numSlides-1){return index-numSlides;}else if(index<0){return numSlides+index;} return index;},_replaceCurrTotal=function(text,curr,total){return text.replace(/%curr%/gi,curr+1).replace(/%total%/gi,total);};$.magnificPopup.registerModule('gallery',{options:{enabled:false,arrowMarkup:'',preload:[0,2],navigateByImgClick:true,arrows:true,tPrev:'Previous (Left arrow key)',tNext:'Next (Right arrow key)',tCounter:'%curr% of %total%'},proto:{initGallery:function(){var gSt=mfp.st.gallery,ns='.mfp-gallery',supportsFastClick=Boolean($.fn.mfpFastClick);mfp.direction=true;if(!gSt||!gSt.enabled)return false;_wrapClasses+=' mfp-gallery';_mfpOn(OPEN_EVENT+ns,function(){if(gSt.navigateByImgClick){mfp.wrap.on('click'+ns,'.mfp-img',function(){if(mfp.items.length>1){mfp.next();return false;}});} _document.on('keydown'+ns,function(e){if(e.keyCode===37){mfp.prev();}else if(e.keyCode===39){mfp.next();}});});_mfpOn('UpdateStatus'+ns,function(e,data){if(data.text){data.text=_replaceCurrTotal(data.text,mfp.currItem.index,mfp.items.length);}});_mfpOn(MARKUP_PARSE_EVENT+ns,function(e,element,values,item){var l=mfp.items.length;values.counter=l>1?_replaceCurrTotal(gSt.tCounter,item.index,l):'';});_mfpOn('BuildControls'+ns,function(){if(mfp.items.length>1&&gSt.arrows&&!mfp.arrowLeft){var markup=gSt.arrowMarkup,arrowLeft=mfp.arrowLeft=$(markup.replace(/%title%/gi,gSt.tPrev).replace(/%dir%/gi,'left')).addClass(PREVENT_CLOSE_CLASS),arrowRight=mfp.arrowRight=$(markup.replace(/%title%/gi,gSt.tNext).replace(/%dir%/gi,'right')).addClass(PREVENT_CLOSE_CLASS);var eName=supportsFastClick?'mfpFastClick':'click';arrowLeft[eName](function(){mfp.prev();});arrowRight[eName](function(){mfp.next();});if(mfp.isIE7){_getEl('b',arrowLeft[0],false,true);_getEl('a',arrowLeft[0],false,true);_getEl('b',arrowRight[0],false,true);_getEl('a',arrowRight[0],false,true);} mfp.container.append(arrowLeft.add(arrowRight));}});_mfpOn(CHANGE_EVENT+ns,function(){if(mfp._preloadTimeout)clearTimeout(mfp._preloadTimeout);mfp._preloadTimeout=setTimeout(function(){mfp.preloadNearbyImages();mfp._preloadTimeout=null;},16);});_mfpOn(CLOSE_EVENT+ns,function(){_document.off(ns);mfp.wrap.off('click'+ns);if(mfp.arrowLeft&&supportsFastClick){mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();} mfp.arrowRight=mfp.arrowLeft=null;});},next:function(){mfp.direction=true;mfp.index=_getLoopedId(mfp.index+1);mfp.updateItemHTML();},prev:function(){mfp.direction=false;mfp.index=_getLoopedId(mfp.index-1);mfp.updateItemHTML();},goTo:function(newIndex){mfp.direction=(newIndex>=mfp.index);mfp.index=newIndex;mfp.updateItemHTML();},preloadNearbyImages:function(){var p=mfp.st.gallery.preload,preloadBefore=Math.min(p[0],mfp.items.length),preloadAfter=Math.min(p[1],mfp.items.length),i;for(i=1;i<=(mfp.direction?preloadAfter:preloadBefore);i++){mfp._preloadItem(mfp.index+i);} for(i=1;i<=(mfp.direction?preloadBefore:preloadAfter);i++){mfp._preloadItem(mfp.index-i);}},_preloadItem:function(index){index=_getLoopedId(index);if(mfp.items[index].preloaded){return;} var item=mfp.items[index];if(!item.parsed){item=mfp.parseEl(index);} _mfpTrigger('LazyLoad',item);if(item.type==='image'){item.img=$('').on('load.mfploader',function(){item.hasSize=true;}).on('error.mfploader',function(){item.hasSize=true;item.loadError=true;_mfpTrigger('LazyLoadError',item);}).attr('src',item.src);} item.preloaded=true;}}});var RETINA_NS='retina';$.magnificPopup.registerModule(RETINA_NS,{options:{replaceSrc:function(item){return item.src.replace(/\.\w+$/,function(m){return'@2x'+m;});},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var st=mfp.st.retina,ratio=st.ratio;ratio=!isNaN(ratio)?ratio:ratio();if(ratio>1){_mfpOn('ImageHasSize'+'.'+RETINA_NS,function(e,item){item.img.css({'max-width':item.img[0].naturalWidth / ratio,'width':'100%'});});_mfpOn('ElementParse'+'.'+RETINA_NS,function(e,item){item.src=st.replaceSrc(item,ratio);});}}}}});(function(){var ghostClickDelay=1000,supportsTouch='ontouchstart'in window,unbindTouchMove=function(){_window.off('touchmove'+ns+' touchend'+ns);},eName='mfpFastClick',ns='.'+eName;$.fn.mfpFastClick=function(callback){return $(this).each(function(){var elem=$(this),lock;if(supportsTouch){var timeout,startX,startY,pointerMoved,point,numPointers;elem.on('touchstart'+ns,function(e){pointerMoved=false;numPointers=1;point=e.originalEvent?e.originalEvent.touches[0]:e.touches[0];startX=point.clientX;startY=point.clientY;_window.on('touchmove'+ns,function(e){point=e.originalEvent?e.originalEvent.touches:e.touches;numPointers=point.length;point=point[0];if(Math.abs(point.clientX-startX)>10||Math.abs(point.clientY-startY)>10){pointerMoved=true;unbindTouchMove();}}).on('touchend'+ns,function(e){unbindTouchMove();if(pointerMoved||numPointers>1){return;} lock=true;e.preventDefault();clearTimeout(timeout);timeout=setTimeout(function(){lock=false;},ghostClickDelay);callback();});});} elem.on('click'+ns,function(){if(!lock){callback();}});});};$.fn.destroyMfpFastClick=function(){$(this).off('touchstart'+ns+' click'+ns);if(supportsTouch)_window.off('touchmove'+ns+' touchend'+ns);};})();_checkInstance();}));"function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g});(function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&&b.options.beforeInit.apply(this,[b.$elem]);"string"===typeof b.options.jsonPath?(e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length;this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&&this.transitionTypes(this.options.transitionStyle);!0===this.options.autoPlay&&(this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&&this.options.afterInit.apply(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&&this.lazyLoad();!0===this.options.autoHeight&&this.autoHeight();this.onVisibleItems();"function"===typeof this.options.afterAction&&this.options.afterAction.apply(this,[this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&&this.options.beforeUpdate.apply(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&&this.options.afterUpdate.apply(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}),g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('
    ').wrap('
    ');this.$elem.find(".owl-wrapper").wrap('
    ');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")},baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall=!1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return a[0]-b[0]}),b=0;bthis.itemsAmount&&!0===this.options.itemsScaleUp&&(this.options.items=this.itemsAmount)},response:function(){var a=this,b,e;if(!0!==a.options.responsive)return!1;e=f(g).width();a.resizer=function(){f(g).width()!==e&&(!1!==a.options.autoPlay&&g.clearInterval(a.autoPlayInterval),g.clearTimeout(b),b=g.setTimeout(function(){e=f(g).width();a.updateVars()},a.options.responsiveRefreshRate))};f(g).resize(a.resizer)},updatePosition:function(){this.jumpTo(this.currentItem);!1!==this.options.autoPlay&&this.checkAp()},appendItemsSizes:function(){var a=this,b=0,e=a.itemsAmount-a.options.items;a.$owlItems.each(function(c){var d=f(this);d.css({width:a.itemWidth}).data("owl-item",Number(c));if(0===c%a.options.items||c===e)c>e||(b+=1);d.data("owl-roundPages",b)})},appendWrapperSizes:function(){this.$owlWrapper.css({width:this.$owlItems.length*this.itemWidth*2,left:0});this.appendItemsSizes()},calculateAll:function(){this.calculateWidth();this.appendWrapperSizes();this.loops();this.max()},calculateWidth:function(){this.itemWidth=Math.round(this.$elem.width()/ this.options.items)},max:function(){var a=-1*(this.itemsAmount*this.itemWidth-this.options.items*this.itemWidth);this.options.items>this.itemsAmount?this.maximumPixels=a=this.maximumItem=0:(this.maximumItem=this.itemsAmount-this.options.items,this.maximumPixels=a);return a},min:function(){return 0},loops:function(){var a=0,b=0,e,c;this.positionsInArray=[0];this.pagesInArray=[];for(e=0;e').toggleClass("clickable",!this.browser.isTouch).appendTo(this.$elem);!0===this.options.pagination&&this.buildPagination();!0===this.options.navigation&&this.buildButtons()},buildButtons:function(){var a=this,b=f('
    ');a.owlControls.append(b);a.buttonPrev=f("
    ",{"class":"owl-prev",html:a.options.navigationText[0]||""});a.buttonNext=f("
    ",{"class":"owl-next",html:a.options.navigationText[1]||""});b.append(a.buttonPrev).append(a.buttonNext);b.on("touchstart.owlControls mousedown.owlControls",'div[class^="owl"]',function(a){a.preventDefault()});b.on("touchend.owlControls mouseup.owlControls",'div[class^="owl"]',function(b){b.preventDefault();f(this).hasClass("owl-next")?a.next():a.prev()})},buildPagination:function(){var a=this;a.paginationWrapper=f('
    ');a.owlControls.append(a.paginationWrapper);a.paginationWrapper.on("touchend.owlControls mouseup.owlControls",".owl-page",function(b){b.preventDefault();Number(f(this).data("owl-page"))!==a.currentItem&&a.goTo(Number(f(this).data("owl-page")),!0)})},updatePagination:function(){var a,b,e,c,d,g;if(!1===this.options.pagination)return!1;this.paginationWrapper.html("");a=0;b=this.itemsAmount-this.itemsAmount%this.options.items;for(c=0;c",{"class":"owl-page"}),g=f("",{text:!0===this.options.paginationNumbers?a:"","class":!0===this.options.paginationNumbers?"owl-numbers":""}),d.append(g),d.data("owl-page",b===c?e:c),d.data("owl-roundPages",a),this.paginationWrapper.append(d));this.checkPagination()},checkPagination:function(){var a=this;if(!1===a.options.pagination)return!1;a.paginationWrapper.find(".owl-page").each(function(){f(this).data("owl-roundPages")===f(a.$owlItems[a.currentItem]).data("owl-roundPages")&&(a.paginationWrapper.find(".owl-page").removeClass("active"),f(this).addClass("active"))})},checkNavigation:function(){if(!1===this.options.navigation)return!1;!1===this.options.rewindNav&&(0===this.currentItem&&0===this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.addClass("disabled")):0===this.currentItem&&0!==this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.removeClass("disabled")):this.currentItem===this.maximumItem?(this.buttonPrev.removeClass("disabled"),this.buttonNext.addClass("disabled")):0!==this.currentItem&&this.currentItem!==this.maximumItem&&(this.buttonPrev.removeClass("disabled"),this.buttonNext.removeClass("disabled")))},updateControls:function(){this.updatePagination();this.checkNavigation();this.owlControls&&(this.options.items>=this.itemsAmount?this.owlControls.hide():this.owlControls.show())},destroyControls:function(){this.owlControls&&this.owlControls.remove()},next:function(a){if(this.isTransition)return!1;this.currentItem+=!0===this.options.scrollPerPage?this.options.items:1;if(this.currentItem>this.maximumItem+(!0===this.options.scrollPerPage?this.options.items-1:0))if(!0===this.options.rewindNav)this.currentItem=0,a="rewind";else return this.currentItem=this.maximumItem,!1;this.goTo(this.currentItem,a)},prev:function(a){if(this.isTransition)return!1;this.currentItem=!0===this.options.scrollPerPage&&0this.currentItem)if(!0===this.options.rewindNav)this.currentItem=this.maximumItem,a="rewind";else return this.currentItem=0,!1;this.goTo(this.currentItem,a)},goTo:function(a,b,e){var c=this;if(c.isTransition)return!1;"function"===typeof c.options.beforeMove&&c.options.beforeMove.apply(this,[c.$elem]);a>=c.maximumItem?a=c.maximumItem:0>=a&&(a=0);c.currentItem=c.owl.currentItem=a;if(!1!==c.options.transitionStyle&&"drag"!==e&&1===c.options.items&&!0===c.browser.support3d)return c.swapSpeed(0),!0===c.browser.support3d?c.transition3d(c.positionsInArray[a]):c.css2slide(c.positionsInArray[a],1),c.afterGo(),c.singleItemTransition(),!1;a=c.positionsInArray[a];!0===c.browser.support3d?(c.isCss3Finish=!1,!0===b?(c.swapSpeed("paginationSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},c.options.paginationSpeed)):"rewind"===b?(c.swapSpeed(c.options.rewindSpeed),g.setTimeout(function(){c.isCss3Finish=!0},c.options.rewindSpeed)):(c.swapSpeed("slideSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},c.options.slideSpeed)),c.transition3d(a)):!0===b?c.css2slide(a,c.options.paginationSpeed):"rewind"===b?c.css2slide(a,c.options.rewindSpeed):c.css2slide(a,c.options.slideSpeed);c.afterGo()},jumpTo:function(a){"function"===typeof this.options.beforeMove&&this.options.beforeMove.apply(this,[this.$elem]);a>=this.maximumItem||-1===a?a=this.maximumItem:0>=a&&(a=0);this.swapSpeed(0);!0===this.browser.support3d?this.transition3d(this.positionsInArray[a]):this.css2slide(this.positionsInArray[a],1);this.currentItem=this.owl.currentItem=a;this.afterGo()},afterGo:function(){this.prevArr.push(this.currentItem);this.prevItem=this.owl.prevItem=this.prevArr[this.prevArr.length-2];this.prevArr.shift(0);this.prevItem!==this.currentItem&&(this.checkPagination(),this.checkNavigation(),this.eachMoveUpdate(),!1!==this.options.autoPlay&&this.checkAp());"function"===typeof this.options.afterMove&&this.prevItem!==this.currentItem&&this.options.afterMove.apply(this,[this.$elem])},stop:function(){this.apStatus="stop";g.clearInterval(this.autoPlayInterval)},checkAp:function(){"stop"!==this.apStatus&&this.play()},play:function(){var a=this;a.apStatus="play";if(!1===a.options.autoPlay)return!1;g.clearInterval(a.autoPlayInterval);a.autoPlayInterval=g.setInterval(function(){a.next(!0)},a.options.autoPlay)},swapSpeed:function(a){"slideSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)):"paginationSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)):"string"!==typeof a&&this.$owlWrapper.css(this.addCssSpeed(a))},addCssSpeed:function(a){return{"-webkit-transition":"all "+a+"ms ease","-moz-transition":"all "+a+"ms ease","-o-transition":"all "+a+"ms ease",transition:"all "+a+"ms ease"}},removeTransition:function(){return{"-webkit-transition":"","-moz-transition":"","-o-transition":"",transition:""}},doTranslate:function(a){return{"-webkit-transform":"translate3d("+a+"px, 0px, 0px)","-moz-transform":"translate3d("+a+"px, 0px, 0px)","-o-transform":"translate3d("+a+"px, 0px, 0px)","-ms-transform":"translate3d("+ a+"px, 0px, 0px)",transform:"translate3d("+a+"px, 0px,0px)"}},transition3d:function(a){this.$owlWrapper.css(this.doTranslate(a))},css2move:function(a){this.$owlWrapper.css({left:a})},css2slide:function(a,b){var e=this;e.isCssFinish=!1;e.$owlWrapper.stop(!0,!0).animate({left:a},{duration:b||e.options.slideSpeed,complete:function(){e.isCssFinish=!0}})},checkBrowser:function(){var a=k.createElement("div");a.style.cssText=" -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)";a=a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);this.browser={support3d:null!==a&&1===a.length,isTouch:"ontouchstart"in g||g.navigator.msMaxTouchPoints}},moveEvents:function(){if(!1!==this.options.mouseDrag||!1!==this.options.touchDrag)this.gestures(),this.disabledEvents()},eventTypes:function(){var a=["s","e","x"];this.ev_types={};!0===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl mousedown.owl","touchmove.owl mousemove.owl","touchend.owl touchcancel.owl mouseup.owl"]:!1===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl","touchmove.owl","touchend.owl touchcancel.owl"]:!0===this.options.mouseDrag&&!1===this.options.touchDrag&&(a=["mousedown.owl","mousemove.owl","mouseup.owl"]);this.ev_types.start=a[0];this.ev_types.move=a[1];this.ev_types.end=a[2]},disabledEvents:function(){this.$elem.on("dragstart.owl",function(a){a.preventDefault()});this.$elem.on("mousedown.disableTextSelect",function(a){return f(a.target).is("input, textarea, select, option")})},gestures:function(){function a(a){if(void 0!==a.touches)return{x:a.touches[0].pageX,y:a.touches[0].pageY};if(void 0===a.touches){if(void 0!==a.pageX)return{x:a.pageX,y:a.pageY};if(void 0===a.pageX)return{x:a.clientX,y:a.clientY}}}function b(a){"on"===a?(f(k).on(d.ev_types.move,e),f(k).on(d.ev_types.end,c)):"off"===a&&(f(k).off(d.ev_types.move),f(k).off(d.ev_types.end))}function e(b){b=b.originalEvent||b||g.event;d.newPosX=a(b).x-h.offsetX;d.newPosY=a(b).y-h.offsetY;d.newRelativeX=d.newPosX-h.relativePos;"function"===typeof d.options.startDragging&&!0!==h.dragging&&0!==d.newRelativeX&&(h.dragging=!0,d.options.startDragging.apply(d,[d.$elem]));(8d.newRelativeX)&&!0===d.browser.isTouch&&(void 0!==b.preventDefault?b.preventDefault():b.returnValue=!1,h.sliding=!0);(10d.newPosY)&&!1===h.sliding&&f(k).off("touchmove.owl");d.newPosX=Math.max(Math.min(d.newPosX,d.newRelativeX/5),d.maximumPixels+d.newRelativeX/5);!0===d.browser.support3d?d.transition3d(d.newPosX):d.css2move(d.newPosX)} function c(a){a=a.originalEvent||a||g.event;var c;a.target=a.target||a.srcElement;h.dragging=!1;!0!==d.browser.isTouch&&d.$owlWrapper.removeClass("grabbing");d.dragDirection=0>d.newRelativeX?d.owl.dragDirection="left":d.owl.dragDirection="right";0!==d.newRelativeX&&(c=d.getNewPosition(),d.goTo(c,!1,"drag"),h.targetElement===a.target&&!0!==d.browser.isTouch&&(f(a.target).on("click.disable",function(a){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();f(a.target).off("click.disable")}),a=f._data(a.target,"events").click,c=a.pop(),a.splice(0,0,c)));b("off")}var d=this,h={offsetX:0,offsetY:0,baseElWidth:0,relativePos:0,position:null,minSwipe:null,maxSwipe:null,sliding:null,dargging:null,targetElement:null};d.isCssFinish=!0;d.$elem.on(d.ev_types.start,".owl-wrapper",function(c){c=c.originalEvent||c||g.event;var e;if(3===c.which)return!1;if(!(d.itemsAmount<=d.options.items)){if(!1===d.isCssFinish&&!d.options.dragBeforeAnimFinish||!1===d.isCss3Finish&&!d.options.dragBeforeAnimFinish)return!1;!1!==d.options.autoPlay&&g.clearInterval(d.autoPlayInterval);!0===d.browser.isTouch||d.$owlWrapper.hasClass("grabbing")||d.$owlWrapper.addClass("grabbing");d.newPosX=0;d.newRelativeX=0;f(this).css(d.removeTransition());e=f(this).position();h.relativePos=e.left;h.offsetX=a(c).x-e.left;h.offsetY=a(c).y-e.top;b("on");h.sliding=!1;h.targetElement=c.target||c.srcElement}})},getNewPosition:function(){var a=this.closestItem();a>this.maximumItem?a=this.currentItem=this.maximumItem:0<=this.newPosX&&(this.currentItem=a=0);return a},closestItem:function(){var a=this,b=!0===a.options.scrollPerPage?a.pagesInArray:a.positionsInArray,e=a.newPosX,c=null;f.each(b,function(d,g){e-a.itemWidth/20>b[d+1]&&e-a.itemWidth/20(b[d+1]||b[d]-a.itemWidth)&&"right"===a.moveDirection()&&(!0===a.options.scrollPerPage?(c=b[d+1]||b[b.length-1],a.currentItem=f.inArray(c,a.positionsInArray)):(c=b[d+1],a.currentItem=d+1))});return a.currentItem},moveDirection:function(){var a;0>this.newRelativeX?(a="right",this.playDirection="next"):(a="left",this.playDirection="prev");return a},customEvents:function(){var a=this;a.$elem.on("owl.next",function(){a.next()});a.$elem.on("owl.prev",function(){a.prev()});a.$elem.on("owl.play",function(b,e){a.options.autoPlay=e;a.play();a.hoverStatus="play"});a.$elem.on("owl.stop",function(){a.stop();a.hoverStatus="stop"});a.$elem.on("owl.goTo",function(b,e){a.goTo(e)});a.$elem.on("owl.jumpTo",function(b,e){a.jumpTo(e)})},stopOnHover:function(){var a=this;!0===a.options.stopOnHover&&!0!==a.browser.isTouch&&!1!==a.options.autoPlay&&(a.$elem.on("mouseover",function(){a.stop()}),a.$elem.on("mouseout",function(){"stop"!==a.hoverStatus&&a.play()}))},lazyLoad:function(){var a,b,e,c,d;if(!1===this.options.lazyLoad)return!1;for(a=0;a=this.currentItem:!0)&&e=f?g.setTimeout(c,100):e()}var d=this,f=0,k;"DIV"===b.prop("tagName")?(b.css("background-image","url("+b.data("src")+")"),k=!0):b[0].src=b.data("src");c()},autoHeight:function(){function a(){var a=f(e.$owlItems[e.currentItem]).height();e.wrapperOuter.css("height",a+"px");e.wrapperOuter.hasClass("autoHeight")||g.setTimeout(function(){e.wrapperOuter.addClass("autoHeight")},0)}function b(){d+=1;e.completeImg(c.get(0))?a():100>=d?g.setTimeout(b,100):e.wrapperOuter.css("height","")}var e=this,c=f(e.$owlItems[e.currentItem]).find("img"),d;void 0!==c.get(0)?(d=0,b()):a()},completeImg:function(a){return!a.complete||"undefined"!==typeof a.naturalWidth&&0===a.naturalWidth?!1:!0},onVisibleItems:function(){var a;!0===this.options.addClassActive&&this.$owlItems.removeClass("active");this.visibleItems=[];for(a=this.currentItem;a=this.$userItems.length||-1===e?this.$userItems.eq(-1).after(a):this.$userItems.eq(e).before(a);this.setVars()},removeItem:function(a){if(0===this.$elem.children().length)return!1;a=void 0===a||-1===a?-1:a;this.unWrap();this.$userItems.eq(a).remove();this.setVars()}};f.fn.owlCarousel=function(a){return this.each(function(){if(!0===f(this).data("owl-init"))return!1;f(this).data("owl-init",!0);var b=Object.create(l);b.init(a,this);f.data(this,"owlCarousel",b)})};f.fn.owlCarousel.options={items:5,itemsCustom:!1,itemsDesktop:[1199,4],itemsDesktopSmall:[979,3],itemsTablet:[768,2],itemsTabletSmall:!1,itemsMobile:[479,1],singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1E3,autoPlay:!1,stopOnHover:!1,navigation:!1,navigationText:["prev","next"],rewindNav:!0,scrollPerPage:!1,pagination:!0,paginationNumbers:!1,responsive:!0,responsiveRefreshRate:200,responsiveBaseWidth:g,baseClass:"owl-carousel",theme:"owl-theme",lazyLoad:!1,lazyFollow:!0,lazyEffect:"fade",autoHeight:!1,jsonPath:!1,jsonSuccess:!1,dragBeforeAnimFinish:!0,mouseDrag:!0,touchDrag:!0,addClassActive:!1,transitionStyle:!1,beforeUpdate:!1,afterUpdate:!1,beforeInit:!1,afterInit:!1,beforeMove:!1,afterMove:!1,afterAction:!1,startDragging:!1,afterLazyLoad:!1}})(jQuery,window,document);sanego=new Sanego();sanego.prepareConfig();sanego.ui.loadModules(sanego.jsModules);if(typeof trackPageImpressions!='undefined'){trackPageImpressions();} if(sanego.userId){sanego.setUserIsLoggedIn();}else{if(typeof appendTemplateJS!='undefined'){appendTemplateJS();} sanego.setDomLoaded();sanego.setJavascriptLoaded();}