if(typeof(MKTool)!=='object'){var MKTool={};MKTool.spinner={showLoader:function(){},removeLoader:function(){}}}MKTool.ajaxCall=function(d,e,f){new jQuery.ajax({url:d,type:e.method,success:function(a,b){var c=a.replace(/\n<!--.*-->/g,'');if(MKTool.isJSON(a)){e.onSuccess(a,f)}else{alert(a);MKTool.spinner.removeLoader(true)}},data:e.parameters,error:e.onFailure})};MKTool.checkError=function(a){if(!a.error){return false}var b='Der Dienst ist derzeit nicht verfügbar!';b+="\n> "+a.error;alert(b);return true};MKTool.isJSON=function(a){if(a.length===0){return false}a=a.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,'');return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(a)};function MKSearchManager(n,o){this.init=function(a,b){this.url=a;this.options=b;if(this.isAjax()){this.refresh()}else{jQuery('#sidebar').addClass('searched');this.setClearFields();this.limitFacets(4);this.initSorting();syncsidebar()}};this.isAjax=function(){return this.options['ajaxsearch']!=='0'};this.getSortCol=function(){return this.options.mode?'sortCol2':'sortCol'};this.getSortOrder=function(){return this.options.mode?'sortOrder2':'sortOrder'};this.initSorting=function(){var e=jQuery('.tablesort th.header');var f=this;var g=this.getSortCol();var h=this.getSortOrder();e.each(function(c,d){jQuery(d).click(function(){var a=this.id;if(a.substr(0,4)==='col-'){d=jQuery(this);var b='asc';if(d.hasClass('headerSortUp')){b='desc'}f.options[g]=this.id.substr(4);f.options[h]=b;f.refresh()}})})};this.refresh=function(){var a=this.options.mode;if(!this.options.searchMethod){alert('Die Suche ist nicht korrekt konfiguriert')}if(this[this.options.searchMethod]){this[this.options.searchMethod](a)}else{alert('Unbekannte Suchoption: '+this.options.searchMethod)}};this.refreshJobReqs=function(c){c=(c||this.options.restored===1);var d=this.makeBaseUrl(),url=d;MKTool.spinner.showLoader();if(c){url=d+'&mkhoga[task]=findJobRequests';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showJobs(a);MKTool.spinner.removeLoader()}},this)}else{url=d+'&mkhoga[task]=findJobRequestGroups';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showJobGroups(a);MKTool.spinner.removeLoader(true)}},this)}url=d+'&mkhoga[task]=jobRequestFacets';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showFacets(a);MKTool.spinner.removeLoader(true)}},this)};this.refreshCompanyJobs=function(c){var d=this.makeBaseUrl(),url=d;MKTool.spinner.showLoader();if(c){url=d+'&mkhoga[task]=findJobs';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showJobs(a);MKTool.spinner.removeLoader(true)}},this)}else{url=d+'&mkhoga[task]=findCompanyJobGroups';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showJobGroups(a);MKTool.spinner.removeLoader(true)}},this)}};this.refreshJobs=function(c){c=(c||this.options.restored===1);var d=this.makeBaseUrl(),url=d;MKTool.spinner.showLoader();if(c){url=d+'&mkhoga[task]=findJobs';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showJobs(a);MKTool.spinner.removeLoader(true)}},this)}else{url=d+'&mkhoga[task]=findJobGroups';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showJobGroups(a);MKTool.spinner.removeLoader(true)}},this)}url=d+'&mkhoga[task]=jobOfferFacets';MKTool.ajaxCall(url,{onSuccess:function(a,b){b.showFacets(a);MKTool.spinner.removeLoader(true)}},this)};this.makeBaseUrl=function(){var t=(new Date()).getTime();var a=this.url+'&mkhoga[rh]='+this.options.rh+'&mkhoga[sid]='+this.options.sid+'&t='+t;if(this.options.page){a=a+'&mkhoga[pb-pb-pointer]='+this.options.page}if(this.options.restored){a+='&mkhoga[restored]='+this.options.restored;this.options.restored=false}a+='&mkhoga[state]='+encodeURIComponent(JSON.stringify(this.options));return a};this.showJobs=function(a){var b=JSON.parse(a);if(MKTool.checkError(b)){return}var c=jQuery('#mkresult1');c.empty();c.append(b.result.output);initMkTabs(c.find('.mktabs'));this.initSorting();syncsidebar();c.find('.mktablist li a').bind('click.syncsidebar',function(){syncsidebar()})};this.showJobGroups=function(a){var b=JSON.parse(a);if(MKTool.checkError(b)){return}jQuery('#mkresult1').empty();jQuery('#mkresult1').append(b.result.output);this.initSorting();syncsidebar()};this.showFacets=function(a){var b=JSON.parse(a);if(MKTool.checkError(b)){return}jQuery('#mkresult2').empty();jQuery('#mkresult2').append(b.result.output);jQuery('#sidebar').addClass('searched');this.setClearFields();this.limitFacets(4);syncsidebar()};this.limitFacets=function(j){var k=this;var l=jQuery('#mkresult2 ul.searchfilter ul li.citybox #citybox ul');var m=jQuery('#mkresult2 ul.searchfilter ul li.citybox #citybox .head');jQuery('#mkresult2 ul.searchfilter ul').each(function(i,b){var d=jQuery(b);if(!d.hasClass('nofacet')){var e=d.find('.more');var f=d.find('.less');var g=d.hasClass('facet_jobad_contact_city');var h=jQuery('li',d);if(h.length>(j+3)){e.find('a').bind('click',{'scope':k,'ul':d,'mode':'show','entyCount':j},k.handleFacets);f.find('a').bind('click',{'scope':k,'ul':d,'mode':'hide','entyCount':j},k.handleFacets);h.each(function(c,a){a=jQuery(a);if(c>=j&&!a.hasClass('more')&&!a.hasClass('less')){if(g){a.appendTo(l)}else{a.hide()}}});if(!g){f.hide()}}else{e.remove();f.remove()}}})};this.handleFacets=function(b){var d=b.data.ul;if(d.hasClass('facet_jobad_contact_city')){if(b.data.mode==='show'){d.find('li.citybox #citybox').show()}else{d.find('li.citybox #citybox').hide()}return}if(b.data.mode==='show'){jQuery('li',d).each(function(c,a){a=jQuery(a);if(c>=b.data.entyCount&&!a.hasClass('more')&&!a.hasClass('less')){a.slideDown('fast',function(){syncsidebar()})}});d.find('.more').hide();d.find('.less').show()}else{jQuery('li',d).each(function(c,a){a=jQuery(a);if(c>=b.data.entyCount&&!a.hasClass('more')&&!a.hasClass('less')){a.slideUp('fast',function(){syncsidebar()})}});d.find('.less').hide();d.find('.more').show()}syncsidebar(750)};this.setClearFields=function(d){var e=this;jQuery('ul.searchfilter ul').each(function(a,b){var c=b.className;if(b.className.match(/facet_(.*)/,b.className)){b=b.className.replace(/.*facet_(.*)/,"$1");if(!e.options.optFilters[b]){jQuery('ul.facet_'+b+' li.clearfacet').remove()}}})};this.showList=function(a){this.addFilter(a)};this.addFilter=function(a){a=a.split(':');this.options.mode=a[0].match(/^grouped/)?true:false;this.options.optFilters[a[0]]=a[1];if(this.options.mode){this.options.page2=0}else{this.options.page=0}this.refresh()};this.removeFilter=function(a){this.options.optFilters[a]='';this.options.optFilters['grouped_s']='';this.options.optFilters['groupedcmp_s']='';this.options.mode=false;this.options.page=a.match(/^grouped/)?this.options.page:0;this.refresh()};this.go2page=function(a){this.options.page=a;this.refresh()};this.go2page2=function(a){this.options.page2=a;this.refresh()}}
