
function select_menu_item(id) {
	var els = $('main_menu').getElementsByTagName('a');
	for(var x=0; x < els.length; x++) {
		els[x].className = '';
	}
	
	$(id).className = 'menu_active';
}

function login_handler(json, text) {
	if (json.status == 'success') {
		ajxShowPage(json.redirect_url);
		
		if (json.is_admin == 'true') {
			login_admin = true;
			login_user = true;
			
			wadoptieObj.flashCall('loginAdmin');
			$('admin_menu').style.display='block';
		} else {
			login_user = true;
			
			wadoptieObj.flashCall('loginUser');
		}
	} else {
		set_html_fields(json);
	}
}

// start adoption single piece of Wad
/*
function adopt_single(id, lat, lng) { ajxGet('?c=adopt&a=get_user&wad_id=' + id + '&wad_lng=' + lng + '&wad_lat=' + lat, adopt_single_handler); }
function adopt_single_handler(json, text) {
	if (json.id) {
		window.location = 'index.php?c=payment&a=pay';
	} else {
		ajxShowPage('?c=adopt&a=register&wad_id=' + json.wad_id + '&wad_lng=' + json.wad_lng + '&wad_lat=' + json.wad_lat);
	}
}*/

// register user and start payment
function register_post() {
	if (wadoptieObj.percelen.length == 0) {
		alert('Poging ondernomen om de betaling te starten, maar er zijn geen stukken wad geselecteerd (??)');
		return;
	}
	
	// add wad-id's
	if (!document.forms['frm_register']['wad_id_0']) {
		for(var x=0; x < wadoptieObj.percelen.length; x++) {
			var obj_wad_id   = document.createElement('input');
			obj_wad_id.type  = 'hidden';
			obj_wad_id.name  = 'wad_id_'+x;
			obj_wad_id.value = wadoptieObj.percelen[x]['id'];
			
			var obj_wad_lat  = document.createElement('input');
			obj_wad_lat.type  = 'hidden';
			obj_wad_lat.name  = 'wad_lat_'+x;
			obj_wad_lat.value = wadoptieObj.percelen[x]['lat'];
			
			var obj_wad_lng  = document.createElement('input');
			obj_wad_lng.type  = 'hidden';
			obj_wad_lng.name  = 'wad_lng_'+x;
			obj_wad_lng.value = wadoptieObj.percelen[x]['lng'];
			
			// add fields
			document.forms['frm_register'].appendChild(obj_wad_id);
			document.forms['frm_register'].appendChild(obj_wad_lat);
			document.forms['frm_register'].appendChild(obj_wad_lng);
		}
	}

	ajxPost('frm_register', register_post_handler);
}

function register_post_handler(json, text) {
	if (json.status == 'error') {
		set_html_fields(json);
		$('btn_adopteren').disabled = false;
		
		if (json.schenker_exists && json.schenker_exists == 'true') {
			$('div_user_email_confirm').style.display = '';
			//$('user_email_confirm').checked = true;
		} else {
			$('div_user_email_confirm').style.display = 'none';
		}
		
		if (json.alert)
			alert(json.alert);
		
	} else if (json.status == 'success') {
		start_payment(json.wad_transaction_id);
	} else {
		alert(text);
	}
}

function start_payment(wad_transaction_id) {
	window.location = 'index.php?c=payment&a=pay&wad_transaction_id=' + wad_transaction_id;
}

// post_vars - create <form> and post it
function post_vars(url, var_array, new_page) {
	var frm = document.createElement('form');
	frm.action = url;
	frm.method = 'post';
	
	if (new_page)
		frm.target='_blank';
	
	for (var key in var_array) {
		var i = document.createElement('input');
		i.type = 'hidden';
		i.name = key;
		i.value = var_array[key];
		
		frm.appendChild(i);
	}
	
	// submit button
	var btn_submit = document.createElement('input');
	btn_submit.type = 'submit';
	btn_submit.style.display='none';
	frm.appendChild(btn_submit);
	
	document.body.appendChild(frm);
	frm.submit();
}

/*
function adopt_multiple(ids, lats, lngs) {
	var url = '';
	for(var x=0; x < ids.length; x++) {
		url += '&wad_id_'  + x + '=' + escape(ids[x]);
		url += '&wad_lat_' + x + '=' + escape(lats[x]);
		url += '&wad_lng_' + x + '=' + escape(lngs[x]);
	}
	ajxGet('?c=adopt&a=get_user' + url, adopt_multiple_handler);
}
function adopt_multiple_handler(json, text) {
	if (json.id) {
		window.location = 'index.php?c=payment&a=pay';
	} else {
		var url = '';
		for(var x=0; x < json['wad_id_'+x]; x++) {
			url += '&wad_id_'  + x + '=' + escape(json['wad_id_'  + x]);
			url += '&wad_lat_' + x + '=' + escape(json['wad_lat_' + x]);
			url += '&wad_lng_' + x + '=' + escape(json['wad_lng_' + x]);
		}
		ajxShowPage('?c=adopt&a=register'+url);
	}
}*/

function flash_error(msg) {
	alert('Er is een flash fout opgetreden: ' + msg);
}


function toggleBestaandeGebruiker(oOption) {
	if (oOption.value == 'bestaand')
		$('container_bestaand').style.display = '';
	else
		$('container_bestaand').style.display = 'none';
}


function adoptie_keuze_verder_Click() {
	if (wadoptieObj.percelen.length == 0) {
		alert('U heeft geen stukken wad gekozen');
		return;
	}
	
	if ($('type_gebruiker_1') && $('type_gebruiker_1').checked) {
		alert('Indien u een bestaande gebruiker bent moet u eerst inloggen');
		return;
	}
	
	var adoptie_type_value = '';
	if ($('adoptie_type_1').checked)
		adoptie_type_value = 'zelf';
	else
		adoptie_type_value = 'kado';

	if (login_user && adoptie_type_value == 'zelf') {	// reeds ingelogt & voor zichzelf => start betaling
		var post_array = new Array();
		for(var x=0; x < wadoptieObj.percelen.length; x++) {
			post_array['wad_id_'+x]  = wadoptieObj.percelen[x]['id'];
			post_array['wad_lat_'+x] = wadoptieObj.percelen[x]['lat'];
			post_array['wad_lng_'+x] = wadoptieObj.percelen[x]['lng'];
		}
		
		post_vars('index.php?c=adopt&a=startpayment_zelf', post_array);
	} else {											// niet ingelogt of kado? => vraag gegevens
		wadoptieObj.setMapTitle('stap3');
		ajxShowPage('index.php?c=adopt&a=register&adoptie_type=' + adoptie_type_value + '&perceel_count=' + wadoptieObj.percelen.length);
	}
}

function register_login_handler(json, text) {
	if (json.status == 'success') {
		$('register_usertype').innerHTML = '<i>U bent succesvol ingelogd</i>';
		login_user = true;
	} else {
		if (json.invalid_password)
			$('btnPasswordForgotten').style.display = '';
		alert(json.message);
	}
}

function recover_password(email) {
	// TODO: implement me
}




function bewerk_user_post() {
 	ajxPost('frm_bewerk_user', bewerk_user_post_handler);
}

function bewerk_user_post_handler(json, text) {
	if (json.status == 'success') {
		alert('Uw gegevens zijn opgeslagen!');
		ajxShowPage('index.php?c=user&a=mijn_wad');
	} else {
		set_html_fields(json);
		$('btn_opslaan').disabled = false;
	}
}


function check_actiecode() {
	ajxPost('frm_check_actiecode', check_actiecode_handler);
}

function check_actiecode_handler(json, text) {
	if (json.status == 'error') {						// aktiecode ongeldig
		alert(json.message);
		$('btn_adopteer_actiecode').disabled = false;
		
		return;
	}
	
	// actiecode geldig, ken wad toe
	var wt_identifier = document.forms['frm_check_actiecode']['wad_transaction_identifier'].value;
	var actie_code = json.actie_code;
	
	window.location = 'index.php?c=payment&a=payment_actiecode&wad_transaction_identifier=' + escape(wt_identifier) + '&actie_code=' + escape(actie_code);
}



// usage: new_url = set_uri_var({ sort: 'column' }); (mootools-specific!)
function set_uri_var(new_params) {
	var url = window.location.toString();

	// get base uri
	var base_uri = '';
	if (url.indexOf('?') != -1)
		base_uri = url.substr(0, url.indexOf('?'));
	else
		base_uri = url;

	// get current parameters
	var raw_params = '';
	if (url.indexOf('?') != -1)
		raw_params = url.substr(url.indexOf('?')+1);

	var param_name_list = new Array();
	
	var params = new Hash();
	var tokens = raw_params.split('&');
	for(var x=0; x < tokens.length; x++) {
		var split_tokens = tokens[x].split('=', 2);
		if (split_tokens[0] == '')
			continue;
		
		params[split_tokens[0]] = split_tokens[1];
	}
	
	for(name in new_params) {
		params[name] = new_params[name];
	}
	
	var new_url = base_uri + '?';
	params.each(function (val, key, hash) {
		if (!new_url.match('\\?$'))
			new_url += '&';
		
		new_url += key + '=' + val;
	});
	
	return new_url;
}


function chk_select_all(parent_obj) {
	var inputs = parent_obj.getElementsByTagName('INPUT');
	
	for(var x=0; x < inputs.length; x++) {
		if (inputs[x].type == 'checkbox')
			inputs[x].checked = true;
		
	}
		
	
}


function toggle_tab(active_button, tab_id) {
	var hrefs = $('tabs').getElementsByTagName('a');
	for(var x=0; x < hrefs.length; x++) {
		hrefs[x].className = 'inactive_tab';
	}
	
	active_button.className = 'active_tab';
	
	
	var divs = document.getElementsByTagName('div');
	for(var x=0; x < divs.length; x++) {
		if (divs[x].id.match('^tab_')) {
			divs[x].style.display='none';
		}
	}
	
	if ($(tab_id))
		$(tab_id).style.display = '';
	else
		alert('Tab not found: ' + tab_id);
}

function get_url_vars() {
	var loc = window.location.href;
	
	if (loc.indexOf('?') < 0)
		return new Array();
	
	loc = loc.substr(loc.indexOf('?')+1);
	loc = loc.replace('#', '&');
	
	var tokens = loc.split('&');
	var params = new Array();
	for(var x=0; x < tokens.length; x++) {
		var took = tokens[x].split('=');
		
		params[unescape(took[0])] = unescape(took[1]);
	}
	
	return params;
}

