/*
 * OEVENTWS-Map v2.0.0 
 *
 * Copyright (C) TENSQUARE gmbh
 */
var OEVENTWS=OEVENTWS||{};OEVENTWS.Map=(function(){var l=this;var E={version:"2.0.0",baseUrl:"",imgFolder:"/img/tsmap/",addDataUrl:"dmapjson?stateid=",level:{region:{name:"country",key:"de"},subRegion:{name:"state"}},containerId:"tsmap",imageId:"",highlightImageId:"",imageMapId:"",mapId:"",topmarketIdPrefix:"topmarket_",marker:{src:"",width:0,height:0},boundingBox:{state:{"08":{maxx:"562405",maxy:"104781",minx:"292913",miny:"-146744"},"09":{maxx:"777359",maxy:"194338",minx:"398139",miny:"-159599"},"04":{maxx:"401000",maxy:"506075",minx:"334684",miny:"444180"},"05":{maxx:"441712",maxy:"391197",minx:"179825",miny:"146769"},"06":{maxx:"537814",maxy:"302752",minx:"275979",miny:"58372"},"15":{maxx:"703582",maxy:"463915",minx:"469559",miny:"245493"},"07":{maxx:"410878",maxy:"218542",minx:"186918",miny:"9513"},"16":{maxx:"650607",maxy:"320450",minx:"463280",miny:"145612"},"13":{maxx:"729212",maxy:"675316",minx:"485955",miny:"448277"},"01":{maxx:"519431",maxy:"675488",minx:"305926",miny:"476216"},"14":{maxx:"804507",maxy:"345734",minx:"603112",miny:"157765"},"11":{maxx:"701457",maxy:"443768",minx:"658181",miny:"403378"},"02":{maxx:"467872",maxy:"528722",minx:"428781",miny:"492237"},"12":{maxx:"781853",maxy:"537284",minx:"529976",miny:"302199"},"03":{maxx:"554256",maxy:"551135",minx:"233216",miny:"251499"},"10":{maxx:"307316",maxy:"82245",minx:"233547",miny:"13394"}}}};
var t={country:{name:"country"},state:{name:"state"},district:{name:"district"},county:{name:"county"},compare:function(R,Q){var T=false;try{T=R.name==Q.name;}catch(S){}finally{return T;}}};var F=null;var z=null;var u=null;var q=null;var p="mapmarker_";var x;var h=[];var s="highlightmark";var n={};var C=null;var A=null;this.create=function(R){try{O(R);if(t.compare(t.country,u.level.region)&&t.compare(t.state,u.level.subRegion)){v();}else{if(t.compare(t.state,u.level.region)){o();}}}catch(Q){k("create failed: "+Q);
}};function O(R){try{if(typeof TSLogger!="undefined"){A=new TSLogger("OEVENTWS.Map");A.info("Logger initialized");}if(!jQuery){throw"Failed to initialise tsmap. jQuery not exists.";}q=[];h=[];R=R||{};if(typeof R==="object"){u=$.extend(true,E,R);}u.addDataUrl=u.baseUrl+"/"+u.addDataUrl;F=$("#"+u.containerId);z=$("#"+u.mapId);}catch(Q){k("init failed: "+Q);}}function v(){try{j();a();}catch(Q){k("map expand failed: "+Q);}}function o(){try{z.bind({mouseover:function(S){b();}});var R=$("<img>").attr({src:u.marker.over.src,width:"1px",height:"1px"});
I(u.level.region.key,H);}catch(Q){k("map expand failed: "+Q);}}this.redirect=function(Q){try{document.location=Q;}catch(R){k("redirect: "+R);}};function j(){var Q,S;for(var R=1;R<=16;R++){Q=g(R);S="#"+t.country.name+"_"+Q;B(S,Q,t.country);}}function a(){var R,Q;for(R=1;R<=18;R++){Q=R==17?3:R;Q=R==18?12:Q;Q=g(Q);B("#country_area_"+g(R),Q,t.country);P(Q,t.country);}}function P(R,Q){var S=$("<img>").attr({src:u.baseUrl+u.imgFolder+f()+"/de/"+Q.name+"/"+R+".hl.png"});n[R]=({regionType:Q,img:S});}function B(R,T,Q){try{(function(X,W,U){var V=$(X);
if(J()){V.bind({touchstart:function(Y){r(W,U);},touchend:function(Y){D(W,U);K(W,U);},touchmove:function(Y){D(W,U);},touchcancel:function(Y){D(W,U);}});}else{V.bind({click:function(Y){K(W,U);},mouseover:function(Y){r(W,U);},mouseout:function(Y){D(W,U);}});}})(R,T,Q);}catch(S){k("bindElementEvents: "+S);}}function K(R,Q){switch(Q.name){case t.state.name:break;}}function D(R,Q){C.attr({style:"display: none;"});$("#"+Q.name+"_"+R).removeClass("maphover");}function r(R,Q){C=$("#"+u.highlightImageId).attr({src:n[R].img.attr("src"),style:"display: inline-block;",usemap:"#"+u.imageMapId});
$("#"+Q.name+"_"+R).addClass("maphover");}function m(Q){if(!J()){b(Q);}var R=Q.substring(p.length);$("#"+u.topmarketIdPrefix+R).addClass("maphover");}function d(Q){c();}function G(Q){this.redirect($("#"+u.topmarketIdPrefix+Q+" a").attr("href"));}function c(){try{$.each(q,function(R,S){S.title.removeClass("maphover");});$.each(h,function(R,S){S.remove();});}catch(Q){k("removeAllMarkerHighlights "+Q);}}function b(S){var Q,U,T;try{if(!S){c();return;}Q=q[S].marker;U=Q.position();T=y(u.marker.over,Q.attr("title"),s);
h.push(T);T.css({left:U.left,top:U.top});F.append(T);T.bind({mouseout:function(){d(this.id);},click:function(){G(S.substr(p.length,S.length));}});}catch(R){k(R);}}function I(Q,R){if(!u.addDataUrl){k("getAddData: undefined addDataUrl.");return;}$.get(u.addDataUrl+Q,function(S){R(Q,S);});}function H(Q,S){q={};try{$("#topmarket_bland").html("");$.each(S,function(U,V){var W=N(V);var T=M(U,V);if(!L(T,V,Q,t.state)){T.remove();}q[p+V.key]={key:U,title:W,marker:T};});}catch(R){k(R);}}function N(Q){var R=$("<p></p>").attr({id:u.topmarketIdPrefix+Q.key});
$("#topmarket_bland").append(R);(function(S){if(J()){S.bind({touchstart:function(T){b(p+this.id.substr(u.topmarketIdPrefix.length,this.id.length));},touchend:function(T){b();},touchcancel:function(T){b();},touchmove:function(T){b();},touchenter:function(){b();}});}else{S.bind({mouseover:function(T){b(p+this.id.substr(u.topmarketIdPrefix.length,this.id.length));},mouseout:function(){b();}});}})(R);R.append($("<a></a>").attr({href:Q.clickurl}).html((Q.name)));return R;}function M(R,S){var Q=y(u.marker.out,S.name,S.key);
F.append(Q);(function(T){var U=false;if(J()){$(T).bind({touchstart:function(V){U=false;m(this.id);},touchcancel:function(){d(this.id);},touchmove:function(){U=true;d(this.id);},touchend:function(){d(this.id);if(!U){G(this.id.substr(p.length,this.id.length));}}});}else{T.bind({mouseover:function(V){m(this.id);}});}})(Q);return Q;}function y(Q,S,T){var R=$("<img>").attr({src:Q.src,width:Q.width,height:Q.height,title:S,id:p+T,style:"position: absolute;"});return R;}function L(R,T,S,Q){var U=e.get(T.posx,T.posy,S,Q);
if(U==null){return false;}R.css({left:U.x,top:U.y});return true;}function f(){return u.version;}function g(Q){return(Q<0||Q>9?"":"0")+Q;}function J(){if("ontouchstart" in document.documentElement&&"ontouchend" in document.documentElement&&"ontouchmove" in document.documentElement){return true;}else{return false;}}function i(Q){if(A!==null){A.info(Q);}}function w(Q){if(A!==null){A.warn(Q);}}function k(Q){if(A!==null){A.error(Q);}}var e={boundingBox:null,get:function(R,X,S,Q){var W,V,U=null;try{this.boundingBox=u.boundingBox[Q.name][g(S)];
W=Math.round(this.calculateXPos(R));V=Math.round(this.calculateYPos(X));U={x:W,y:V};}catch(T){k(T);}finally{return U;}},calculateXPos:function(T){var Q,S;try{T=parseInt(T);if(isNaN(T)){return null;}Q=Math.abs(this.boundingBox.maxx)-Math.abs(this.boundingBox.minx);S=(T-this.boundingBox.minx)*(z.width()/Q);return S;}catch(R){k(R);}},calculateYPos:function(V){var S,R;try{V=parseInt(V);if(isNaN(V)){return null;}if(this.boundingBox.miny<0){S=Math.abs(this.boundingBox.maxy)+Math.abs(this.boundingBox.miny);
}else{S=Math.abs(this.boundingBox.maxy)-Math.abs(this.boundingBox.miny);}var W;if(V<0){W=Math.abs(this.boundingBox.maxy)+Math.abs(V);}else{var U=Math.abs(this.boundingBox.maxy)-Math.abs(this.boundingBox.miny);var T=Math.abs(V)-Math.abs(this.boundingBox.miny);W=U-T;}R=(Math.abs(W)*(z.height()/S));return R;}catch(Q){k(Q);}}};return this;})();
