$(document).ready(function() {

	/*
		create activities mapInputs object
	*/
	
	website.activities.mapInputs = function(oMap) {
		
		var pub = {};
		
		var init = function() {
			
			// create public handler (used in the zoomLevel updates of Map.js)
			website.activities.mapInputsUpdate = function() {
				return parseInputValues();
			};

			setEventHandlers();
		};	

		
		/*
			private methods
		*/
		
		var setEventHandlers = function() {
			
			// catch the change event on the form inputs
			$('#activities-rowMap > form').change(function() {
			
				// parse the current inputValues and pass them into the oMap's update() method			
				oMap.update(parseInputValues());
			});
			
			// catch the click event on the transformed select elements
			$("#activities-mapInputs div.jqTransformSelectWrapper ul li a").click(function() {
				
				// parse the current inputValues and pass them into the oMap's update() method			
				oMap.update(parseInputValues());
			});			

		};
		
		var parseInputValues = function() {
			
			// setup return object
			var inputValues = {
				provinceId : null,
				timeId : null,
				themeIds : null,
				clubTypeIds : null,
				targetGroupIds : null
			}
			
			/*// parse provinces
			var selectedProvince = $("#activities-mapInputs div.jqTransformSelectWrapper .selectedLabel")[0].innerHTML;
			
			switch (selectedProvince) {
			
				case 'Heel Nederland' : 
					
					inputValues.provinceId = 1;
					break;
					
				case 'Drenthe' : 
					
					inputValues.provinceId = 2;
					break;					
					
				case 'Flevoland' : 
					
					inputValues.provinceId = 3;
					break;
				
				case 'Friesland' : 
					
					inputValues.provinceId = 4;
					break;
				
				case 'Gelderland' : 
					
					inputValues.provinceId = 5;
					break;
					
				case 'Groningen' : 
					
					inputValues.provinceId = 6;
					break;					
					
				case 'Limburg' : 
					
					inputValues.provinceId = 7;
					break;	
					
				case 'Noord-Brabant' : 
					
					inputValues.provinceId = 8;
					break;
					
				case 'Noord-Holland' : 
					
					inputValues.provinceId = 9;
					break;
					
				case 'Overijssel' : 
					
					inputValues.provinceId = 10;
					break;
					
				case 'Utrecht' : 
					
					inputValues.provinceId = 11;
					break;
					
				case 'Zeeland' : 
					
					inputValues.provinceId = 12;
					break;
					
				case 'Zuid-Holland' : 
					
					inputValues.provinceId = 13;
					break;
			};*/
			
			// parse tijd
			var selectedTime = $("#activities-mapInputs div.jqTransformSelectWrapper .selectedLabel")[0].innerHTML;
			
			switch (selectedTime) {
			
				case 'Alles Weergeven' : 
					
					inputValues.timeId = 1;
					break;
				
				case '3 Maanden Terug' : 
					
					inputValues.timeId = 2;
					break;
					
				case '3 Maanden Vooruit' : 
					
					inputValues.timeId = 3;
					break;
					
				case 'Alles in het Verleden' : 
					
					inputValues.timeId = 4;
					break;
					
				case 'Alles in de toekomst' : 
					
					inputValues.timeId = 0;
					break;
			};
			
			// parse themeIds			
			var csv = '';
			
			$('#activities-mapInputs > .themes > .input-item > span.jqTransformCheckboxWrapper > a').each(function(i, v) {			
				
				if ( $(v).attr('class') == 'jqTransformCheckbox jqTransformChecked' ) {
					
					csv = csv + (i+1).toString() +',';				
				}				
			});
			
			inputValues.themeIds = csv.substring(0, csv.length-1);
			
			// parse clubTypeIds			
			var csv = '';
			
			$('#activities-mapInputs > .organisations > .input-item > span.jqTransformCheckboxWrapper > a').each(function(i, v) {			
				
				if ( $(v).attr('class') == 'jqTransformCheckbox jqTransformChecked' ) {
					
					csv = csv + (i+1).toString() +',';				
				}				
			});
			
			inputValues.clubTypeIds = csv.substring(0, csv.length-1);
			
			// parse targetGroupIds			
			var csv = '';
			
			$('#activities-mapInputs > .targets > .input-item > span.jqTransformCheckboxWrapper > a').each(function(i, v) {			
				
				if ( $(v).attr('class') == 'jqTransformCheckbox jqTransformChecked' ) {
					
					csv = csv + (i+1).toString() +',';				
				}				
			});
			
			inputValues.targetGroupIds = csv.substring(0, csv.length-1);

			
			// return all parsed values
			return inputValues;
		};

		// run constructor
		init();
		
		// return public obj/methods
		return pub;

	};
});
