//
// cWise Javascript
//
//
//

//
// Global Var's
//
//
//

var GloginRedirectUrl = '';
var GloginRedirectUpdater = '';
var GloginRedirectRequest = '';
var GloginRedirectModalBox = '';
var GloginRedirectResModalBox = [];
var GcurrentRedirectType = '';
var GloginRedirectHash = '';

// Tabs
var Gmytabs = '';

// IE var
var Gie_var = 'not_ie';

// Geen Lokale Titel
var GlaadTitelBijGeenLokaleTitel = false;

// ZoekActor bij tags
var GzoekTitelsPerTagZoekActorId = '';

// Actor Id van huidig profiel
var GprofielActorId = '';

// Disable het nieuwe profiel aanvraagformulier
var GnieuwProfielFormLocked = false;

// Profiel Privacy Settings
var GprofielPrivacyCheckboxes = '';
var GprofielPrivacyChanges = false;
var GorigineleInstellingen = new Hash();


// Andere actor Id van huidige conversatie
var GconversatieAndereActorId = '';
var GconversatieAndereActor = '';
var GconversatieAndereActorAvatar = '';
var GconversatieFolder = 'ontvangen';

// Tab tellers profielinfo
var GtagInhoudTeller = '';
var GlijstInhoudTeller = '';
var GrecensieInhoudTeller = '';
var GdiscussieInhoudTeller = '';
var GvriendenInhoudTeller = '';

// Tab tellers titelinfovoorwijzigen
var GtagsWijzigenTeller = '';
var GlijstenWijzigenTeller = '';

//Vriendschap met profielactor
var GprofielVriendschap = 0;

// Avatar globale variabelen
var GprofielAvatarNaam = '';
var GprofielAvatarCat = '';

// Nieuw Bericht Form ID
var GberichtFormId = '';

// Globale Activiteiten Teller
var GactiviteitenTeller = '';

// Globale CarrouselToggle
var GtoggleCarrousel = 'false';
var GlaadCarrouselAanwinstenGelukt = 'false';
var GlaadCarrouselPopulairGelukt = 'false';
var GlaadScoresActorGelukt = 'false';

//Globale Score Positie
var GscoreGebruikersPositie = '';

// Globale array met lijstnamen bij actor op een titelset
var GlijstNamenBijActor = '';
var GtitelSetLijstenSelectors = '';

//Sluitknop modalbox
var GmodalClose = '<a class="close_modal" id="close_modal" href="#" onclick="Modalbox.hide();return false;">Sluit venster</a>'; 
var GmodalCloseRefresh = '<a class="close_modal" id="close_modal_refresh"href="/cgi-bin/bx.pl'+document.location.search+'" >Sluit venster</a>';

var GloginLokaal = false;

//Contacts Inbox 'haalVriendenBijActor'
var contacts = [];
var hidden_input = '';
var typeahead = '';

// Validatie var's en functie
var r={
	'special':/[^\w|\s\,\-]/g
	// Exlude all special characters, except for 
	// comma's, spaces and dashes
	// Used for tagnames, listnames, discussionnames
	// and messagesubjects.
}

function valid(o,w){
	o.value = o.value.replace(r[w],'');
} 

function storeRedirectUrl(url) {
	if (window.location.hash) {
		GloginRedirectHash = window.location.hash;
	}
	GloginRedirectUrl = url;
	GcurrentRedirectType = 'RedirectUrl';
	display_url(('Store Url:' + GloginRedirectUrl));
}

function storeRedirectUpdater(url) {
	if (window.location.hash) {
		GloginRedirectHash = window.location.hash;
	}
	GloginRedirectUpdater = url;
	GcurrentRedirectType = 'RedirectUpdater';
	display_url(('Store Updater:' + GloginRedirectUpdater));
}

function storeRedirectRequest(url) {
	GloginRedirectRequest = url;
	GcurrentRedirectType = 'RedirectRequest';
	display_url(('Store Request:' + GloginRedirectRequest));
}

function storeRedirectModalBox(url) {
	url += ';titel_tip=true;';
	GloginRedirectModalBox = url;
	GcurrentRedirectType = 'RedirectTitelTip';
	display_url(('Store Modalbox:' + GloginRedirectModalBox));
}

function storeRedirectResModalBox(sid, titcode, vestnr, ingelogd, w4a_profiel, w4a_ingelogd, reslink, titel) {
	GloginRedirectResModalBox = [sid, titcode, vestnr, ingelogd, w4a_profiel, w4a_ingelogd, reslink, Gquerystring, titel];
	//alert(GloginRedirectResModalBox[1]);
	GcurrentRedirectType = 'RedirectReserveer';
}

function display_url(msg) {
	//alert(msg);
}

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 			cWise history control
//
///////////////////////////////////////////////////////////////////////////////////////////////////

/*
function historyChange(newLocation, historyData) {
	ct.setActiveTab(newLocation);
}

*/


///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 	cWise controle. cWise (initWeb2Content) pas uitvoeren als de Prototype Library geladen is. Indien niet, dan klassieke titel detail laden.
//
///////////////////////////////////////////////////////////////////////////////////////////////////
 
function waitForProto(sid, titcode, vestnr, titel_id, csleutel, ingelogd, w4a_profiel, w4a_ingelogd, action, page_name, fallback_url) {
	if (BrowserDetect.browser == 'Explorer' && BrowserDetect.version <= 6) { // Fallback uri needs to be checked!
      	alert('U gebruikt een oude versie van Internet Explorer. U wordt omgeleid... ');
		Gie_var = fallback_url;
		window.location = Gie_var;
	} else {
			if (action != 'no_ajax') {
			   if (typeof Prototype == 'undefined') {
					window.location = '/cgi-bin/bx.pl?systeem=;event=tdetail;action=no_ajax;sid='+sid+';titcode='+titcode+';vestnr='+vestnr+';fmt=xml';
				} else {
					if (page_name == 'tdetail') {
						laadLibraries();
						document.observe('dom:loaded', function() {
							if ($('exemplaren_tab') != null) {
								$('exemplaren_tab').addClassName('active-tab');
							}
							if ($('_tab2') != null) {
								$('_tab2').addClassName('active-tab-body');
							}
							initWeb2Content(sid, titcode, vestnr, titel_id, csleutel, ingelogd, w4a_profiel, w4a_ingelogd, action);
						});
					} else {
						laadLibraries();
					}
				}
			} else {
				 if (typeof Prototype == 'undefined') {
		
				 } else {
					window.location = '/cgi-bin/bx.pl?systeem=;event=tdetail;sid='+sid+';titcode='+titcode+';vestnr='+vestnr+';fmt=xml';
				 }
			}
	}
}


function laadLibraries () {
			var starbox = new Element("script", { type: "text/javascript", src: "../plugins/starbox/js/starbox.js" });
			var modalbox = new Element("script", { type: "text/javascript", src: "../plugins/modalbox/js/modalbox.js" });
			var fabtabs = new Element("script", { type: "text/javascript", src: "../plugins/fabtabs/js/fabtabs.js" });
			var editinplace = new Element("script", { type: "text/javascript", src: "../plugins/editinplace/js/editinplace.js" });
			var livevalidation = new Element("script", { type: "text/javascript", src: "../plugins/livevalidation/js/livevalidation_prototype.js" });
			var autocomplete = new Element("script", { type: "text/javascript", src: "../plugins/autocomplete/js/autocomplete.js" });

			$$("head")[0].insert(starbox);
			$$("head")[0].insert(modalbox);
			$$("head")[0].insert(editinplace);
			$$("head")[0].insert(fabtabs);
			$$("head")[0].insert(livevalidation);
			$$("head")[0].insert(autocomplete);
			
}

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 	cWise loading script. 
//
///////////////////////////////////////////////////////////////////////////////////////////////////


//function startLoading(id) {
//    window.setTimeout('showLoadingImage("'+id+'")', 10);
//}

function startLoading(id) {
	var loading_box = new Element('div');
	
	var el_body = document.body; /*IE 7 fix of not extending the element without the '$()' element specification*/
	//el_body.setStyle({'cursor': 'wait'});
	var pos = $(id).cumulativeOffset();
	
    loading_box.innerHTML = '<img src="/rsrc/images/web2/ajax-loader.gif">';
	loading_box.setAttribute('id', 'lbox'+id);
	loading_box.addClassName('loading');
	$(el_body).insert({bottom: loading_box});
	loading_box.setStyle({'float': 'left', 'position': 'absolute', textAlign: 'center', 'height': '50px', 'width': '100%', 'top': pos[1]+'px', zIndex: '14000'});
	new Effect.Appear(loading_box);
}

function stopLoading(id) {
	$('lbox'+id).remove();
}

function failureFunc(response){
	alert("Call is failed" );
}

function doAjax(lnk,elid) {
	var url = lnk+';submap=raw';
					new Ajax.Updater(elid, url,
								{
									asynchronous:true,
									method: 'get',
									evalScripts: true,
									onFailure:  failureFunc,
									onCreate: function () {
										new Effect.Opacity(elid, { from: 1.0, to: 0.2, duration: 0.1 });
										startLoading(elid);
									},
									onComplete: function () {
										stopLoading(elid);
										new Effect.Opacity(elid, { from: 0.2, to: 1.0, duration: 0.2 });
									}
								}
					);
}

function doAjaxMenu(lnk,elid) {
	var url = lnk+';submap=raw';
					new Ajax.Updater(elid, url,
								{
									asynchronous:true,
									method: 'get',
									evalScripts: true,
									onFailure:  failureFunc,
									onCreate: function () {
									startLoading(elid);
									},
									onComplete: function () {
										stopLoading(elid);
										initMenu();
									}
								}
					);
}

function haalFilter (lnk,elid) {
	if ($(elid).innerHTML == '') {
		doAjax(lnk,elid);
	}
	Effect.BlindDown(elid);
	$('searchfrm').disable();
	$('filter_knop').hide();
	$('zoek_knop').hide();
	$('sluit_filter').show();
	//$('clear_filter').show();
	
}

function sluitFilter(elid) {
	Effect.BlindUp(elid);
	$('searchfrm').enable();
	$('sluit_filter').hide();
	//$('clear_filter').hide();
	$('filter_knop').show();
	$('zoek_knop').show();
}

function disableForm(oForm) {
	var elements = $(oForm).elements;
	for(i=0; i<elements.length; i++) {
    	field_type = elements[i].type.toLowerCase();
		
		switch(field_type) {
			case "text": 
			case "select-one":
			case "select-multi":
			   	elements[i].disable();
				break;
			default: 
				break;
		}
    }
}

function clearForm(oForm) {
	var elements = $(oForm).elements; 
	//$(oForm).reset();
	for(i=0; i<elements.length; i++) {
    	field_type = elements[i].type.toLowerCase();
		
		switch(field_type) {
			//case "text": 
			//case "password": 
			//case "textarea":
			//case "hidden":		
				//	elements[i].value = ""; 
				//	break;
			case "radio":
			case "checkbox":
				if (elements[i].checked) {
					elements[i].checked = false; 
				}
				break;
			//case "select-one":
			//case "select-multi":
			//   	elements[i].selectedIndex = 1;
			//	break;
			default: 
				break;
		}
    }
}

function checkForm() {
	if (typeof document.zoekform=="undefined") {
		return true;
	}
	if (document.zoekform.dcat.value=="0") {
		alert("Kies een (deel)catalogus en een zoekingang");
		document.zoekform.dcat.focus();
		return false;
	}
	if (document.zoekform.ingang.value=="00") {
		alert("Kies een zoekingang");
		document.zoekform.ingang.focus();
		return false;
	}
	if (document.zoekform.woord.value=="") {
		alert("Vul zoekterm in");
		document.zoekform.woord.focus();
		return false;
	}
		//document.zoekform.woord.value = escape(utf8Encode(document.zoekform.woord.value));
	return true;
}

function utf8Encode(string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		} 
		return utftext;
}

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 			cWise Javascript
//
///////////////////////////////////////////////////////////////////////////////////////////////////

function initWeb2Content(sid, titcode, vestnr, titel_id, csleutel, ingelogd, w4a_profiel, w4a_ingelogd, action) {
		var action_var = action;
		var url = '';
		if (action_var=='haalTitelInfoVoorWijzigen') {
				titelInfoWijzigen(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
		} 
		else {
			url = '/cgi-bin/bx.pl?event=w2a;action=haalTitelInfo;sid='+sid+';vestnr='+vestnr+';titel_id='+titel_id+';titcode='+titcode+';csleutel='+csleutel+';fmt=xml';
			var gelukt = 'false';
	      	new Ajax.Updater('landelijke_content', url, 
							{ 
								method: 'get', 
								evalScripts: true,
								asynchronous: false,
								evalJS: true,
								onFailure: function() {
												$('landelijke_content').hide();
												new Fabtabs('tabs');
												checkNoWeb2Tabs();
								},
								onSuccess: function (transport) {
												if (transport.responseText.match(/titel_overzicht_id/)) {
													$('fake_panels').remove();
													$('anoniem_titel_knoppen').show();
													gelukt = 'true';
													if ($('tdet_tip_vriend')) {
														$('tdet_tip_vriend').show();												
													}
												} else {
													$('landelijke_content').hide();
													new Fabtabs('tabs');
													checkNoWeb2Tabs();
												}
												
								},
								onComplete: function () {
												if (gelukt=='true') {
													if ($('titel_overzicht_info').innerHTML == '') {
														$('titel_overzicht_info').update($('titel_info'));
														$('titel_overzicht_info_label').update('Info:');
													}
												}
								}
							}
			);
		}
}

function landelijke_content_success() {
	var tabhash = window.location.hash;
	if (tabhash == '#tab2' || tabhash == '') {
		
	} else {
		$('exemplaren_tab').removeClassName('active-tab');
		$('_tab2').removeClassName('active-tab-body');
	}
	if (tabhash == '#tab1' || tabhash == '#tab2' || tabhash == '') {
		$('landelijke_content').hide();
	} else {
		$('landelijke_content').show();
	}
}

function titelInfoWijzigen (sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, tab) {

	var url = '/cgi-bin/bx.pl?event=w2a;action=haalTitelInfoVoorWijzigen;sid=' + sid + ';titel_id=' + titel_id + ';titcode=' + titcode + ';fmt=xml';
	
	if (w4a_ingelogd == '0') {
		var url_action = '';
		
			url_action = 'haalTitelInfoVoorWijzigen';
		
		
		url = '?event=tdetail;action='+url_action+';titcode=' + titcode + ';titel_id=' + titel_id + ';systeem=;sid=' + sid + ';vestnr=' + vestnr + ';fmt=xml;';
	
		storeRedirectUrl(url);
		login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
			
	} else {
		var gelukt = 'false';
		new Ajax.Updater('landelijke_content', url, 
			{ 
				method: 'get', 
				evalScripts: true,
				asynchronous: true,
				onLoading: function () {
					$('landelijke_content').hide();
					new Fabtabs('tabs');
				},
				onFailure: 	function() {
								$('landelijke_content').hide();
								new Fabtabs('tabs');
								checkNoWeb2Tabs();
				},
				onSuccess: function (transport) {
								if (transport.responseText.match(/titel_overzicht_id/)) {
									$('fake_panels').remove();
									$('anoniem_titel_knoppen').show();
									gelukt = 'true';
									if ($('tdet_tip_vriend')) {
										$('tdet_tip_vriend').show();												
									}
								} else {
									$('landelijke_content').hide();
									new Fabtabs('tabs');
									checkNoWeb2Tabs();
								}
				},
				onComplete: function () {
								if (gelukt=='true') {
													if ($('titel_overzicht_info').innerHTML == '') {
														$('titel_overzicht_info').update($('titel_info'));
														$('titel_overzicht_info_label').update('Info:');
													}
												}
				}
			}
		);
	}
}

function zoekTitelsPerTag (sid, vestnr, tag_id, zoek_actor_id, zoek_actor, ingang) {
	
	var zoekactor = '';
	
	if (zoek_actor == 'true') {
		zoekactor = ';zoek_actor_id=' + zoek_actor_id + ';';
	} else {
	}
	
	if (ingang == 'profiel') {
		ingang = ';profiel=true;';
	} else if (ingang == 'terug') {
		ingang = '';
	} else{
		ingang = ';profiel=false;';
	}
	window.location.href = '/cgi-bin/bx.pl?event=w4a_page;action=zoekTitelsPerTag;sid=' + sid + ';vestnr=' + vestnr + ';tag_id=' + tag_id + ';fmt=xml'+zoekactor+ingang;
}


function haalLijstInfo (sid, vestnr, lijst_id) {
	window.location.href = '/cgi-bin/bx.pl?event=w4a_page;action=haalLijstInhoud;sid=' + sid + ';vestnr=' + vestnr + ';lijst_id=' + lijst_id + ';fmt=xml';		
}

function haalTitelInfo (sid, vestnr, titcode, titel_id, tab_id) {
		var url = '/cgi-bin/bx.pl?event=tdetail;action=haalTitelInfo;sid=' + sid + ';titcode=' + titcode + ';titel_id=' + titel_id + ';vestnr=' + vestnr +';fmt=xml';
		if (window.location.search.match(/;bb=;/)) {
			url = url.sub(';bb=;', '');
		} else {
			url = url + ';bb=;';
		}
		var url_tab = '#tab4';
		if (window.location.hash != '') {
			if (window.location.hash == '#tab7') {
				url += '#tab4';
			} else {
				url = url + window.location.hash;
			}
		} else {
			if (tab_id) {
				url += '#'+tab_id;
			} else {
				url = url + url_tab;
				
			}
		}
		window.location.href = url;
}

function haalTitelInfoVoorWijzigen (sid, vestnr, titcode, titel_id, tab) {
		
		var url = '/cgi-bin/bx.pl?event=tdetail;action=haalTitelInfoVoorWijzigen;sid=' + sid + ';titcode=' + titcode + ';titel_id=' + titel_id + ';vestnr=' + vestnr +';fmt=xml';
		
		if (window.location.search.match(/;bb=;/)) {
			url = url.sub(';bb=;', '');
		} else {
			url = url + ';bb=;';
		}
		
		if (window.location.hash != null) {
			if (tab == '') {
				url = url + window.location.hash;
			} else {
				window.location.hash = tab;
				url = url +tab;
			} 
		} else {
			url += tab;
		}
		
		window.location.href = url;
}

function updateMessage(element, message, status, fade) {
	if (status =='foutmelding') {
		if ($(element).visible()) { } else { $(element).show();}
		$(element).update(message);
		$(element).className = 'update_foutmelding';
	} else if (status =='errormelding') {
		if ($(element).visible()) { } else { $(element).show();}
		$(element).update(message);
		$(element).className = 'update_errormelding';
	} else {
		if ($(element).visible()) { } else { $(element).show();}
		$(element).update(message);
		$(element).className = '';
		$(element).className = 'update_succesmelding';
	}
	
}

function resetMessage(element) {
	$(element).update('');
	$(element).className = 'melding_leeg';
}

function logout(sid, vestnr) {
	window.location = '/cgi-bin/bx.pl?event=clear_main;sid='+sid+';vestnr='+vestnr+';fmt=xml'
}

function toonAV(soort) {
		if (soort == 'av_akkoord') {
			Modalbox.show($('login_algemene_voorwaarden'), {title: 'Voorwaarden voor het gebruik van cWise', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('algemene_voorwaarden_check').focus();}});
			$('login_algemene_voorwaarden').scrollTo();
		} else {
			Modalbox.show($('login_algemene_voorwaarden'), {title: 'Algemene voorwaarden', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('algemene_voorwaarden_check').hide(); $('algemene_voorwaarden_form').hide(); $('algemene_voorwaarden_sluit').show();	$('algemene_voorwaarden_omschrijving').update('Algemene voorwaarden voor het gebruik van cWise.'); Modalbox.resizeToContent(); }});
			$('login_algemene_voorwaarden').scrollTo();
		}		
}

function login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd) {
	if ((ingelogd=='0') && (w4a_profiel=='0') && (w4a_ingelogd=='0')) {
		Modalbox.show($('login_content'), {title: 'Inloggen', width: 500, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('lokaal_lenernummer').focus();}}); //Geen afterhide hier! Overschrijft de sessie!	
		$('login_content').scrollTo();	
	} else if ((ingelogd == '1') && (w4a_profiel == '0') && (w4a_ingelogd == '0')) {
		if (GactorEmail=='false') {
			Modalbox.show($('login_geen_email'), {title: 'Inloggen: Geen emailadres aangetroffen!', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {}});
		} else {
			toonAV('av_akkoord');					
		}
	} else if ((ingelogd == '1') && (w4a_profiel == '1') && (w4a_ingelogd == '0')) {
		loginCentraal(sid, titcode, vestnr, titel_id);
	} else {
		alert('Er ging iets fout, probeer het s.v.p. opnieuw');
		
	}
}

function showLNP (){
	Modalbox.show($('login_nieuwprofiel'), {title: 'Inloggen', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('nickname_veld').focus();}});
	Modalbox.resizeToContent();
}


function loginLocal(sid, titcode, vestnr, titel_id, form_id) {
	if (Field.present($('lokaal_lenernummer')) && Field.present($('lokaal_pincode')) ) {
		var formHash = $(form_id).serialize(true);
		
		new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=loginLocal;systeem=*;sid=' + sid + ';newlener=' + formHash.lokaal_lenernummer + ';pinkode='+formHash.lokaal_pincode + ';',
						{
							asynchronous:true,
							method:'get',
							onFailure: function() {
								updateMessage('login_melding', 'Er ging iets fout bij het inloggen, probeer het s.v.p. opnieuw.', 'foutmelding', false);
								Modalbox.resizeToContent();
							},
							onSuccess: function(transport) {
								var newVestnr = '';
								if (transport.responseText.match('ingelogd=1;w4a_profiel=0;w4a_ingelogd=0;')) {
										if (!GloginLokaal){
											if (transport.responseText.match('email=;')) {
												Modalbox.show($('login_geen_email'), {title: 'Inloggen: Geen emailadres aangetroffen!', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {}});
											} else {
												toonAV('av_akkoord');					
											}
										} else {
											newVestnr = changeVestnr(transport.responseText);
											loginRedirect(GcurrentRedirectType, newVestnr);
										}
								} else if (transport.responseText.match('ingelogd=1;w4a_profiel=1;w4a_ingelogd=0;')) {
									loginCentraal(sid, titcode, vestnr, titel_id, tag_id, lijst_id);
								} else if (transport.responseText.match('ingelogd=1;w4a_profiel=1;w4a_ingelogd=1;')) {
											Modalbox.show($('login_succes'), {title: 'Inloggen', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('close_loginsucces').focus();}});
											updateMessage('login_succes_melding', 'Ingelogd.', 'succesmelding', false);
											$('close_loginsucces').removeAttribute('href');
											$('MB_close').removeAttribute('href');
											newVestnr = changeVestnr(transport.responseText);
											loginRedirect(GcurrentRedirectType, newVestnr);
								} else if (transport.responseText.match('ingelogd=0;w4a_profiel=0;w4a_ingelogd=0;')) {
									updateMessage('login_melding', 'Lenersnummer of pincode onjuist.', 'errormelding', false);
									Modalbox.resizeToContent();
								}
							}
						}
		);
	} else {

	updateMessage('login_melding', 'Alle velden invullen s.v.p.', 'foutmelding', false);
	Modalbox.resizeToContent();
	}	
}

function loginLokaal(sid, vestnr, querystring, form_id) {
	if (Field.present($('newlener')) && Field.present($('pinkode')) ) {
		storeRedirectUrl(querystring);
		var formHash = $(form_id).serialize(true);
		new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=loginLocal;sid=' + sid + ';newlener=' + formHash.newlener + ';pinkode='+formHash.pinkode + ';',
						{
							asynchronous:true,
							method:'get',
							onFailure: function() {
								updateMessage('login_melding_lokaal', 'Er ging iets fout bij het inloggen, probeer het s.v.p. opnieuw.', 'errormelding', false);
							},
							onSuccess: function(transport) {
								if (transport.responseText.match('ingelogd=1;')) {
											//updateLoginState(transport.responseText);
											updateVestnr(transport.responseText);
											window.location = GloginRedirectUrl;
								} else if (transport.responseText.match('ingelogd=0;')) {
									updateMessage('login_melding_lokaal', 'Lenersnummer of pincode onjuist.', 'errormelding', false);
									$('pinkode').clear();
									$('newlener').clear().focus();
								}
							}
						}
		);
	} else if (Field.present($('newlener'))) {
		updateMessage('login_melding_lokaal', 'Pincode invullen s.v.p.', 'foutmelding', false);
		$('pinkode').focus();
	} else {
		updateMessage('login_melding_lokaal', 'Alle velden invullen s.v.p.', 'foutmelding', false);
		$('newlener').focus();
	}
}

function loginGeenEmail(sid, titcode, vestnr, url) {
	var formHash = $('login_geen_email').serialize(true);

	new Ajax.Request(url,
			{
				asynchronous:true,
				method:'get',
				parameters: {sid: sid, vestnr: vestnr, email: formHash.email_new},
				onFailure: function() { 
								updateMessage('login_geen_email_melding', 'Er ging iets fout bij het opgeven van het emailadres, probeer het s.v.p. opnieuw.', 'foutmelding', false); 
								Modalbox.resizeToContent();
				},
				onSuccess: function(transport) {
					toonAV('av_akkoord');
				}
			}
	);
}

/* Na inloggen de inlogstatus bijwerken zonder dat de pagina wordt ververst. Pagina verversen gaat niet goed als je ajax content hebt */
function updateLoginState(response) {
	var nickName = response.toQueryParams([seperator = ';']);
	$('user_inner').update('<a><strong>'+nickName.nickname+'</strong></a> ingelogd');
}

function vestWissel(vestnr) {
	window.location = '/cgi-bin/bx.pl?' + Gquerystring.replace('vestnr','old') +';vestnr='+ vestnr;
}

function updateVestnr(response) {
	var querystr = response.toQueryParams([seperator = ';']);
	GloginRedirectUrl = '/cgi-bin/bx.pl?' + GloginRedirectUrl.replace('vestnr','old') +';vestnr='+ querystr.vestnr;
	if (GloginRedirectUrl.match('clear_main')){
		GloginRedirectUrl = GloginRedirectUrl.replace('clear_main','start');
	}
}

function replaceVestnr(queryString, newVestnr) {
	queryString = queryString.replace('vestnr','old') +';vestnr='+ newVestnr;
	if (queryString.match('clear_main')){
		queryString = queryString.replace('clear_main','start');
	}
	if (GloginRedirectHash != '') {
		queryString = queryString + GloginRedirectHash;
	}
	return queryString;
}


function changeVestnr(response) {
	var querystr = response.toQueryParams([seperator = ';']);
	return querystr.vestnr;
}

function maakProfiel (sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, querystring) {
	var url = '?'+querystring;
	storeRedirectUrl(url);
	login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
}


function showLoginNieuwProfiel(sid) {
		Modalbox.show($('login_nieuwprofiel'), {title: 'Inloggen', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('nickname_veld').focus(); startNicknameValidation('nickname_veld', sid);}});
}

function loginCheckNickname(sid, titcode, vestnr, form_id) {
	var form_submit = $('nieuwprofiel_form_submit');
	var checkform_id = 	'';
	var formMeldingId = 'nieuwprofiel_melding';
	if (form_id == 'wijzignickname_form') {
		form_submit = $('wijzignickname_submit');
		checkform_id = $('org_nickname').innerHTML;
		formMeldingId = 'wijzignickname_melding';		
	}

	form_submit[form_submit.disabled ? 'enable' : 'disable']();
	var el = new Element('div');
	if (!form_submit.disabled) {
	} else {
		if (Field.present($('nickname_veld'))) {
			var formHash = $(form_id).serialize(true);
			var nickname = formHash.nickname;
			nickname = nickname.stripTags();
			nickname = nickname.strip();
			
			var onlyAlphaNumericCheck = /[A-Za-z]/g.test(nickname);
			if (nickname == checkform_id) {
						updateMessage('wijzignickname_melding', 'Geen wijzigingen in de nickname.', 'foutmelding', true);
						Modalbox.resizeToContent();
						form_submit.disabled = !form_submit.disabled;
			} else {
				if (nickname.length < 4) {
					updateMessage(formMeldingId, 'Nickname moet minimaal uit 4 karakters bestaan.', 'foutmelding', true);
					Modalbox.resizeToContent();
					form_submit.disabled = !form_submit.disabled;
				} else if (onlyAlphaNumericCheck == false) {
					updateMessage(formMeldingId, 'Nickname kan niet uitsluitend numerieke karakters bevatten.', 'foutmelding', true);
					Modalbox.resizeToContent();
					form_submit.disabled = !form_submit.disabled;
				} else {
				
						new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=loginCheckNickname;fmt=xml;',
										{
											asynchronous:true,
											method:'get',
											parameters: {sid: sid, nickname: nickname},
											onFailure: function() { 
															updateMessage(formMeldingId, 'Er ging iets fout bij het inloggen, probeer het s.v.p. opnieuw.', 'foutmelding', false); 
															Modalbox.resizeToContent();
											},
											onSuccess: function(transport) {
													el = el.update(transport.responseText);
													var status = $A(el.select('div.check_nickname_status'));
													var nicknamestatus = '';
													status.each(function (s) {nicknamestatus = s.innerHTML;});
													if (nicknamestatus == '1') {
															updateMessage(formMeldingId, nickname+' is al in gebruik, probeer het s.v.p. opnieuw of kies een van de suggesties.', 'foutmelding', true); 
			
															var suggesties = $A(el.select('div.nickname_suggesties'));
															var suggestie1 = '';
															var suggestie2 = '';
															var suggestie3 = '';		

															suggesties.each(
																function (s, index) {
																	if (index == 0) {
																		suggestie1 = s.innerHTML;
																	} else if (index == 1) {
																		suggestie2 = s.innerHTML;
																	} else {
																		suggestie3 = s.innerHTML;
																	}
																}
															);

															var id = '';
															if (form_id == 'wijzignickname_form') { id = 'wijzignickname_preview'} else {id = 'nickname_preview'}
															getAvailableNicknames((suggestie1.replace(/[\r\n]+/g, "")), (suggestie2.replace(/[\r\n]+/g, "")), (suggestie3.replace(/[\r\n]+/g, "")), id);
															
													} else if (nicknamestatus == '0') {
															if (form_id == 'wijzignickname_form') {
																$('org_nickname').update(nickname);
																wijzigProfielNaam(sid, nickname);
																
															} else {
																loginMetNieuwProfiel(sid, titcode, vestnr, nickname);
															}
													} else {
														if (form_id == 'wijzignickname_form') {
															wijzigNickname (nickname);
															updateMessage('wijzignickname_melding', 'Er ging iets mis bij het wijzigen van de nickname, probeer het s.v.p. opnieuw.', 'foutmelding', false);
															Modalbox.resizeToContent();
														} else {
															Modalbox.show($('login_nieuwprofiel'), {title: 'Inloggen', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('nickname_veld').focus(); startNicknameValidation('nickname_veld', sid);}});
															updateMessage('login_melding', 'Er ging iets mis bij het aanvragen van de nickname, probeer het s.v.p. opnieuw.', 'foutmelding', false);
															Modalbox.resizeToContent();
														}
													}
											},
											onComplete: function () {
												form_submit.disabled = !form_submit.disabled;
											}
										}
						);
				}
			}
			
		} else {
			updateMessage('nieuwprofiel_melding', 'S.v.p. alle velden invullen.', 'foutmelding', false);
			Modalbox.resizeToContent();
		}
	}
}

function wijzigNickname (huidige_nickname, sid) {
	Modalbox.show($('wijzignickname'), {title: 'Wijzig nickname', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () { insertNickname(huidige_nickname, 'wijzignickname_div'); $('nickname_veld').focus(); startNicknameValidation('nickname_veld', sid); }});
}


function startNicknameValidation (field_id, sid) {
	var original_nickname = $(field_id).value;
	/// Clear the of all special characters
	$(field_id).setAttribute('onblur', ("valid(this, 'special')"));
	$(field_id).setAttribute('onkeyup', ("valid(this, 'special')"));
	$(field_id).setAttribute('autocomplete', ('off'));
	$(field_id).setAttribute('size', ('16'));
	$(field_id).setAttribute('maxlength', ('16'));
	
		var nicknameStrength = new LiveValidation(field_id, { validMessage: 'Geldige nickname.', wait: 1000/*onlyOnSubmit: true */} );
		nicknameStrength.add( Validate.Presence, { failureMessage: 'Geef nickname op s.v.p.' } );
        nicknameStrength.add( Validate.Custom, { against: function(value, args) {return (value != args.orgnickname)}, args: { orgnickname: original_nickname }, failureMessage: 'Deze nickname heb je momenteel zelf in gebruik.' } );
        nicknameStrength.add( Validate.Length, { minimum: 4 });
        nicknameStrength.add( Validate.Length, { maximum: 16 });
        nicknameStrength.add( Validate.Custom, { against: function(value,args) { return (args.onlyNumeric.test(value)) }, args: { onlyNumeric: /[A-Za-z]/g }, failureMessage: 'Gebruik minstens 1 letter in je nickname.' } );
        nicknameStrength.add( Validate.Example, { failureMessage: 'Nickname is al in gebruik!', parse_sid: sid, field: field_id });
		return
}

function valideerPinMutatie() {
	$('newpinchk').setAttribute('size', ('6'));
	$('newpinchk').setAttribute('maxlength', ('6'));
	$('newpinchk').setAttribute('onblur', ("valid(this, 'special')"));
	$('newpinchk').setAttribute('onkeyup', ("valid(this, 'special')"));
	$('newpin').setAttribute('size', ('6'));
	$('newpin').setAttribute('onblur', ("valid(this, 'special')"));
	$('newpin').setAttribute('maxlength', ('6'));
	$('newpin').setAttribute('onkeyup', ("valid(this, 'special')"));
	var newPinchk = new LiveValidation('newpinchk', {onlyOnSubmit: true, validMessage: 'Komt overeen, bezig met opslaan!' });
	newPinchk.add( Validate.Presence, { failureMessage: 'Mag niet leeg zijn!'} );
	newPinchk.add( Validate.Confirmation, { match: 'newpin' } );
}

function getParameter(parameterName, string) {
  var queryString = string.substring(1).toLowerCase();
 
  var parameters = new Array();
  parameters = queryString.split(';');
  for(var i = 0; i < parameters.length; i++) {
    if (parameters[i].indexOf(parameterName.toLowerCase())>=0) {
      var parameterValue = new Array();
      parameterValue = parameters[i].split('=');

      return parameterValue[1];
    }
  }
  return "null";
}

function insertNickname(newNickname, id) {
	var nickname = '<input type="text" class="nickname" id="nickname_veld" name="nickname" value="'+newNickname+'"/>';
	$(id).update(nickname);
}



function loginMetNieuwProfiel(sid, titcode, vestnr, nickname) {
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=loginMetNieuwProfiel;fmt=xml;',
						{
								asynchronous:true,
								method:'get',
								parameters: {sid: sid, nickname: nickname},
								onFailure: function() { 
									updateMessage('nieuwprofiel_melding', 'Nieuw profiel aanmaken is mislukt, probeer het s.v.p. opnieuw.', 'foutmelding', false);
									Modalbox.resizeToContent();
									
								},
								onSuccess: function(transport) {
									if (transport.responseText.match('ingelogd=1;w4a_profiel=0;w4a_ingelogd=0;')) {
													Modalbox.show($('login_content'), {title: 'Inloggen', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('lokaal_lenernummer').focus();}});
													updateMessage('login_melding', 'Er ging iets fout bij het aanmaken van een nieuw profiel, probeer het s.v.p. opnieuw.', 'foutmelding', false);
													$('close_loginsucces').removeAttribute('href');
													$('MB_close').removeAttribute('href');
													loginRedirect(GcurrentRedirectType);
																									
									} else if (transport.responseText.match('ingelogd=1;w4a_profiel=1;w4a_ingelogd=1;')) {
												Modalbox.show($('login_succes'), {title: 'Inloggen', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('close_loginsucces').focus();}});
												updateMessage('login_succes_melding', 'Ingelogd.', 'succesmelding', false);
												$('close_loginsucces').removeAttribute('href');
												$('MB_close').removeAttribute('href');
												$('nieuwprofiel_privacy_waarschuwing').show();
												loginRedirect(GcurrentRedirectType);
									}
								}
						}
	);
}

function loginCentraal(sid, titcode, vestnr, titel_id) {
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=login;systeem=*;sid=' + sid+';',
								{	
									asynchronous: true,
									method:'get',
									onFailure: function() {
										updateMessage('login_melding', 'Er ging iets fout bij het inloggen, probeer het s.v.p. opnieuw.', 'foutmelding', false);
										Modalbox.resizeToContent();
										$('login_content').scrollTo();
									},
									onSuccess: function(transport) {
										
										if (transport.responseText.match('ingelogd=1;w4a_profiel=1;w4a_ingelogd=1;')) {
											Modalbox.show($('login_succes'), {title: 'Inloggen', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('close_loginsucces').focus();}});
											$('login_succes').scrollTo();
											updateMessage('login_succes_melding', 'Ingelogd.', 'succesmelding', false);
											$('close_loginsucces').removeAttribute('href');
											$('MB_close').removeAttribute('href');
											loginRedirect(GcurrentRedirectType);
										} else if (transport.responseText.match('ingelogd=1;w4a_profiel=1;w4a_ingelogd=0;')) {
											Modalbox.show($('login_content'), {title: 'Inloggen', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('lokaal_lenernummer').focus();}});
											$('login_content').scrollTo();
											updateMessage('login_melding', 'Er ging iets fout bij het inloggen, probeer het s.v.p. opnieuw.', 'foutmelding', false);
										} else {
											Modalbox.show($('login_content'), {title: 'Inloggen', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('lokaal_lenernummer').focus();}});
											$('login_content').scrollTo();
											updateMessage('login_melding', 'Er ging iets fout bij het inloggen, probeer het s.v.p. opnieuw.', 'foutmelding', false);
										}
														
									}
								}
						);	
}

function akkoordAlgemeneVoorwaarden(sid) {
	
	if (($('algemene_voorwaarden_check').getValue()) != null ) {
		Modalbox.show($('login_nieuwprofiel'), {title: 'Inloggen', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('nickname_veld').focus(); startNicknameValidation('nickname_veld', sid);}});
	} else {
		updateMessage('algemenevoorwaarden_melding', 'Ga s.v.p. akkoord met de algemene voorwaarden.', 'foutmelding', true);
		Modalbox.resizeToContent();
	}
}

function loginRedirect(type, newVestnr) {
	if (type == 'RedirectUrl') {
		GloginRedirectUrl = replaceVestnr(GloginRedirectUrl, newVestnr);
		$('close_loginsucces').setAttribute('href', ('/cgi-bin/bx.pl' + GloginRedirectUrl));
		$('close_loginsucces').setAttribute('title', GloginRedirectUrl);
		$('MB_close').hide();
	} else if (type == 'WijzigNicknameRedirectUrl') {
		GloginRedirectUrl = replaceVestnr(GloginRedirectUrl, newVestnr);
		$('wijzignicknamesucces').setAttribute('href', ('/cgi-bin/bx.pl' + GloginRedirectUrl));
		$('wijzignicknamesucces').setAttribute('title', GloginRedirectUrl);
		$('MB_close').hide();
		
	} else if (type == 'RedirectReserveer') {
		GloginRedirectResModalBox[3]='1';
		GloginRedirectResModalBox[7] = replaceVestnr(GloginRedirectResModalBox[7], newVestnr);
		GloginRedirectResModalBox[6] = replaceVestnr(GloginRedirectResModalBox[6], newVestnr);
		GmodalClose = '<a class="close_modal" href="/cgi-bin/bx.pl?'+GloginRedirectResModalBox[7]+'">Sluit venster</a>'; 
		$('MB_close').hide();
		titelRes(GloginRedirectResModalBox[0], GloginRedirectResModalBox[1], GloginRedirectResModalBox[2], GloginRedirectResModalBox[3], '1', '1', GloginRedirectResModalBox[6], GloginRedirectResModalBox[8]);
	} else if (type == 'RedirectTitelTip') {
		GloginRedirectModalBox = replaceVestnr(GloginRedirectModalBox, newVestnr);
		$('close_loginsucces').setAttribute('href', ('/cgi-bin/bx.pl' + GloginRedirectModalBox));
		$('close_loginsucces').setAttribute('title', GloginRedirectModalBox);
		GloginRedirectModalBox
		$('MB_close').hide();
	} else if (type == 'RedirectUpdater') {
		GloginRedirectUpdater = replaceVestnr(GloginRedirectUpdater, newVestnr);
		new Ajax.Updater('landelijke_content', GloginRedirectUpdater, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true		  
			}
		);
		
		$('close_loginsucces').writeAttribute('href', 'javascript:Modalbox.hide()');
		$('MB_close').hide();
	} else if (type == 'RedirectRequest') {
		GloginRedirectUrl = replaceVestnr(GloginRedirectUrl, newVestnr);
		new Ajax.Request(GloginRedirectRequest, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true
			 }
		);
		$('close_loginsucces').setAttribute('href', ('/cgi-bin/bx.pl' + GloginRedirectUrl));
		$('close_loginsucces').setAttribute('title', GloginRedirectUrl);
		$('MB_close').hide();
		
	}	
}


function getAvailableNicknames(value1, value2, value3, id) {
	var new_id = '';
	if (id == 'wijzignickname_preview') {
		new_id = 'wijzignickname_div';
	} else {
		new_id = 'nickname_div';
	}
	$(id).update('Beschikbare nicknames: <div class="nicknames_div_'+id+'"><ul class="nicknames_ul"><li><a href="/error.html" onclick="insertNickname('+"'"+value1+"'"+','+"'"+new_id+"'"+');return false" title="Klik om deze nickname toe te voegen">'+value1+'</a></li><li><a href="/error.html" onclick="insertNickname('+"'"+value2+"'"+','+"'"+new_id+"'"+');return false" title="Klik om deze nickname toe te voegen">' + value2 + '</a></li><li><a href="/error.html" onclick="insertNickname('+"'"+value3+"'"+','+"'"+new_id+"'"+');return false" title="Klik om deze nickname toe te voegen">'+value3+'</a></li></ul></div>');
	Modalbox.resizeToContent();
}


function saveStar(element, info, sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd) {
	
	var rating = info.rated * 2;
	var url = '?event=tdetail;sid='+ sid +';titcode=' + titcode + ';titel_id=' + titel_id + ';systeem=;vestnr='+ vestnr +';fmt=xml';
	
	if (w4a_ingelogd=='1') {
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelStem;titel_id='+titel_id+';sid='+sid+';stem=' + rating + ';fmt=xml';
		var container_id = 'titel_overzicht_waardering_top';
		
		new Ajax.Updater(container_id, url, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true,
			  onLoading: function(request) {Element.show('load_spinner')},
			  onComplete: function(request) {Element.hide('load_spinner')}
			}
		);
	} else {
		storeRedirectUrl(url);
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelStem;titel_id='+titel_id+';sid='+sid+';stem=' + rating + ';fmt=xml';
		storeRedirectRequest(url);
			
		login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
	}
}

function saveStarW4a(element, info, sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd) {
	var rating = info.rated * 2;
	var url = document.location.search;
		
	if (w4a_ingelogd == '1') {
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelStem;titel_id='+titel_id+';sid='+sid+';stem=' + rating + ';schermnaam=w4a_page;fmt=xml';

		new Ajax.Updater(('anoniem_titel_waardering_w4a_page_' + titel_id), url, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true,
			  //onLoading: function(request) {Element.show('load_spinner')},
			  onSuccess: function() { updateMessage('w4a_page_melding', 'Waardering is toegekend.', 'succesmelding', true); }
			  //onComplete: function(request) {Element.hide('load_spinner')}
			
			}
		);
	} else {
		storeRedirectUrl(url);
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelStem;titel_id='+titel_id+';sid='+sid+';stem=' + rating + ';schermnaam=w4a_page;fmt=xml';
		storeRedirectRequest(url);
		
		login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
	}
}

function saveStarMultiple(element, info, sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, schermnaam) {
	var rating = info.rated * 2;
	var url = document.location.search;
	if (w4a_ingelogd == '1') {
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelStem;titel_id='+titel_id+';sid='+sid+';stem=' + rating + ';fmt=xml';

		new Ajax.Updater(element, url, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true,
			  //onLoading: function(request) {Element.show('load_spinner')},
			  onSuccess: function() { //updateMessage('w4a_page_melding', 'Waardering is toegekend.', 'succesmelding', true); 
			  }
			  //onComplete: function(request) {Element.hide('load_spinner')}
			
			}
		);
	} else {
		storeRedirectUrl(url);
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelStem;titel_id='+titel_id+';sid='+sid+';stem=' + rating + ';schermnaam='+schermnaam+';fmt=xml';
		storeRedirectRequest(url);
		
		login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
	}
}

function toggle_element (element) {
		$(element).toggle();
}

function hide_element (element) {
		$(element).hide();
}

function show_element (element) {
		$(element).show();
}
				
function insertTag (element, content) {
		var input_value = $('tags_toevoegen_box').getValue();
		var tags = input_value.toString();
		$(element).writeAttribute('value', '');																
		
		if (tags.include(content)) { 
			var tags = (tags.sub((content + ','), ''));
		} 
		
		else {
			var tags = (tags + content + ',');
		}
		
							
		var newTags = tags.toString();
		
		$('tags_toevoegen_box').replace('<input id="tags_toevoegen_box" class="tags_toevoegen_box" value="' + newTags.toString() + '"  onkeyup="valid(this, \'special\')" onblur="valid(this, \'special\')" />');
		$('tags_toevoegen_input_container').innerHTML;

		
}		

function verwijderTagTotaal(sid, vestnr, tekst, tag_id) {
		
		var confirmation = confirm("De tag '"+tekst+"' bij al jouw titels verwijderen?");
		
		if (confirmation==true) {
			new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=verwijderTag;sid=' + sid + ';tag_id='+tag_id+';vestnr='+vestnr+';fmt=xml',
				{
					asynchronous:true,
					method: 'get',
					onSuccess: function () {
						$('tag_cloud_ul_li_' + tag_id).remove();
						updateMessage('profiel_tags_melding', 'De tag is verwijderd.', 'succesmelding', true);
						minusTeller('tagsProfiel', 'taginhoud_teller');
					},
					onFailure: function () {
						updateMessage('profiel_tags_melding', 'Er ging iets fout bij het verwijderen, probeer het s.v.p. opnieuw.', 'foutmelding', false);
					}
				}
			);
		} else if (confirmation==false) {
		}
}



function verwijderTag (sid, tekst, id, titel_id) {
		new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigTitelTagVerwijderen;sid=' + sid + ';titel_id='+titel_id+';id='+id+';',
			{
				asynchronous:true,
			  	method: 'get',
				onSuccess: function() {
					toggleNaVerwijderTag(tekst);
					minusTeller('tagsWijzigen', 'tagsWijzigenTeller');
					updateMessage('tags_sectie_melding', 'Tag verwijderd.', 'succesmelding', true);
				},
				onFailure: function () {
					updateMessage('tags_sectie_melding', 'Er ging iets fout bij het verwijderen, probeer het s.v.p. opnieuw.', 'foutmelding', false);
				}
				
			}
		);
}

function toggleNaVerwijderTag (tekst) {
		toggle_element(('eigen_gebruikte_tag_' + tekst));
		toggle_element(('hidden_eigen_gebruikte_tag_' + tekst));
		if ($('geen_eigen_tags_melding') != null) {
			if ($('geen_eigen_tags_melding').visible()) {
				hide_element('geen_eigen_tags_melding');
			}
		}
}

function wijzigTitelTagToevoegen (sid, titel_id, tags) {

 	if (tags != '') {
				if (tags.length <= 120) {
					tags = tags.stripTags();
					tags = tags.strip();
					tags = tags.replace(/&(?!#?\w+;)/g, "&amp;");
					tags = tags.gsub(/\\/g, '');
					tags = tags.gsub(/\'/, '');
					tags = tags.gsub(/\\/, '');
					tags = tags.gsub("/", '');
					tags = tags.gsub(/\"/, '');
					tags = tags.dasherize();
					tags = tags.toLowerCase();
					tags = tags.escapeHTML();
					
					if (tags.blank()) {
						updateMessage('tags_sectie_melding', 'De invoer is leeg of bevat tekens die niet in een tag gebruikt mogen worden.', 'foutmelding', false);
					} else if (tags != '') {
												
							var url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelTagToevoegen;fmt=xml';
				
							new Ajax.Updater('tags_container', url, 
								{
								  asynchronous:true,
								  method: 'get',
								  parameters: { sid: sid, titel_id: titel_id, tekst: tags},
								  evalScripts: true,
								  onComplete: function () { 
			  						updateMessage('tags_sectie_melding', 'Tag(s) toegevoegd.', 'succesmelding', true);
			  						$('tags_toevoegen_box').focus();
								  }
								}
							);
					} else {
						updateMessage('tags_sectie_melding', 'De invoer is leeg of bevat tekens die niet in een tag gebruikt mogen worden.', 'foutmelding', true);
					}
				} else {
					if (tags.length >= 120) {
						updateMessage('tags_sectie_melding', 'E&#233;n of meerdere tags is (zijn) te lang. Maximaal aantal tekens per tag is 64 stuks.', 'foutmelding', true);
					} 
				}
 	
 	} else {
		updateMessage('tags_sectie_melding', 'Eerst tags invoeren s.v.p.', 'foutmelding', true);
	}
}

function bestaandeTagToevoegen(sid, titel_id, tag, tag_id) {
			var url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelTagToevoegen;fmt=xml';
 		
 			new Ajax.Updater('tags_container', url, 
				{
				  asynchronous:true,
				  method: 'get',
				  parameters: { sid: sid, titel_id: titel_id, tekst: tag },
				  evalScripts: true,
				  onComplete: function () { 
					updateMessage('tags_sectie_melding', 'Tag(s) toegevoegd.', 'succesmelding', true);
					plusTeller('tagsWijzigen', 'tagsWijzigenTeller');
				  }
				}
			);
}

function haalProfielInfoVerwijderRecensie(sid, titel_id) {
		var confirmation = confirm("Recensie verwijderen?");
		
		if (confirmation==true) {
				var text = '';
				url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelWijzigReview';
				new Ajax.Request(url, 
					{
						method:'get',
						parameters: {sid: sid, titel_id: titel_id, tekst: text},
						onSuccess: function () {
							updateMessage('profiel_recensies_melding', 'Recensie is verwijderd.', 'succesmelding', true);
							$(('titelsperreview_'+titel_id)).fade({ duration: 0.6, from: 1, to: 0 });
							minusTeller('recensieProfiel', 'recensieinhoud_teller');
						},
						onFailure: function () { updateMessage('profiel_recensies_melding', 'Er ging iets fout bij het verwijderen, probeer het s.v.p. opnieuw.', 'foutmelding', false); 
						}
					}
				);
		} else if (confirmation==false) {
			
		}
}

function titelWijzigenVerwijderRecensie(sid, titel_id) {
		var confirmation = confirm("Recensie verwijderen?");
		
		if (confirmation==true) {
				var text = '';
				url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelWijzigReview';
				new Ajax.Request(url, 
					{
						method:'get',
						parameters: {sid: sid, titel_id: titel_id, tekst: text},
						onSuccess: function () {
							updateMessage('anoniem_titel_review_melding', 'Recensie is verwijderd.', 'succesmelding', true);
							$('review_wijzigen_input_container').hide();
							$('review_wijzigen_form').show();
						},
						onFailure: function () { updateMessage('anoniem_titel_review_melding', 'Er ging iets fout bij het verwijderen, probeer het s.v.p. opnieuw.', 'foutmelding', true); 
						}
					}
				);
		} else if (confirmation==false) {
			
		}
}

function wijzigProfielVerwijderBeschrijving(sid, actor_id) {
		var confirmation = confirm("Omschrijving verwijderen?");
		
		if (confirmation==true) {
				var beschrijving = '';
				url = '/cgi-bin/bx.pl?event=w2a;action=wijzigProfielBeschrijving';
				new Ajax.Request(url, 
					{
						method:'get',
						parameters: {sid: sid, actor_id: actor_id, beschrijving: beschrijving},
						onSuccess: function () {
							updateMessage('profiel_beschrijving_form_melding', 'Omschrijving verwijderd.', 'succesmelding', true);
							$('profiel_omschrijving_container').hide();
							$('profiel_omschrijving_form').show();
							$('profiel_beschrijving').innerHTML = '';
						},
						onFailure: function () { updateMessage('profiel_beschrijving_form_melding', 'Er ging iets fout bij het verwijderen, probeer het s.v.p. opnieuw.', 'foutmelding', true); 
						}
					}
				);
		} else if (confirmation==false) {
			
		}
}

function lijstInhoudVerwijderLijst(sid, id, titel_id) {
	
	var confirmation = confirm("Titel van deze lijst verwijderen?");
		
	if (confirmation==true) {
		new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigTitelLijstVerwijderen;titel_id=' + titel_id + ';id=' + id + ';sid=' + sid + ';',
				{
					asynchronous:true,
					method: 'get',
					onLoading: function(request) {Element.show('load_spinner')},
					onFailure: function() { updateMessage('w4a_page_melding', 'Er ging iets fout bij het verwijderen van de titel van de lijst, probeer het s.v.p. opnieuw.', 'foutmelding', false) },
					onSuccess: function() { 
											$(('w4a_page_titel_'+titel_id)).fade({ duration: 0.6, from: 1, to: 0 });
											updateMessage('w4a_page_melding', 'Titel is van lijst verwijderd.', 'succesmelding', true);
											GlijstInhoudTeller = GlijstInhoudTeller - 1;
											$('lijstinhoud_teller').update(GlijstInhoudTeller);
					},
					onComplete: function(request) {Element.hide('load_spinner')}
				}
		);
	} else if (confirmation==false) {
			
	}
}

function verwijderLijst (sid, id, status, titel_id) {
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigTitelLijstVerwijderen;titel_id=' + titel_id + ';id=' + id + ';sid=' + sid + ';',
			{
				asynchronous:true,
			  	method: 'get',
				//onLoading: function(request) {Element.show('load_spinner')},
				onFailure: function() { updateMessage('lijsten_melding', 'Titel kon niet van lijst worden verwijderd, probeer het s.v.p. opnieuw.', 'foutmelding', false) },
				onSuccess: function() {
					$('anoniem_titel_lijst_eigen_ongebruikt_' + id).removeClassName('anoniem_titel_gebruikte_lijsten_wijzigen');
					$('anoniem_titel_lijst_eigen_ongebruikt_' + id).addClassName('anoniem_titel_ongebruikte_lijsten_wijzigen');
					$('verwijder_lijst_+_' + id).show();
					$('verwijder_lijst_x_' + id).hide();
					updateMessage('lijsten_melding', 'Titel is van lijst verwijderd.', 'successmelding', true);
					minusTeller('lijstenWijzigen', 'lijstenWijzigenTeller');
				}
				//onComplete: function(request) {Element.hide('load_spinner')}
			}
	);
}

function verwijderLijstGebruikt (sid, id, status, titel_id) {
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigTitelLijstVerwijderen;titel_id=' + titel_id + ';id=' + id + ';sid=' + sid + ';',
			{
				asynchronous:true,
			  	method: 'get',
			  	onFailure: function() { updateMessage('lijsten_melding', 'Titel kon niet van lijst worden verwijderd, probeer het s.v.p. opnieuw', 'foutmelding', false) },
				onSuccess: function() {
					$('anoniem_titel_lijst_eigen_gebruikt_' + id).removeClassName('anoniem_titel_gebruikte_lijsten_wijzigen');
					$('anoniem_titel_lijst_eigen_gebruikt_' + id).addClassName('anoniem_titel_ongebruikte_lijsten_wijzigen');
					$('verwijder_lijst_+_' + id).show();
					$('verwijder_lijst_x_' + id).hide();
					updateMessage('lijsten_melding', 'Titel is van lijst verwijderd.', 'successmelding', true);
					minusTeller('lijstenWijzigen', 'lijstenWijzigenTeller');
				}
			}
	);
	
}

function voegLijstToe (sid, id, status, titel_id) {
	
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigTitelLijstToevoegen;titel_id=' + titel_id + ';id=' + id + ';sid=' + sid + ';',
			{
				asynchronous:true,
			  	method: 'get',
				//onLoading: function(request) {Element.show('load_spinner')},
				onFailure: function() { updateMessage('lijsten_melding', 'Titel kon niet aan lijst worden toegevoegd, probeer het s.v.p. opnieuw', 'foutmelding', false) },
				onSuccess: function() {
						$('anoniem_titel_lijst_eigen_ongebruikt_' + id).removeClassName('anoniem_titel_ongebruikte_lijsten_wijzigen');
						$('anoniem_titel_lijst_eigen_ongebruikt_' + id).addClassName('anoniem_titel_gebruikte_lijsten_wijzigen');
						$('verwijder_lijst_+_' + id).hide();
						$('verwijder_lijst_x_' + id).show();
						updateMessage('lijsten_melding', 'Titel is toegevoegd.', 'succesmelding', true);
						plusTeller('lijstenWijzigen', 'lijstenWijzigenTeller');

				}
				//onComplete: function(request) {Element.hide('load_spinner')}
			}
	);
	

}

function voegLijstToeGebruikt (sid, id, status, titel_id) {
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigTitelLijstToevoegen;titel_id=' + titel_id + ';id=' + id + ';sid=' + sid + ';',
			{
				asynchronous:true,
			  	method: 'get',
				//onLoading: function(request) {Element.show('load_spinner')},
				onFailure: function() { updateMessage('lijsten_melding', 'Titel kon niet aan lijst worden toegevoegd, probeer het s.v.p. opnieuw', 'foutmelding', false) },
				onSuccess: function() {
					$('anoniem_titel_lijst_eigen_gebruikt_' + id).removeClassName('anoniem_titel_ongebruikte_lijsten_wijzigen');
					$('anoniem_titel_lijst_eigen_gebruikt_' + id).addClassName('anoniem_titel_gebruikte_lijsten_wijzigen');
					$('verwijder_lijst_+_' + id).hide();
					$('verwijder_lijst_x_' + id).show();
					updateMessage('lijsten_melding', 'Titel is toegevoegd.', 'succesmelding', true);
					plusTeller('lijstenWijzigen', 'lijstenWijzigenTeller');
				}
				//onComplete: function(request) {Element.hide('load_spinner')}
			}
	);
}

function voegRecenteLijstToe (sid, vestnr, id, titel_id, actor_id) {
	url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelLijstToevoegen;titel_id=' + titel_id + ';id=' + id + ';sid=' + sid + ';';
	new Ajax.Request(url,
			{
				asynchronous:true,
			  	method: 'get',
				//onLoading: function(request) {Element.show('load_spinner')},
				onFailure: function() { updateMessage('lijsten_melding', 'Titel kon niet aan lijst worden toegevoegd, probeer het s.v.p. opnieuw', 'foutmelding', false) },
				onSuccess: function() {
					haalRecenteLijsten(sid, vestnr, actor_id);
					//updateMessage('lijsten_melding', 'Titel is toegevoegd.', 'succesmelding', true);
				}
				//onComplete: function(request) {Element.hide('load_spinner')}
			}
	);
}

function laadLijstenToevoegenTitelset (sid, actor_id, titel_id) {
	url = '/cgi-bin/bx.pl?event=w2a;action=haalAlleLijsten;fmt=xml;';
	new Ajax.Request(url,
			{
				asynchronous:true,
			  	method: 'get',
				parameters: { sid: sid, type: 'A', aantal: '99', offset: '0', id: actor_id },
				onSuccess: function(transport) {
				 	var el = new Element('div');
				  	el = el.update(transport.responseText);
				  	GlijstNamenBijActor = $A(el.select('strong.lijst_lijst_naam'));
					
					GtitelSetLijstenSelectors.each(
						function (s) {
							var options = '<option vlue="0" selected="true">Selecteer een lijst</option>';
							GlijstNamenBijActor.each(
								function (n) { 
									var lijst_id = n.id.gsub('lijst_naam_', '');
									options += '<option value="'+lijst_id+'">'+n.innerHTML+'</option>'; }
							);
							s.innerHTML = options;
						}
					);
				}
			}
	);
}

function laadTitelsetLijstenNamen (sid, actor_id, titel_id) {
	if (GlijstNamenBijActor == '') {
		laadLijstenToevoegenTitelset(sid, actor_id, titel_id);
	}
	Effect.Appear('titelset_lijsten_'+titel_id);
}

function titelsetWijzigTitelLijstToevoegen (sid, lijst_id, titel_id) {
	
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigTitelLijstToevoegen;titel_id=' + titel_id + ';id=' + lijst_id + ';sid=' + sid + ';',
			{
				asynchronous:true,
			  	method: 'get',
				onFailure: function() { 
					updateMessage('w4a_page_melding', 'Titel kon niet aan lijst worden toegevoegd, probeer het s.v.p. opnieuw', 'foutmelding', false); 
					Effect.ScrollTo('w4a_page_melding'); 
				},
				onSuccess: function() {
					updateMessage('w4a_page_melding', 'Titel is toegevoegd.', 'succesmelding', true);
					Effect.ScrollTo('w4a_page_melding');
				}
			}
	);
}

function maakNieuweLijst(sid, titel_id, ingelogd, form_id) {
	var formHash = $(form_id).serialize(true);
	var lijst_leesbaar = '';
	var lijst_schrijfbaar = '';
	$$('#lijst_leesbaar option').each(
		function(elem){
			if (elem.selected) { lijst_leesbaar = elem.value;}
		}
	);
	$$('#lijst_schrijfbaar option').each(
		function(el){
			if (el.selected) { lijst_schrijfbaar = el.value;}
		}
	);
	
	
	if ((formHash.lijst_naam != '') && (formHash.lijst_omschrijving != '')) {
	
		var url = '/cgi-bin/bx.pl?event=w2a;action=maakNieuweLijst;fmt=xml;'; /*leesbaar=wereld;schrijfbaar=zelf;'*/
	
		new Ajax.Request(url,
				{
					asynchronous:true,
					method: 'get',
					evalScripts: true,
					parameters: {sid: sid, titel_id: titel_id, naam: formHash.lijst_naam, omschrijving: formHash.lijst_omschrijving, leesbaar: lijst_leesbaar, schrijfbaar: lijst_schrijfbaar },
					onFailure: function(transport) { 
							updateMessage('nieuwe_lijst_form_melding', 'Nieuwe lijst aanmaken is mislukt. probeer het s.v.p. opnieuw.', 'foutmelding', false)
					},
					onSuccess: function(transport) {
							if (transport.responseText.match('error')) {
								updateMessage('nieuwe_lijst_form_melding', 'Lijst "' + formHash.lijst_naam +'" bestaat al.', 'foutmelding', false)
							} else {
								new Ajax.Updater('landelijke_content', '/cgi-bin/bx.pl?event=w2a;action=haalTitelInfoVoorWijzigen;sid=' + sid + ';titel_id='+ titel_id +';fmt=xml', 
											{
											  asynchronous:true,
											  method: 'get',
											  evalScripts: true,
											  onComplete: function () {
											  	updateMessage('lijsten_melding', 'Nieuwe lijst aangemaakt en titel toegevoegd.', 'succesmelding', true);
											  }
											}
								);
							}
					}
					
				}
		);
		
	} else {
		updateMessage('nieuwe_lijst_form_melding', 'S.v.p. naam en omschrijving voor deze lijst opgeven.', 'foutmelding', false);
	}
	
}

function laadWijzigLijst (sid, vestnr, lijst_id) {
			if ($('anoniem_titel_lijst_wijzig_'+lijst_id).visible()) {
			
			} else {
	
				var url = '/cgi-bin/bx.pl?event=w2a;action=haalLijstInhoud;geen_titels=true;w2afmt=xml;';
				
				new Ajax.Request(url,
							{
								asynchronous:true,
								method: 'get',
								evalScripts: true,
								parameters: { sid: sid, vestnr: vestnr, lijst_id: lijst_id },
								requestHeaders: 'text/xml',
								onFailure: function(transport) { alert('Er ging iets mis bij het wijzigen van de lijst. Probeer s.v.p. opnieuw.');
								},
								onSuccess: function(transport) {
									var d = Try.these(
												function() { 
													return new DOMParser().parseFromString(transport.responseText, 'text/xml'); },
													function() { var xmldom = new ActiveXObject('Microsoft.XMLDOM');
													xmldom.loadXML(transport.responseText); return xmldom; 
												}
											);
			
									var laad_lijst_id = d.getElementsByTagName('ns2:lijst')[0].getAttribute('id');
									var laad_lijst_naam = d.getElementsByTagName('ns2:tekst')[0].firstChild.nodeValue;
									var laad_lijst_omschrijving = '';
									var laad_lijst_leesbaar = '';
									$$('#lijst_leesbaar_'+lijst_id+' option').each(
										function(elem){
											if (elem.selected) { laad_lijst_leesbaar = elem.value;}
										}
									);
									
									if (d.getElementsByTagName('ns2:omschrijving')[0].firstChild != null) {
										laad_lijst_omschrijving = d.getElementsByTagName('ns2:omschrijving')[0].firstChild.nodeValue;
									} else {
										laad_lijst_omschrijving = '0';
									}
									
									if ($('anoniem_titel_lijst_wijzig_'+lijst_id).visible()) {
										observing(sid, vestnr, lijst_id, laad_lijst_naam, laad_lijst_omschrijving, laad_lijst_leesbaar);
									} else {
										$('anoniem_titel_lijst_wijzig_'+lijst_id).show();
										$('lijst_naam_wijzig_'+lijst_id).update(
											'<input type="text" class="lijst_naam_wijzig" id="lijst_naam_wijzig_'+lijst_id+'_form" name="lijst_naam_wijzig_'+lijst_id+'" value="'+laad_lijst_naam+'"/>'
										);
										if (laad_lijst_omschrijving != '0') {
											$('lijst_omschrijving_wijzig_'+lijst_id).update( 
												'<textarea class="lijst_omschrijving_wijzig" id="lijst_omschrijving_wijzig_'+lijst_id+'_form" name="lijst_omschrijving_wijzig_'+lijst_id+'">'+ laad_lijst_omschrijving +'</textarea>'
											);
										} 
										$('lijst_wijzig_submit_'+lijst_id).update(
											'<input id="wijzig_submit_'+lijst_id+'_save" type="button" class="lijst_nieuw" value="Opslaan" /><xsl:text>  of  </xsl:text><input id="wijzig_submit_'+lijst_id+'_cancel" class="lijst_nieuw" value="Annuleren" type="button" onclick="$(\'anoniem_titel_lijst_wijzig_'+lijst_id+'\').hide();return false"/>'
										);
										
										observing(sid, vestnr, lijst_id, laad_lijst_naam, laad_lijst_omschrijving, laad_lijst_leesbaar);									
									}
									if ($('wijzig_lijst_form_melding_'+lijst_id)) {
										resetMessage($('wijzig_lijst_form_melding_'+lijst_id));
									}
								}
							}
				);
			}
}

function observing (sid, vestnr, lijst_id, laad_lijst_naam, laad_lijst_omschrijving, laad_lijst_leesbaar) {
	$('wijzig_submit_'+lijst_id+'_save').stopObserving();
	if (laad_lijst_naam != null && laad_lijst_omschrijving != null && laad_lijst_leesbaar != null) {
		Event.observe('wijzig_submit_'+lijst_id+'_save', 'click', function(){wijzigLijst(sid, vestnr, lijst_id, laad_lijst_naam, laad_lijst_omschrijving, laad_lijst_leesbaar);  }, false);
	}
}
 
function wijzigLijst(sid, vestnr, lijst_id, oude_lijst_naam, oude_lijst_omschrijving, oude_lijst_leesbaar) {
	
	var lijst_naam = $F('lijst_naam_wijzig_'+lijst_id+'_form');
	var lijst_omschrijving = $F('lijst_omschrijving_wijzig_'+lijst_id+'_form');
	var lijst_leesbaar = $F('lijst_leesbaar_'+lijst_id);

	if ((oude_lijst_naam == lijst_naam) && (oude_lijst_omschrijving == lijst_omschrijving) && (oude_lijst_leesbaar == lijst_leesbaar)) {
		updateMessage(('wijzig_lijst_form_melding_'+lijst_id), 'Geen wijzigingen.', 'foutmelding', false);
	} else {
		if ((lijst_naam.length >= 64) || (lijst_omschrijving.length >= 256)) {
			updateMessage(('wijzig_lijst_form_melding_'+lijst_id), 'Het maximaal aantal karakters is overschreden. Probeer s.v.p.', 'foutmelding', false);
		} else {
				lijst_naam = lijst_naam.stripTags();
				lijst_naam = lijst_naam.strip();
				lijst_naam = lijst_naam.gsub("/", '');
				lijst_naam = lijst_naam.gsub(/\\/g, '');
				lijst_naam = lijst_naam.gsub(/\'/, '');
				lijst_naam = lijst_naam.gsub(/\\/, '');
				lijst_naam = lijst_naam.gsub(/\"/, '');
				
				lijst_omschrijving = lijst_omschrijving.stripTags();
				lijst_omschrijving = lijst_omschrijving.strip();
				lijst_omschrijving = lijst_omschrijving.gsub("/", '');
				lijst_omschrijving = lijst_omschrijving.gsub(/\\/g, '');
				lijst_omschrijving = lijst_omschrijving.gsub(/\'/, '');
				lijst_omschrijving = lijst_omschrijving.gsub(/\\/, '');
				lijst_omschrijving = lijst_omschrijving.gsub(/\"/, '');
				
				if ( (lijst_naam.blank()) || (lijst_omschrijving.blank()) ) {
					updateMessage(('wijzig_lijst_form_melding_'+lijst_id), 'De invoer is leeg of bevat tekens die niet toegestaan zijn. Probeer opnieuw s.v.p.', 'foutmelding', false);
				} else if ((lijst_naam != '') && (lijst_omschrijving != '')) {
					
				var url = '/cgi-bin/bx.pl?event=w2a;action=wijzigLijst;fmt=xml;'; //leesbaar=' + checkbox + ';'*/
					new Ajax.Request(url,
								{
									asynchronous:true,
									method: 'get',
									evalScripts: true,
									parameters: { sid: sid, vestnr: vestnr, lijst_id: lijst_id, naam: lijst_naam, omschrijving: lijst_omschrijving, leesbaar: lijst_leesbaar, schrijfbaar: 'zelf'},
									onCreate: function () {
										startLoading('anoniem_titel_lijst_wijzig_'+lijst_id);
									},
									onSuccess: function () {
										
										if ($('lijst_omschrijving_naam_'+lijst_id)) {
											$('lijst_omschrijving_naam_'+lijst_id).update(lijst_naam);
										}
										
										if ($('lijstinhoud_omschrijving_'+lijst_id)) {
											$('lijstinhoud_omschrijving_'+lijst_id).update('<pre class="lijstinhoud_omschrijving">'+lijst_omschrijving+'</pre>');																			
										}
										$('lijst_wijzig_submit_'+lijst_id).update('<input type="button" onclick="toggle_element(\'anoniem_titel_lijst_wijzig_'+lijst_id+'\');return false" value="Sluiten" class="lijst_nieuw" id="wijzig_submit_'+lijst_id+'_sluiten"/>');
										updateMessage('wijzig_lijst_form_melding_'+lijst_id, 'Wijzigingen opgeslagen.', 'succesmelding', true);
									},
									onFailure: function () {
										updateMessage('wijzig_lijst_form_melding_'+lijst_id, 'Er ging iets fout bij het opslaan van de wijzigingen. Probeer s.v.p. opnieuw.', 'foutmelding', false);
									}, 
									onComplete: function () {
										if (lijst_leesbaar != 'wereld') {
											if ($('lijst_image_wijzig_wijzig_'+lijst_id).hasClassName('lijst_gesloten') && $('mijn_lijsten_lijst_'+lijst_id).hasClassName('lijst_gesloten')) {
											} else {
												$('lijst_image_wijzig_wijzig_'+lijst_id).addClassName('lijst_gesloten');
												$('mijn_lijsten_lijst_'+lijst_id).addClassName('lijst_gesloten');
											}
										} else {
											if ($('lijst_image_wijzig_wijzig_'+lijst_id).hasClassName('lijst_gesloten') && $('mijn_lijsten_lijst_'+lijst_id).hasClassName('lijst_gesloten')) {
												$('lijst_image_wijzig_wijzig_'+lijst_id).removeClassName('lijst_gesloten');
												$('mijn_lijsten_lijst_'+lijst_id).removeClassName('lijst_gesloten');
											} else {
											}
										}
										laadWijzigLijst (sid, vestnr, lijst_id);
										stopLoading('anoniem_titel_lijst_wijzig_'+lijst_id);
									}
								}
					);
					
				} else {
					updateMessage(('wijzig_lijst_form_melding_'+lijst_id), 'Naam en omschrijving mogen niet leeg zijn. Probeer opnieuw s.v.p.', 'foutmelding', false);
				}
		}
	}
	
}


function toggleReviewStem(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, review_id, stem) {
	var url = document.location.search;
		
	if (w4a_ingelogd == '1') {
		url = '/cgi-bin/bx.pl?event=w2a;action=plaatsReviewStem;fmt=xml;review_id='+review_id+';sid='+sid+';stem=' + stem + ';';

		new Ajax.Updater('review_stemmen_review_id_' + review_id, url, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true,
			  onCreate: function () {
			  	startLoading('review_stemmen_review_id_'+review_id);
			  },
			  onComplete: function() {
			  	stopLoading('review_stemmen_review_id_'+review_id);
			  	//$('review_stemmen_review_id'+review_id)
			  	var container = '';
			  	var higlight = '';
			  	if (stem==1) {
			  		container = 'beoordeling_thumbsup_';
			  		highlight = '#9BCC54';
			  	} else if (stem==2) {
			  		container = 'beoordeling_thumbsdown_';
			  		highlight = '#FFD5D5'
			  	} else {
			  	}	
			  	new Effect.Highlight($(container+review_id), {startcolor: highlight, endcolor: '#ffffff'});
			  }
			}
		);
	} else {
		storeRedirectUrl(url);
		url = '/cgi-bin/bx.pl?event=w2a;action=plaatsReviewStem;fmt=xml;review_id='+review_id+';sid='+sid+';stem=' + stem + ';';
		storeRedirectRequest(url);
		login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
	}
}



function wijzigReview(sid, review_id, form_id, titel_id, titcode) {
	
	formHash = $(form_id).serialize(true);
	var new_content = formHash.review_wijzigen_box;

	new_content = new_content.stripTags();
	new_content = new_content.strip();
	new_content = new_content.replace(/&(?!#?\w+;)/g, "&amp;");
	
	if (new_content.length >= 2200) {
		updateMessage('update_status_recensie_'+review_id, 'Recensie mag maximaal 250 woorden bevatten.', 'foutmelding', false);

	} else if (formHash.review_wijzigen_box=='') {
		updateMessage('update_status_recensie_'+review_id, 'S.v.p. eerst tekst invoeren.', 'foutmelding', false);
	} else {
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigTitelWijzigReview';
		
		new Ajax.Request(url, 
				{
					method:'get',
					parameters: {sid: sid, titel_id: titel_id, tekst: new_content},
					onFailure: function () { updateMessage('update_status_recensie_'+review_id, 'Recensie opslaan is mislukt! Probeer het s.v.p. opnieuw.', 'foutmelding', false); 
					},
					onSuccess: function (transport) {
						updateMessage('update_status_recensie_'+review_id, 'Recensie is opgeslagen.', 'succesmelding', true);
						$('review_wijzigen_form').hide();
						$('review_wijzigen_box_titelwijzigen').update(transport.responseText);
						$('review_wijzigen_input_container').show();
						
					}
				}
		);
	}
}

function focusElement(element) {
	$(element).focus();
}

function showStats (id, tag_cloud_id) {
	$(tag_cloud_id).addClassName('tag_cloud_count');
	$(id).hide();
	$(id+'_verberg').show();
}

function hideStats (id, tag_cloud_id) {
	var old_id = id;
	$(tag_cloud_id).removeClassName('tag_cloud_count');
	$(old_id).hide();
	id = id.sub('_verberg', '');
	$(id).show();
}

function laadTitelBijGeenLokaleTitel() {
	$('tdetail_titel_cover').update($('haaltitelinfo_titel_cover').innerHTML); //Cover verplaatsen
	$('haaltitelinfo_titel_cover').remove();
	// indien titelveld leeg, dan titel uit haaltitelinfo verplaatsen
	if ($('anoniem_titel_titel').innerHTML == '') {
		$('anoniem_titel_titel').update($('anoniem_titelinfo_titel').innerHTML);
	}
	$('anoniem_titelinfo_titel').remove();
	
	if($('titel_overzicht_mediasoort_rij')){
		$('titel_overzicht_mediasoort_rij').remove();
	}
}

function hidecWise() {
	if ($('landelijke_content') != null) {
		$('landelijke_content').hide();
	}
}

function showcWise() {
	if ($('landelijke_content') != null) {
		$('landelijke_content').show();
		sluitHelp();
	}
	if ($('review_wijzigen_box') != null) {
		focusElement('review_wijzigen_box');
	}
}

function checkNoWeb2Tabs() {
		var tabhash = window.location.hash;
			if (tabhash == '#tab1') {
				$('overzicht_tab').addClassName('active-tab');
				$('_tab1').addClassName('active-tab-body');
			} else if (tabhash == '#tab2') {
				$('exemplaren_tab').addClassName('active-tab');
				$('_tab2').addClassName('active-tab-body');
			} else {
				$('exemplaren_tab').addClassName('active-tab');
				$('_tab2').addClassName('active-tab-body');
			}
		hidecWise();
}


function haalProfielInfo(sid, vestnr, zoek_actor_id) {
	if (zoek_actor_id == 'zoek_actor_id_tags') {
		zoek_actor_id = GzoekTitelsPerTagZoekActorId;
	}
	window.location = '/cgi-bin/bx.pl?event=w4a_page;action=haalProfielInfo;sid=' + sid + ';vestnr=' + vestnr + ';zoek_actor_id=' + zoek_actor_id + ';fmt=xml';		
}

function haalProfielPrivate(sid, vestnr, zoek_actor_id) {
	window.location = '/cgi-bin/bx.pl?event=w4a_page;action=haalProfielPrivate;sid=' + sid + ';vestnr=' + vestnr + ';zoek_actor_id=' + zoek_actor_id + ';fmt=xml';		
}

function wijzigProfielBeschrijving (sid, vestnr, actor_id) {
	var formHash = $('profiel_omschrijving_form').serialize(true);
	var new_content = formHash.profiel_beschrijving;
	
	if (new_content.length >= 2200) {
		updateMessage('profiel_beschrijving_form_melding', 'Maximaal 250 woorden s.v.p.', 'foutmelding', true);

	} else if (new_content == '') {
		updateMessage('profiel_beschrijving_form_melding', 'S.v.p. eerst tekst invoeren.', 'foutmelding', true);
	} else {
		url = '/cgi-bin/bx.pl?event=w2a;action=wijzigProfielBeschrijving;fmt=xml';
		new Ajax.Request(url, 
						{
							method:'get',
							parameters: {sid: sid, beschrijving: new_content},							
							onFailure: function() { 
								updateMessage('profiel_beschrijving_form_melding', 'Profielbeschrijving opslaan is mislukt, probeer het s.v.p. opnieuw.', 'foutmelding', true);
							},
							onSuccess: function(transport) {
								updateMessage('profiel_beschrijving_form_melding', 'Profielbeschrijving opgeslagen.', 'successmelding', true);
								$('profiel_omschrijving_box').update(transport.responseText);
								$('profiel_omschrijving_container').show();
								$('profiel_omschrijving_form').hide();
							}
						}
		);
	}
	
}

function wijzigProfielInstellingen(sid, vestnr, actor_id) {
		var checkboxes = Form.getInputs($('profiel_instellingen_form'), 'checkbox');
				
		params = '';
		var lijst_zichtbaar = '';
		var lijst_zichtbaar_boolean = false;
		
		for(var i = 0,len = checkboxes.length;i < len;i++) {
			checked_new = ((checkboxes[i].checked)?1:0).toString();
			checked_old = GprofielPrivacyCheckboxes[i];
			if (checkboxes[i].name != 'lijst_zichtbaar') {
				if (checked_new != checked_old) {
					params += '&'+checkboxes[i].name + '=' + checked_new.toString();
				}		
			} else {
				if (checked_new != checked_old) {
					lijst_zichtbaar_boolean = true;
				}
				lijst_zichtbaar = checked_new.toString();
			}
		}
				
		if (params != '' || lijst_zichtbaar_boolean == true) {
		new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigProfielInstellingen;sid=' + sid + ';fmt=xml&lijst_zichtbaar='+lijst_zichtbaar,
							{
								asynchronous:true,
								method: 'get',
								parameters: params,
								onFailure: function() {
									updateMessage('profiel_privacy_instellingen_melding', 'Er ging iets mis bij het wijzigen, probeer s.v.p. opnieuw.', 'foutmelding', true);
								},
								onSuccess: function() {
									updateMessage('profiel_privacy_instellingen_melding', 'Instellingen gewijzigd.', 'succesmelding', true);
									profielPrivacyCheckboxes('profiel_instellingen_form');
								}
							}
			);
		
		} else {
			updateMessage('profiel_privacy_instellingen_melding', 'U heeft geen wijzigingen aangebracht, probeer s.v.p. opnieuw.', 'foutmelding', true);
		}
}

function toggleBox(id) {
	if ($('omschrijving_'+id).hasClassName('instelling_aan')) {
		$('omschrijving_'+id).update('uit');								
		$('omschrijving_'+id).removeClassName('instelling_aan');
		$('omschrijving_'+id).addClassName('instelling_uit');
	} else {
		$('omschrijving_'+id).update('aan');	
		$('omschrijving_'+id).removeClassName('instelling_uit');
		$('omschrijving_'+id).addClassName('instelling_aan');
	}
}

function profielPrivacyCheckboxes (id) {
	var checks = $(id).getInputs('checkbox');
	GprofielPrivacyCheckboxes = '';
	for(var i = 0,len = checks.length; i < len;i++) {
		 GprofielPrivacyCheckboxes += (checks[i].checked)?1:0;
	}
}

function setOrigineleInstellingen(el) {
	GorigineleInstellingen = new Hash(); /*reset the hash*/
	var OrigineleInstellingenNamen = $A($(el).select('li.privacyinstellingen_naam'));
	OrigineleInstellingenNamen.each(
		function (r) {
			GorigineleInstellingen.set(r.title, $RF('privacyinstellingen', ('radio_'+r.title)));
		}
	);
}

function wijzigPrivacyInstellingen(sid, el) {
	var instelling_namen = $A($(el).select('li.privacyinstellingen_naam'));
	var params = new Hash();
	instelling_namen.each(
		function (r) {
			params.set(r.title, $RF('privacyinstellingen', ('radio_'+r.title)));
		}
	);
	
	if (GorigineleInstellingen.inspect() == params.inspect()) {
			updateMessage('profiel_privacy_instellingen_melding', 'U heeft geen wijzigingen aangebracht, probeer s.v.p. opnieuw.', 'foutmelding', true);
	} else {

			new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigProfielInstellingen;sid=' + sid + ';fmt=xml',
								{
									asynchronous:true,
									method: 'get',
									parameters: params,
									onFailure: function() {
										updateMessage('profiel_privacy_instellingen_melding', 'Er ging iets mis bij het opslaan, probeer s.v.p. opnieuw.', 'foutmelding', true);
									},
									onSuccess: function() {
										setOrigineleInstellingen(el);
										updateMessage('profiel_privacy_instellingen_melding', 'Instellingen opgeslagen.', 'succesmelding', true);
									}
								}
			);
	}
}

function runTestAvatar(car) {
		new UI.Carousel(car);
}

function selecteerGroep(group) {
	var cats = $A($('avatar_keuze').select('a.avatar_cat'));
	cats.each(function (s) { s.removeClassName('selectedgroup'); });
	if (group != '') {
		if ($(group)) {
			$(group).addClassName('selectedgroup');
		}
	} else {
		$('standaard').addClassName('selectedgroup');
		
	}
}

function loadAvatars(sid, type, naam, group, init) {
	if (init != 'true' && $(group).hasClassName('selectedgroup')) {

	} else {
		if (group == '') {
			group = 'creatures';
		} 
		var url = '/cgi-bin/bx.pl?event=w2a;action=wijzigProfielAvatar;fmt=xml;avatars='+group+';';
		
		new Ajax.Updater('inhoud', url,
					{
						asynchronous:true,
						method: 'get',
						parameters: {sid: sid, avatar_type: type, avatar_naam: naam },
						evalScripts: true,
						onCreate: function () {
							if ($('inhoud').innerHTML != '') {
								$('avatar_carousel_span').update(orgContent);
							}
							startLoading('avatar_carousel'); 
						},
						onComplete: function () {
							stopLoading('avatar_carousel');
							runTestAvatar('avatar_carousel');
							
							if ($(GprofielAvatarNaam)) {
								$(GprofielAvatarNaam).addClassName('selected');
							}
							if (init != 'true') {
								selecteerGroep(group);
							}
						}
					} 
		);
	}
}

function wijzigProfielAvatar(sid, avatar_naam, group) {
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigProfielAvatar;sid=' + sid + ';fmt=xml;',
						{
							asynchronous:true,
							method: 'get',
							parameters: {avatar_type: '0', avatar_naam: avatar_naam },
							onFailure: function() {
								updateMessage('profiel_avatar_instellingen_melding', 'Er ging iets mis bij het opslaan, probeer s.v.p. opnieuw.', 'foutmelding', true);
							},
							onSuccess: function() {
								GprofielAvatarNaam = avatar_naam;
								var avatars = $A($('avatar_carousel_span').select('a.avatar'));
								avatars.each(function (s) { s.removeClassName('selected'); });
								if (avatar_naam != '') {
									$(avatar_naam).addClassName('selected');
									var avatar_path = '/rsrc/images/web2/avatars/128x128'+avatar_naam+'.png'; 
									if ($('profiel_private_avatar')) {
										$('profiel_private_avatar').src = avatar_path;
									} else {
										$('profiel_private_avatar_div').setStyle({background:'transparent url('+avatar_path+')', height: '128px', width: '128px', border: 'none' });
									}
									selecteerGroep(group);
								} else {
									if ($('profiel_private_avatar') != null) {
										$('profiel_private_avatar').src = '/images/web2/48x48_noavatar_c.jpg';
									} else {
										$('profiel_private_avatar_div').setStyle({background:'transparent url(/images/web2/48x48_noavatar_c.jpg)', height: '48px', width: '48px', border: 'solid 1px #ccc' });
									}
									selecteerGroep('');
								}
								wijzigUserMenuAvatar(avatar_naam);
								updateMessage('profiel_avatar_instellingen_melding', 'Wijziging opgeslagen.', 'succesmelding', true);
							}
						}
	);
}

function wijzigUserMenuAvatar (new_src) {
	var old_src = $('user_menu_avatar').src;
	if ($('user_menu_avatar')) {
		if (new_src !='') {
			$('user_menu_avatar').src = '/rsrc/images/web2/avatars/48x48'+new_src+'.png';
		} else {
		 	$('user_menu_avatar').src = '/rsrc/images/web2/avatars/48x48_noavatar_a.png'; 
		}
	}
}


function $RF(el, radioGroup) {
	if($(el).type && $(el).type.toLowerCase() == 'radio') {
			var radioGroup = $(el).name;
			var el = $(el).form;
	} else if ($(el).tagName.toLowerCase() != 'form') {
			return false;
	}
	var checked = $(el).getInputs('radio', radioGroup).find(
		function(re) {return re.checked;}
	);
	return (checked) ? $F(checked) : null;
}

function verwijderLijstProfiel(sid, lijst_id, soort) {
	var confirmation = confirm("Lijst verwijderen?");
		if (confirmation==true) {
			
			new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=verwijderLijst;sid=' + sid + ';lijst_id=' + lijst_id + ';fmt=xml',
					{
						asynchronous:true,
						method: 'get',
						onFailure: function() { 
							updateMessage('profiel_lijsten_melding', 'Lijst kon niet worden verwijderd, probeer het s.v.p. opnieuw.', 'foutmelding', false) },
						onSuccess: function() {
							if (soort == null) {
							
								$('anoniem_titel_lijst_eigen_gebruikt_' + lijst_id).fade({ duration: 1.0, from: 1, to: 0.00 });
								updateMessage('profiel_lijsten_melding', 'Lijst is verwijderd.', 'succesmelding', true);
								minusTeller('lijstProfiel', 'lijstinhoud_teller');
							} else {
									updateMessage('profiel_lijsten_melding', 'Lijst is verwijderd.', 'succesmelding', true);

									if (soort == 'gebruikt') {
											$('anoniem_titel_lijst_eigen_gebruikt_' + lijst_id).fade({ duration: 1.0, from: 1, to: 0.00 });
		
									} else if (soort == 'ongebruikt') {
											$('anoniem_titel_lijst_eigen_ongebruikt_' + lijst_id).fade({ duration: 1.0, from: 1, to: 0.00 });
									} 
	
							}
							if ($('anoniem_titel_lijst_wijzig_'+lijst_id) != null) {
								$('anoniem_titel_lijst_wijzig_'+lijst_id).remove();
							}	
							
						}
						
					}
			);
			
			
		}
	  	else if (confirmation==false) {
		}
}

function wijzigProfielNaam (sid, new_nickname) {
	storeRedirectUrl(window.location.search);
	
	new Ajax.Request('/cgi-bin/bx.pl?event=w2a;action=wijzigProfielNaam;fmt=xml;',
					{
						asynchronous:true,
						method: 'get',
						parameters: {sid: sid, nickname: new_nickname}, 
						onFailure: function() { 
							updateMessage('wijzignickname_melding', 'Nickname wijzigen is niet gelukt. Probeer s.v.p. opnieuw.', 'foutmelding', true);
							Modalbox.resizeToContent();
						},
						onSuccess: function() {
							Modalbox.show($('wijzignickname_succes'), {title: 'Wijzig nickname', width: 500, transitions: false, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('wijzignicknamesucces').focus();}});
							updateMessage('wijzignickname_succes_melding', 'Nickname gewijzigd.', 'successmelding', false);
							Modalbox.resizeToContent();
							$('wijzignicknamesucces').removeAttribute('href');
							$('MB_close').removeAttribute('href');
							loginRedirect('WijzigNicknameRedirectUrl');
						}
					}
			);
}

function bekijkAlgemeneVoorwaarden () {
		toonAV('av_bekijk');
}


function randombanner(type) {
	i = 3;
	var randomnumber = Math.random();
	i = Math.round( (i - 1) * randomnumber) + 1;
	$('banner-'+type+'-src').update('<img class="banner-'+type+'" src="/images/web2/banner-'+type+''+i+'.png"/>');
}


///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 			Activiteiten sectie
//
///////////////////////////////////////////////////////////////////////////////////////////////////
Date.prototype.setISO8601 = function (string) {
		
		var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
			"(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
			"(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
		var d = string.match(new RegExp(regexp));
		
		var offset = 0;
		var date = new Date(d[1], 0, 1);
		
		if (d[3]) { date.setMonth(d[3] - 1); }
		if (d[5]) { date.setDate(d[5]); }
		if (d[7]) { date.setHours(d[7]); }
		if (d[8]) { date.setMinutes(d[8]); }
		if (d[10]) { date.setSeconds(d[10]); }
		if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
		if (d[14]) {
			offset = (Number(d[16]) * 60) + Number(d[17]);
			offset *= ((d[15] == '-') ? 1 : -1);
		}
		offset -= date.getTimezoneOffset();
		//time = (Number(date) + (offset * 60 * 1000));
		//this.setDate(date);
		var datenew = relative_time(date);
		return datenew;
}
		
		
function relative_time(time_value) {
	var parsed_date = Date.parse(time_value);
	var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	var uren_geleden = (((parseInt(delta) / 3600).round()).toString());
	if (delta < 60) {
		return 'minder dan een minuut geleden';
	} else if(delta < 120) {
		return 'een minuut geleden';
	} else if(delta < (45*60)) {
		return (parseInt(delta / 60)).toString() + ' minuten geleden';
	} else if(delta < (90*60)) {
		return 'een uur geleden';
	} else if(delta < (24*60*60)) {
		return uren_geleden + ' uren geleden';
	} else if(delta < (48*60*60)) {
		return '1 dag geleden';
	} else {
		return (parseInt(delta / 86400)).toString() + ' dagen geleden';
	}
}

function haalRecenteActiviteiten (sid, vestnr, aantal, zoek_actor_id) {
	
	if (GactiviteitenTeller == '') {
		GactiviteitenTeller = aantal;
	}
	else { 
		GactiviteitenTeller = parseInt(GactiviteitenTeller) + parseInt(aantal);
	}

	
	new Ajax.Updater('meer_activiteit_container', '/cgi-bin/bx.pl?event=w2a;action=haalRecenteActiviteiten',
		{ 
			method: 'get', 
			parameters: { vestnr: vestnr, sid: sid, vanaf: GactiviteitenTeller, zoek_actor_id: zoek_actor_id },
			insertion: Insertion.Bottom,
			evalScripts: true,
			asynchronous: true,
			onCreate: function () {
				startLoading('volgende_activiteit');
			},
			onComplete: function (transport) {
				stopLoading('volgende_activiteit');
				Effect.ScrollTo('volgende_activiteit');	
			}
		}
		
	);
}

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 			Scores sectie
//
///////////////////////////////////////////////////////////////////////////////////////////////////

function runTest(carr_id) {
	if (carr_id == 'horizontal_carousel') {
		if (GlaadCarrouselAanwinstenGelukt =='true'){
			hCarousel = new UI.Carousel(carr_id);
		} else {
			$('caroussel').remove();
		}
	} else {
		if (GlaadCarrouselPopulairGelukt =='true') {
			hCarouselPop = new UI.Carousel(carr_id);
			
		} else {
			$('caroussel_populair').remove();
		}
	}
};

function haalScores (sid, vestnr, type_score, periode, acties, element_id) {
	GlaadScoresActorGelukt = 'false';
	
	if ($('meest_'+type_score+'_id_lang').innerHTML == '') {
		new Ajax.Updater('meest_'+type_score+'_id_lang', '/cgi-bin/bx.pl?event=w2a;action=haalScores;var=portal;',
			{ 
				method: 'get', 
				parameters: { vestnr: vestnr, sid: sid, type_score: type_score, acties: acties, periode: periode },
				evalScripts: true,
				asynchronous: true,
				onCreate: function () {
					if (element_id != '') {	startLoading(element_id); }
				},
				onSuccess: function () {
					$('meest_'+type_score+'_id_lang').show();
					$('meest_'+type_score+'_id_kort').hide();
				},
				onComplete: function () {
					if (element_id != '') {	stopLoading(element_id);  }
				}
			}
		);
	} else {
		if ($('meest_'+type_score+'_id_kort').visible()) {
			$('meest_'+type_score+'_id_kort').hide();
			$('meest_'+type_score+'_id_lang').show();
		} else {
			$('meest_'+type_score+'_id_lang').hide();
			$('meest_'+type_score+'_id_kort').show();
		}
	}
}

function toggleCarrousel(id, other_id) {
	if ($(id).visible()) {
		$(id).hide();
		$(other_id).show();
	} else {
		$(id).show();
		$(other_id).hide();
	}
}

function toggleCarrouselSelected(id, other_id) {
	if (id == 'carrousel_aanwinsten_toggle') {
		$('carrousel_name').update('Aanwinsten');	
		$(id).toggleClassName('selected');
		$(other_id).toggleClassName('selected');
	} else {
		$('carrousel_name').update('Populair');	
		$(id).toggleClassName('selected');
		$(other_id).toggleClassName('selected');
	}
	
}

function haalPopulaireTitels(sid, vestnr, acties) {
	if (GlaadCarrouselPopulairGelukt == 'true') {
	
	} else {
		url = '/cgi-bin/bx.pl?event=w2a;action=haalScores;fmt=xml;type_score=populaire_titel;periode=M;var=portal;aantal=25;'; /* TODO: periode weer terugzetten op 'L' */
		GlaadCarrouselPopulairGelukt = 'false';
		new Ajax.Updater({ success: 'inhoud_populair', failure: 'notice' }, url,
					{
						asynchronous:true,
						method: 'get',
						evalScripts: true,
						parameters: { vestnr: vestnr, sid: sid, acties: acties },
						onCreate: function () {	
							startLoading('caroussel_populair'); 
						},
						onFailure: function() { 
							GlaadCarrouselPopulairGelukt = 'false'; 
						},
						onSuccess: function (transport) { 
							GlaadCarrouselPopulairGelukt = 'true';
						},
						onComplete: function () { 
							stopLoading('caroussel_populair'); runTest('caroussel_populair');
						}
					} 
		);
	}
		
}


///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 			Help sectie
//
///////////////////////////////////////////////////////////////////////////////////////////////////

function haalHelp (sectie) {

	var onderwerp ='';
	var content = '';
	
	if (sectie == 'tags') {
		onderwerp = 'Wat zijn Tags?';
		content =  $('helpTags').innerHTML;
	} else if (sectie == 'recensies' ) {
		onderwerp = 'Wat zijn Recensies?';
		content = $('helpRecensies').innerHTML;
	} else if (sectie == 'lijsten' ) {
		onderwerp = 'Wat zijn Lijsten?';
		content = $('helpLijsten').innerHTML;
	} else if (sectie == 'discussies' ) {
		onderwerp = 'Wat zijn Discussies?';
		content = $('helpDiscussies').innerHTML;
	} else if (sectie == 'overzicht') {
		onderwerp = 'Mijn mening over deze titel';
		content = $('helpOverzicht').innerHTML;
	} else if  (sectie == 'login_content') {
		onderwerp = 'Inloggen';
		content = $('help_login_content_modal').innerHTML;
	} else if  (sectie == 'privacy') {
		onderwerp = 'Privacy instellingen';
		content = $('help_privacy_content').innerHTML;
	} else if  (sectie == 'avatars') {
		onderwerp = 'Avatar wijzigen';
		content = $('help_avatars_content').innerHTML;
	}
	
	if (sectie == 'overzicht') {
		$('help_onderwerp_overzicht_top').update(onderwerp);
		$('help_content_overzicht_top').empty(); 
		$('help_content_overzicht_top').insert({bottom:content}); 
		$('help_knop_'+sectie+'_top').hide();
		$('haaltitel_help_overzicht_top').appear({ duration: 1.2, from: 0, to: 1 });
	} else if (sectie == 'login_content') {
		$('help_onderwerp_login_content').update(onderwerp);
		$('help_content_login_content').update(content);
		$('help_knop_'+sectie).hide();
		Modalbox.resizeToInclude('haaltitel_help_login_content', {afterResize: function(){
			$('haaltitel_help_login_content').appear({ duration: 1.2, from: 0, to: 1 });
		}});
	} else if (sectie == 'avatars') {
		$('help_avatars_onderwerp').update(onderwerp);
		$('help_avatars_content').update(content);
		$('help_knop_'+sectie).hide();
		$('avatars_help').appear({ duration: 1.2, from: 0, to: 1 });		
	} else {
		$('help_onderwerp').update(onderwerp);
		$('help_content').update(content);
		$('help_knop_'+sectie).hide();
		$('haaltitel_help').appear({ duration: 1.2, from: 0, to: 1 });		
	}
}

function sluitHelp() {
	if ($('haaltitel_help') != null) {
		if ($('haaltitel_help').visible()) {
			$('haaltitel_help').hide();
		}
		$('help_knop_tags').show();
		$('help_knop_recensies').show();
		$('help_knop_lijsten').show();
		$('help_knop_discussies').show();
	}
}

function algemeenHelp() {
	Modalbox.show($('help_content_index'), {title: 'Help', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p."});

}

function sluitHelpOverzicht(sectie) {
	if (sectie == 'overzicht') {
		$('haaltitel_help_overzicht_top').hide();
		$('help_knop_overzicht_top').show();
	}  else if (sectie == 'privacy'){
		$('haaltitel_help').hide();
		$('help_knop_privacy').show();
	}  else if (sectie == 'avatars'){
		$('avatars_help').hide();
		$('help_knop_avatars').show();
	}  else if (sectie == 'login_content'){
		$('haaltitel_help_login_content').hide();
		$('help_knop_login_content').show();
		Modalbox.resizeToContent();
	} else {
		$('haaltitelwijzigen_help_overzicht_top').hide();
		$('help_knop_wijzigen_overzicht').show();
	}
}

function laadHelpLoginContent() {
			if ($('help_login_content') != null) {
					$('help_login_content_modal').update($('help_login_content').innerHTML);
			} 
}

function haalHelpUserMenu () {
	var help_header = '<br/><div class="help_punt"></div><p id="help_onderwerp_login_content" class="help_onderwerp">Hoe moet ik inloggen?</p><div class="breaker"></div><br/>';
	Modalbox.show($('help_login_content_modal'), {title: 'Hulp bij inloggen', width: 500, overlayClose: false, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () { $('MB_content').insert({top: help_header}); $('MB_content').insert({bottom: GmodalClose}); Modalbox.resizeToContent();} });
}

function doeHelp(url) {
	var onderwerp = '';
	onderwerp = url.toQueryParams([separator = ';']);
	onderwerp = onderwerp.context;
	var content = '';
	new Ajax.Request(url, 
			{ 
				method: 'get', 
				evalScripts: false,
				asynchronous: true,
				evalJS: false,
				onCreate: function () {
					startLoading('menu');
				},
				onSuccess: function (transport) {
						var el = new Element('div');
						el = el.update(transport.responseText);
						var test = el.select('div#'+onderwerp);
						var help = el.select('div#main');
						if (help != '') {
								if (test != '') {
									onderwerp = 'div#'+onderwerp;	
								} else {
									onderwerp = 'div#main';
								}
								var onderwerpen = $A(el.select(onderwerp));
								onderwerpen.each( function (o) { content = o.innerHTML; });
						} else {
							content = '<h3>Geen help beschikbaar.</h3>';
						}
						Modalbox.show(content, {title: 'Help', width: 500, overlayClose: true, autoFocusing: false, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p."});
				},
				onComplete: function () {
					stopLoading('menu');
				}
				
			}
	);
}

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 			Pagination sectie
//
///////////////////////////////////////////////////////////////////////////////////////////////////

function paginationw4a_page (sid, vestnr, action, element_desc, element_id, offset, aantal, extra_param_desc, extra_param_id) {
	if (extra_param_desc == 'zoek_actor_id') {
		extra_param_id = GzoekTitelsPerTagZoekActorId;
	}
	var extra_params = '';
	
	if (extra_param_desc != null && extra_param_id != null) {
		extra_params = ';'+extra_param_desc+'='+extra_param_id;
	}
	
	if (sid =='current') {
	} else {
		
		var url = '/cgi-bin/bx.pl?event=w4a_page;action='+ action + ';sid='+sid+';vestnr='+vestnr+';'+element_desc+'='+element_id+extra_params+';type=T;fmt=xml';
		var v_offset=offset;
		var v_aantal=aantal;
			
		// deze wordt (meestal) niet in de form meegegeven
		if (v_offset.length==0) {
			v_offset = '0';
		}
		url += ';offset='+v_offset;
		url += ';aantal='+v_aantal;
		document.location = url;
	}
}

function pagination (sid, vestnr, action, container_id, element_desc, element_id, offset, aantal, type) {
	if (sid =='current') {
	
	} else {
	
		var url = '/cgi-bin/bx.pl?event=w2a;';
		if (element_desc != null || element_id != null) {
			url += element_desc+'='+element_id+';';
		}
		if (type != undefined) {
			url += 'type='+type+';fmt=xml;';
		} else {
			url += 'type=T;fmt=xml;';
		}
		var v_offset='0';
		var v_aantal='';
		
		if (offset != null) {
			v_offset=offset;
		} 
		if (aantal != null) {
			v_aantal=aantal;
		}
		
		url += 'offset='+v_offset+';';
		url += 'aantal='+v_aantal+';';
		
		new Ajax.Updater(container_id, url, 
								{ 
									method: 'get', 
									parameters: {action: action, sid: sid, vestnr: vestnr},
									evalScripts: true,
									asynchronous: true,
									evalJS: true,
									onFailure: function() {
										$('lijsten_org_wrapper').show();
									},
									onSuccess: function () {
									}
								}
		);
	}
}

function laadTotalenPagination (container_id) {

		if (container_id == 'lijsten_pagination' && $('lijsten_pagination_totaal') != null) {
				if ($('lijsten_totaal') != null) {
					$('lijsten_pagination_totaal').update($('lijsten_totaal').innerHTML);
					$('pagination_totaal_container_lijsten').show();
				}
				
		} else if (container_id == 'discussies_pagination' && $('discussies_pagination_totaal') != null) {
				if ($('discussies_totaal') != null) {
					$('discussies_pagination_totaal').update($('discussies_totaal').innerHTML);
					$('pagination_totaal_container_discussies').show();
				}
				
		} else if (container_id == 'berichten_pagination' && $('berichten_pagination_totaal') != null) {
				if ($('berichten_pagination_totaal') != null) {
					$('pagination_totaal_container_berichten').show();
				}
				$('berichten_pagination_totaal').update($('berichten_totaal').innerHTML);
				$('inboxoverzicht_totaal').update($('inboxinhoud_teller_ongelezen').innerHTML);
					if ($('inboxinhoud_teller_ongelezen').innerHTML != '0') {
							$('inbox_tab').removeClassName('inbox_tab');
							$('inbox_tab').addClassName('inbox_tab_nieuw');
					} else {
							$('inbox_tab').removeClassName('inbox_tab_nieuw');
							$('inbox_tab').addClassName('inbox_tab');
					}
		}
}

function laad_inbox_overzicht_ongelezen(folder_totaal) {
	$('inboxoverzicht_totaal').update(folder_totaal);
}

function maakNieuweDiscussie(sid, vestnr, titel_id, actor_id, form_id) {
	var formHash = $(form_id).serialize(true);
	var discussie_leesbaar = '';
	var discussie_schrijfbaar = '';
	var new_content = formHash.discussie_omschrijving;
	
	$$('#discussie_leesbaar option').each(
		function(elem){
			if (elem.selected) { discussie_leesbaar = elem.value;}
		}
	);
	$$('#discussie_schrijfbaar option').each(
		function(el){
			if (el.selected) { discussie_schrijfbaar = el.value;}
		}
	);
	
	
	new_content = new_content.stripTags();
	new_content = new_content.strip();
	
	if (new_content.length >= 2200) {
		updateMessage('nieuwe_discussie_form_melding', 'Discussie omschrijving mag maximaal 250 woorden bevatten.', 'foutmelding', false);
	} else if ((formHash.discussie_naam != '') && (new_content != '')) {
	
		var url = '/cgi-bin/bx.pl?event=w2a;action=maakNieuweDiscussie'; 
	
		new Ajax.Request(url,
				{
					asynchronous:true,
					method: 'get',
					evalScripts: true,
					parameters: {sid: sid, titel_id: titel_id, actor_id: actor_id, naam: formHash.discussie_naam, omschrijving: new_content, leesbaar: discussie_leesbaar, schrijfbaar: discussie_schrijfbaar },
					onFailure: function(transport) { 
							updateMessage('nieuwe_discussie_form_melding', 'Nieuwe discussie aanmaken is mislukt. probeer het s.v.p. opnieuw.', 'foutmelding', false)
					},
					onSuccess: function(transport) {
						var discussie_id = transport.responseText;
						haalDiscussieInhoud (sid, vestnr, discussie_id);
					}
					
				}
		);
		
	} else {
		updateMessage('nieuwe_discussie_form_melding', 'S.v.p. onderwerp en omschrijving voor deze discussie opgeven.', 'foutmelding', false);
	}
	
}

function haalDiscussieInhoud (sid, vestnr, discussie_id) {
	window.location.href = '/cgi-bin/bx.pl?event=w4a_page;action=haalDiscussieInhoud;sid=' + sid + ';vestnr=' + vestnr + ';discussie_id=' + discussie_id + ';fmt=xml;';		
}

function haalInboxLinkVoorBericht () {
	var new_onclick = $('ontvangen_tab').onclick;
	var inbox_links = $A($('berichten_pagination').select('a.terug_naar_inbox_link'));
	inbox_links.each( function (s) { s.onclick = new_onclick} );
}

function plaatsBericht (sid, vestnr, form_id, type, aan, van, titel_id, conversatie_id) {

	var formHash = $(form_id).serialize(true);
	var msg_container = '';
	var titeltip_cover_link = '';
	var titeltip_titel_string = '';
	var bericht_aan	= '';
	var bericht_content = '';
	var bericht_subject = '';
	
	
	if (type == 'wijs_op_titel') {
		msg_container = 'titeltip_bericht_antwoord_form_melding';
		titeltip_cover_link = formHash.titeltip_link_cover;
		titeltip_titel_string = formHash.titeltip_titel
		if (formHash.nieuw_bericht_actor != null) {
			bericht_aan	= formHash.nieuw_bericht_actor;
		}
		bericht_content = formHash.titeltip_antwoord_box;
		bericht_subject = formHash.titeltip_bericht_onderwerp;
	} else if (form_id == 'nieuw_bericht_form') {
		msg_container = 'profiel_inbox_melding';
		if (formHash.nieuw_bericht_actor != null) {
			bericht_aan	= formHash.nieuw_bericht_actor;
		}
		bericht_content = formHash.nieuw_bericht_box;
		bericht_subject = formHash.nieuw_bericht_onderwerp;
	} else if (form_id == 'stuurbericht_form') {
		msg_container = 'stuurbericht_form_melding';
		bericht_aan	= formHash.stuurbericht_actor;
		bericht_content = formHash.stuurbericht_box;
		bericht_subject = formHash.stuurbericht_onderwerp;
	} else {
		msg_container = 'profiel_inbox_melding';
		if (formHash.bericht_antwoord_actor != null) {
			bericht_aan	= formHash.bericht_antwoord_actor;
		}
		bericht_content = formHash.bericht_antwoord_box;
		bericht_subject = formHash.bericht_antwoord_onderwerp;
	}
	
	
	var url = '/cgi-bin/bx.pl?event=w2a;action=plaatsInBoxBericht;';

	bericht_content = bericht_content.stripScripts();
	bericht_content = bericht_content.stripTags();
	
	if (bericht_aan != '' || bericht_aan != undefined) {
		bericht_aan = bericht_aan.toString();
		bericht_aan = bericht_aan.split(",");
	}

	if (aan == '') {
		if (bericht_aan != '') {
			aan = bericht_aan;
		} else {
			aan = []; // Array maken van ontvangers
			aan.push(GconversatieAndereActorId);
		}
	} else {
		bericht_aan = aan;
		aan = [];
		aan.push(bericht_aan);
	}

	// dubbele invoer van ontvangers uitsluiten
	aan = aan.uniq();
	
	if (aan == '' || bericht_content == '' || bericht_subject == '') {
		updateMessage(msg_container, 'E&#233;n of meerdere velden zijn niet ingevuld, probeer s.v.p. opnieuw.', 'foutmelding', true);
	} else {
		if (bericht_content.length >= 2200) { 
			updateMessage(msg_container, 'Het bericht mag maximaal 250 woorden bevatten.', 'foutmelding', true);
		} if (aan.length > 5) {
		// Max aantal ontvangers per bericht
			updateMessage(msg_container, 'Per bericht maar 5 ontvangers toegestaan.', 'foutmelding', true);
		} else {
			
			aan.each(
				function (to) {
						
						new Ajax.Request(url, 
							{
									method: 'get', 
									evalScripts: true,
									asynchronous: true,
									evalJS: true,
									parameters: {sid: sid, vestnr: vestnr, subject: bericht_subject, content: bericht_content, aan_actor_id: to, type: type, titel_id: titel_id, conversatie_id: conversatie_id},
									onCreate: function () {
										if (aan.first() == to) {
											startLoading(form_id);	
										}
									},
									onFailure: function() {
										updateMessage(msg_container, 'Fail: Er ging iets mis bij het verzenden van het bericht. Probeer s.v.p. opnieuw.', 'foutmelding', true);
									},
									onSuccess: function(transport) {
										if (aan.last() == to) {
											if (type == 'wijs_op_titel' || form_id == 'stuurbericht_form') {
												var windowlocation = window.location.toString();
												if (form_id == 'stuurbericht_form') {
													$('container_bericht_antwoord').remove();
												} else {
													windowlocation = windowlocation.sub('titel_tip=true;', '');
													var titelTipClose = $A($('titeltip_bericht_container').select('a.close_modal'));
													titelTipClose.each(function (s) { s.href = windowlocation; s.onclick = '';});
													$('container_titeltip_bericht_antwoord').remove();
													
												}
												updateMessage(msg_container, 'Bericht verzonden. <a class="modal_close" href="'+windowlocation+'"/>Sluit venster</a>', 'successmelding', false);
												Modalbox.resizeToContent();
											} else {		
												var bericht_id = transport.responseText;
												bericht_id = bericht_id.strip();
												if (conversatie_id != null) { 
													haalConversatie(sid, vestnr, conversatie_id);
													updateMessage(msg_container, 'Bericht verzonden.', 'successmelding', false);
												} else {
													activeTabInbox('ontvangen', sid, vestnr, 'haalInBox', 'berichten_pagination', 'folder', 'ontvangen');
													updateMessage(msg_container, 'Bericht verzonden. <a href="/error.html" onclick="haalBericht(\''+sid+'\', \''+vestnr+'\', \''+bericht_id+'\');$(\''+msg_container+'\').removeClassName(\'update_succesmelding\');$(\''+msg_container+'\').update();return false">Bekijk bericht.</a>', 'successmelding', false);
												}
											}
											$(form_id).reset();
										}
									},
									onComplete: function () {
										if (aan.last() == to) {
												stopLoading(form_id);
										}
									}
									
							}
						);
				}
			);
		}
		
	}
}

function ongelezenBerichten (aantal) {
		if (aantal != '') {
			$('user_menu_berichten_nieuw').show();
			$('user_menu_berichten_aantal').update(aantal);
		} else {
			if ($('user_menu_berichten_nieuw')) {
					$('user_menu_berichten_nieuw').remove();
			}
		}
}

function nieuwBericht() {
	$('berichten_pagination').update('');
	$('nieuw_bericht_container').show();
}


function inboxActie (sid, vestnr, soort, bericht_id, actor, folder, conversatie_id) {
	
	var confirmation = '';
	if (soort == 'bericht_verwijderen') {
		confirmation = confirm("Bericht verwijderen?");
	} else if (soort == 'bericht_intrekken') {
		confirmation = confirm("Vriendschapsverzoek intrekken?");
	} else if (soort == 'conversatie_verwijderen') {
		confirmation = confirm("Alle berichten uit deze conversatie verwijderen?");
		// Bij conversatie verwijderen het conversatie_id doorgeven ipv bericht_id
		bericht_id = conversatie_id;
	} else {
		confirmation = true;
	}
		if (confirmation==true) {
			var url = '/cgi-bin/bx.pl?event=w2a;action=inBoxActie;fmt=xml;';
			new Ajax.Request(url, 
				{
						method: 'get', 
						evalScripts: true,
						asynchronous: false,
						evalJS: true,
						parameters: {sid: sid, vestnr: vestnr, soort: soort, bericht_id: bericht_id},
						onFailure: function() {
							updateMessage('profiel_inbox_melding', 'Er ging iets fout bij het invoeren van deze inbox actie. Probeer s.v.p. opnieuw.', 'foutmelding', true);
						},
						onSuccess: function(transport) {
							if (conversatie_id != null) {
									var conversatie_message = '';
									if (soort == 'bericht_ongelezen') {
										conversatie_message = 'Conversatie gemarkeerd als ongelezen.';	
										activeTabInbox(folder, sid, vestnr, 'haalInBox', 'berichten_pagination', 'folder', folder);
									} else if (soort == 'bericht_in_archief') {
										conversatie_message = 'De conversatie is naar het archief verplaatst.';	
										activeTabInbox(folder, sid, vestnr, 'haalInBox', 'berichten_pagination', 'folder', folder);
									} else if (soort == 'bericht_uit_archief') {
										conversatie_message = 'De conversatie is terug naar de inbox verplaatst.';	
										activeTabInbox(folder, sid, vestnr, 'haalInBox', 'berichten_pagination', 'folder', folder);
									} else if (soort == 'conversatie_verwijderen') {
										conversatie_message = 'Conversatie verwijderd.';
										activeTabInbox(folder, sid, vestnr, 'haalInBox', 'berichten_pagination', 'folder', folder);
									} else {
										conversatie_message = 'Bericht uit conversatie verwijderd.'
										haalConversatie(sid, vestnr, conversatie_id);
									}
									updateMessage('profiel_inbox_melding', conversatie_message, 'successmelding', false);
							} else {
								activeTabInbox(folder, sid, vestnr, 'haalInBox', 'berichten_pagination', 'folder', folder);
								var message = '';
								msg = soort;
								switch (msg) {
									case 'bericht_verwijderen': message = 'Bericht verwijderd.';
									break;
									case 'bericht_in_archief': message = 'Het bericht is naar het archief verplaatst.';
									break;
									case 'bericht_uit_archief': message = 'Het bericht is terug naar de inbox verplaatst.';
									break;
									case 'bericht_ongelezen': message = 'Bericht gemarkeerd als ongelezen.';
									break;
									case 'bericht_weigeren': message = 'Je hebt het vriendschapsverzoek van '+actor+' geweigerd. Het bericht is verplaatst naar het archief.';
									break;
									case 'bericht_accepteren': message = 'Je bent nu vrienden met '+actor+'. Het bericht is verplaatst naar het archief.';
									break;
									case 'bericht_intrekken': message = 'Je hebt je vriendschapsverzoek aan '+actor+' ingetrokken.';
									break;
								}
								updateMessage('profiel_inbox_melding', message, 'successmelding', false);
							}
						}
				}
			);
		} else {
		}
}

function vriendschapBeeindigen (sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, soort, vriend_actor_id, van_actor_id, bericht, melding_id) {
	var confirmation = confirm("Vriendschap beeindigen?");
		
	if (confirmation==true) {
		vriendActie(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, soort, vriend_actor_id, van_actor_id, bericht, melding_id);
	} else {
	
	}
}

function vriendActie(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, soort, vriend_actor_id, van_actor_id, bericht, melding_id) {
	
	var url = '/cgi-bin/bx.pl?event=w2a;action=vriendActie;fmt=xml;';	
	
	if (w4a_ingelogd == '0') {
			var redirect_url = window.location.search;
			storeRedirectUrl(redirect_url);
			login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
	} else {
		new Ajax.Request(url, 
			{
					method: 'get', 
					evalScripts: true,
					asynchronous: false, //False : vanwege timing.
					evalJS: true,
					parameters: {sid: sid, vestnr: vestnr, soort: soort, vriend_actor_id: vriend_actor_id, bericht: bericht},
					onFailure: function() {
						updateMessage('w4a_page_melding', 'Er ging iets fout bij het invoeren van deze inbox actie. Probeer s.v.p. opnieuw.', 'foutmelding', true);
					},
					onSuccess: function(transport) {
						var status = transport.responseText;
						var message = '';
						var melding = '';
						var	msg = soort;
						switch (msg) {
							case 'verzoek': 
								if (status == 0) { 	
										message = 'Vriendschapsverzoek is mislukt. Probeer s.v.p. opnieuw.';
										melding = 'foutmelding';
								} else if (status == 2) {
									message = 'Vriendschapsverzoek verzonden.'
									melding = 'successmelding';
									if ($('vriendschapsverzoek_knop').visible()) {
											$('vriendschapsverzoek_knop').hide();
											$('vriendschapverzoekverzender_knop').show();
									}
									if ($('vriendverzoek_antwoord') != null) {
										$('vriendverzoek_antwoord').remove();
										Modalbox.resizeToContent();
									}
								}
							break;
							case 'verwijderen': 
								if (status == 0) { 	
										message = 'Vriendschap be&#233;indigen is mislukt. Probeer s.v.p. opnieuw.';
										melding = 'foutmelding';
								} else if (status == 2) {
										message = 'Vriendschap be&#235;indigd.'
										melding = 'successmelding';
										if ($('vriendschapbeeindigen_knop').visible()) {
											$('vriendschapbeeindigen_knop').hide();
											$('vriendschapsverzoek_knop').show();
											pagination(sid, vestnr, 'haalVriendenBijActor',	'vrienden_pagination', 'zoek_actor_id', vriend_actor_id);
											
									}	
								}
							break;
							case 'vriendschap':
								if (status == 0) { 	
									GprofielVriendschap = 0;
								} else if (status == 1) {
									GprofielVriendschap = 1;
								} else if (status == 2) {
									GprofielVriendschap = 2;
								} else if (status == 3) {
									GprofielVriendschap = 3;
								}
							break;
						}
						if (message != '') {
							updateMessage(melding_id, message, melding, true);
						}
					}
			}
		);
	}
}

function toonVriendschapActieKnop(type) {
	var overigeKnoppen = $A($('vriendschap_knoppen').select('vriendschapactie_knoppen'));
	overigeKnoppen.each(function (s) { s.hide();});	
	if ($(type+'_knop') != null) {
		$(type+'_knop').show();
	}
}

function titelTip(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, actor_id) {
	if (w4a_ingelogd != '0') {
		if (GlaadTitelBijGeenLokaleTitel == true) {
			var el = new Element('div'); 
			el.update($('tdetail_titel_cover').innerHTML);
			var status = $A(el.select('img'));
			status.each(function (s) { s = s.removeClassName('cover_image'); $('titeltip_titel_cover').update(s);});
			$('titeltip_anoniem_titel_titel').update($('anoniem_titel_titel').innerHTML);
		}
		var strippedTitelString = $('anoniem_titel_titel').innerHTML;
		strippedTitelString = strippedTitelString.stripTags();
		Modalbox.show($('titeltip_bericht_container'), {title: 'Tip deze titel', width: 550, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () { $('autocomplete_input').focus(); if(contacts.length == 0) { laadAlleVrienden(sid, vestnr, 'titeltip_form', actor_id);} $('titeltip_bericht_onderwerp').replace('<input id="titeltip_bericht_onderwerp" name="titeltip_bericht_onderwerp" value="Tip: ' + strippedTitelString + '"/>'); autoCompleteTitelTip(); }}); 
		$('titeltip_bericht_container').scrollTo();	
	} else {
		storeRedirectModalBox(document.location.search);
		login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
	}
}

function autoCompleteTitelTip () {
		// Activatie autocomplete plugin
		typeahead = new Autocompleter.LocalAdvanced('autocomplete_input', 'titeltip_populate', contacts, {                                                  
			frequency: 0.1,
			updateElement: addContactToList,
			search_field: "name"
		});
		hidden_input = new HiddenInput('hidden_input',typeahead);
}
			
function titelRes(sid, titcode, vestnr, ingelogd, w4a_profiel, w4a_ingelogd, reslink, titel) {
	if(ingelogd !='0') {
		Modalbox.show(reslink, {title: 'Reserveer deze titel', width: 550, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('MB_close').show(); $('MB_content').insert({bottom:GmodalClose}); Modalbox.resizeToContent();}});
	} else {
		storeRedirectResModalBox(sid, titcode, vestnr, ingelogd, w4a_profiel, w4a_ingelogd, reslink, titel);
		GloginLokaal = true;
		login(sid, titcode, vestnr, '', ingelogd, w4a_profiel, w4a_ingelogd);
	}
}

function doRes(reslink) {
	Modalbox.show(reslink, {title: 'Reserveer deze titel', width: 550, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('MB_close').show(); $('MB_content').insert({bottom:GmodalClose}); Modalbox.resizeToContent();}});
}

function doModal(link, title) {
	Modalbox.show(link, {title: title, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('MB_close').show(); $('MB_content').insert({bottom:GmodalClose}); Modalbox.resizeToContent();}});
}

function doModalImage(src, size, title) {
	var img = '<img id="zoom_image" onLoad="Modalbox.resizeToContent();" style="float:left; display:inline-block; border:none; margin:0;" src="'+src+'" width="'+size+'"/><br /><div class="breaker"/>';
	size = parseInt(size)+17;
	Modalbox.show(img, {title: title, width: size, overlayClose: true, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, overlayDuration: .50, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('MB_close').show(); $('MB_content').insert({bottom:GmodalClose});}});
}

function doVerleng(link) {
	Modalbox.show(link, {title: 'Resultaat van verleng-opdracht', overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('MB_close').show(); $('MB_content').insert({bottom:GmodalCloseRefresh}); Modalbox.resizeToContent();}});
}

function doVerlengAll(form_id) {
	submitted = true;
	var formHash = $(form_id).serialize();

	if (formHash.include('prolexm')) {
		submitted = true;
		var url = '/cgi-bin/bx.pl?'+formHash+';submap=raw;';
		Modalbox.show(url, {title: 'Resultaat van verleng-opdracht', width: 550, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('MB_close').show(); $('MB_content').insert({bottom:GmodalCloseRefresh}); Modalbox.resizeToContent();}});
	} else {
		alert('Er zijn geen titels geselecteerd voor verlenging!');
	}
}

function processForm(formId) {
	var succes = 'false';
	var url = '/cgi-bin/bx.pl';
	var formHash = $(formId).serialize(true);
	
	$('submit').disabled = true;
    $('submit').value = 'Verzenden. Even geduld aub...';
	
	new Ajax.Request(url,{
			method: 'get',
			parameters: formHash,
			onSuccess: function() {
				succes = 'true';
				$('submit').value = 'Opgeslagen';
				updateMessage('feedback', 'Opgeslagen.', 'succesmelding', false);
			},
			onFailure: function(oXHR) {
				succes = 'false';
				updateMessage('feedback', 'Er is iets fout gegaan probeer het opnieuw s.v.p.', 'foutmelding', false);
			},
			onComplete: function() {
				if (succes=='true'){
					$('close_modal').remove();
					$(formId).replace(GmodalCloseRefresh);
					Modalbox.resizeToContent();
				}else{
					$('submit').disabled = false;
					$('submit').value = 'Opslaan';
					return false;
				}
			}
	});
    return false;
}

function processFormLeesadvies(formId,elid) {
	var woord = Form.Element.getValue($(formId)['auteur']);
	if (woord != '') {
		var url = '/cgi-bin/bx.pl?submap=raw';
		var formHash = $(formId).serialize(true);
		
		$('submit').disabled = true;
		$('submit').value = 'Zoeken. Even geduld aub...';
		
		new Ajax.Request(url,{
				method: 'get',
				parameters: formHash,
				onCreate: function () {
					new Effect.Opacity(elid, { from: 1.0, to: 0.2, duration: 0.1 });
					startLoading(elid);
				},
				onSuccess: function (transport) {
					$('majax').update(transport.responseText);
				},
				onFailure: function(oXHR) {
					$('majax').update('<span class="alert">Er is iets fout gegaan probeer het opnieuw s.v.p.</span>');
					return false;
				},
				onComplete: function() {
					stopLoading(elid);
					new Effect.Opacity(elid, { from: 0.2, to: 1.0, duration: 0.2 });
					$('submit').disabled = false;
					$('submit').value = 'Opnieuw zoeken';
					return false;
				}
		});
		return false;
	} else {
		$('majax').update('<span class="alert">Vul zoekterm in</span>');
		return false;
	}		
}

function titleDel(uri,msg,elemid) {
	if (confirm(msg)) {
		doAjax(uri,elemid);
	}
} 

function tweetThis(titcode, titel_id, vestnr, titel, auteur) {
	var len = 35;
	var len_auteur = 25;
	var new_tinyurl = '';
	if (titel.length > len) {
		titel = titel.truncate(len);
	}
	if (auteur.length > len_auteur) {
		auteur = auteur.truncate(len_auteur);
	}
	
	getTinyURL('http://webtest3.bicat.com:3082/cgi-bin/bx.pl?event=tdetail;action=haalTitelInfo;titcode=' + titcode + ';titel_id=' + titel_id + ';vestnr=' + vestnr +';fmt=xml;var=portal;', function(tinyurl){
		var url = 'http://twitter.com/home?status=%23cWise+'+titel+'+-+'+auteur+'+-+'+tinyurl;
		window.open(url,'_blank');
	});
}

function getTinyURL(longURL, success) {
 
    // Create unique name for callback function:
    var ud = 'json'+(Math.random()*100).toString().replace(/\./g,''),
    	// Define API URL:
        API = 'http://json-tinyurl.appspot.com/?url=';
 
    // Define a new global function:
    // (which will run the passed 'success' function:
    window[ud]= function(o){ success&&success(o.tinyurl); };
 
    // Append new SCRIPT element to BODY with SRC of API:
    document.getElementsByTagName('body')[0].appendChild((function(){
 
        var s = document.createElement('script');
        s.type = 'text/javascript';
        s.src = API + encodeURIComponent(longURL) + '&callback=' + ud;
        return s;
 
    })());
 
}

function stuurGebruikerBericht(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd) {
		if (w4a_ingelogd == '0') {
			storeRedirectUrl(window.location.search);
			login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
		} else {
			Modalbox.show($('stuurbericht_container'), {title: 'Nieuw bericht', width: 550, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('stuurbericht_opslaan').focus(); }}); 
			$('stuurbericht_container').scrollTo();
		}
}

function stuurGebruikerVriendverzoek(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd) {
		if (w4a_ingelogd == '0') {
			storeRedirectUrl(window.location.search);
			login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
				
		} else {
			Modalbox.show($('vriendverzoek_container'), {title: 'Vriendschapsverzoek sturen', width: 550, overlayClose: false, autoFocusing: true, slideUpDuration: 0.2, slideDownDuration: 0.2, loadingString: "Bezig met laden, even geduld s.v.p.", afterLoad: function () {$('vriendverzoek_opslaan').focus(); $('vriendverzoek_box').select(); }}); 
			$('vriendverzoek_container').scrollTo();
		}
}

function stuurPersoonlijkVriendverzoek (sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, type, ontvanger_actor_id, actor_id, melding_container, form_id) {
	var formHash = $(form_id).serialize(true);
	message = formHash.vriendverzoek_box;
	
	vriendActie(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, type, ontvanger_actor_id, actor_id, message, melding_container);
}

function laadAlleLijstenWijzigen () {
	var lijsten_gebruikt = $A($('landelijke_content').select('div.anoniem_titel_gebruikte_lijsten_wijzigen')); 
}

function haalAlleReviews (sid, titel_id) {
		var url = '/cgi-bin/bx.pl?event=w2a;action=haalAlleReviews;sid=' + sid + ';id='+titel_id+';fmt=xml;type=T;';
		new Ajax.Updater('reviews_wrapper', url, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true
			  //onLoading: function(request) {Element.show('load_spinner')},
			  //onComplete: function(request) {Element.hide('load_spinner')}
			}
		);
}

function haalAlleTags (sid, titel_id, aantal, offset, vervolg) {
		if	($('meer_tags_knop') != null) {
			$('meer_tags_knop').remove();
		}
		var url = '/cgi-bin/bx.pl?event=w2a;action=haalAlleTags;sid=' + sid + ';id='+titel_id+';fmt=xml;type=T;';
		var v_offset='0';
		var v_aantal='';
		if (vervolg != null) {
			v_offset=vervolg;
		} else if (offset != null) {
			v_offset=offset;
		} else {
			v_offset = v_offset;
		}
		
		if (aantal != null) {
			v_aantal = aantal;
		} else {
			v_aantal = '0';
		}
		
		var new_aantal = (parseInt(v_offset)+parseInt(v_aantal)).toString();
		url += 'aantal='+new_aantal+';';	
		url += 'offset='+'0'+';';
		new Ajax.Request(url, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true,
			  //insertion: Insertion.Bottom,
			  onCreate: function(request) {$('meer_tags_laden').show()},
			  onSuccess: function (transport) {
			  	$('tag_cloud').update(transport.responseText);
			  },
			  onComplete: function(transport) {
			  	$('meer_tags_laden').fade({ duration: 0.8, from: 1, to: 0 });

			  	$('meer_tags_container_0').appear({ duration: 1, from: 0, to: 1 });
			  }
			}
		);
}

function haalRecenteLijsten (sid, vestnr, actor_id, actie) {
	if (actie == 'zoekTitelsPerTag' || actie == 'haalLijstInhoud') {
		var dragables = $A($('landelijke_content').select('img.w4a_page_titel_cover'));
		if (dragables != '') {
			dragables.each( 
				function (s) {
					new Draggable(('w4a_page_cover_'+s.name), { 
                    	revert: true 
                  	});
				}
			);
		}
	}
	var url = '/cgi-bin/bx.pl?event=w2a;action=haalRecenteLijstenVoorActor;sid='+sid+';vestnr='+vestnr+';aantal=5;offset=0;type=A;sorteer=D;id='+actor_id+';fmt=xml;';
	
	new Ajax.Updater('lijsten_container_id' , url, 
			{
			  asynchronous:true,
			  method: 'get',
			  evalScripts: true,
			  onSuccess: function (transport) {f
			  	
			  },
			  onComplete: function(transport) {
			  }
			}
		);
}

function haalInBoxProfiel (sid, vestnr) {

	var url = '/cgi-bin/bx.pl?event=w2a;action=haalInBox;sid='+sid+';vestnr='+vestnr+';ongelezen=1;offset=0;';
	
	new Ajax.Updater('inbox_container', url,
			{
				  asynchronous:true,
				  method: 'get',
				  evalScripts: true,
				  onSuccess: function (transport) {
				  	var el = new Element('div');
				  	el = el.update(transport.responseText);
				  	var inner = $A(el.select('strong[id="inbox_totaal"]'));
					var totaal = 0;
					inner.each(
						function (s) { totaal = s.innerHTML }
					);
					$('inboxinhoud_teller').update(totaal);
				  },
				  onComplete: function(transport) {
				  	
				  }
			}
	
	);
	
}

function activeTabInbox(id, sid, vestnr, action, container_id, element_desc, element_id, offset, aantal) {
	if (id == '') {
		if (GconversatieFolder != '') {
			id = GconversatieFolder;
		}
	} else {
		GconversatieFolder = id;
	}

	if ($('profiel_inbox_melding').visible()) {
		var classes = $A($('profiel_inbox_melding').classNames());
		classes.each(
			function (c) {
				$('profiel_inbox_melding').removeClassName(c);
			}
		);
		$('profiel_inbox_melding').addClassName('melding_leeg');
		$('profiel_inbox_melding').update('');
	}
	
	if ($('berichten_pagination').innerHTML.match('inbox_overzicht') && $(id+'_tab').hasClassName('active-tab')) {
		
	} else {
		if (id == 'nieuw_bericht') {
			nieuwBericht();
		} else {
			$('nieuw_bericht_container').hide();
			pagination(sid, vestnr, action, container_id, element_desc, element_id, offset, aantal);
		}
		
		var otherActiveTabs = $A($('inboxtabs').select('a.active-tab'));
		otherActiveTabs.each(
			function (s) {
				s.removeClassName('active-tab');
			}
		);
		
		$(id+'_tab').addClassName('active-tab');
	}
}

function makeActiveTabInbox(id) {
	var new_id = id + '_tab';
	var otherActiveTabs = $A($('inboxtabs').select('a.active-tab'));
	otherActiveTabs.each(
		function (s) {
			s.removeClassName('active-tab');
		}
	);
	$(new_id).addClassName('active-tab');
}

function haalBericht(sid, vestnr, bericht_id, container_id) {
	if (container_id != null && $('conversatiebericht_container_'+bericht_id).innerHTML != '') {
			$('tr_conversatiebericht_container_'+bericht_id).show();
	} else {
		if (container_id == null) {
			container_id = 'berichten_pagination';
		}
		
			var url = '/cgi-bin/bx.pl?event=w2a;action=haalInBoxBericht;fmt=xml';
				
			new Ajax.Updater(container_id, url,
				{
					 asynchronous: true,
					 method: 'get',
					 evalScripts: true,
					 parameters: { sid: sid, vestnr: vestnr, bericht_id: bericht_id},
					 onSuccess: function (transport) {
						if (container_id != 'berichten_pagination') {
							$('tr_'+container_id).show();
						} else {
							var el = new Element('div');
							el = el.update(transport.responseText);
							var folder_naam = $A(el.select('div.bericht_folder_naam'));
							folder_naam.each(
								function (s) {
									makeActiveTabInbox(s.innerHTML);
								}
							);
						}
					  },
					  onComplete: function(transport) {
					  }
				}
				
			);
	}
}

function haalConversatie(sid, vestnr, conversatie_id) {
	var container_id = 'berichten_pagination';/*'container_'+conversatie_id;*/
	var url = '/cgi-bin/bx.pl?event=w2a;action=haalInBox;sid='+sid+';vestnr='+vestnr+';folder=conversatie;conversatie_id='+conversatie_id+';fmt=xml;aantal=99;';
	new Ajax.Updater(container_id, url,
		{
			  method: 'get', 
			  evalScripts: true,
			  asynchronous: false,
			  evalJS: true,
			  onSuccess: function (transport) {
			  },
			  onComplete: function(transport) {	
			  }
		}
		
	);
}

function haalConversatieBericht(sid, vestnr, bericht_id) {

	var container_id = 'conversatie_id_'+bericht_id;
	
	var url = '/cgi-bin/bx.pl?event=w2a;action=haalInBoxBericht;sid='+sid+';vestnr='+vestnr+';bericht_id='+bericht_id+';fmt=xml';
	
	new Ajax.Updater(container_id, url,
		{
			  asynchronous: true,
			  method: 'get', 
			  evalScripts: true,
			  onSuccess: function (transport) {
			  	$('tr_conversatiebericht_'+bericht_id).show();
			  },
			  onComplete: function(transport) {	
			  }
		}
		
	);
}

function laadAlleVrienden(sid, vestnr, form_id, actor_id) {
	var el = new Element('div');

	if (GberichtFormId == 'titeltip_bericht_antwoord_form') {
		var url = '/cgi-bin/bx.pl?event=w2a;action=haalVriendenBijActor;';
		
		new Ajax.Request(url, 
				{
						method: 'get', 
						evalScripts: true,
						asynchronous: false,
						evalJS: true,
						parameters: {sid: sid, vestnr: vestnr, zoek_actor_id: actor_id},
						onCreate: function () {
							startLoading('dt_to_field');
						},
						onSuccess: function (transport) {
							el = el.update(transport.responseText);
						},
						onComplete: function () {
							stopLoading('dt_to_field');
						}
				}
		);
		
	} else {
		el = el.update($('vrienden_pagination').innerHTML);	
	}
		
		var namen = $A(el.select('strong.vrienden_lijst_nickname'));
		var item = '';
		
		if (namen.length == 0) {
			if (form_id == 'titeltip_form') {
				updateMessage('titeltip_bericht_antwoord_form_melding', 'Je hebt nog geen vrienden om deze tip te sturen. Klik op een naam of avatar van een andere gebruiker en stuur deze een vriendschapsverzoek.', 'foutmelding', false);
				Modalbox.resizeToContent();
				var form = $('titeltip_bericht_antwoord_form');
				form[form.disabled ? 'enable' : 'disable']();
				form.disabled = !form.disabled;
			}
			$('container_titeltip_right').hide();
		}
		namen.each(
			function (s, index) {
				var actor_name = s.innerHTML;
				actor_name = actor_name.unescapeHTML();
				item = '<option value="'+s.readAttribute('name')+'">'+ actor_name +'</option>';
				var vriendenlijst_id = '';
				if (form_id == 'bericht_antwoord_form') {
					$('bericht_antwoord_actor').insert({bottom: item});
				} else if (form_id == 'nieuw_bericht_form' || form_id == 'titeltip_form') {
					contacts.push({name: actor_name, email: s.readAttribute('name'), source: s.readAttribute('source') });
				}
			}
		);
		// Vriendenlijst samen stellen
		if ($('vriendenlijst')) {
		var vriendenlijst = contacts.sort();
			vriendenlijst.each(
				function (s) {
						$('vriendenlijst').insert(
							'<li title="Klik om '+s.name+' toe te voegen." onclick="addContactFromList(\''+s.name+'\', \''+s.email+'\');">' + '<img class="avatar_auto_complete" src="/rsrc/images/web2/avatars/48x48'+s.source+ '.png" width="32" height="32" />'+ '<div class="autocoplete_name_div">' + s.name + '</div>'
								+ '<div style="display: none;">' + s.email + '</div>' + '</li>'
						);
				}
			);
		}
}

function nieuwAntwoordDiscussie(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, discussie_id, offset, aantal) {
		
		var url = '?event=w4a_page;action=haalDiscussieInhoud;sid=' + sid + ';vestnr=' + vestnr + ';discussie_id=' + discussie_id + ';fmt=xml;offset='+offset+';aantal='+aantal+';nieuw_antoord=true;';

		if (w4a_ingelogd == '1') {
			if (window.location.search.match(/nieuw_antoord=true/)) {
				nieuwAntwoordScroll();
			} else {
				window.location.href = '/cgi-bin/bx.pl' + url;
			}
		} else {
			storeRedirectUrl(url);
			login(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd);
		}
}

function nieuwAntwoordScroll() {
	if (window.location.search.match(/nieuw_antoord=true/)) {
		$('discussie_antwoord_form').scrollTo();
		$('discussie_antwoord_box').focus();
	} else if (window.location.search.match(/nieuw_antoord=false/)) {
		$('laatste_antwoord_discussie').scrollTo();
	}
}

function voegRegelToeAanDiscussie (sid, vestnr, form_id, type, discussie_id, offset, aantal, totaal) {
	var formHash = $(form_id).serialize(true);

	var url = '/cgi-bin/bx.pl?event=w2a;action=voegRegelToeAanDiscussie';

	var regel = formHash.discussie_antwoord_box;
	
	regel = regel.stripScripts();
	regel = regel.stripTags();
	if (type == '') {
		type = 'T';
	}
	
	if (regel == '') {
		updateMessage('discussie_antwoord_melding', 'Het invoerveld is niet ingevuld, probeer s.v.p. opnieuw.', 'foutmelding', true);
	} else {
		if (regel.length >= 2200) { 
			updateMessage('discussie_antwoord_melding', 'Het bericht mag maximaal 250 woorden bevatten.', 'foutmelding', true);
		} else {
		
			new Ajax.Request(url, 
				{
						method: 'get', 
						evalScripts: true,
						asynchronous: true,
						evalJS: true,
						parameters: {sid: sid, vestnr: vestnr, tekst: regel, type: type, discussie_id: discussie_id},
						onException: function () {
							updateMessage('discussie_antwoord_melding', 'Er ging iets mis bij het verzenden van het antwoord. Probeer s.v.p. opnieuw.', 'foutmelding', true);
						},
						onFailure: function() {
							updateMessage('discussie_antwoord_melding', 'Er ging iets mis bij het verzenden van het antwoord. Probeer s.v.p. opnieuw.', 'foutmelding', true);
						},
						onSuccess: function(transport) {
							updateMessage('discussie_antwoord_melding', 'Antwoord verzonden.', 'successmelding', false);
							/* ALS de nieuwe regel tevens op een nieuwe, extra, pagina zou komen dan de nieuwe juiste offset berekenen.*/
							if ((parseFloat(totaal) + 1) > (parseFloat(offset) + parseFloat(aantal))) {
								offset = (parseFloat(offset) + parseFloat(aantal));
							}
							
							var nieuwe_url = '/cgi-bin/bx.pl?event=w4a_page;action=haalDiscussieInhoud;sid=' + sid + ';vestnr=' + vestnr + ';discussie_id=' + discussie_id + ';fmt=xml;offset='+offset+';aantal='+aantal+';nieuw_antoord=true;';
							window.location.href = nieuwe_url.sub('nieuw_antoord=true;', 'nieuw_antwoord=false;');
						}
				}
			);
		}
	}
}

function verwijderRegelVanDiscussie (sid, vestnr, discussie_regel_id) {
	var confirmation = confirm("Dit antwoord uit de discussie verwijderen? \n \nEr wordt een melding geplaatst dat de gebruiker het antwoord verwijderd heeft.");
		
	if (confirmation==true) {
		var url = '/cgi-bin/bx.pl?event=w2a;action=verwijderRegelVanDiscussie';
		new Ajax.Request(url, 
			{
					method: 'get', 
					evalScripts: true,
					asynchronous: true,
					evalJS: true,
					parameters: {sid: sid, vestnr: vestnr, discussie_regel_id: discussie_regel_id },
					onException: function () {
						updateMessage('discussie_inhoud_melding', 'Er ging iets mis bij het verwijderen van jouw antwoord. Probeer s.v.p. opnieuw.', 'foutmelding', true);
					},
					onFailure: function() {
						updateMessage('discussie_inhoud_melding', 'Er ging iets mis bij het verwijderen van jouw antwoord. Probeer s.v.p. opnieuw.', 'foutmelding', true);
					},
					onSuccess: function(transport) {
						updateMessage('discussie_inhoud_melding', 'Antwoord verwijderd.', 'successmelding', false);
						$('discussie_regel_antwoord_'+discussie_regel_id).update(transport.responseText);
					}
			}
		);
	} else {
	
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 			Nieuwe stijl tdetail sectie
//
///////////////////////////////////////////////////////////////////////////////////////////////////

function laadNieuweStijlTdetail(sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd, waardering, stemmen, actor_stem, bron) { 

				var element = 'titel_overzicht_waardering_top';
				
				if ($(element).innerHTML == '') {
					new Starbox(element, (waardering / 2), { overlay: 'default.png', className: 'default', ghosting: true, max: 5, buttons: 10, stars: 5, total: 1, onRate: function(element, info) { saveStar(element, info, sid, titcode, vestnr, titel_id, ingelogd, w4a_profiel, w4a_ingelogd); verwijderWaarderingOmschrijvingRij();} });
				}
				
				if ($('tdetail_top').visible() != true) {
						$('tdetail_top').show();
						
				}
				if ($('top_tags') != undefined) {			
					var top_tags_html = $('top_tags').innerHTML;
				}
				
				if ($('anoniem_titel_waardering') != null) {
					$('waardering_omschrijving_top').update($('waardering_omschrijving').innerHTML);
				}
				if ($('anoniem_titel_titel')!= null) {
					if ($('anoniem_titel_titel').innerHTML == '') {
						$('anoniem_titel_titel').update($('anoniem_titelinfo_titel').innerHTML);
					}
				}
				if ($('titel_overzicht_auteur')!= null) {
					if ($('titel_overzicht_auteur').innerHTML == '') {
						$('titel_overzicht_auteur').update($('anoniem_titel_auteur').innerHTML);
						$('titel_overzicht_auteur_label').update('Auteur:');
					}
				}
				
				$('titel_overzicht_waardering_rij').show();
				if ($('top_tags') != undefined) {	
					$('titel_overzicht_top_tags_top').update(top_tags_html);
				}
				if ($('toptags_name') != undefined) {
					$('titel_overzicht_top_tags_rij').show();
					$('toptags_name').hide();
				} else {
					
				}
}

function verwijderWaarderingOmschrijvingRij() {
	if ($('waardering_omschrijving_rij_top') != null) {
		$('waardering_omschrijving_rij_top').remove();
	}
}

function parseActorResponse (actorresponse) {
	if (actorresponse == 0) {
		$('cwise_ingang').update('Wat vind jij?');
		$('cwise_ingang_tags').update('Taggen');
		$('cwise_ingang_recensies').update('Mening geven');
		$('cwise_ingang_lijsten').update('Zet op een lijst');
		/*
			$('cwise_ingang_discussies').update('Discussi&euml;ren');
		*/
	}
}


function startTeller(teller, soort) {
	if (soort == 'lijstenWijzigen') {
		GlijstenWijzigenTeller = teller;	
	} else if (soort == 'tagsWijzigen') {
		GtagsWijzigenTeller = teller;
	}	
}

function minusTeller(soort, element_id) {
	var nieuwe_telling = '';
	if (soort == 'lijstenWijzigen') {
		GlijstenWijzigenTeller = parseInt(GlijstenWijzigenTeller);
		GlijstenWijzigenTeller -= 1;	
		nieuwe_telling = GlijstenWijzigenTeller;
	} else if (soort == 'tagsWijzigen') {
		GtagsWijzigenTeller = parseInt(GtagsWijzigenTeller);
		GtagsWijzigenTeller -= 1;
		nieuwe_telling = GtagsWijzigenTeller;
	} else if (soort == 'tagsProfiel') {
		GtagInhoudTeller = parseInt(GtagInhoudTeller);
		GtagInhoudTeller -= 1;
		nieuwe_telling = GtagInhoudTeller;
	} else if (soort == 'recensieProfiel') {
		GrecensieInhoudTeller = parseInt(GrecensieInhoudTeller);
		GrecensieInhoudTeller -= 1;
		nieuwe_telling = GrecensieInhoudTeller;
	} else if (soort == 'lijstProfiel') {
		GlijstInhoudTeller = parseInt(GlijstInhoudTeller);
		GlijstInhoudTeller -= 1;
		nieuwe_telling = GlijstInhoudTeller;
	}
	
	$(element_id).update(nieuwe_telling);
	
}

function plusTeller(soort, element_id) {
	var nieuwe_telling = '';
	if (soort == 'lijstenWijzigen') {
		GlijstenWijzigenTeller = parseInt(GlijstenWijzigenTeller);	
		GlijstenWijzigenTeller += 1;
		nieuwe_telling = GlijstenWijzigenTeller;
	} else if (soort == 'tagsWijzigen') {
		GtagsWijzigenTeller = parseInt(GtagsWijzigenTeller);
		GtagsWijzigenTeller += 1;
		nieuwe_telling = GtagsWijzigenTeller;
	}
	$(element_id).update(nieuwe_telling);
}

/* Functies aangaande incasso */
function telTotaal() {
	//var totaal = parseInt($('ideal-totaal').value.replace(",",".")) * 100;
	var deposito = parseInt($('ideal-dep-euro').value) * 100 + parseInt($('ideal-dep-cent').value);
	//if (!totaal){ totaal= 0; }
	
	var checkboxtotaal = 0;
	var checkboxes = $('incasso-form').getInputs('checkbox');
	for(i=0; i<checkboxes.length; i++) {
		if(checkboxes[i].checked) {
			checkboxtotaal = checkboxtotaal + parseInt(checkboxes[i].readAttribute('rel'));
			//alert(checkboxtotaal);
		}
	}
	//alert(deposito);
	var totaal = checkboxtotaal + deposito;
	$('ideal-deposito').value = CurrencyFormatted(deposito / 100).replace(".",",");
	$('ideal-totaal').value = CurrencyFormatted(totaal / 100).replace(".",",");
	checkMinimum();
	totaalPostenOpen()
}

function totaalPostenOpen(){
	var checkboxtotaal = 0;
	var checkboxes = $('incasso-form').getInputs('checkbox');
	for(i=0; i<checkboxes.length; i++) {
		if(checkboxes[i].checked) {
			checkboxtotaal = checkboxtotaal + parseInt(checkboxes[i].readAttribute('rel'));
			//alert(checkboxtotaal);
		}
	}
	$('posten-totaal').value = CurrencyFormatted(checkboxtotaal / 100).replace(".",",");
}

function totaalOpen(){
	var checkboxtotaal = 0;
	var checkboxes = $('incasso-form').getInputs('checkbox');
	for(i=0; i<checkboxes.length; i++) {
		checkboxtotaal = checkboxtotaal + parseInt(checkboxes[i].readAttribute('rel'));
	}
	$('totaal-open').innerHTML = CurrencyFormatted(checkboxtotaal / 100).replace(".",",");
}

function selectPosten(){
	var checkboxes = $('incasso-form').getInputs('checkbox');
	for(i=0; i<checkboxes.length; i++) {
		checkboxes[i].checked = true;
	}
	totaalPostenOpen();
	telTotaal();
}

function deselectPosten(){
	var checkboxes = $('incasso-form').getInputs('checkbox');
	for(i=0; i<checkboxes.length; i++) {
		checkboxes[i].checked = false;
	}
	totaalPostenOpen();
	telTotaal();
}

function CurrencyFormatted(amount){
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function checkMinimum(){
	var total = parseInt($('ideal-totaal').value.replace(",",""));
	var minimum = parseInt($('ideal-minimum').value);
	
	if(total < minimum){
		$('mv_message').className = 'LV_validation_message LV_invalid';
		return false;
	} else {
		$('mv_message').className = 'LV_validation_message LV_valid';
		return true;
	}
}

function sendIdealForm(){
	if(checkMinimum()){
		document.forms['incasso-form'].submit();
	}
}