var fs={firelog:function(a){if(Browser.Engine.gecko){console.log(a)}}};var Spielfeld=new Class({Implements:[Options,Events],options:{nrOfRows:60,nrOfCols:90,popupBoxWidth:250,injectIn:null,onComplete:$empty,ajaxPath:"links/include/ajax/",getDataFile:"getdata.php"},initialize:function(a){this.setOptions(a)},transmitData:function(b,a,c){b="data="+JSON.encode(b);new Request({method:"post",url:this.options.ajaxPath+a,onSuccess:function(d){c.name.run([d,c.parameterObj])}}).send(b)},injectField:function(){var a=$(this.options.injectIn)||false;if(a){a.adopt(this.getField())}this.showInfo();if(!Browser.Engine.trident||Browser.Engine.version!=4){this.addLegendHoverEvents()}},getField:function(){nrOfRows=this.options.nrOfRows;nrOfCols=this.options.nrOfCols;var b=new Element("table",{id:"field",border:"0",cellpadding:"0",cellspacing:"0",styles:{}});b.addEvents({click:this.getSingleData.bind(this)});var a=new Element("tbody").inject(b);(nrOfRows).times(function(c){var d=new Element("tr").inject(a);(nrOfCols).times(function(e){var g=(e+1)+"; "+(c+1);var f=new Element("td",{id:g,title:g}).inject(d).set("html","&nbsp;");if(c==nrOfRows-1){f.addClass("lastRow")}if(e==nrOfCols-1){f.addClass("lastCol")}})});return b},showInfo:function(){var d=$("field").getCoordinates();new Element("div",{text:"Sportheim",styles:{position:"absolute","font-size":"13px","font-weight":"bold",left:d.left+400,top:d.bottom}}).inject(document.body).addEvent("click",this.fillSoldSquares.bind(this));new Element("div",{text:"O",styles:{position:"absolute","font-size":"13px","font-weight":"bold",left:d.left-15,top:d.top+(d.bottom-d.top)/2-10}}).inject(document.body);new Element("div",{text:"W",styles:{position:"absolute","font-size":"13px","font-weight":"bold",left:d.right+3,top:d.top+(d.bottom-d.top)/2-10}}).inject(document.body);if(Browser.Engine.trident){var b=$(document.body).getElement("#c371 h2");var c=Browser.Engine.version==4?"kann nur mit einem modernen Browser ordentlich dargestelt werden":"kann wesentlich schneller mit einem der folgenden Browser betrachtet werden";var a=b.get("text")+' <span style="font-weight:normal;"> ('+c+': <a style="color:#fff;" href="http://www.apple.com/de/safari/">Safari</a>, <a style="color:#fff;" href="http://www.mozilla-europe.org/de/firefox/">Firefox</a>, <a style="color:#fff;" href="http://www.opera.com/download/">Opera</a>)</span>';b.set("html",a)}},addLegendHoverEvents:function(){$$("[id^=mark]").each(function(a){a.setStyle("cursor","help");a.addEvents({mouseover:this.toggleElsHighlight.bind(this,[a,"on"]),mouseout:this.toggleElsHighlight.bind(this,[a,"off"])})}.bind(this))},toggleElsHighlight:function(d,b){var c=d.get("id").split("-");c.splice(0,1);var a,e;if(c[2]>=c[0]&&c[3]>=c[1]){a=(c[2]-c[0])+1;e=(c[3]-c[1])+1}else{a=1;e=1}(a).times(function(f){var g=c[0].toInt()+f;(e).times(function(h){var k=g+"; "+(c[1].toInt()+h);var i=$(k);if(b=="off"){i.setStyle("background-color",i.bG)}else{i.bG=i.getStyle("background-color");i.setStyle("background-color","red")}})})},fillSoldSquares:function(){this.getSoldData()},getSoldData:function(){var a=new Object();a.scope="all";this.transmitData(a,this.options.getDataFile,{name:this.onGetSoldDataSuccess.bind(this),parameterObj:""})},onGetSoldDataSuccess:function(a){a=JSON.decode(a);this.drawSoldSquares(a)},drawSoldSquares:function(a){a.fields.each(function(d,c){if(d[2]>=d[0]&&d[3]>=d[1]){var b=(d[2]-d[0])+1;var e=(d[3]-d[1])+1;(b).times(function(f){var g=d[0].toInt()+f;(e).times(function(h){var k=g+"; "+(d[1].toInt()+h);var i=d[0]+"; "+d[1]+" - "+d[2]+"; "+d[3];el=$(k);el.pate=1;if(f==0&&h==0){el.set("title",i).setStyles({background:"none"})}else{if(f==0){el.set("title",i).addClass("leftBorder")}else{if(h==0){el.set("title",i).addClass("topBorder")}else{el.set("title",i).addClass("noBorder")}}}})})}else{el=$(d[0]+"; "+d[1]);el.pate=1;el.setStyles({background:"none"})}});this.insertNoOfSoldSquares(a.soldFields)},insertNoOfSoldSquares:function(a){var b=$("soldSquares")||false;if(b){b.dispose()}var c=$("field").getCoordinates();new Element("div",{id:"soldSquares",text:"Fläche mit Paten: "+a,styles:{position:"absolute",left:c.left,top:c.bottom}}).inject(document.body)},getSingleData:function(d){var b=$(d.target);if(b.pate!=1){return}var c=new Object();c.el=b;c.title=b.get("title");var a=c.title.split("; ");c.x_start=a[0].toInt();c.y_start=a[1].split(" - ")[0].toInt();this.transmitData(c,this.options.getDataFile,{name:this.onGetSingleDataSuccess.bind(this),parameterObj:c})},onGetSingleDataSuccess:function(a,b){a=JSON.decode(a);this.showDetails(a,b)},showDetails:function(b,c){c=$merge(c,b);var a=this.renderResponse(b,c);if(c.name==""){c.name="Anonym"}this.openPopupBox(c.el,c.name,a)},renderResponse:function(c,f){var g="";if(c.foto){g='<p class="bodytext"><img style="width:'+c.fotoSize.width+"px;height:"+c.fotoSize.height+'px; border:none;" src="uploads/media/spielfeld_bilder/'+c.foto+'" alt="" /></p>\n'}var d=c.xhtml?'<div style="padding:0 0 14px;">'+c.xhtml+"</div>\n":"";var e='<div><p class="bodytext"><span class="sub"><b>Größe:</b> {size}</span></p>\n'+g+'<p class="bodytext"><span class="sub"><b>Link:</b> <a href="http://{url}" target="_blank">{url}</a></span></p>\n'+d+"</div>";if(c.x_start>=1&&c.x_start<=90&&c.y_start>=1&&c.y_start<=60){if(c.x_ende<=90&&c.y_ende<=60&&c.x_ende>=c.x_start&&c.y_ende>=c.y_start){var b=(c.x_ende-c.x_start)+1;var h=(c.y_ende-c.y_start)+1}else{var b=1;var h=1}c.size=(b*h)+"m²"}if(c.url){c.url=c.url.replace(/http:\/\//gi,"")}var a=e.substitute(c);a=a.replace(/<p[^>]*><span class="sub">.*[^a]>(<\/a>)?\s*<\/span><\/p>/gi,"");return a},openPopupBox:function(e,f,d){var c=$("popupBox")||false;if(c){c.dispose()}var h=e.getCoordinates();var g=$("field").getCoordinates();if(this.options.popupBoxWidth>g.width-(h.left-g.left)){h.left=h.left-this.options.popupBoxWidth}var a=new Element("div",{id:"popupBox",styles:{position:"absolute",left:h.left,top:h.top,width:this.options.popupBoxWidth+"px"}});var b='<div class="rBox"><div class="rBoxHead"><h2>'+f+'</h2></div><div class="rBoxBody">'+d+"</div></div>";a.set("html",b);a.inject(document.body);new Element("div",{id:"closeButton",events:{click:function(){a.dispose()}}}).inject(a)}});window.addEvent("domready",function(){var a=$("field_container")||false;if(a){var b=new Spielfeld({injectIn:"field_container"});b.injectField();b.fillSoldSquares()}});
