//******************** months, days *****************************
var maanden = new Array('januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december');
var mnd = new Array('jan','feb','mrt','apr','mei','jun','jul','aug','sep','okt','nov','dec');
var dagen = new Array('zondag','maandag','dinsdag','woensdag','donderdag','vrijdag','zaterdag');


var kind_activity_array = new Array('training','opleiding','activiteit');
var cat_activity_array = new Array('Venwoude Excellent','Introductiebijeenkomst','Workshop','Meditatie & Bezinning','Ademen','Ontketening','Mannen & Vrouwen','Verwerken & Aanvaarden','Opleiding','Coaching','Trainer','Lezing','Activiteiten','Zweethut','Mantra Zingen','Coaching','Zakelijke Trainingen','Venwoude Internationaal');
var cat_activity_array_url = new Array('','','','','','','','','','','','','','');
var form_select_objects = new Array;


var	select_lists;
var	agenda_ruw
var	agenda_groepen;
var result_table;

var reg_name = /^\s*(uit|aan)\s*\~\s*([^~]*)\s*\~\s*([^~]*)\s*(?:\~\s*(not_show_on_form)\s*)?$/i;
var reg_date = /^\s*([^\~]*?\~)?(?:\s*(\d{1,2})\s+(\w{3,9})\s+(\d{4})(?:\s+\-\s+(\d{1,9})\s+(\w{3,9})\s+(\d{4}))?\s*\~\s*(.*?)\s*(?:\~\s*(.*?)\s*)?)?$/i;
var reg_extra_date = /^([^\~]*?)(?:\~(.*$))?$/i;
var reg_extra_date1 = /^\s*(\w{2,3})\s+(\d{1,2}):(\d{1,2})\s*-\s*(\d{1,2}):(\d{1,2})/i;


var url_no_query = this.location.href.replace(/^([^\?#]+).*$/,'$1');
var form_obj;

var vorige_maanden = 0;
var today = new Date(); 
var today_day = vorige_maanden ? 1 : today.getDate(); //altijd 1ste van de maand?
var today_month = today.getMonth() - vorige_maanden;
var today_year = today.getFullYear();
		if(today_month-vorige_maanden<0){
			today_month = today_month+12;
			today_year--;
		}
var today_stamp = 512 * today.getFullYear() + 32 * today.getMonth() + today.getDate();
var today_real = 512 * today.getFullYear() + 32 * today.getMonth() + today.getDate();

var admin_agenda = false;
var check=0;

var ie=false;
if(navigator.appName.search(/Microsoft Internet Explorer/i) != -1) ie=true;

var testfrans=false;
if(window.location.href.search(/test$/) != -1) testfrans = true;

//select_lists[k][c]  k=kind of activity, c=catagory
//select_lists[k][c][1..n] activity names


//cursus_info[0] = subtitle
//cursus_info[1] = aanmelden
//cursus_info[2] = image_select
//cursus_info[3] = categorie
//cursus_info[4] = locatie
//cursus_info[5] = aanmelden
//cursus_info[6] = tekst_onder
//cursus_info[7] = soort training
//cursus_info[8] = english
//cursus_info[9] = over_de


//***************************************************************
function convert_agenda(apply_form)
{
	agenda_ruw = new Array;
	agenda_groepen = new Array;
	var inx=0;
  var prev_activity = '';
  
  
	for(k=0;k<kind_activity_array.length;k++){
		form_select_objects[k] = eval('form_obj.' + kind_activity_array[k]);
		select_lists[k] = new Array();
		for(c=0;c<cat_activity_array.length;c++)
			select_lists[k][c] = new Array();        
	}

 	
	for(var i=1; i<cursus_naam.length;i++)
		if(cursus_naam[i].search(reg_name) != -1){
			var this_show = RegExp.$1.toLowerCase();
			var this_activity = RegExp.$2;
			var this_link = RegExp.$3;
			var show_on_form = (apply_form && RegExp.$4) ? false : true; 
			var this_price = cursus_prijs[i];
			var this_time_old='';

			if( (this_show == 'aan' && show_on_form) || admin_agenda ){
				var groep = 0;
				
				for(j=1; j<cursus_data[i].length;j++)
						if(cursus_data[i][j].search(reg_date) != -1){								
								var this_block = RegExp.$1;  
								var this_start_day = parseInt(RegExp.$2,10);
								var this_start_month = month_to_num(RegExp.$3);
								var this_start_year = parseInt(RegExp.$4,10);
								var this_end_day = parseInt(RegExp.$5,10);
								var this_end_month = month_to_num(RegExp.$6);
								var this_end_year = parseInt(RegExp.$7,10);
								var this_time = RegExp.$8;
								var this_place = RegExp.$9;
								
								var this_year = !this_end_year ? this_start_year : this_end_year;
								var date_stamp = this_year*512 + this_start_month*32 + this_start_day;
								if(!this_start_year) date_stamp=today_stamp + 1024; //this_block = #txt# etc. Add 2 years (1024) to get it at the bottom of the list
	
								//do not show old items:
								if(cursus_kopje[i][j]) groep = agenda_ruw.length;
								if(groep == -1) continue;  //skip events belonging to groep in the past
				
								if(!admin_agenda && today_stamp > date_stamp){
									if(groep>0){ 
//if(1 || this_activity.search(/level 2/i) != -1)  alert(agenda_groepen.length + "\n" + groep);								
										agenda_ruw.length  = groep;  //remove all events belonging to groep
										groep = -1;
									}
									continue;
								}

								if(this_time.toLowerCase() == 'idem') this_time = this_time_old;
								else this_time_old = this_time;

								if(groep==0 || cursus_kopje[i][j]){
									
									//put activities into select lists
									for(k=0;k<kind_activity_array.length;k++)
										for(c=0;c<cat_activity_array.length;c++)
											if(kind_activity_array[k] == cursus_info[i][7] && 
												cat_activity_array[c] == cursus_info[i][3]){
											  if(this_activity != prev_activity )
											  {
													select_lists[k][c].push(this_activity + '###' + i);
													prev_activity = this_activity;
												} 
												break;
											}
											
									agenda_groepen[++inx] = new Array;
									agenda_ruw.push(new Array(date_stamp,i,j,this_activity,remove_non_text(this_activity)+ '###' + i,this_link,this_block,this_year,this_start_month,this_start_day,this_place,this_time,this_end_day,this_end_month,groep,inx));
								}
								else {								
									agenda_groepen[inx].push(new Array(date_stamp,i,j,this_activity,remove_non_text(this_activity),this_link,this_block,this_year,this_start_month,this_start_day,this_place,this_time,this_end_day,this_end_month,groep));									
								}
						} 
				} 
				prev_activity = '';
		} 
//if(testfrans) alert(agenda_groepen[9]);
	if(!admin_agenda) agenda_ruw.sort();
	
	if(check) document.body.innerHTML = '<div style="text-align:left; padding:10px; background-color:white; font-size:12px;">'+ str_error + '</div>';
}


//***************************************************************

function generate_select_lists(sel_i,apply_form)
{
	
	for(k=0;k<select_lists.length;k++)
		form_select_objects[k].options.length=1;
	
	for(k=0;k<select_lists.length;k++)	
		for(c=0;c<select_lists[k].length;c++)
			if(select_lists[k][c].length > 0) { //activities available?
				var opt = new Option(cat_activity_array[c],'##cat##'+ cat_activity_array[c]);
				opt.className = 'cat';
				opt.title = cat_activity_array[c];
				
				if(apply_form){
					var optGroup = document.createElement('optgroup');
					optGroup.className = 'optGroup';

					optGroup.label = cat_activity_array[c];				
					form_select_objects[k].appendChild(optGroup)					
				}
				else  form_select_objects[k].options[form_select_objects[k].options.length] = opt;
					
				select_lists[k][c].sort();  //sort activities
				
				for(a=0;a<select_lists[k][c].length;a++){
					var act = select_lists[k][c][a].replace(/###(\d+)$/,'');
					var this_i = RegExp.$1;
					opt = new Option(' ' + act, remove_non_text(act) + '###' + this_i);  
					opt.className = 'act';opt.style.paddingLeft = '5px'; 
					opt.title = act;
					if(sel_i == this_i) opt.selected = true;
					form_select_objects[k].options[form_select_objects[k].options.length] = opt; 
				}
			}
}

//***************************************************************


//***************************************************************
function getObj(obj_id)
{
	return document.getElementById ? document.getElementById(obj_id) : eval(obj_id);
}
	

//***************************************************************
function remove_non_text(txt)
{
	return txt.replace(/(%[0-9,a-f,A-F]{2}|\&amp;|[ \s\t\&]|[^\w])/g,'').toLowerCase();
}


//***************************************************************
function day_to_num(dagnaam_kort)
{
	for(var x=0; x<dagen.length; x++)
		if(dagnaam_kort == dagen[x].substring(0,dagnaam_kort.length)) return x;
	return -1;
}

//***************************************************************
function month_to_num(maandnaam_kort)
{
	if(!maandnaam_kort.length) return -1;
	for(var x=0; x<maanden.length; x++)
		if(maandnaam_kort == maanden[x].substring(0,maandnaam_kort.length)) return x;
		else if(maandnaam_kort == 'mrt') return 2;
	return -1;
}

//***************************************************************
function createCookieAgenda() 
{
	var cvalue  = '&eng=' + form_obj.english.checked;
	cvalue += '&d=' + form_obj.maand.selectedIndex;
	
	for(var k=0;k<form_select_objects.length;k++) 
		cvalue += '&s' + k + '=' + form_select_objects[k].selectedIndex;

	document.cookie = "venwoude_agenda=" + cvalue+ "; path=/";
}

//***************************************************************
function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

//***************************************************************
function createCookie(name,value) 
{
	document.cookie = name+"="+value+"; path=/";
}

