var bromSubsidies = bromSubsidies || {};
bromSubsidies.id = "map_content";
bromSubsidies.holder = $("#"+bromSubsidies.id+"");
bromSubsidies.pinBubble = $("#map_bubble");
bromSubsidies.markers = [];
bromSubsidies.clusterer = null;
bromSubsidies.map = null
bromSubsidies.mapOptions = {
	zoom: 6,
	center: new google.maps.LatLng(45.946949, 24.9804),
	mapTypeId: google.maps.MapTypeId.ROADMAP,
	zoomControlOptions: {
		style: google.maps.ZoomControlStyle.LARGE
	}
};

bromSubsidies.populateBubble = function(obj){
	var numbers = bromSubsidies.pinBubble.find("p.wrap").children();
	$(bromSubsidies.pinBubble.find("h2")).text(obj.name);
	$(numbers[0]).text(obj.phone);
	$(numbers[1]).text(obj.fax);
	$(bromSubsidies.pinBubble.find("p.address").children()[1]).text(obj.address);
	$(bromSubsidies.pinBubble.find("p.info1").children()[1]).text(obj.code);
	
	$(bromSubsidies.pinBubble.find("p.info2").children()[1]).text(obj.county);
	$(bromSubsidies.pinBubble.find("p.info3").children()[1]).text(obj.region);
	$(bromSubsidies.pinBubble.find("p.info4").children()[1]).text(obj.city);
	var types = obj.type.split('/').join('<br/>');
	
	$(bromSubsidies.pinBubble.find("p.info5").children()[1]).html(obj.type.split('/').join('<br/>'));
	$(bromSubsidies.pinBubble.find("p.info6").children()[1]).html(obj.contact1);
	$(bromSubsidies.pinBubble.find("p.info7").children()[1]).html(obj.contact2);
	if(obj.type === "ATM/Offsite"){
		$(bromSubsidies.pinBubble.find("div.contact_numbers")).hide();
		$(bromSubsidies.pinBubble.find("p.info1").parent()).hide();
		$(bromSubsidies.pinBubble.find("p.info6").parent()).hide();
		$(bromSubsidies.pinBubble.find("p.info7").parent()).hide();
	}
	else{
		$(bromSubsidies.pinBubble.find("div.contact_numbers")).show();
		$(bromSubsidies.pinBubble.find("p.info1").parent()).show();
		$(bromSubsidies.pinBubble.find("p.info6").parent()).show();
		$(bromSubsidies.pinBubble.find("p.info7").parent()).show();
	}
	bromSubsidies.pinBubble.removeClass('hidden');
	bromSubsidies.pinBubble.show();
	mapSeeker.resetBut.show();
}

bromSubsidies.showMarkers = function(arr){
	if (arr.length>0) {
		$.each(arr, function(i, item) {
			var marker = new google.maps.Marker({ position: new google.maps.LatLng(item.latitude, item.longitude)});
			marker.info = item;
			marker.id = item.id
			
			google.maps.event.addListener(marker, 'click', function(e) {
				bromSubsidies.map.setCenter(marker.getPosition());
				bromSubsidies.map.setZoom(16); 
				bromSubsidies.populateBubble(marker.info);
			});
			
			bromSubsidies.markers.push(marker);
		});
		bromSubsidies.clusterer = new MarkerClusterer(bromSubsidies.map, bromSubsidies.markers, bromSubsidies.clustererOptions);
	}
}

bromSubsidies.resetMap = function(){
	bromSubsidies.map.setCenter(bromSubsidies.mapOptions.center);
	bromSubsidies.map.setZoom(bromSubsidies.mapOptions.zoom);
	/*if(bromSubsidies.clusterer != null){
		bromSubsidies.clusterer.clearMarkers();
		bromSubsidies.markers = [];
	}*/
}

bromSubsidies.init = function(){
	bromSubsidies.map = new google.maps.Map(document.getElementById(bromSubsidies.id),bromSubsidies.mapOptions);
	if ($('div.searchData').size()){
		var obj
		var arr
		var data = [];
		$('div.searchData p').each(function(i,el){
			arr = $(this).children();
			obj = {};
			obj.id = el.className
			for(var i = 0; i<arr.length;i++){
				obj[arr[i].className] = $(arr[i]).html();
			}
			data.push(obj);
		});
		
		bromSubsidies.showMarkers(data);
		
		//obj = null;
		//arr = null;
		//data = null;
	}
}



if (bromSubsidies.holder.size()){
	mapSeeker = {}
	mapSeeker.resetBut = $('div.map_reset');
	mapSeeker.defValue = $("#SUBSIDIES_MAP div.input_wrap input.text").val();
	mapSeeker.form = $("#SUBSIDIES_MAP");
	mapSeeker.but1 = $("#map_bubble p.actions a.first");
	mapSeeker.but2 = $("#map_bubble p.actions a.second");
	$("#SUBSIDIES_MAP #map_seek_button").click(function(e){
		var currVal = $("#SUBSIDIES_MAP div.input_wrap input.text").val();
		if(mapSeeker.defValue !=  currVal && currVal != "" && currVal.length > 3){
			mapSeeker.form.submit();
		}
		e.preventDefault();
	})
	
	$("#SUBSIDIES_MAP div.input_wrap input").focus(function(e){
		if($(this).val() == mapSeeker.defValue){
			$(this).val('');
		}else{
			$(this).select();
		}
	});
	
	$("#SUBSIDIES_MAP div.input_wrap input").focusout(function(e){
		if($(this).val() == ""){
			$(this).val(mapSeeker.defValue);
		}
	});
	
	
	mapSeeker.resetBut.click(function(e){
		bromSubsidies.resetMap();
		mapSeeker.resetBut.hide();
		bromSubsidies.pinBubble.hide();
		e.preventDefault();
	});
	$("#map_bubble div.bubble_close a").click(function(e){
		//bromSubsidies.pinBubble.addClass('hidden');
		bromSubsidies.pinBubble.hide();
		e.preventDefault();
	});
	$("#map_bubble p.actions a").click(function(e){
		$("#map_bubble p.wrap span.number_value").addClass('hidden');
		if($(this).hasClass('first')){
			mapSeeker.but1.addClass('selected');
			mapSeeker.but2.removeClass('selected');
			$("#map_bubble p.wrap span.first").removeClass('hidden');
		}else{
			mapSeeker.but2.addClass('selected');
			mapSeeker.but1.removeClass('selected');
			$("#map_bubble p.wrap span.second").removeClass('hidden');
		}
		e.preventDefault();
	});
	
	bromSubsidies.init();
}
