﻿
(function($){var buildMarker=function buildMarker(Data,container)
{for(var x=0;x<Data.length;x++)
{var o=Data[x];$(container).append('<div class="Marker"></div>');var div=$("div:last",container);div.css('left',o.X+'px').css('top',o.Y+'px').css('position','absolute');div.data('Idx',x).data('Name',o.Name).data('ResID',o.ResID).data('X',o.X).data('Y',o.Y);div.ToolTip({html:o.Name,followMouse:true,offsetX:10,offsetY:-25,cssClass:'SelectableMapToolTip'});div.click(function(){Cuke.SyncDic.Val('DistrictSelected',$(this).data('ResID'));});}
$(container).css('position','relative');};$.extend($.fn,{SelectableMap:function(Data)
{return this.each(function()
{var self=this;buildMarker(Data,this);var markers=$('.Marker',this);Cuke.SyncDic.Bind('DistrictSelected',function(value,name)
{markers.filter('.Selected').removeClass('Selected');markers.each(function()
{if(value==$(this).data('ResID'))
{$(this).addClass('Selected');}});});Cuke.SyncDic.Bind('DistrictHighlighted',function(value,name)
{markers.filter('.Highlighted').removeClass('Highlighted');markers.each(function()
{if(value==$(this).data('ResID'))
{$(this).addClass('Highlighted');}});});$j(self).pngFix();});},SelectableMapEdit:function(Data,HiddenID)
{$('#'+HiddenID).attr('value',Data);return this.each(function()
{var self=this;buildMarker(Data,this);$(self).data("data",Data);var markers=$('.Marker',this);markers.bind('dragstart',function(event)
{return $(this).css('opacity',0.5).clone().addClass('Active').insertAfter(this);}).bind('drag',function(event)
{$(event.dragProxy).css({top:event.offsetY-$(self).offset().top,left:event.offsetX-$(self).offset().left});}).bind('dragend',function(event)
{$(event.dragProxy).remove();var y=Math.round(event.offsetY-$(self).offset().top);var x=Math.round(event.offsetX-$(self).offset().left);$(this).data('Y',y);$(this).data('X',x);$(this).animate({top:y,left:x,opacity:1},200);});$j(self).pngFix();});},SelectableMapEditSave:function(HiddenID)
{return this.each(function()
{var self=this;var i=0;var data=$(self).data('data');$(".Marker",$(self)).each(function()
{data[i].X=$(this).data('X');data[i].Y=$(this).data('Y');i++;});$('#'+HiddenID).attr('value',JSON.stringify(data));});}});})(jQuery);