$(document).ready(function(){

	$(".MapFilter > .BoxHeader").click(function(){
		if( !$(this).hasClass("OpenBox") ){
		  	$(this).next("div").slideDown("slow");
			$(this).addClass("OpenBox");
		}else{
			$(this).next("div").slideUp("slow");
			$(this).removeClass("OpenBox");
		}
	});

	if($('#address').val() == ''){
		$('#address').val('Rajons, pilsēta, iela...');
		$('#address').focus(function(){
			if(!$(this).hasClass('selected')){
				$(this).val('');
				$(this).addClass('selected');
			}
		});
	}

	$('.OnMap > .wifi').click(function(){
		if($('#wifi').attr('checked') == true){
			$('#wifi').removeAttr('checked');
		}else{
			$('#wifi').attr('checked', 'checked');
		}
		drawWifi();
	});

	$('#wifi').click(function(){ drawWifi(); });

	function drawWifi(){
		if($('#wifi').attr('checked') == true){
			addType(3);
			$('.OnMap > .wifi').addClass('active');
		}else{
			delType(3);
			$('.OnMap > .wifi').removeClass('active');
		}
		getPoints();
	}

	// atm
	$('.Checkbox:not(.wifi) > li > input[id!=bank0]').click(function(){
		var bank_id = '1'+ $(this).val();
		if($(this).attr('checked') == true){
			addType(bank_id);
		}else{
			delType(bank_id);
		}

		if(buf_map_switch == 0 && map.mapType != 'jmap'){
			buf_map_switch = 1;
			map.switchMap('jmap');
		}else if(map.mapType == 'jmap'){
			buf_map_switch = 1;
		}
		getPoints();
	});


	$('.Checkbox:not(.wifi) > li > input[id=bank0]').click(function(){ drawAtms(); });
	$('.OnMap > .atm').click(function(){
		var ths = $('.Checkbox:not(.wifi) > li > input[id=bank0]');
		if(ths.attr('checked') == true){
			ths.removeAttr('checked');
		}else{
			ths.attr('checked', 'checked');
		}
		drawAtms();
	 });

	function drawAtms(){
		var ths = $('.Checkbox:not(.wifi) > li > input[id=bank0]');
		var chk_all = ths.attr('checked');
		if(chk_all == true){
			$("li > input", ths.parent().parent() ).attr('checked', 'checked');
		}else{
			$("li > input", ths.parent().parent() ).removeAttr('checked');
		}
		$('li > input', ths.parent().parent()).each(function(){
			if( $(this).val() != 0 ){
				var bank_id = '1'+ $(this).val();
				if(chk_all == true){
					addType(bank_id);
				}else{
					delType(bank_id);
				}
			}
		});

		if( $('.Checkbox:not(.wifi) > li > input:checked').length == 0 ){
			$('.OnMap > .atm').removeClass('active');
		}else{
			$('.OnMap > .atm').addClass('active');
			if(buf_map_switch == 0 && map.mapType != 'jmap'){
				buf_map_switch = 1;
				map.switchMap('jmap');
			}else if(map.mapType == 'jmap'){
				buf_map_switch = 1;
			}
		}
		getPoints();
	}

	// dus
	$('.Checkbox2 > li > input').click(function(){
		var currentIndex = $(this).parent().prevAll().length;
		var dus_id = '2'+ (currentIndex+1);
		if($(this).attr('checked') == true){
			addType(dus_id);
		}else{
			delType(dus_id);
		}
		getPoints();
	});

	$('.OnMap > .dus').click(function(){
		var ths = $('.Checkbox2 > li > input');
		var ths_active = $(this).hasClass('active') ;
		if( ths_active == true ){
			$(this).removeClass('active');
			ths.removeAttr('checked');
		}else{
			$(this).addClass('active');
			ths.attr('checked', 'checked');
		}

		ths.each(function(){
			var dus_id = '2'+ $(this).val();
			if(ths_active == false){
				addType(dus_id);
			}else{
				delType(dus_id);
			}
		});

		getPoints();
	 });

});


// ---


var map_points = new Array();
var buf_address;
var buf_search_adr = 0;
var buf_ids = new Array('0');
var buf_map_switch = 0;



function getPoints(ids){
	var len = map_points.length;
	for( var i = 0; i < len; i++){
		map.deleteMarker( map_points[i] );
	}
	map_points = new Array();

	if(!ids){
		var ids = '';
	}
	var url = '';
	var cor_type = 'lks';
	if( map.mapType == 'gmap' ){
		cor_type = 'geo';
	}

	var cor = map.MapCorners(cor_type);
	var x = cor.x_min;
	var x2 = cor.x_max;
	var y = cor.y_min;
	var y2 = cor.y_max;

	if(buf_address && buf_search_adr == 1){
		url += '&adr='+ buf_address +'&adrt='+ $('.addressType:checked').val();
	}
	if(typeof(ids) == 'object'){
		ids = buf_ids;
	}
	url += '&ids='+ buf_ids;

	$.ajax({type:'GET',
		url: ajax_address+'?action=points&map='+ map.mapType +'&x='+ x +'&x2='+ x2 +'&y='+ y +'&y2='+ y2 + url,
		dataType: 'json',
		beforeSend: function(){ $('#loading').show(); },
		success: function(data){
			if(data.p){
				$.each(data.p, function(i,item){
					var image_id = map.addMarker(item.x, item.y, item.name, item.type);
					map_points.push( image_id );
				});
			}

			if(buf_search_adr == 1 && data.center){
				map.setCenter(data.center.x, data.center.y);
				map.setZoom(14);
				map.loadIn('map');
				buf_setcenter = buf_search_adr = 0;
			}
			// map.GroupMarkers();
			$('#loading').hide();
		}
	});
}


function getPointsAtmBank(bank_id){
	buf_bank = bank_id;
	getPoints(bank_id);
}

function getPointsAddress(){
	buf_address = $('#address').val();
	buf_search_adr = 1;
	getPoints();
}

function addType(ids){
	for(var i=0; i<buf_ids.length; i++){
		if(buf_ids[i] == ids){
			var isset = 1;
		}
	}
	if(!isset){
		buf_ids.push(ids);
	}
}

function delType(ids){
	for(var i=0; i<buf_ids.length; i++){
		if(buf_ids[i] == ids){
			buf_ids.splice(i,1);
		}
	}
}


function addPoints(x, y, name, type){
	var image = map.image_layer.Add("/img/mappoint-"+ type +".png", x, y, 10, 10, 21, 25);
	map.image_layer.EventMouseOverCallback(image, function(id){map.tooltip.Show( name );} );
	map.image_layer.EventMouseOutCallback(image, function(id){map.tooltip.Hide();} );
	points_img.push(image);
}
