jQuery(document).ready(function($) { var kol_r = 0; $("#districtsList input[type=checkbox].active").each(function(){ kol_r++; }); if ( kol_r >0 ) { $('#raion-select').html('Районы: '+kol_r+''); } else { $('#raion-select').html('Выбрать'); } $("#raion-select").click(function(){ $("#raion__map").show(); $(".raion-popup").show(); $("body").addClass("lock"); $("body").animate({ scrollTop: 200}, 500 ); return false; }); $("#raion-closer, .raion").click(function() { var kol_r = 0; $("#districtsList input[type=checkbox].active").each(function(){ kol_r++; }); if ( kol_r >0 ) { $('#raion-select').html('Районы: '+kol_r+''); $('#subway-map-select').addClass('disabled'); $('#subway-map-select').attr("disabled",true); } else { $('#raion-select').html('Выбрать'); $('#subway-map-select').removeClass('disabled'); $('#subway-map-select').attr("disabled",false); } $('#raion-select').show(); $("#raion__map").hide(); $(".raion-popup").hide(); $("body").removeClass("lock"); $("body").animate({ scrollTop: 550}, 500 ); }); }); jQuery.fn.myAddClass = function (classTitle) { return this.each(function() { var oldClass = jQuery(this).attr("class"); oldClass = oldClass ? oldClass : ''; jQuery(this).attr("class", (oldClass+" "+classTitle).trim()); }); } jQuery.fn.myRemoveClass = function (classTitle) { return this.each(function() { var oldClassString = ' '+jQuery(this).attr("class")+' '; var newClassString = oldClassString.replace(new RegExp(' '+classTitle+' ','g'), ' ').trim() if (!newClassString) jQuery(this).removeAttr("class"); else jQuery(this).attr("class", newClassString); }); } jQuery.fn.hasAttr = function(name) { return this.attr(name) !== undefined; }; $(window).load(function () { var svgobject = document.getElementById('Layer_1'); if ('contentDocument' in svgobject) { var svgdom = svgobject.contentDocument; } $("#districtsList input[type=checkbox].active").each(function(){ var id = $(this).attr("data-id"); $("#"+id, svgdom).myAddClass("active"); }); $("#districtsList input[type=checkbox]").change(function() { var id = $(this).attr("data-id"); console.log(id); if (this.checked) { console.log('checked'); $(this).addClass("active"); $("#"+id, svgdom).myAddClass("active"); } else { $("#"+id, svgdom).myRemoveClass("active"); $(this).removeClass("active"); } }); $("#regionsList li").click(function() { // выбор целой области var id = $(this).attr("id"); if ($(this).hasClass("active")) { $("."+id, svgdom).myRemoveClass("active"); $(this).removeClass("active"); $('#districtsList input[type=checkbox].'+id).removeAttr("checked"); $('#districtsList input[type=checkbox].'+id).removeClass("active"); } else { $("."+id, svgdom).myAddClass("active"); $(this).addClass("active"); $('#districtsList input[type=checkbox].'+id).attr("checked","checked"); $('#districtsList input[type=checkbox].'+id).addClass("active"); } }); $("#districtsList input[type=checkbox] + span").hover( function () { var id = $(this).siblings("input").attr("data-id"); $("#"+id, svgdom).myAddClass("hover"); }, function () { var id = $(this).siblings('input').attr("data-id"); $("#"+id, svgdom).myRemoveClass("hover"); } ); $("#regionsList li").hover( function () { var id = $(this).attr("id"); $("."+id, svgdom).myAddClass("hover"); $('#districtsList input[type=checkbox].'+id).addClass("hover"); }, function () { var id = $(this).attr("id"); $("."+id, svgdom).myRemoveClass("hover"); $('#districtsList input[type=checkbox].'+id).removeClass("hover"); } ); $(".area", svgdom).hover( function () { var id = $(this).attr("id"); $("#districtsList input[data-id="+id+"]").addClass("hover"); }, function () { var id = $(this).attr("id"); $("#districtsList input[data-id="+id+"]").removeClass("hover"); } ); $(".area", svgdom).click(function() { var id = $(this).attr("id"); $('#districtsList input[data-id="'+id+'"]').trigger('click'); }); });