// myvdm.js 


var mycookie = {
	 getExpDate: function (days, hours, minutes) {
	    var expDate = new Date();
	    if (typeof days == "number" && typeof hours == "number" && typeof hours == "number") {
	        expDate.setDate(expDate.getDate() + parseInt(days));
	        expDate.setHours(expDate.getHours() + parseInt(hours));
	        expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
	        return expDate.toGMTString();
	    } ;
    }
  , getCookieVal: function (offset) {
	    var endstr = document.cookie.indexOf (";", offset);
	    if (endstr == -1) {
	        endstr = document.cookie.length;
	    }
	    return unescape(document.cookie.substring(offset, endstr));
		}
	, get: function( name ) {
	    var arg = name + "=";
	    var alen = arg.length;
	    var clen = document.cookie.length;
	    var i = 0;
	    while (i < clen) {
	      var j = i + alen;
	      if (document.cookie.substring(i, j) == arg) {
	          return mycookie.getCookieVal(j);
	      }
	      i = document.cookie.indexOf(" ", i) + 1;
	      if (i == 0) break; 
	    }
	    return null;
		}
	, set: function ( name, value, expires, path, domain, secure ) {
    	document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
		}
	, del: function ( name,path,domain ) {
	    if ( mycookie.get( name )) {
        document.cookie = name + "=" +
           ((path) ? "; path=" + path : "") +
           ((domain) ? "; domain=" + domain : "") +
           "; expires=Thu, 01-Jan-70 00:00:01 GMT";
   		}
   	} 
} ;

var not_inf = new Object ;
not_inf.weekdag = 'dinsdag' ;
not_inf.email = '' ;
not_inf.wachtwoord = '' ;
not_inf.periode = 'maand' ;
not_inf.naam = '' ;
not_inf.straat = '' ;
not_inf.postcode = '' ;
not_inf.woonplaats = '' ;
not_inf.land = 'Nederland' ;


var myvdm = {
	history: new Array()
	, locations : new Array() 
	, list : new Array()
	, retry: false 
	, session_id: 0
	, initialize: function(){
		var s= '' ;
		if( !$( 'myvdmbox' ) ){
			var box = document.createElement( 'div' ) ;
			box.id = 'myvdmbox' ;
			box.style.position = 'absolute' ;
			box.style.left = '10px' ;
			box.style.width = '200px' ;
			setTimeout( 'myvdm.initialize()', 10 ) ;
			return ;
		} else {
			myvdm.initialize2() ;
		} ;
	}
	, initialize2: function(){
		$( 'myvdmbox' ).innerHTML = ''; 
		var s = '' ;
		s += '<img src="http://www.voordeelmuis.nl/img/vdm-logo.gif"><br><br>' ;
		$( 'myvdmbox' ).innerHTML += s ;
		if( mycookie.get( 'autologin' ) ){
			autologin_value = mycookie.get( 'autologin' ) ;
		} else {
			autologin_value = 0 ;
		} ;
		if( mycookie.get( 'registeredusersessionid' ) ){
			
			myvdm.session_id = mycookie.get( 'registeredusersessionid' ) ;
			myvdm.loadUserItems() ;
			myvdm.showLogoutBox() ;
			myvdm.showHistoryBox() ;
			myvdm.showLocationsBox() ;
			myvdm.showNotificationsBox() ;
			myvdm.showListBox() ;
		} else {
			if( autologin_value != 0 ){
				myvdm.autoLogin( autologin_value ) ;
			} else {
				if( mycookie.get( 'notregisteredsessionid' ) ){
					myvdm.session_id = mycookie.get( 'notregisteredsessionid' ) ;
					myvdm.loadUserItems() ;
					myvdm.showAdvantagesBox() ;
					myvdm.showNewUserBox() ;
					myvdm.showLoginBox() ; 
					myvdm.showForgottenPasswordBox() ;
					myvdm.showHistoryBox() ;
					myvdm.showNotificationsBox() ;
				} else {
					if( !myvdm.retry ){
						myserver.request( 'action=getcookie', myvdm.getCookieOk ) ;
						myvdm.retry = true ;
					} ;
					myvdm.showAdvantagesBox() ;
					myvdm.showLoginBox() ; 
					myvdm.showForgottenPasswordBox() ;
					myvdm.showNewUserBox() ;
				} ;
			} ;
		} ;
	}
	, loadUserItems: function(){
			// save request, in the response pick up history, locations and list
			if( !myvdmtitle ){
				myvdmtitle = document.title ;
			} ;
			var referrer = '' ;
			if( document.referrer ){
				if( document.referrer.match( /www\.voordeelmuis\.nl/ ) ){
					referrer = '' ;
				} else {
					referrer = document.referrer ;
				} ;
			} ;
			myvdmurl = myvdm.getHref() ;
			myvdmtitle = myvdmtitle.replace( / folder aanbiedingen/i, "" ) ;
			myserver.request( 'action=saverequest&sessionid='+myvdm.session_id+'&title='+myvdmtitle+'&ab_ids='+ab_ids+'&url='+escape(myvdmurl)+'&actualLocations='+actualLocations+'&actualLocationNames='+actualLocationNames+'&referrer='+escape(referrer), myvdm.loadUserItemsOk ) ;
		}
	, loadUserItemsOk: function( t ){
			var r = t.responseText ;
			try {
				var obj = eval(  "(" + r + ")"  ) ;
				myvdm.history = new Array() ;
				for( var i=0; i< obj.history.length; i++ ){
					myvdm.history.push( { url: obj.history[i].url, title: obj.history[i].title } ) ;
				} ;
				myvdm.updateHistory() ;	
				myvdm.locations = new Array() ;
				for( var i=0; i< obj.locations.length; i++ ){
					myvdm.locations.push( { id: obj.locations[i].id, name: obj.locations[i].name, state: obj.locations[i].state } ) ;
				} ;
				if( $( 'locations' ) ){
					$( 'locations' ).innerHTML = myvdm.createLocationsBoxContent() ;
				} else {
					myvdm.showLocationsBox() ;
				} ;
				myvdm.list = new Array() ;
				for( var i=0; i< obj.list.length; i++ ){
					myvdm.list.push( { id: obj.list[i].id, 
														 winkelnaam: obj.list[i].winkelnaam, 
														 winkelid: obj.list[i].winkelid,
														 categorienaam: obj.list[i].categorienaam,
														 categorieid: obj.list[i].categorieid,
														 verlopen: obj.list[i].verlopen,
														 trefwoorden: obj.list[i].trefwoorden } ) ;
				} ;
				if( $( 'aanbiedingenlijst' ) ){
					$( 'aanbiedingenlijst' ).innerHTML = myvdm.createListBoxContent() ;
				} else {
					myvdm.showListBox() ;
				} ;
				if( myvdm.list.length > 0 || myvdm.locations.length > 0 || myvdm.history.length > 2 ){
					if( $( 'advantagescontent' ) ){
						$( 'advantagescontent' ).style.display = 'none' ;
					} ;
				} ;
				if( obj.email_settings ){
					myvdm.email_settings = obj.email_settings ;
					var d = myvdm.email_settings.einddatum ;
					d = d.substr( 8,2 ) + '-'+d.substr( 5,2 ) + '-' + d.substr( 0, 4 ) ;
					myvdm.email_settings.einddatum = d ;
					myvdm.email_notifications = new Array() ;
					if( obj.email_notifications ){
						for( var i=0; i< obj.email_notifications.length; i++ ){
							myvdm.email_notifications.push( { url: obj.email_notifications[i].url, title: obj.email_notifications[i].title } ) ;
							myvdm.createNotificationBoxContent() ;
						} ;
					} ;
				} else {
					myvdm.email_settings = new Object ;
				} ;	
				not_inf.url = myvdm.getHref() ;
				not_inf.title = myvdmtitle ;
				myvdm.updateNotificationArea( not_inf.url, myvdmtitle ) ;
			} catch( e ) {
			} ;
			transformTagCloudLinks() ;
		} 
			
	, getCookieOk: function( t ){
			myvdm.initialize() ;
		} 
	, loadHistory: function(){
			myserver.request( 'action=loadhistory&sessionid='+myvdm.session_id, myvdm.loadHistoryOk ) ;
		} 
	, getHref: function(){
			if( document.location.href.indexOf( '.cgi' ) < 0   ){
				return( js_cgi_url ) ;
			} else {
				return( document.location.href ) ;
			} 
		} 
	, loadLocations: function(){
			myserver.request( 'action=loadlocations&sessionid='+myvdm.session_id+'&actualLocations='+actualLocations+'&actualLocationNames='+actualLocationNames, myvdm.loadLocationsOk ) ;
		} 
	, loadHistoryOk: function( t ){
			var r = t.responseText ;
			try {
				var obj = eval(  "(" + r + ")"  ) ;
				myvdm.history = new Array() ;
				for( var i=0; i< obj.arr.length; i++ ){
					myvdm.history.push( { url: obj.arr[i].url, title: obj.arr[i].title } ) ;
				} ;
				myvdmurl = myvdm.getHref() ;
				if( !myvdmtitle ){
					myvdmtitle = document.title ;
				} ;
				myvdmtitle = myvdmtitle.replace( / folder aanbiedingen/i, "" ) ;
				if( myvdmurl && myvdmtitle ){
					myvdm.addToHistory( myvdm.session_id, myvdmurl, myvdmtitle ) ;
				} ;
				myvdm.updateHistory() ;	
			} catch( e ) {
			} ;
		} 
	, updateNotificationArea: function( url, title ){
			if( mycookie.get( 'notificationdontask' ) || not_inf.url.match( /\&t=/ )){
				myvdm.clearNotificationArea() ;
			} else {
				if( $( 'notification_content' ) ){
					var d = $( 'notification_content' ) ;
					var s = '' ;
					if( !mycookie.get( 'dec_shown_once' ) ){
						s += '<table border=0>' ;
						s += '<tr><td valign=top>' ;
						s += 'Nieuw bij Voordeelmuis: het Aanbieding Alarm!<br><br>' ;
						s += 'U kunt nu op de hoogte blijven van de nieuwste aanbiedingen met het <b>Aanbieding Alarm</b>. Deze wekelijkse e-mail bevat alleen die aanbiedingen waarin u ge&iuml;nteresseerd bent. ' ;
						s += 'Activeer uw persoonlijke aanbieding alarm door boven aan de pagina op "ja" te klikken om uw zoekopdracht als aanbieding alarm toe te voegen.<br><br>' ;
//						s += 'U maakt dan tevens kans op <a href="http://www.voordeelmuis.nl/prijs-december-2009.htm" target="_new">het boodschappen spel</a> van Ravensburger.<br><br>' ;
						s += '</td><td valign=top>' ;
//						s += '<a href="http://www.voordeelmuis.nl/prijs-december-2009.htm" target="_new"><img border=0 alt="Het boodschappenspel" src="http://www.voordeelmuis.nl/img/aanbiedingalarm/ravensburger-100x150-front.jpg"></a>' ;
						s += '</td></tr>' ;
						s += '</table>' ;
						mycookie.set( 'dec_shown_once', '1', mycookie.getExpDate( 7, 0, 0 ) ) ;
					} ;	
					if( mycookie.get( 'registeredusersessionid' ) ){
						if( myvdm.email_settings && myvdm.email_settings.weekdag ){
							// controleer of de title al voorkomt
							var dontask = false ;
							if( myvdm.email_notifications && myvdm.email_notifications.length > 0  ){
								for( var i=0; i < myvdm.email_notifications.length; i++ ){
									if( myvdm.email_notifications[i].title == title ){
										dontask = true ;
									} ;
								} ;
							} ;
							if( !dontask ){
								s += 'Wilt u de '+title+' aanbiedingen toevoegen aan uw Aanbieding Alarm? &nbsp;&nbsp;' ;
								s += '<input type=button value="ja" onclick="myvdm.notificationAdd()"> <input type=button value="nee" onclick="myvdm.clearNotificationArea()"> <input type=button value="niet meer vragen" onclick="myvdm.notificationDontAsk()">' ;
							} else {
								myvdm.clearNotificationArea() ;
							} ;	
						} else {
							s += 'Wilt u gratis wekelijks per email op de hoogte blijven van de '+title+' aanbiedingen?<br>' ;
							s += '<input type=button value="ja" onclick="myvdm.notificationInitialAccept()"> <input type=button value="nee" onclick="myvdm.clearNotificationArea()"> <input type=button value="niet meer vragen" onclick="myvdm.notificationDontAsk()">' ;
							s += '&nbsp;&nbsp;<a href="http://www.voordeelmuis.nl/voorbeeld-aanbieding-alarm.htm" target="_new">Voorbeeld van de wekelijkse Aanbieding Alarm email</a> <a href="http://www.voordeelmuis.nl/voorwaarden-privacy.htm" target="_new">Voorwaarden en privacy-beleid</a>' ;
						} ;
					} else {
						s += 'Wilt u gratis wekelijks per email op de hoogte blijven van de '+title+' aanbiedingen?<br>' ;
						s += '<input type=button value="ja" onclick="myvdm.notificationInitialAccept()"> <input type=button value="nee" onclick="myvdm.clearNotificationArea()"> <input type=button value="niet meer vragen" onclick="myvdm.notificationDontAsk()">' ;
							s += '&nbsp;&nbsp;<a href="http://www.voordeelmuis.nl/voorbeeld-aanbieding-alarm.htm" target="_new">Voorbeeld</a> van de wekelijkse <a href="http://www.voordeelmuis.nl/voorbeeld-aanbieding-alarm.htm" target="_new">Aanbieding Alarm email</a> &nbsp;&nbsp; <a href="http://www.voordeelmuis.nl/voorwaarden-privacy.htm" target="_new">Voorwaarden en privacy-beleid</a>' ;
					} ;
					d.innerHTML = s ;
					not_inf.title = title ;
					not_inf.url = url ;
				} ;
			} ;
		} 						
	, clearNotificationArea: function(){
		if( $( 'notification_area' ) ){
			$( 'notification_area' ).innerHTML = '' ;
		} ;
	}		
	, notificationDontAsk: function(){
			myvdm.clearNotificationArea() ;	
			mycookie.set( 'notificationdontask', '1', mycookie.getExpDate( 0, 3, 0 ) ) ;
		} 
	, notificationAdd: function(){
			var refresh_myvdm = false ;
			if( !myvdm.email_notifications ){
				myvdm.email_notifications = new Array() ;
				refresh_myvdm = true ;
			} ;
			myvdm.email_notifications.unshift( { url: not_inf.url, title: not_inf.title } ) ;
			myserver.request( "action=addNotification&title="+not_inf.title+"&url="+escape(not_inf.url)+"&sessionid="+myvdm.session_id, myvdm.updateEmailNotificationBox ) ;
			if( refresh_myvdm ){
				myvdm.initialize() ;
			} ;
		} 
	, updateEmailNotificationBox: function(){
			myvdm.clearNotificationArea() ;
			myvdm.createNotificationBoxContent() ;
		} 
	, notificationInitialAccept: function(){
		// vraag gebruiker om email + initiele settings voor email update
		var s = '' ;
		s += 'Om u gratis wekelijks per email op de hoogte te kunnen houden hebben wij uw email adres nodig. Tevens vragen wij u op welke weekdag u deze email wilt ontvangen. U kunt kiezen hoe lang u de emails wilt ontvangen. Ook vragen wij u om onze voorwaarden en privacybeleid te lezen en accepteren.<br><br>' ;
		s += '<span id=notification_form_errors style="color:red;"></span><br>' ;
		s += 'Uw (volledige) email adres: <input type=text id=notification_email value=""><br><br>' ;
		s += 'Gewenste weekdag voor ontvangst van de aanbiedingen update-email:<br>' ;
		s += '<input type=radio name=weekdag id=maandag value="maandag" '+(not_inf.weekdag == 'maandag'?'checked':'')+'>Maandag <br>' ;
		s += '<input type=radio name=weekdag id=dinsdag value="dinsdag" '+(not_inf.weekdag == 'dinsdag'?'checked':'')+'>Dinsdag <br>' ;
		s += '<input type=radio name=weekdag id=woensdag value="woensdag" '+(not_inf.weekdag == 'woensdag'?'checked':'')+'>Woensdag<br>' ;
		s += '<input type=radio name=weekdag id=donderdag value="donderdag"  '+(not_inf.weekdag == 'donderdag'?'checked':'')+'>Donderdag<br>' ;
		s += '<input type=radio name=weekdag id=vrijdag value="vrijdag"  '+(not_inf.weekdag == 'vrijdag'?'checked':'')+'>Vrijdag<br><br>' ;
		s += 'Gewenste periode waarin u de aanbiedingen update-email ontvangt: (Na deze periode stopt de toezending automatisch; u kunt altijd vrijblijvend verlengen)<br>' ;
		s += '<input type=radio name=periode id=onbeperkt value="onbeperkt"  '+(not_inf.periode == 'onbeperkt'?'checked':'')+'>Onbeperkt<br>' ;
		s += '<input type=radio name=periode id=jaar value="1jaar"   '+(not_inf.periode == 'jaar'?'checked':'')+'>1 jaar<br>' ;
		s += '<input type=radio name=periode id=kwartaal value="3maanden"   '+(not_inf.periode == 'kwartaal'?'checked':'')+'>3 maanden<br>' ;
		s += '<input type=radio name=periode id=maand value="1maand"   '+(not_inf.periode == 'maand'?'checked':'')+'>1 maand<br>' ;
		s += '<input type=radio name=periode id=week2 value="2weken"  '+(not_inf.periode == 'week2'?'checked':'')+'>2 weken (om te proberen)<br><br>' ;
		
		s += '<br><br>' ;
/*
		s += '<i>Optioneel: naam en adres gegevens</i><br>' ;
		s += 'Als u hieronder uw naam- en adresgegevens invoert doet u tevens mee aan de verloting van onze prijs van de maand.<br>' ;
		s += 'Deze maand is dit <a href="http://www.voordeelmuis.nl/prijs-december-2009.htm" target="_new">het boodschappen spel</a> van Ravensburger. U kunt onderstaande velden ook leeg laten. U ontvangt dan wel uw Aanbieding Alarm e-mails, maar u dingt niet mee naar de prijs. ' ;
		s += '<a href="./prijs-november-2009.htm" target="_new">Bekijk hier de deelname voorwaarden.</a>'
		s += '<br><br>' ;
		s += '<table border=0 cellspacing=0 cellpadding=0>' ;
		s += '<tr>' ;
		s += '<td style="font-size:12px;">' ;
		s += 'Naam:' ;
		s += '</td><td>' 
		s += '<input type=text id=naam size=30 value="'+not_inf.naam+'">' ;
		s += '</td></tr>' ;
		s += '<tr><td style="font-size:12px;">' ;
		s += 'Straat en huisnummer:&nbsp;' ;
		s += '</td><td>' ;
		s += '<input type=text size=30 id=straat value="'+not_inf.straat+'">' ;
		s += '</td></tr>' ;
		s += '<tr><td style="font-size:12px;">' ;
		s += 'Postcode:' ;
		s += '</td><td>' ;
		s += '<input type=text id=postcode size=8 value="'+not_inf.postcode+'">' ;
		s += '</tD></tr>' ;
		s += '<tr><td style="font-size:12px;">' ;
		s += 'Woonplaats:' ;
		s += '</td><td>' ;
		s += '<input type=text id=woonplaats size=30 value="'+not_inf.woonplaats+'">' ;
		s += '</td></tr>' ;
		s += '<tr><td style="font-size:12px;">' ;
		s += 'Land: ' ;
		s += '</td><td style="font-size:12px;">' ;
		s += '<select id=land>' ;
		s += '<option value="Nederland" '+(not_inf.land == "Nederland"?' selected ':'' )+'>Nederland' ;
//		s += '<option value="Belgie" '+(not_inf.land == "Belgie"?' selected ':'' )+'>Belgi&euml;' ;
//		s += '<option value="Duitsland" '+(not_inf.land == "Duitsland"?' selected ':'' )+'>Duitsland' ;
		s += '</select>' ;
		s += '</td></tr>' ;
		s += '</table>' ;
		s += '<br><br>' ;
	*/
		s += '<input type=checkbox name=voorwaarden id=voorwaarden>Ja, ik heb de <a href="http://www.voordeelmuis.nl/voorwaarden-privacy.htm" target="_new">voorwaarden en het privacy-beleid</a> gelezen en ga hiermee akkoord<br>' ;
		s += '<br><br>' ;
		s += '<input type=button value="OK" onclick="myvdm.notificationInitialAcceptCheck()"> <input type=button value="Annuleren" onclick="myvdm.clearNotificationArea()"><br>' ;		
		$( 'notification_content' ).innerHTML = s ;
	} 
	, notificationInitialAcceptCheck: function(){
		var errors = '' ;
		var email = $( 'notification_email' ).value ;
		if( !email ){
			errors += 'U bent uw email adres vergeten in te vullen. Vul uw volledige email adres in.<br>' ;
		} else {
			if( !email.match( /.+\@.+\..+/ ) ){
				errors += 'Uw email adres is niet volledig of onjuist. Vul uw volledige email adres in, inclusief @ en achtervoegsel (voorbeeld: voordeelmuis@gmail.com)<br>' ;
			} ;
		} ;
		not_inf.email = email ;
/*
		not_inf.naam = $( 'naam' ).value ;
		not_inf.straat = $( 'straat' ).value ;
		not_inf.postcode = $( 'postcode' ).value ;
		not_inf.woonplaats = $( 'woonplaats' ).value ;
		not_inf.land = $( 'land' ).value ;
*/
		not_inf.naam = '' ;
		not_inf.straat = '';
		not_inf.postcode = '' ;
		not_inf.woonplaats = '' ;
		not_inf.land = '' ;
		
		not_inf.weekdag = 'dinsdag' ;
		if( $( 'maandag' ).checked ){
			not_inf.weekdag = 'maandag' ;
		} ;
		if( $( 'dinsdag' ).checked ){
			not_inf.weekdag = 'dinsdag' ;
		} ;
		if( $( 'woensdag' ).checked ){
			not_inf.weekdag = 'woensdag' ;
		} ;
		if( $( 'donderdag' ).checked ){
			not_inf.weekdag = 'donderdag' ;
		} ;
		if( $( 'vrijdag' ).checked ){
			not_inf.weekdag = 'vrijdag' ;
		} ;
		not_inf.periode = 'week2' ;
		if( $( 'onbeperkt' ).checked ){
			not_inf.periode = 'onbeperkt' ;
		} ;
		if( $( 'jaar' ).checked ){
			not_inf.periode = 'jaar' ;
		} ;
		if( $( 'kwartaal' ).checked ){
			not_inf.periode = 'kwartaal' ;
		} ;
		if( $( 'maand' ).checked ){
			not_inf.periode = 'maand' ;
		} ;
		if( $( 'week2' ).checked ){
			not_inf.periode = 'week2' ;
		} ;
		if( !$( 'voorwaarden' ).checked ){
			errors += 'U heeft de voorwaarden nog niet geaccepteerd. Lees de voorwaarden en klik op het aankruisvakje als u hiermee akkoord gaat.<br>' ;
		} ;
		if( errors ){
			$( 'notification_form_errors' ).innerHTML= errors ;
		} else {
			myserver.request( "action=notificationInitialCheckEmail&email="+not_inf.email, myvdm.notificationInitialAcceptCheckGetPassword ) ;
		} ;
	} 	
	, notificationInitialAcceptCheckGetPassword: function( t ){
			var r = t.responseText ;
			try {
				if( r == 'yes' ){
					not_inf.user_exists = true ;

					var s = '' ;
					s += 'U bent reeds bekend bij Voordeelmuis met dit email adres <b>'+not_inf.email+'</b>. '  ;
					s += 'Voer dit wachtwoord hier in om uw email adres te controleren. <br><br>' ;
					s += '<input type=password id=password2 value=""> ' ;
					s += '<span id=passworderror></span>' ;
					s += '&nbsp; &nbsp;' ;
					s += '<input type=button value=" OK " onclick="myvdm.notificationInitialAcceptCheckPasswordOK()">' ;
					
					s += '&nbsp; &nbsp;' ;
					s += '<input type=button value=" Annuleren " onclick="myvdm.clearNotificationArea()"><br><br>' ;
		
					s += 'Wachtwoord vergeten? <input type=button value="klik hier" onclick="myvdm.forgottenPassword()">' ;
				
					$( 'notification_content' ).innerHTML = s ;
				} else {
					myserver.emailrequest( "action=signup&email="+not_inf.email ) ;
					var s = '' ;
					s += 'Dank u voor het aanmelden voor wekelijkse aanbiedingen updates per e-mail. U ontvangt op uw email adres een email met daarin uw wachtwoord. ' ;
					s += 'Voer dit wachtwoord hier in om uw email adres te controleren. <br><br>' ;
					s += '<input type=password id=password2 value=""> ' ;
					s += '<span id=passworderror></span>' ;
					s += '&nbsp; &nbsp;' ;
					s += '<input type=button value=" OK " onclick="myvdm.notificationInitialAcceptCheckPasswordOK()">' ;
					
					s += '&nbsp; &nbsp;' ;
					s += '<input type=button value=" Annuleren " onclick="myvdm.clearNotificationArea()"><br><br>' ;
		
					s += 'Indien u niet binnen enkele minuten uw wachtwoord heeft ontvangen dan heeft u waarschijnlijk uw email adres niet goed ingevoerd. Vernieuw deze pagina door op toets F5 te drukken en start de aanmelding overnieuw met het juiste e-mailadres' ;
				
					$( 'notification_content' ).innerHTML = s ;
				} ;
			} catch( e ) {
				alert ( r ) ;
			}  ;
		} 
	, notificationInitialAcceptCheckPasswordOK: function(){
			var password = $( 'password2' ).value ;
			not_inf.password = password ;
			myserver.request( "action=checkNotificationPassword&email="+not_inf.email+"&password="+password, myvdm.notificationInitialAcceptCheckPasswordResult ) ;
		}
	, notificationInitialAcceptCheckPasswordResult: function( t ){
			var r = t.responseText ;
			try {
				if( r == 'yes' ){
					not_inf.signup = false ;
					myserver.request( 'action=login&email='+not_inf.email+'&password='+not_inf.password ) ;
					myserver.request( "action=notificationInitialOk&title="+not_inf.title+"&url="+escape(not_inf.url)+"&weekdag="+not_inf.weekdag+"&periode="+not_inf.periode+"&email="+not_inf.email+"&naam="+not_inf.naam+"&straat="+not_inf.straat+"&postcode="+not_inf.postcode+"&woonplaats="+not_inf.woonplaats+"&land="+not_inf.land ) ;
					setTimeout( "myvdm.initialize()", 5000 ) ;
					var s = '' ;

					s += 'Uw aanmelding is afgerond. Vanaf volgende week '+not_inf.weekdag+' kunt u uw Aanbieding Alarm email verwachten. Instellingen voor deze email kunt u aanpassen via de knop "email instellingen" in de Mijn Voordeelmuis aan de linkerzijde van de pagina. ' ;
					s += 'Van al uw zoekopdrachten kunt u een nieuw aanbiedingen alarm maken en toevoegen aan uw Aanbieding Alarm email. Bij iedere zoekopdracht binnen Voordeelmuis verschijnt bovenaan de pagina de vraag of u deze zoekvraag wilt ' ;
					s += 'toevoegen. Klik dan  op "Ja" om die zoekopdracht direct toe te voegen aan uw Aanbieding Alarm email.' ;
					s += '<br><br>' ;
					$( 'notification_content' ).innerHTML = s ;
				} else {
					$('passworderror' ).innerHTML = 'Uw wachtwoord is niet het juiste. Controleer uw wachtwoord en probeer het nogmaals.' ;
				} ;	
			} catch( e ) {
			} ;
		} 
	, forgottenPasswordEmailNotifications: function(){
			var email = not_inf.email ;
			myserver.emailrequest( 'action=forgottenpassword&email='+email )
		} 
				
	, createNotificationBoxContent: function(){
			var s = '' ;
			s += '<div class=myvdmsubboxcontent>' ;
			s += 'U ontvangt uw aanbieding alarm wekelijks op <b>'+myvdm.email_settings.weekdag+'</b>'  ;
			if( myvdm.email_settings.periode == 'onbeperkt' ){
				s += ' voor <b>onbeperkte tijd</b> ' ;
			} ;	
			if( myvdm.email_settings.periode == 'jaar' ){
				s += ' gedurende <b>1 jaar</b> tot ' + myvdm.email_settings.einddatum ;
			} ;	
			if( myvdm.email_settings.periode == 'kwartaal' ){
				s += ' gedurende <b>3 maanden</b> tot '+ myvdm.email_settings.einddatum  ;
			} ;	
			if( myvdm.email_settings.periode == 'maand' ){
				s += ' gedurende <b>een maand</b> tot '+ myvdm.email_settings.einddatum  ;
			} ;	
			if( myvdm.email_settings.periode == 'week2' ){
				s += ' gedurende <b>2 weken</b> tot '+ myvdm.email_settings.einddatum  ;
			} ;	
			s += ' of tot u toezending stopt. ' ;
			s += "<a href='' onclick='myvdm.editNotifications();return false;'>&raquo;&nbsp;Aanpassen</a>." ;
			s += '</div>' ;
			s += '<table border=0 cellspacing=0 cellpadding=2>' ;
			var start =0 ;
			for( var i=start; i<myvdm.email_notifications.length; i++ ){
				var url = myvdm.email_notifications[i] ;
				s += '<tr>' ;
				var url_title = url.title ;
				url_title = url_title.replace( /<b>/g, "`" ) ;
				url_title = url_title.replace( /<\/b>/g, "`" ) ;
				
				s += '<td class=myvdmhistoryline'+(i%2)+' title="Klik om de resultaten van de zoekopdracht '+ url_title + ' weer te geven">' ;
				s += '<a href="'+url.url+'">'+url.title+'</a>' ;
				s += '</td>' ;
				s += '</tr>' ;
			} ;
			s += '</table>' ;
			if( $( 'aanbiedingalarm' ) ){
				$( 'aanbiedingalarm' ).innerHTML = s ;
			} ;
		}
	, editNotifications: function(){
			var s = '' ;
			if( $( 'notification_area' ) ){
				$( 'notification_area' ).outerHTML = '' ;
				old_content = $( 'current_results' ).innerHTML  ;
			} ;
			s += '<table border=0 cellspacing=0 cellpadding=0>' ;
			s += '<tr>' ;
			s += '<td colspan=2 class=results_header style="width:760px;">' ;
			s += 'Uw instellingen voor uw wekelijkse Aanbieding Alarm email' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td colspan=2 class=myvdmhistoryline0>' ;
			s += 'Wilt u de Aanbieding Alarm email verzending <b>stoppen</b>? <input type=button value=" Ja " onclick="myvdm.terminateEmailNotifications()">' ;
			s += '<br><br>' ;
			s += 'Wilt u de <b>weekdag</b> voor verzending wijzigen?<br>' ;
			s += 'Huidige weekdag: <b>'+myvdm.email_settings.weekdag+'</b> &nbsp;&nbsp; ' ;
			s += 'Gewenste weekdag: ' ;
			s += '<select onchange="myvdm.changeNotificationWeekdag(this)">' ;
			s += '<option value="" selected>Maak uw keuze: ' ;
			s += '<option value="maandag">Maandag' ;
			s += '<option value="dinsdag">Dinsdag' ;
			s += '<option value="woensdag">Woensdag' ;
			s += '<option value="donderdag">Donderdag' ;
			s += '<option value="vrijdag">Vrijdag' ;
			s += '</select>' ;
			s += '<br><br>' ;
			s += 'Wilt u de periode van verzending wijzigen/verlengen? <br>' ;
			s += 'Huidige periode: <b>'+(myvdm.email_settings.periode == 'week2'?'2 weken':myvdm.email_settings.periode)+'</b> &nbsp;&nbsp; ' ;
			s += 'Gewenste weekdag: ' ;
			s += '<select onchange="myvdm.changeNotificationPeriod(this)">' ;
			s += '<option value="" selected>Maak uw keuze: ' ;
			s += '<option value="onbeperkt">Onbeperkt' ;
			s += '<option value="jaar">1 jaar' ;
			s += '<option value="kwartaal">3 Maanden' ;
			s += '<option value="maand">1 Maand' ;
			s += '<option value="week2">2 weken' ;
			s += '</select>' ;
			
			s += '<br><br>' ;
			s += 'Wilt u zoekopdrachten verwijderen uit uw Aanbieding Alarm?<bR>' ;
			s += 'Klik op het kruisje voor elke zoekopdracht die u wilt verwijderen uit uw Aanbieding Alarm<br>' ;
			s += '</td>' ;
			s += '</tr>' ;
			for( var i=0; i < myvdm.email_notifications.length; i++ ){
				var url = myvdm.email_notifications[i] ;
				
				s += '<tr>' ;
				s += '<td align=left class=myvdmhistorylinedelete'+(i%2)+' style="width:20px">' ;
				s += '<img src="http://www.voordeelmuis.nl/img/delete.png" onclick="myvdm.removeNotification( '+ "'" + url.url+ "'" + ')">' ;
				s += '</td>' ;				
				s += '<td align=left class=myvdmhistoryline'+(i%2)+' style="width:740px">' ;
				s += url.title;
				s += '</td>' ;
				s += '</tr>' ;
			} ;
			s += '<tr>' ;
			s += '<td class=myvdmhistoryline0 style="width:760px" colspan=2>' ;
			s += 'Bent u klaar met uw aanpassingen?<br>' ;
			s += 'Klik op <input type=button value="Ok" onclick="myvdm.editNotificationsDone()" om terug te keren naar Voordeelmuis.' ;
			s += '</td>' ;
			s += '</tR>' ;
			s += '</table>' ;
			$( 'current_results' ).innerHTML = s ;
			
		} 		
	, removeNotification: function( url ){
			myserver.request( "action=removeNotificationUrl&url="+escape(url)+"&session_id="+myvdm.session_id, myvdm.initialize ) ;
			var foundIdx = -1 ;
			for( var i=0; i < myvdm.email_notifications.length; i++ ){
				if( myvdm.email_notifications[i].url == url ){
					foundIdx = i ;
				} ;
			} ;
			if( foundIdx >= 0 ){
				for( var i=foundIdx; i < myvdm.email_notifications.length-1; i++ ){
					myvdm.email_notifications[i] = myvdm.email_notifications[i+1] ;
				} ;
				myvdm.email_notifications.length-- ;
			} ;				
			myvdm.editNotifications() ;
		} 			
	, changeNotificationWeekdag: function( sel_id ){
			if( sel_id.value != '' ){
				myvdm.email_settings.weekdag = sel_id.value ;
				myserver.request( "action=changeEmailNotificationWeekdag&weekdag="+myvdm.email_settings.weekdag+"&session_id="+myvdm.session_id, myvdm.initialize ) ;
				myvdm.editNotifications() ;
			} ;
		}	
	, changeNotificationPeriod: function( sel_id ){
			if( sel_id.value != '' ){
				myvdm.email_settings.periode = sel_id.value ;
				myserver.request( "action=changeEmailNotificationPeriod&periode="+myvdm.email_settings.periode+"&session_id="+myvdm.session_id, myvdm.initialize ) ;
				myvdm.editNotifications() ;
			} ;
		}	
	, terminateEmailNotifications: function(){
			myserver.request( "action=terminateEmailNotifications&session_id="+myvdm.session_id, myvdm.initialize ) ;
			document.location.href = myvdm.getHref() ;
		} 
	, editNotificationsDone: function(){
			$( 'current_results' ).innerHTML = old_content ;
			document.location.href = myvdm.getHref() ;
		} 			
	, updateHistory: function(){
			var s = '' ;
			s += '<table border=0 cellspacing=0 cellpadding=2>' ;
			var start =0 ;
			for( var i=start; i<myvdm.history.length; i++ ){
				var url = myvdm.history[i] ;
				s += '<tr>' ;
				var url_title = url.title ;
				url_title = url_title.replace( /<b>/g, "`" ) ;
				url_title = url_title.replace( /<\/b>/g, "`" ) ;
				
				s += '<td class=myvdmhistoryline'+(i%2)+' title="Klik om de resultaten van de zoekopdracht '+ url_title + ' weer te geven">' ;
				s += '<a href="'+url.url+'">'+url.title+'</a>' ;
				s += '</td>' ;
				s += '<td align=right class=myvdmhistorylinedelete'+(i%2)+'>' ;
				s += '<img src="http://www.voordeelmuis.nl/img/delete.png" onclick="myvdm.deleteUrl('+i+')" title="Klik om deze zoekopdracht ( '+url.title+' ) te verwijderen uit de favorieten">' ;
				s += '</td>' ;				
				s += '</tr>' ;
			} ;
			s += '</table>' ;
			s += '<div id=historymessage></div>' ;
			if( myvdm.history.length > 10 ){
				s += '<div class=myvdmsubboxcontent>' ;
				s += 'Lijst te lang? U kunt favorieten wissen door het rode kruisje achter de zoekopdracht aan te klikken.' ;
				s += '</div>' ;
			} ;
			if( $( 'myvdmhistory' ) ){
				$( 'myvdmhistory' ).innerHTML = s ;
			} ;
		} 			
	, deleteUrl: function( i ){
			var url = myvdm.history[i].url ;
			$( 'historymessage' ).innerHTML = 'Een moment geduld a.u.b.; de zoekopdracht wordt verwijderd...' ;
			$( 'historymessage' ).className = 'myvdmmessage' ;
			myserver.request( 'action=deleteurl&sessionid='+myvdm.session_id+'&url='+escape( url ) , myvdm.deleteUrlOk ) ;
		} 
	, deleteUrlOk: function(){
			myvdm.loadHistory() ;
		} 
	, addToHistory: function( ses_id, url, title ){
			var pos = -1 ;
			for( var i=0; i<myvdm.history.length; i++ ){
				if( myvdm.history[i].title == title ){
					pos = i  ;
				} ;
			} ;
			if( pos >= 0 ){
				//swap history positions
				return ;
			} ;
			for( var i=myvdm.history.length; i > 0 ; i-- ){
				myvdm.history[i] = myvdm.history[i-1] ;
			} ;
			myvdm.history[0] = { url: url, title: title } ;
			myvdm.updateHistory() ;
			myvdm.saveQuery( ses_id,  url, title ) ;
		} 
	, saveQuery: function( ses_id, url, title ){
			myserver.request( 'action=savequery&sessionid='+ses_id+'&url='+escape(url)+'&title='+escape(title), myvdm.saveQueryOk ) ;
		}	
	, saveQueryOk: function( t ){
		} 
	, addLocations: function( id ){
			var sel_loc = new Array() ;
			for( var i = 0; i < myvdm.locations.length; i++ ){
				if( myvdm.locations[i].state ){
					sel_loc.push( myvdm.locations[i].id ) ;
				} ;
			} ;
			if( sel_loc.length > 0  ){
				if( id.href.indexOf( '?' ) < 0 ){
					id.href += '?a=i' ;
				} ;
				id.href += '&l='+sel_loc.join( "," ) ;
			} ;
		}
	, loadLocationsOk: function( t ){
			var r = t.responseText ;
			try {
				var obj = eval(  "(" + r + ")"  ) ;
				myvdm.locations = new Array() ;
				for( var i=0; i< obj.arr.length; i++ ){
					myvdm.locations.push( { id: obj.arr[i].id, name: obj.arr[i].name, state: obj.arr[i].state } ) ;
				} ;
			} catch( e ) {
			} ;
				
			myvdm.showLocationsBox() ;
		} 
	, showLocationsBox: function(){
			var s = '' ;
			var s = '' ;
			s += '<table id=myvdmlocationsbox cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxtitle>' ;
			s += 'Zoeklocaties'
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent>' ;
			s += '<div id=locations>' ;
			s += myvdm.createLocationsBoxContent() ;
			s += '</div>' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		}		
	, createLocationsBoxContent: function(){
			// determine which locations are selected 
			var selected = 0 ;
			for( var i=0; i < myvdm.locations.length; i++ ){
				if( myvdm.locations[i].state ){
					selected++ ;
				} ;
			} ;
			var s = '' ;
			s += '<table border=0 cellspacing=0 cellpadding=0>' ;
			s += '<tr>'
			var i = 0 ;
			s += '<td class=myvdmhistoryline'+(i%2)+' title="Klik om alle folderaanbiedingen in Nederland van '+ myvdmtitle + ' weer te geven">' ;
			s += '<input type=checkbox id="myvdm_all_locations" onclick="myvdm.toggleNLLocation()" ' + (selected==0?' checked ':'')+'>'+ (selected==0?'<b>':'') + '<span onclick="myvdm.toggleNLLocation()" class=myvdm_location>Heel Nederland</span>' + (selected==0?'</b>':'') ;
			s += '</td>' ;
			s += '<td align=right class=myvdmhistorylinedelete'+(i%2)+'>' ;
			s += '</td>' ;				
			s += '</tr>' ;
			i++ ;
			if( myvdm.locations.length > 1 ){
				s += '<tr>'
				s += '<td class=myvdmhistoryline'+(i%2)+' title="Klik om alle folderaanbiedingen in al mijn lokaties van '+ myvdmtitle + ' weer te geven">' ;
					s += '<input type=checkbox onclick="myvdm.toggleAllMyLocations()" id="myvdm_all_my_locations" ' + (selected==myvdm.locations.length?' checked ':'')+' >' + (selected==myvdm.locations.length?'<b>':'') + '<span onclick="myvdm.toggleAllMyLocations()" class=myvdm_location>Al mijn lokaties</span>' + (selected==myvdm.locations.length?'</b>':'');
				s += '</td>' ;
				s += '<td align=right class=myvdmhistorylinedelete'+(i%2)+'>' ;
				s += '</td>' ;				
				s += '</tr>' ;
			} ;
			for( var i=0; i < myvdm.locations.length; i++ ){
				s += '<tr>'
				s += '<td class=myvdmhistoryline'+(i%2)+' title="Klik om ' + myvdm.locations[i].name +' toe te voegen aan uw huidige zoeklocaties">' ;
				s += '<input type=checkbox onclick="myvdm.toggleLocation( ' + myvdm.locations[i].id + ',' + i + ')" id="myvdm_location_'+myvdm.locations[i].id+'" '+(myvdm.locations[i].state?' checked ':'')+'>' ;
				s += '<span class=myvdm_location onclick="myvdm.selectSingleLocation( '+myvdm.locations[i].id + ')" title="Klik om alle folderaanbiedingen in ' +myvdm.locations[i].name + ' van ' + pagetitle +' weer te geven">' +(myvdm.locations[i].state?'<b>':'') + myvdm.locations[i].name + (myvdm.locations[i].state?'</b>':'') +'</span>';
				s += '</td>' ;
				s += '<td align=right class=myvdmhistorylinedelete'+(i%2)+'>' ;
				s += '<img src="http://www.voordeelmuis.nl/img/delete.png" onclick="myvdm.removeLocation( '+myvdm.locations[i].id+')">' ;
				s += '</td>' ;				
				s += '</tr>' ;
			} ;
			s += '</table>' ;
			s += '<br>'
			s += 'Voeg een nieuwe zoeklokatie toe (4-cijferige postcode of plaats): ' ;
			s += '<input type=text class=myvdm id="myvdm_locations_new" value="" size=10>' ;
			s += '<input type=button class=myvdm value="OK" onclick="myvdm.searchNewLocation()">' ;
			s += '<br>' ;
			s += '<div id=myvdm_searchresultsbox></div>' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			return( s ) ;

		}
	, toggleNLLocation: function(){
			var newHref = myvdm.getHref() ;
			if( newHref.indexOf( 'l=' ) < 0 ){
				// no locations
			} else {
				newHref = newHref.replace( /\&l\=([\d\,]+?)$/, "" ) ;
				newHref = newHref.replace( /\&l\=([\d\,]+?)\&/, "&" ) ;
			} ;
			newHref = newHref.replace( /\&f=(\d+)/, "" ) ;
			newHref = newHref.replace( /\&t=(\d+)/, "" ) ;
			myserver.request( "action=selectnolocation&session_id="+myvdm.session_id ) ;
			document.location.href = newHref ;
		} 	
	, toggleAllMyLocations: function(){
			var sel_loc = new Array() ;
			var newHref = myvdm.getHref() ;
			for( var i = 0; i < myvdm.locations.length; i++ ){
				myvdm.locations[i].state = true ;
				sel_loc.push( myvdm.locations[i].id ) ;
			} ;
			if( newHref.indexOf( 'l=' ) < 0 ){
				newHref += '&l='+sel_loc.join( "," ) ;
			} else {
				newHref = newHref.replace( /l\=([\d\,]+?)$/, "l="+sel_loc.join( "," ) ) ;
				newHref = newHref.replace( /l\=([\d\,]+?)\&/, "l="+sel_loc.join( "," )+"&" ) ;
			} ;
			newHref = newHref.replace( /\&f=(\d+)/, "" ) ;
			newHref = newHref.replace( /\&t=(\d+)/, "" ) ;
			// and select it in the session
			myserver.request( "action=selectmultilocation&session_id="+myvdm.session_id+"&location_id="+sel_loc.join(",") ) ;
			document.location.href = newHref ;
		} 	
	, selectSingleLocation: function( id ){
			var newHref = myvdm.getHref() ;
			if( newHref.indexOf( '?' ) < 0 ){
				newHref += '?a=i' ;
			} ;
			if( newHref.indexOf( 'l=' ) < 0 ){
				newHref = newHref + '&l='+id  ;
			} else {
				newHref = newHref.replace( /l\=([\d\,]+?)$/, "l="+id ) ;
				newHref = newHref.replace( /l\=([\d\,]+?)\&/, "l="+id+"&" ) ;
			} ;
			newHref = newHref.replace( /\&f=(\d+)/, "" ) ;
			newHref = newHref.replace( /\&t=(\d+)/, "" ) ;
			// and select it in the session
			myserver.request( "action=selectsinglelocation&session_id="+myvdm.session_id+"&location_id="+id ) ;
			document.location.href = newHref ;
		}	
	, toggleLocation: function( id, idx ){
			if( $( 'myvdm_location_'+id ).checked ){
				myvdm.locations[idx].state = true ;
			} else {
				myvdm.locations[idx].state = false ;
			} ;
			var sel_loc = new Array() ;
			for( var i = 0; i < myvdm.locations.length; i++ ){
				if( myvdm.locations[i].state ){
					sel_loc.push( myvdm.locations[i].id ) ;
				} ;
			} ;
			var newHref = myvdm.getHref() ;
			if( newHref.indexOf( 'l=' ) < 0 ){
				newHref += '&l='+sel_loc.join( "," ) ;
			} else {
				newHref = newHref.replace( /l\=(.*?)$/, "l="+sel_loc.join( "," ) ) ;
				newHref = newHref.replace( /l\=(.*?)\&/, "l="+sel_loc.join( "," )+"&" ) ;
			} ;
			// and select it in the session
			newHref = newHref.replace( /\&f=(\d+)/, "" ) ;
			newHref = newHref.replace( /\&t=(\d+)/, "" ) ;
			myserver.request( "action=selectmultilocation&session_id="+myvdm.session_id+"&location_id="+sel_loc.join(",") ) ;
			document.location.href = newHref ;
		}	
	, removeLocation: function( id ){
			myserver.request( 'action=removelocation&session_id='+myvdm.session_id+'&location_id='+id ) ;
			var newHref = myvdm.getHref() ;
			
			var result = newHref.indexOf( id ) ;
			if( result > 0  ){
				newHref = newHref.substr( 0, result ) + newHref.substr( result + new String( id ).length + 1, newHref.length - new String( id ).length - 1 ) ;
			} ;
			// als er een losse komma overblijft, verwijder deze
			newHref = newHref.replace( /,$/, "" ) ;
			newHref = newHref.replace( /l\=[^\d]/, "" ) ;
			newHref = newHref.replace( /,\&/, "" ) ;
			newHref = newHref.replace( /\&l\=$/, "" ) ;
			
			document.location.href = newHref ;
		} 			
			
	, searchNewLocation: function(){
			var qry = $( 'myvdm_locations_new' ).value ; 
			if( qry.length > 0 ){
				myserver.request( 'action=searchlocation&sessionid='+myvdm.session_id+'&qry='+escape( qry ) , myvdm.searchNewLocationOk ) ;
			} ;
		}
	, searchNewLocationOk: function( t ){
			// load a list of potential results from the server
			var r = t.responseText ;
			try {
				var obj = eval(  "(" + r + ")"  ) ;
				myvdm.search_locations = new Array() ;
				if( obj.arr.length == 1 ){
					// directly add the found result to the locations array
					myvdm.search_locations.push( { id: obj.arr[0].id, name: obj.arr[0].name } ) ;
					myvdm.selectSearchLocation( obj.arr[0].id, 0 ) ;
				} else {
					for( var i=0; i< obj.arr.length; i++ ){
						myvdm.search_locations.push( { id: obj.arr[i].id, name: obj.arr[i].name } ) ;
					} ;
				} ;
			} catch( e ) {
			} ;
			if( myvdm.search_locations.length != 1 ){
				myvdm.showNewLocationsBox() ;
			} ;
		} 
	, showNewLocationsBox: function(){
			var s = '' ;
			s += '<table border=0 cellspacing=0 cellpadding=0>' ;
			if( myvdm.search_locations.length > 0 ){
				s += '<tr>' ;
				s += '<td class=myvdmsubboxtitle >' ;
				s += 'Gevonden lokaties bij uw zoekopdracht' ;
				s += '</td>' ;
				s += '</tr>' ;
				s += '<tr>' ;
				s += '<td class=myvdmsubboxcontent >' ;
				s += 'Selecteer een van de lokaties om toe te voegen aan uw lokaties:' ;
				s += '<br>' ;
				s += '<ul>' ;
				for( var i = 0; i < myvdm.search_locations.length; i++ ){
					s += '<li>' + '<span style="cursor:hand;" onmouseover="myvdm.highlight(this)" onmouseout="myvdm.downlight(this)" onmousedown="myvdm.selectSearchLocation( '+myvdm.search_locations[i].id+',' + i + ')">' + myvdm.search_locations[i].name + '</span>' ;
				} ;
				s += '</ul>' ;
				s += '</td>' ;
				s += '</tr>' ;
			} else {
				s += '<tr>' ;
				s += '<td class=myvdmsubboxtitle >' ;
				s += 'Geen locaties gevonden bij uw zoekopdracht' ;
				s += '</td>' ;
				s += '</tr>' ;
				s += '<tr>' ;
				s += '<td class=myvdmsubboxcontent >' ;
				s += 'Controleer de spelling en probeer het nogmaals' ;
				s += '</td>' ;
				s += '</tr>' ;
				
			} ;
			s += '</table>' ;	
			$( 'myvdm_searchresultsbox' ).innerHTML = s ;
		} 
	, selectSearchLocation: function( id, idx){
			myvdm.locations.push( { id: id, name: myvdm.search_locations[idx].name, state:  false } ) ;
			// also add the location to the session on the server
			// refresh the current page with the new location added
			myserver.request( "action=addlocation&id="+id+"&session_id="+myvdm.session_id+'&name='+myvdm.search_locations[idx].name ) ;
			$( 'myvdmlocationsbox' ).outerHTML = myvdm.createLocationsBoxContent() ;
			var newHref = myvdm.getHref() ;
			
			var result = newHref.match( /v\.cgi(.*)$/  ) ;
			if( result ){
				newHref = newHref.replace( /(v\.cgi.*)$/, "x.cgi?a=i&l="+id ) ;
				document.location.href = newHref ;
			} ;
		}
	, highlight: function( id ){
			id.style.textDecoration = 'underline' ;
		}
	, downlight:function(id){
			id.style.textDecoration = 'none' ;
		}
			
	, showLoginBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox >' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxtitle onclick="myvdm.expandLoginBox()" onmouseover="myvdm.highlight(this)" onmouseout="myvdm.downlight( this)" title="Klik hier om in te loggen" style="cursor:hand">' ;
			s += 'Log in als bekende gebruiker' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent id=loginboxcontent style="display:none">' ;
			s += 'Email ' ;
			s += '<input type=text class=myvdm size=22 id=loginemail value="" onkeydown="myvdm.enableLoginButton()">' ;
			s += '<br>' ;
			s += 'Wachtwoord ' ;
			s += '<input type=password size=13 class=myvdm id=loginpassword value="" onkeydown="myvdm.enableLoginButton()"><br>'
			s += '<input type=checkbox id=autologin><span style="font-size:10px">Onthouden</span>&nbsp;' ;
			s += '<input type=button id=loginbutton class=myvdm value="OK" onclick="myvdm.login()">'
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent>' ;
			s += '<div id=loginmessage ></div>'
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		}
	, expandLoginBox: function(){
			$( 'loginboxcontent' ).style.display = 'block' ;
		}
	, enableLoginButton: function(){
			$( 'loginbutton' ).disabled = false ;
		}		
	, login: function(){
			var email = $( 'loginemail' ).value ;
			var password = $( 'loginpassword' ).value ;
			$( 'loginmessage' ).innerHTML = 'Even geduld a.u.b; wij controleren uw wachtwoord...' ;
			$( 'loginmessage' ).className = 'myvdmmessage' ;
			$( 'loginbutton' ).disabled = true ;
			p_autologin = 0 ;
			if( $( 'autologin' ).checked ){
				p_autologin = 1 ;
			} else {
				p_autologin = 0 ;
			} ;
			myserver.request( 'action=login&email='+email+'&password='+password+'&autologin='+p_autologin, myvdm.loginOk ) ;
		} 
	, loginOk: function( t ){
			var r = t.responseText ;
			try {
				obj = eval(  "(" + r + ")"  ) ;
				if( obj.loginOk ){
					myvdm.initialize() ;
				} else {
					$( 'loginmessage' ).innerHTML = obj.msg ;
				} ;
			} catch( e ) {
					$( 'loginmessage' ).innerHTML = "Een technisch probleem is opgetreden bij het inloggen; probeer het later nogmaals." ;
			} ;
		} 
	, autoLogin: function( autologin_value ){
			myserver.request( 'action=autologin&autologin_value='+escape( autologin_value ), myvdm.loginOk ) ;
		} 
	, showNewUserBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxtitle onclick="myvdm.expandNewUserBox()" onmouseover="myvdm.highlight(this)" onmouseout="myvdm.downlight( this)" title="Klik hier om u als nieuwe gebruiker op te geven" style="cursor:hand">' ;
			s += 'Nieuwe gebruiker' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent align=right style="display:none" id="newuserboxcontent">' ;
			s += 'Email ' ;
			s += '<input type=text class=myvdm id=newuseremail size=22 value="" onkeydown="myvdm.enableSignupButton()">' ;
			s += '<br>'
			s += '<input type=button id=signupbutton class=myvdm value="aanmelden" onclick="myvdm.signUp()">'
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent>' ;
			s += '<div id=newusermessage></div>'
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		} 
	, expandNewUserBox: function(){
			$( 'newuserboxcontent' ).style.display = 'block' ;
		} 
	, enableSignupButton: function(){
			$( 'signupbutton' ).disabled = false ;
		}		
	, signUp: function(){
			var email = $( 'newuseremail' ).value ;
			$( 'newusermessage' ).innerHTML = 'Even geduld a.u.b; wij controleren uw email adres...' ;
			$( 'newusermessage' ).className = 'myvdmmessage' ;
		$( 'signupbutton' ).disabled = true ;
			myserver.emailrequest( "action=signup&email="+email, myvdm.signUpOk ) ;
		} 
	, signUpOk: function( t ){
			var r = t.responseText ;
			try {
				obj = eval( "(" + r + ")"  ) ;
				$( 'newusermessage' ).innerHTML = obj.msg ;
			$( 'newusermessage' ).className = 'myvdmmessage' ;
				if( obj.signupOk ){
					myvdm.initialize() ;
					return ;
				} else {
					$( 'newusermessage' ).innerHTML = obj.msg ;
			$( 'newusermessage' ).className = 'myvdmmessage' ;
				} ;
			} catch( e ) {
				$( 'newusermessage' ).innerHTML = "Helaas is het wegens technische redenen momenteel niet mogelijk om u aan te melden; probeer het morgen nogmaals." ;
			$( 'newusermessage' ).className = 'myvdmmessage' ;
			} ;
		} 		
	, showAdvantagesBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxtitle onclick="myvdm.expandAdvantagesBox()" onmouseover="myvdm.highlight(this)" onmouseout="myvdm.downlight( this)" title="Klik hier voor meer informatie over Mijn Voordeelmuis" style="cursor:hand">' ;
			s += 'Mijn Voordeelmuis' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent id="advantagescontent">' ;
			s += 'Vind nog sneller uw favoriete aanbiedingen met uw eigen Voordeelmuis. ' ;
			s += 'Al uw zoekopdrachten en zoeklokaties, zoals de bovenstaande,  worden bewaard en zijn op te halen door in te loggen met uw email adres. ' ;
			s += '<br><br>' ;
			s += 'Wat moet u doen?' ;
			s += '<br><br>' ;
			s += 'Geef uw eigen, volledige email adres op bij "Nieuwe gebruiker" en klik op "aanmelden". ' ;
			s += 'U wordt meteen ingelogd en ontvangt in uw emailbox uw wachtwoord. ' ;
			s += '<br><br>' ;
			s += 'Met uw email adres en wachtwoord kunt u in het vervolg uw zoekopdrachten weer ophalen. '
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		} 
	, expandAdvantagesBox: function(){
			$( 'advantagescontent' ).style.display = 'block' ;
		}
	, showForgottenPasswordBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxtitle onclick="myvdm.expandForgottenPasswordBox()" onmouseover="myvdm.highlight(this)" onmouseout="myvdm.downlight( this)" title="Klik hier als u uw wachtwoord bent vergeten" style="cursor:hand">' ;
			s += 'Wachtwoord vergeten?' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent style="width:100%;display:none;" id="forgottenpasswordcontent">' ;
			s += 'Voer uw email adres in, klik op "OK" en uw wachtwoord wordt verzonden naar dit email adres' ;
			s += '<br>' ;
			s += '<input type=text class=myvdm id=forgottenpasswordemail>' ;
			s += '<input type=button class=myvdm value=" OK " onclick="myvdm.forgottenPassword()">' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent>' ;
			s += '<div id=forgottenpasswordmessage></div>' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		} 		
	, expandForgottenPasswordBox: function(){
			$( 'forgottenpasswordcontent' ).style.display = 'block' ;
		}
	, forgottenPassword: function(){
			var email = $( 'forgottenpasswordemail' ).value ;
			$( 'forgottenpasswordmessage' ).innerHTML = 'Een moment geduld a.u.b., het wachtwoord wordt verzonden...'
			$( 'forgottenpasswordmessage' ).className = 'myvdmmessage' ;
			myserver.emailrequest( 'action=forgottenpassword&email='+email, myvdm.forgottenPasswordOk )
		} 
	, forgottenPasswordOk: function( t ){
			var r = t.responseText ;
			alert( r ) ;
			try {
				obj = eval( "(" + r + ")"  ) ;
			} catch( e ) {
				$( 'forgottenpasswordmessage' ).innerHTML = "Helaas is het wegens technische redenen momenteel niet mogelijk om uw wachtwoord toe te zenden; probeer het later nogmaals." ;
				$( 'forgottenpasswordmessage' ).className = 'myvdmmessage' ;
			} ;
			$( 'forgottenpasswordmessage' ).innerHTML = obj.msg ;
			$( 'forgottenpasswordmessage' ).className = 'myvdmmessage' ;
		} 	
	, showHistoryBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td  class=myvdmsubboxtitle>' ;
			s += 'Zoekfavorieten' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent style="width:100%">' ;
			s += '<div id=myvdmhistory style="width:100%;overflow:auto;height:150px;">' ;
			s += '</div>' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		} 
	, showNotificationsBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td  class=myvdmsubboxtitle>' ;
			s += 'Nieuw! Aanbieding Alarm' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent style="width:100%">' ;
			s += '<div id=aanbiedingalarm style="width:100%;overflow:auto;height:150px;">' ;
			s += '' ;
			s += 'U kunt nu op de hoogte blijven van de nieuwste aanbiedingen met het <b>Aanbieding Alarm</b>. Deze wekelijkse e-mail bevat alleen die aanbiedingen waarin u geinteresseerd bent. ' ;
			s += 'Activeer uw persoonlijke aanbieding alarm door boven aan de pagina op "ja" te klikken om een zoekopdracht als aanbieding alarm toe te voegen.' ;
			s += '</div>' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		} 
	, showLogoutBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td  class=myvdmsubboxtitle>' ;
			s += ' ' ;
			s += 'Uitloggen' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent align=right>' ;
			s += '<input type=button class=myvdm value=" uitloggen " onclick="myvdm.logout()">' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		} 

	, logout: function(){
			var registeredusersessionid = mycookie.get( 'registeredusersessionid' ) ;
			myserver.request( "action=logout&registeredusersessionid="+registeredusersessionid, myvdm.initialize ) ;
		}
	, loadList: function(){
			myserver.request( "action=loadlist&session_id="+myvdm.session_id, myvdm.loadListOk ) ;
		}
	, addToList:function( id ){
			myserver.request( "action=addtolist&session_id="+myvdm.session_id+"&ab_id="+id, myvdm.addToListOk ) ;
		}
	, addToListOk: function(){
			myserver.request( "action=loadlist&session_id="+myvdm.session_id, myvdm.loadListOk ) ;
		}
	, loadListOk: function( t ){
			var r = t.responseText ;
			try {
				obj = eval( "(" + r + ")"  ) ;
				myvdm.list = new Array() ;
				for( var i=0; i< obj.arr.length; i++ ){
					myvdm.list.push( { id: obj.arr[i].id, 
														 winkelnaam: obj.arr[i].winkelnaam, 
														 winkelid: obj.arr[i].winkelid,
														 categorienaam: obj.arr[i].categorienaam,
														 categorieid: obj.arr[i].categorieid,
														 verlopen: obj.arr[i].verlopen,
														 trefwoorden: obj.arr[i].trefwoorden } ) ;
				} ;
			} catch( e ) {
			} ;
			if( $( 'aanbiedingenlijst' ) ){
				$( 'aanbiedingenlijst' ).innerHTML = myvdm.createListBoxContent() ;
			} else {
				myvdm.showListBox() ;
			} ;
		} 
	, showListBox: function(){
			var s = '' ;
			s += '<table cellspacing=0 cellpadding=0 class=myvdmsubbox>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxtitle>' ;
			s += 'Aanbiedingenlijst'
			s += '</td>' ;
			s += '</tr>' ;
			s += '<tr>' ;
			s += '<td class=myvdmsubboxcontent>' ;
			s += '<div id=aanbiedingenlijst style="width:194px;">' ;
			s += myvdm.createListBoxContent() ;
			s += '</div>' ;
			s += '</td>' ;
			s += '</tr>' ;
			s += '</table>' ;
			$( 'myvdmbox' ).innerHTML += s ;
		}	
	, createListBoxContent: function(){
		  var s = '' ;
 			s += '<table cellspacing=0 cellpadding=0>' ;
			
			var i = 0 ;
			if( myvdm.list.length > 0 ){
				for( i=0; i < myvdm.list.length; i++ ){
					var a =myvdm.list[i] ;
					 s += '<tr><td class="myvdmhistoryline'+(i%2)+'" style="text-align:center" colspan=2>' ;
					 s += '<a href="./x.cgi?a=d&d='+a.id+'">' ;
						s += '<img border=0 src="http://vdmtn.s3.amazonaws.com/'+Math.floor(a.id/1000)+'/'+a.id+'.gif" title="klik voor details --- '+a.trefwoorden+'"></a>'  + '<br>' ;
					 s += '</td></tr>' ;
					 s += '<tr><td class="myvdmhistoryline'+(i%2)+'" style="text-align:center">' ;
					 s += '<a href="./x.cgi?a=w&w='+a.winkelid+'">'+a.winkelnaam + '</a> ' ;
					 s += '<a onclick=_l(this) href="./x.cgi?a=b&b='+a.categorieid+'">'+a.categorienaam +'</a>' ;
					 if( a.verlopen ){
					 	s += ' VERLOPEN' ;
					 } ;
					 s += '</td>' ;
					 s += '<td class="myvdmhistoryline'+(i%2)+'" style="text-align:right;cursor:hand;">' ;
					 s += '<img border=0 src="http://www.voordeelmuis.nl/img/delete.png" onclick="myvdm.removeListItem( '+a.id+')" title="Verwijder deze aanbieding uit uw lijst">' ;
					 s += '</td></tr>' ;
				} ;
	//		 	i++ ;
			  s += '<tr><td class="myvdmhistoryline'+(i%2)+'" colspan=2>' ;
			  s += '<span onclick="myvdm.printItems()">Print de aanbiedingenlijst</span>' ;
			 	s += '</td></tr>' ; 
				i++ ;
			  s += '<tr><td class="myvdmhistoryline'+(i%2)+'" colspan=2>' ;
			  s += '<span onclick="myvdm.removeVerlopenItems()">Verwijder <b>verlopen aanbiedingen</b> uit de lijst</span>' ;
			 	s += '</td></tr>' ; 
			 	i++ ;
			  s += '<tr><td class="myvdmhistoryline'+(i%2)+'" colspan=2>' ;
			  s += '<span onclick="myvdm.removeAllItems()">Verwijder <b>alle</b> aanbiedingen uit de lijst</span>' ;
			 	s += '</td></tr>' ; 
				s += '</table>' ;
			} else {
	 			s += '<table cellspacing=0 cellpadding=0>' ;
			  s += '<tr><td class="myvdmhistoryline'+(i%2)+'" >' ;
			  s += 'Voeg aanbiedingen toe aan uw eigen lijst door op de link "voeg toe aan lijst" te klikken in het detailoverzicht van de aanbieding.' ;
			 	s += '</td></tr>' ; 
				s += '</table>' ;
			} ;	
			return( s ) ;
		} 
	, removeListItem: function( id ){
			var fndIdx = -1 ;
			for( var i=0; i < myvdm.list.length; i++ ){
				if( myvdm.list[i].id == id ){
					fndIdx = i ;
				} ;
			} ;
			if( fndIdx >= 0 ){
				for( var i=fndIdx; i < myvdm.list.length-1; i++ ){
					myvdm.list[i] = myvdm.list[i+1] ;
				} ;
				myvdm.list.length-- ;
			} ;
			if( $( 'aanbiedingenlijst' ) ){
				$( 'aanbiedingenlijst' ).innerHTML = '' ;
				$( 'aanbiedingenlijst' ).innerHTML = myvdm.createListBoxContent() ;
			} else {
				myvdm.showListBox() ;
			} ;			
			myserver.request( "action=removefromlist&session_id="+myvdm.session_id+"&ab_id="+id ) ;
		}
	, removeAllItems: function(){
			myserver.request( "action=clearlist&session_id="+myvdm.session_id, myvdm.loadList ) ;
		}
	, removeVerlopenItems: function(){
			var verlopen = new Array() ;
			for( var i=0; i < myvdm.list.length; i++ ){
				if( myvdm.list[i].verlopen ){
					verlopen.push( myvdm.list[i].id  ) ;
				} ;
			} ;
			myserver.request( "action=removefromlist&session_id="+myvdm.session_id+'&ab_id='+verlopen.join(","), myvdm.loadList ) ;
		} 
	, printItems: function(){
			// open a new window with the action pi and as parameters all the ids
			// activate the print command on this window
			var items = new Array() ;
			for( var i=0; i < myvdm.list.length; i++ ){
				items.push( myvdm.list[i].id ) ;
			} ;
			
			window.open( "./x.cgi?a=pl&pl="+items.join( "," ), "printlist" ) ;
		} 
	, saveExit: function( id ){
			var item_id = 0 ;
			if( id.item_id ){
				item_id = id.item_id ;
			} else {
				item_id = 0 ;
			} ;
			myserver.request( "action=saveexit&session_id="+myvdm.session_id+'&item_id='+item_id+'&url='+escape(id.href) ) ;
		}
	, saveHelp: function( id ){
			var item_id = 0 ;
			if( id.help_id ){
				item_id = id.help_id ;
			} else {
				item_id = 0 ;
			} ;
			myserver.request( "action=savehelp&session_id="+myvdm.session_id+'&item_id='+item_id ) ;
		}
} ;



var myserver = {
		EMAIL_CLIENT_REQUEST: l10n.EMAIL_CLIENT_REQUEST 
	,	PROCESS_CLIENT_REQUEST: l10n.PROCESS_CLIENT_REQUEST 
	, request: function( params, callback ){
			var cb = callback ;
			if( !cb )	cb = function() {} ;
			var request = new Ajax.Request(
		   this.PROCESS_CLIENT_REQUEST,
		   {
		   		method: 'post',
		   		parameters: params,
		   		onComplete: cb
		   } 
		   ) ;
		} 
	, emailrequest: function( params, callback ){
			var cb = callback ;
			if( !cb )	cb = function() {} ;
			var request = new Ajax.Request(
		   this.EMAIL_CLIENT_REQUEST,
		   {
		   		method: 'post',
		   		parameters: params,
		   		onComplete: cb
		   } 
		   ) ;
		} 
} ;

function _l( id ){
	myvdm.addLocations( id ) ;
} ;

function _e( id ){
	myvdm.saveExit( id ) ;
} ;

function _h( id ){
	myvdm.saveHelp( id ) ;
} ;

function _pf( ab_id, pf_id ){
	myserver.request( "action=savepf&session_id="+myvdm.session_id+'&ab_id='+ab_id+'&pf_id='+pf_id ) ;
} ;

function modifyQuery( q ){
	var newHref = myvdm.getHref() ;
	var sel_loc = new Array() ;
	for( var i = 0; i < myvdm.locations.length; i++ ){
		if( myvdm.locations[i].state ){ 
			sel_loc.push( myvdm.locations[i].id ) ;
		} ;
	} ;
	if( newHref.indexOf( 'q=' ) < 0 ){
		newHref += '&q='+q ;
	} else {
		if( newHref.indexOf( '&',  newHref.indexOf( 'q=' ) ) < 0 ){
			newHref = newHref.replace( /q\=(.*?)$/, "q="+q ) ;
		} else {
			newHref = newHref.replace( /q\=(.*?)\&/, "q="+q+"&" ) ;
		} ;
	} ;
	if( newHref.indexOf( 'l=' ) < 0 ){
		newHref += '&l='+sel_loc.join( "," ) ;
	} else {
		if( newHref.indexOf( '&',  newHref.indexOf( 'l=' ) ) < 0 ){
			newHref = newHref.replace( /l\=(.*?)$/, "l="+sel_loc.join( "," ) ) ;
		} else {
			newHref = newHref.replace( /l\=(.*?)\&/, "l="+sel_loc.join( "," )+"&" ) ;
		} ;
	} ;
	newHref = newHref.replace( /\&f=(\d+)/, "" ) ;
	newHref = newHref.replace( /\&t=(\d+)/, "" ) ;
	document.location.href = newHref ;
} ;

function newQuery( q ){
	var newHref = myvdm.getHref() ;
	var sel_loc = new Array() ;
	newHref = newHref.substr( 0, newHref.indexOf( '?' ) ) ;
	newHref += '?a=q&q='+q ;
	for( var i = 0; i < myvdm.locations.length; i++ ){
		if( myvdm.locations[i].state ){ 
			sel_loc.push( myvdm.locations[i].id ) ;
		} ;
	} ;
	if( sel_loc.length > 0  ){
		newHref += '&l='+sel_loc.join( "," ) ;
	} ;			
	document.location.href = newHref ;
} ;

function respondToKeydown( ev ){
	if( ev.keyCode == Event.KEY_RETURN ){
		newQuery( Event.element(ev).value ) ;
	} ;
} ;
function removeQueryFilter( qt ){
	var newHref = myvdm.getHref() ;
	var sel_loc = new Array() ;
	if( qt == 'q' ){
		newHref = newHref.replace( /\&q=([^\&]*)/, "" ) ;
	} ;
	if( qt == 'b'  ){
		newHref = newHref.replace( /\&b=(\d+)/, "" ) ;
	} ;
	if( qt == 'w' ){
		newHref = newHref.replace( /\&w=(\d+)/, "" ) ;
	} ;
	for( var i = 0; i < myvdm.locations.length; i++ ){
		if( myvdm.locations[i].state ){ 
			sel_loc.push( myvdm.locations[i].id ) ;
		} ;
	} ;
	if( sel_loc.length > 0 ){
		if( newHref.indexOf( 'l=' ) < 0 ){
			newHref += '&l='+sel_loc.join( "," ) ;
		} else {
			if( newHref.indexOf( '&',  newHref.indexOf( 'l=' ) ) < 0 ){
				newHref = newHref.replace( /l\=(.*?)$/, "l="+sel_loc.join( "," ) ) ;
			} else {
				newHref = newHref.replace( /l\=(.*?)\&/, "l="+sel_loc.join( "," )+"&" ) ;
			} ;
		} ;
	} else {
		if( newHref.indexOf( '&',  newHref.indexOf( 'l=' ) ) < 0 ){
			newHref = newHref.replace( /l\=(.*?)$/, "" ) ;
		} else {
			newHref = newHref.replace( /l\=(.*?)\&/, "" ) ;
		} ;
	} ;		
	newHref = newHref.replace( /\&f=(\d+)/, "" ) ;
	newHref = newHref.replace( /\&t=(\d+)/, "" ) ;
	if( newHref.match( /a=b.*\&b=\d+/ ) || newHref.match( /a=q.*\&q=/ ) || newHref.match( /a=w.*\&w=\d+/ ) ){	
		document.location.href = newHref ;
	} else {
		if( newHref.match( /\&q=/ ) ){
			newHref = newHref.replace( /a=(.)\&/, "a=q&" ) ;
		} ;
		if( newHref.match( /\&b=/ ) ){
			newHref = newHref.replace( /a=(.)\&/, "a=b&" ) ;
		} ;
		if( newHref.match( /\&w=/ ) ){
			newHref = newHref.replace( /a=(.)\&/, "a=w&" ) ;
		} ;
	} ;
	if( newHref.match( /a=b.*\&b=\d+/ ) || newHref.match( /a=q.*\&q=/ ) || newHref.match( /a=w.*\&w=\d+/ ) ){	
		document.location.href = newHref ;
	} else {		
		if( sel_loc.length > 0 ){
			document.location.href = myvdm.getHref().substr( 0, newHref.indexOf( '?' ) ) + '?a=i' + '&l=' + sel_loc.join( "," )   ;
		} else {
			document.location.href = myvdm.getHref().substr( 0, newHref.indexOf( '?' ) ) + '?a=i'   ;
		} ;
	} ;
} ;

function changeBrowseFilter( sel_id ){
	changeQueryFilter( sel_id, 'b' ) ;
} ;

function changeQueryFilter( sel_id, qt ){
	var newHref = myvdm.getHref() ;
	var sel_loc = new Array() ;
	if( qt == 'q' ){
		var result = newHref.match( /q=([^\&]*)/ ) ;
		if( result ){
			if( sel_id.value ){
				newHref = newHref.replace( /\&q=([^\&]*)/, "&q="+sel_id.value ) ;
			} else {
				newHref = newHref.replace( /\&q=([^\&]*)/, "" ) ;
			} ;
		} else {
			if( sel_id.value ){
				newHref += '&q='+sel_id.value ;
			} ;
		} ;			
	} ;
	if( qt == 'b'  ){
		var result = newHref.match( /b=(\d+)/ ) ;
		if( result ){
			if( sel_id.value ){
				newHref = newHref.replace( /\&b=(\d+)/, "&b="+sel_id.value ) ;
			} else {
				newHref = newHref.replace( /\&b=(\d+)/, "" ) ;
			} 
		} else {
			if( sel_id.value ){
				newHref += '&b='+sel_id.value ;
			} ;
		} ;
	} ;
	if( qt == 'w' ){
		var result = newHref.match( /w=(\d+)/ ) ;
		if( result ){
			if( sel_id.value ){
				newHref = newHref.replace( /\&w=(\d+)/, "&w="+sel_id.value ) ;
			} else {
				newHref = newHref.replace( /\&w=(\d+)/, "" ) ;
			} ;
		} else {
			if( sel_id.value ){
				newHref += '&w='+sel_id.value ;
			} ;
		} ;			
	} ;
	for( var i = 0; i < myvdm.locations.length; i++ ){
		if( myvdm.locations[i].state ){ 
			sel_loc.push( myvdm.locations[i].id ) ;
		} ;
	} ;
	if( sel_loc.length > 0 ){
		if( newHref.indexOf( 'l=' ) < 0 ){
			newHref += '&l='+sel_loc.join( "," ) ;
		} else {
			if( newHref.indexOf( '&',  newHref.indexOf( 'l=' ) ) < 0 ){
				newHref = newHref.replace( /l\=(.*?)$/, "l="+sel_loc.join( "," ) ) ;
			} else {
				newHref = newHref.replace( /l\=(.*?)\&/, "l="+sel_loc.join( "," )+"&" ) ;
			} ;
		} ;
	} else {
		if( newHref.indexOf( '&',  newHref.indexOf( 'l=' ) ) < 0 ){
			newHref = newHref.replace( /l\=(.*?)$/, "" ) ;
		} else {
			newHref = newHref.replace( /l\=(.*?)\&/, "" ) ;
		} ;
	} ;		
	newHref = newHref.replace( /\&f=(\d+)/, "" ) ;
	newHref = newHref.replace( /\&t=(\d+)/, "" ) ;

	if( newHref.match( /a=b.*\&b=\d+/ ) || newHref.match( /a=q.*\&q=/ ) || newHref.match( /a=w.*\&w=\d+/ ) ){	
		document.location.href = newHref ;
	} else {
		if( newHref.match( /\&q=/ ) ){
			newHref = newHref.replace( /a=(.)\&/, "a=q&" ) ;
		} ;
		if( newHref.match( /\&b=/ ) ){
			newHref = newHref.replace( /a=(.)\&/, "a=b&" ) ;
		} ;
		if( newHref.match( /\&w=/ ) ){
			newHref = newHref.replace( /a=(.)\&/, "a=w&" ) ;
		} ;
	} ;
	if( newHref.match( /a=b.*\&b=\d+/ ) || newHref.match( /a=q.*\&q=/ ) || newHref.match( /a=w.*\&w=\d+/ ) ){	
		document.location.href = newHref ;
	} else {		
		if( sel_loc.length > 0 ){
			document.location.href = myvdm.getHref().substr( 0, newHref.indexOf( '?' ) ) + '?a=i' + '&l=' + sel_loc.join( "," )   ;
		} else {
			document.location.href = myvdm.getHref().substr( 0, newHref.indexOf( '?' ) ) + '?a=i'   ;
		} ;
	} ;
} ;		

function showNotificationContent(){
	if( $('notification_content') ){
		$('notification_content').style.display = 'block' ;
	} ;
} ;

function transformTagCloudLinks(){
	// selecteer alle ct_tg_* Links
	// link tekst wordt opgesplitst in karakters
	// color van de karakters varieert van donker naar lichter
	// startkleur afhankelijk van ranking
	// links worden gescheiden door spaties
	var clouds = new Array( 'categorie_tagcloud', 'winkel_tagcloud', 'keyword_tagcloud', 'merknaam_tagcloud', 'locatie_tagcloud' ) ;
	
	for( var k = 0 ; k < clouds.length; k++ ){
		var seenInitial = new Object ;
		var tc = $( clouds[k] ) ;
		if( tc ){
			var n_children = tc.childNodes.length ;
			for( var i =0; i < n_children ; i++ ){
				var c = tc.childNodes[i] ;
				if( c.tagName == 'A' ){
					var cn = c.className ;
					if( result = cn.match( /ct_tg_(\d+)/ ) ){
						rank = result[1] ;
						if( rank > 12 ){
							rank = 12 ;
						} ;
						startcolor = 255 - rank * rank ;
						endcolor = Math.round((255 - rank * rank * 8 )) ;
						if( endcolor < 0 ){
							endcolor = 0 ;
						} ;
						diffcolor = startcolor - endcolor ;
						c.className = '' ;
						if( n_children > 60 ){
							c.style.paddingLeft = '0.5em' ;
							c.style.paddingRight = '0.5em' ;
						} ;
						var t = c.childNodes[0].nodeValue ;
						var s = '' ;
						for( var j = 0; j < t.length; j++ ){
							if( j == 0 ){
								if( !seenInitial[ t.substr( j, 1 ).toLowerCase() ]  ){
									highlightInitial = 1 ;
									seenInitial[ t.substr( j, 1 ).toLowerCase() ] = true ;
								} ;
							} ;
							s += '<span style="color:rgb( 0, '+ Math.round( 255 - startcolor + Math.round( j * (diffcolor / t.length ) )) + ', 0 );font-family:Calibri;font-size:14px;'+(highlightInitial?'font-weight:bold':'')+'">' ;
							s += t.substr( j, 1 ) ;
							s += '</span>' ;
						} ;
						c.innerHTML = s ;
					} ;
				} ;
			} ;
		} ;
	} ;
} ; 