var test_modus = false;var argeweb_only = false;
window.loaded = false;

/*
if( window.addEventListener ){
	window.addEventListener( 'load', function(){ window.loaded = true; }, false );
}else{
	window.attachEvent( 'onload', function(){ window.loaded = true; } );
}
*/

/*
function implement( victim, event, code ){


	if( window.loaded == true ){
		code();
	}else if( window.addEventListener ){
		window.addEventListener( event, code, false );
	}else{
		window.attachEvent( 'on' + event, code );
	}

}
*/


Ajax.implementEvent( window, 'load', function(){ window.loaded = true; } );
Ajax.MaxConcurrent = 2;

window.bs2 = {"prijslijst":[],"pakketprijslijst":[],"usenetprijslijst":[],"onlinebackupprijslijst":[],"emailhostingprijslijst":[],"redirectprijslijst":[]}
bs2 = window.bs2;



bs2.show_pakket_extra = function( bs2_id ){

	var tekst = '';

	// extra's ophalen

	for( type in bs2.quota_type ){
		tekst = tekst + type + ":  " + bs2.pakketprijslijst[bs2_id].ar_extra[type] + "<br/>";
	}

	return tekst;

}

// bij stap whois de verder bestellen knop laten zien of niet?
bs2.nieuwedomeinen = 0;



function bs_whois_domein( domein, modus, actie ){

	// ajax request om whois element op te halen

	var Request = Ajax.GetAjaxRequest();

	Request.overrideMimeType = 'text/xml; charset=iso-8859-1';

	Request.AddPostValue( 'ajax_whois', 'functie' );
	Request.AddPostValue( domein, 'domein' );
	if( modus )
		Request.AddPostValue( modus, 'modus' );
	if( actie )
		Request.AddPostValue( actie, 'domein_actie' );

	Request.SuccessHandler.ReplaceTBODYById( null );
	Request.SuccessHandler.JSEvalTags( null );

	Request.Send();

}

function bs_whois_domein_table( knop, target ){

	// ajax request om whois element op te halen

	var Request = Ajax.GetAjaxRequest();
	Request.requester.overrideMimeType('text/xml; charset=iso-8859-1');

	Request.AddPostValue( 'ajax_whois_table', 'functie' );
	Request.PostForm( knop.form );
	Request.AddPostValue( target, 'target' );

	Request.SuccessHandler.ReplaceById( null );
	Request.SuccessHandler.JSEvalTags( null );

	Request.Send();

}


function bs_nieuw_domein( domein, domein_iso, actie ){
	// voeg domein toe aan tbody "sc_nieuw"
	// voeg toe aan sc


	if( !domein_iso )
		domein_iso = domein;

	Ajax.StaticHandler.DoShow( Ajax.GetObject('SC_kort_nieuw')  );


	var tbody_old = Ajax.GetObject( 'whois_result[' + clean_id(domein) + ']' );
	var link = Ajax.GetObject( 'whois_result_link[' + clean_id(domein) + ']' );
	var geenlink = Ajax.GetObject( 'whois_result_geenlink[' + clean_id(domein) + ']' );

	// whois resultaat verbergen
	Ajax.StaticHandler.DoHide( link );
	Ajax.StaticHandler.DoShow( geenlink );

	// aan cart toevoegen + shoppingcart updaten
	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_add_domein', 'functie' );
	Request.AddPostValue( domein, 'domein' );
	if( actie )
		Request.AddPostValue( actie, 'domein_actie' );
	Request.SuccessHandler.ReplaceById( null );
	Request.Send();

	// aan sc toevoegen
	var tbody_new = Ajax.GetObject( 'sc_nieuw' );

	var tr = document.createElement( 'TR' );
	var td1 = document.createElement( 'TD' );
	var td2 = document.createElement( 'TD' );
	var td3 = document.createElement( 'TD' );

	td3.setAttribute('width', '20%');


	tr.appendChild( td1 );
	tr.appendChild( td2 );
	tr.appendChild( td3 );




	var hidden_fields = "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">" +
				"<input type=\"hidden\" name=\"new_domein_dienst[" + domein + "]\" value=\"mixed\">" +
				"<input type=\"hidden\" name=\"pakket[" + domein + "]\" value=\"0\">" +
				"<input type=\"hidden\" name=\"redirect[" + domein + "]\" value=\"0\">" +
				"<input type=\"hidden\" name=\"emailhosting[" + domein + "]\" value=\"0\">";

	td1.innerHTML = domein_iso + hidden_fields;
	//td1.innerHTML = domein + "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">";
	//td2.innerHTML = "<select name=\"new_domein_dienst[" + domein + "]\"><option value='registreren'>registreren</option><option value='webhosting'>webhosting</option><option value='emailhosting'>e-mail hosting</option><option value='doorschakelen'>doorschakelen</option></select>";


	var selectorDiv = document.createElement( 'div' );
	selectorDiv.innerHTML = Ajax.GetObject( 'src_dienst_selector_registreren' ).innerHTML;
	var selector = selectorDiv.getElementsByTagName('select').item(0);
	var selectorInfo = selectorDiv.getElementsByTagName('img').item(0);

	selector.domein = domein;
	selector.onchange = dienst_selector_changed;

	td2.appendChild( selector );
	td2.appendChild( selectorInfo );

	td3.innerHTML = "<a href=\"javascript:bs_nieuw_domein_verwijder( '" + domein + "' )\">verwijderen</a>";

	tr.id = 'sc_nieuw_toegevoegd[' + clean_id(domein) + ']';

	tbody_new.appendChild( tr );

	bs2.nieuwedomeinen++;
	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_nieuw_verder1' ) );
	//Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_nieuw_verder2' ) );

		Ajax.StaticHandler.DoHide( Ajax.GetObject( 'snelbestel_domein_normal' ) );
		Ajax.StaticHandler.DoShow( Ajax.GetObject( 'snelbestel_domein_ajax' ) );

	var verder = Ajax.GetObject( 'verder_boven' );

	if( verder )
		Ajax.StaticHandler.DoShow( verder );

	selector.onchange();
}



function bs_nieuw_domein_verwijder( domein, a ){

	var tbody_old = Ajax.GetObject( 'whois_result[' + clean_id(domein) + ']' );

	// whois resultaat verbergen
	//Ajax.StaticHandler.DoShow( tbody_old );
	var link = Ajax.GetObject( 'whois_result_link[' + clean_id(domein) + ']' );
	var geenlink = Ajax.GetObject( 'whois_result_geenlink[' + clean_id(domein) + ']' );

	// whois resultaat verbergen
	if( link )
		Ajax.StaticHandler.DoShow( link );
	if( geenlink )
		Ajax.StaticHandler.DoHide( geenlink );

	// uit cart verwijderen + shoppingcart updaten
	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_remove_domein', 'functie' );
	Request.AddPostValue( domein, 'domein' );
	Request.SuccessHandler.ReplaceById( null );
	Request.Send();

	var tr = Ajax.GetObject( 'sc_nieuw_toegevoegd[' + clean_id(domein) + ']' );
	var tbody_new = Ajax.GetObject( 'sc_nieuw' );
	tbody_new.removeChild( tr );

	bs2.nieuwedomeinen--;
	if( bs2.nieuwedomeinen <= 0 ){
		Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_nieuw_verder1' ) );
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_nieuw_verder2' ) );

		var verder = Ajax.GetObject( 'verder_boven' );

		if( verder )
			Ajax.StaticHandler.DoHide( verder );
	}

}

function bs_verhuis_domein( domein, domein_iso ){
	// voeg domein toe aan tbody "sc_nieuw"
	// voeg toe aan sc

	Ajax.StaticHandler.DoShow( Ajax.GetObject('SC_kort_nieuw')  );

	var tbody_old = Ajax.GetObject( 'whois_result[' + clean_id(domein) + ']' );
	var link = Ajax.GetObject( 'whois_result_link[' + clean_id(domein) + ']' );
	var geenlink = Ajax.GetObject( 'whois_result_geenlink[' + clean_id(domein) + ']' );

	// whois resultaat verbergen
	Ajax.StaticHandler.DoHide( link );
	Ajax.StaticHandler.DoShow( geenlink );

	// aan cart toevoegen + shoppingcart updaten
	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_add_domein', 'functie' );
	Request.AddPostValue( domein, 'domein' );
	Request.AddPostValue( 1, 'verhuizen' );
	Request.SuccessHandler.ReplaceById( null );
	Request.Send();

	// aan sc toevoegen
	var tbody_new = Ajax.GetObject( 'sc_nieuw' );

	var tr = document.createElement( 'TR' );
	var td1 = document.createElement( 'TD' );
	var td2 = document.createElement( 'TD' );
	var td3 = document.createElement( 'TD' );

	td3.setAttribute('width', '20%');

	tr.appendChild( td1 );
	tr.appendChild( td2 );
	tr.appendChild( td3 );

	var hidden_fields = "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">" +
				"<input type=\"hidden\" name=\"verhuizen[" + domein + "]\" value=\"1\">" +
				"<input type=\"hidden\" name=\"new_domein_dienst[" + domein + "]\" value=\"mixed\">" +
				"<input type=\"hidden\" name=\"pakket[" + domein + "]\" value=\"0\">" +
				"<input type=\"hidden\" name=\"redirect[" + domein + "]\" value=\"0\">" +
				"<input type=\"hidden\" name=\"emailhosting[" + domein + "]\" value=\"0\">";

	td1.innerHTML = domein_iso + hidden_fields;
	//td2.innerHTML = "<select name=\"new_domein_dienst[" + domein + "]\"><option value='registreren'>verhuizen</option><option value='webhosting'>webhosting</option><option value='emailhosting'>e-mail hosting</option><option value='doorschakelen'>doorschakelen</option></select>";

	var selectorDiv = document.createElement( 'div' );
	selectorDiv.innerHTML = Ajax.GetObject( 'src_dienst_selector_verhuizen' ).innerHTML;
	var selector = selectorDiv.getElementsByTagName('select').item(0);
	var selectorInfo = selectorDiv.getElementsByTagName('img').item(0);

	selector.domein = domein;
	selector.onchange = dienst_selector_changed;

	td2.appendChild( selector );
	td2.appendChild( selectorInfo );

	td3.innerHTML = "<a href=\"javascript:bs_nieuw_domein_verwijder( '" + domein + "' )\">verwijderen</a>";

	tr.id = 'sc_nieuw_toegevoegd[' + clean_id(domein) + ']';

	tbody_new.appendChild( tr );

	bs2.nieuwedomeinen++;
	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_nieuw_verder1' ) );
	//Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_nieuw_verder2' ) );


		Ajax.StaticHandler.DoHide( Ajax.GetObject( 'snelbestel_domein_normal' ) );
		Ajax.StaticHandler.DoShow( Ajax.GetObject( 'snelbestel_domein_ajax' ) );

	var verder = Ajax.GetObject( 'verder_boven' );

	if( verder )
		Ajax.StaticHandler.DoShow( verder );

	selector.onchange();

}

function dienst_selector_changed( e ){

	var value = Ajax.GetValue( this );

	//debugger;
	//alert( "yo: " + this.domein + ' - ' + value );


	switch( value ){

		case '1':
			this.form['emailhosting['+ this.domein +']'].value = 0;
			this.form['redirect['+ this.domein +']'].value = 0;
			this.form['pakket['+ this.domein +']'].value = 0;
			break;
		case '2':
			this.form['emailhosting['+ this.domein +']'].value = 0;
			this.form['redirect['+ this.domein +']'].value = 1;
			this.form['pakket['+ this.domein +']'].value = 0;
			break;
		case '3':
			this.form['emailhosting['+ this.domein +']'].value = 1;
			this.form['redirect['+ this.domein +']'].value = 1;
			this.form['pakket['+ this.domein +']'].value = 0;
			break;
		case '4':
			this.form['emailhosting['+ this.domein +']'].value = 0;
			this.form['redirect['+ this.domein +']'].value = 2;
			this.form['pakket['+ this.domein +']'].value = 0;
			break;
		case '5':
			this.form['emailhosting['+ this.domein +']'].value = 1;
			this.form['redirect['+ this.domein +']'].value = 2;
			this.form['pakket['+ this.domein +']'].value = 0;
			break;
		case '6':
			this.form['emailhosting['+ this.domein +']'].value = 1;
			this.form['redirect['+ this.domein +']'].value = 0;
			this.form['pakket['+ this.domein +']'].value = 0;
			break;

		default:

			var Res;

			if( Res = value.match( /^pakket_([0-9]+)$/ ) ){
				//alert( 'pakket!' + Res[1] );


				this.form['emailhosting['+ this.domein +']'].value = 0;
				this.form['redirect['+ this.domein +']'].value = 0;
				this.form['pakket['+ this.domein +']'].value = Res[1];
				break;

			}


			this.form['emailhosting['+ this.domein +']'].value = 0;
			this.form['redirect['+ this.domein +']'].value = 0;
			this.form['pakket['+ this.domein +']'].value = 0;
	}


}

function bs_aanpas_domein( domein ){

	// verwijder aanpas link
	// voeg velden toe

	var tr = Ajax.GetObject( 'sc_domein_tr[' + domein + ']' );
	var tds = tr.getElementsByTagName( 'td' );
	tds[2].innerHTML = '(aanpassen...)';

	tds[1].innerHTML = "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\"><input type=\"hidden\" name=\"new_domein_dienst["+domein+"]\" value=\"current\"> wordt aangepast...";

	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_nieuw_verder1' ) );
	//Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_nieuw_verder2' ) );

	Ajax.GetObject( 'SC_kort_form' ).submit();

}

function bs_reopen_domein( domein ){

	bs2.PakkettenToDo++;

	Ajax.StaticHandler.DoShow( Ajax.GetObject('domein_form_part['+domein+']') );
	Ajax.StaticHandler.DoHide( Ajax.GetObject('domein_reopen_part['+domein+']') );

}

function bs_post_domein( domein, knop ){

	if( Ajax.GetObject( 'klaar' ) ){

		//Ajax.StaticHandler.DoDisable( knop );

		var Request = Ajax.GetAjaxRequest();
		Request.PostForm( knop.form );
		Request.Send();

		//Ajax.StaticHandler.DoHide( knop.form );
		Ajax.StaticHandler.DoHide( Ajax.GetObject('domein_form_part['+domein+']') );
		Ajax.StaticHandler.DoShow( Ajax.GetObject('domein_reopen_part['+domein+']') );


		bs2.PakkettenToDo--;

		if( bs2.PakkettenToDo == 0 ){
			// Alles is gedaan, posten maar

			knop.form.functie.value = "apply";
			knop.form.submit();
		}

	}else{


		// geen klaar-knop
		// edit misschien

		knop.form.functie.value = "apply";

		knop.form.submit();

	}

}

function clean_id( string ){

	return string.replace( /\./g, '_' );

}


function add_redirect_form_func( domein, betaald, debug ){

	/* 2010-08-23 George

		aanpassing n.a.v. dat bij het bestellen van een redirect er niet altijd een 'bestel[domein][redirect][1]' aanwezig is, waardoor de onclick van [2] ook niet gaat werken

		- debug om de nieuwe versie te testen
		- betaald om de juiste onclick te doen

	*/

	//if(debug == true){

		try{

			var redirect_radio_1 = Ajax.GetObject( 'bestel['+domein+'][redirect][1]' );
			var redirect_radio_2 = Ajax.GetObject( 'bestel['+domein+'][redirect][2]' );

			var redirectform_1 = Ajax.GetObject( 'bestelform['+domein+'][redirect][1]' );
			var redirectform_2 = Ajax.GetObject( 'bestelform['+domein+'][redirect][2]' );

			onclickMethod = function(){

				if( redirect_radio_1 != null && redirect_radio_1.checked ){
					Ajax.StaticHandler.DoShow( redirectform_1 );
					Ajax.StaticHandler.DoHide( redirectform_2 );
				}else{
					Ajax.StaticHandler.DoShow( redirectform_2 );
					Ajax.StaticHandler.DoHide( redirectform_1 );
				}
			}

			if( redirect_radio_1 != null){
				redirect_radio_1.onclick = onclickMethod;

				if(betaald != true)
					redirect_radio_1.onclick();
			}

			if( redirect_radio_2 != null){
				redirect_radio_2.onclick = onclickMethod;
				//redirect_radio_2.onclick();

				if(betaald == true)
					redirect_radio_2.onclick();
			}

		}catch( err){

			if(debug == true)
			alert('An error occured: '+err.description);
		}


	/*
	}else{
		// originele code
		redirect_radio_1.onclick = function(){

			if( redirect_radio_1.checked ){
				Ajax.StaticHandler.DoShow( redirectform_1 );
				Ajax.StaticHandler.DoHide( redirectform_2 );
			}else{
				Ajax.StaticHandler.DoShow( redirectform_2 );
				Ajax.StaticHandler.DoHide( redirectform_1 );
			}
		}

		redirect_radio_2.onclick = redirect_radio_1.onclick;

		redirect_radio_2.onclick();

	}
	*/

}

function add_domein_form_func( domein ){

	// hosting ja/nee

	var hosting_radio_0 = Ajax.GetObject( 'bestel['+domein+'][hosting][0]' );
	var hosting_radio_1 = Ajax.GetObject( 'bestel['+domein+'][hosting][1]' );

	var hostingform_0 = Ajax.GetObject( 'bestelform['+domein+'][hosting][0]' );
	var hostingform_1 = Ajax.GetObject( 'bestelform['+domein+'][hosting][1]' );

	hosting_radio_0.onclick = function(){
		if( hosting_radio_0.checked ){
			Ajax.StaticHandler.DoShow( hostingform_0 );
			Ajax.StaticHandler.DoHide( hostingform_1 );
			Ajax.GetObject( 'domein_reopen_desc_pakket['+domein+']' ).innerHTML = "";
		}else{
			Ajax.StaticHandler.DoShow( hostingform_1 );
			Ajax.StaticHandler.DoHide( hostingform_0 );
			Ajax.GetObject( 'domein_reopen_desc_pakket['+domein+']' ).innerHTML = " + Webhosting";
		}
	}

	hosting_radio_1.onclick = hosting_radio_0.onclick;

	// redirect

	var redirect_radio_0 = Ajax.GetObject( 'bestel['+domein+'][redirect][0]' );
	var redirect_radio_1 = Ajax.GetObject( 'bestel['+domein+'][redirect][1]' );
	var redirect_radio_2 = Ajax.GetObject( 'bestel['+domein+'][redirect][2]' );

	var redirectform_0 = Ajax.GetObject( 'bestelform['+domein+'][redirect][0]' );
	var redirectform_1 = Ajax.GetObject( 'bestelform['+domein+'][redirect][1]' );
	var redirectform_2 = Ajax.GetObject( 'bestelform['+domein+'][redirect][2]' );

	redirect_radio_0.onclick = function(){

		if( redirect_radio_0.checked ){
			Ajax.StaticHandler.DoShow( redirectform_0 );
			Ajax.StaticHandler.DoHide( redirectform_1 );
			Ajax.StaticHandler.DoHide( redirectform_2 );
			Ajax.GetObject( 'domein_reopen_description['+domein+']' ).innerHTML = "Domeinnaam registreren";
		}else if( redirect_radio_1.checked ){
			Ajax.StaticHandler.DoShow( redirectform_1 );
			Ajax.StaticHandler.DoHide( redirectform_0 );
			Ajax.StaticHandler.DoHide( redirectform_2 );
			Ajax.GetObject( 'domein_reopen_description['+domein+']' ).innerHTML = "Domeinnaam registreren + doorschakelen";
		}else{
			Ajax.StaticHandler.DoShow( redirectform_2 );
			Ajax.StaticHandler.DoHide( redirectform_1 );
			Ajax.StaticHandler.DoHide( redirectform_0 );
			Ajax.GetObject( 'domein_reopen_description['+domein+']' ).innerHTML = "Domeinnaam registreren + betaalde redirect";
		}
	}

	redirect_radio_1.onclick = redirect_radio_0.onclick;
	redirect_radio_2.onclick = redirect_radio_0.onclick;


	Ajax.GetObject('bestel['+domein+'][emailhosting]').onclick = function(){

		if( this.checked ){
			Ajax.StaticHandler.DoShow( Ajax.GetObject( 'bestelform['+domein+'][emailhosting]' ) );
			Ajax.GetObject( 'domein_reopen_desc_email['+domein+']' ).innerHTML = " + E-mailhosting";
		}else{
			Ajax.StaticHandler.DoHide( Ajax.GetObject( 'bestelform['+domein+'][emailhosting]' ) );
			Ajax.GetObject( 'domein_reopen_desc_email['+domein+']' ).innerHTML = "";
		}

	}

	// init

	hosting_radio_0.onclick();
	redirect_radio_0.onclick();
	Ajax.GetObject('bestel['+domein+'][emailhosting]').onclick();

}

function add_pakket_form_func( domein, upgrade, uitbreidingen ){

	// voordeelpakketten link
	var voordeeltabel = Ajax.GetObject( 'voordeel_tabel[' + domein + ']' );
	var voordeellink =  Ajax.GetObject( 'voordeel_link[' + domein + ']' );

	voordeellink.onclick = function(){

		if( voordeeltabel.style.visibility == 'hidden' || voordeeltabel.style.visibility == 'collapse' ){
			Ajax.StaticHandler.DoShow( voordeeltabel );
			voordeellink.innerHTML = "meer pakketten verbergen...";
		}else{
			Ajax.StaticHandler.DoHide( voordeeltabel );
			voordeellink.innerHTML = "meer pakketten...";
		}
	}

	var clustertabel = Ajax.GetObject( 'cluster_tabel[' + domein + ']' );
	var clusterlink =  Ajax.GetObject( 'cluster_link[' + domein + ']' );

	clusterlink.onclick = function(){

		if( clustertabel.style.visibility == 'hidden' || clustertabel.style.visibility == 'collapse' ){
			Ajax.StaticHandler.DoShow( clustertabel );
			//clusterlink.innerHTML = '';
			clusterlink.innerHTML = "hosting platform keuze verbergen";
		}else{
			Ajax.StaticHandler.DoHide( clustertabel );
			clusterlink.innerHTML = "pas het platform aan";
		}

		var clusterselector =  Ajax.GetObject( 'cluster_selector[' + domein + ']' );
		var index = clusterselector.selectedIndex;
		var cluster = clusterselector.options[ index ];
		Ajax.GetObject( 'current_cluster2[' + domein + ']' ).innerHTML = cluster.text;

	}

	clusterlink.onclick();

	// hier

	var extrastabel = Ajax.GetObject( 'extras_tabel[' + domein + ']' );
	var extraslink =  Ajax.GetObject( 'extras_link[' + domein + ']' );

	extraslink.onclick = function(){

		if( extrastabel.style.visibility == 'hidden' || extrastabel.style.visibility == 'collapse' ){
			Ajax.StaticHandler.DoShow( extrastabel );
			//clusterlink.innerHTML = '';
			extraslink.innerHTML = "verberg extra pakket opties...";
		}else{
			Ajax.StaticHandler.DoHide( extrastabel );
			extraslink.innerHTML = "voeg extra opties toe aan dit pakket";
		}
	}

	if( uitbreidingen == 0 )
		extraslink.onclick();

	// tot hier

	var clusterselector =  Ajax.GetObject( 'cluster_selector[' + domein + ']' );
	clusterselector.onchange = function(){

		var index = clusterselector.selectedIndex;
		var cluster = clusterselector.options[ index ];

		Ajax.GetObject( 'current_cluster[' + domein + ']' ).innerHTML = cluster.text;
		Ajax.GetObject( 'current_cluster2[' + domein + ']' ).innerHTML = cluster.text;
		Ajax.GetObject( 'cluster_details[' + domein + ']' ).innerHTML = feature[ cluster.value ];

	}
	clusterselector.onchange();

	if( upgrade == 1 )
		clusterselector.form.onsubmit = function(){ return pakketform_check_selected( domein ) }

	add_pakket( domein, upgrade );

}

function pakketform_check_selected( domein ){


	var uitbreiding = 0;
	var upgrade = 0;
	var pakket_oud = Ajax.GetValue( Ajax.GetObject( 'pakket_type_oud' ) );

	// current pakket opzoeken...

	var i;
	var radio;

	for( i in ar_pakket ){

		radio = Ajax.GetObject('pakket[' + domein + '][' + i + ']' );

		if( radio.checked ){
			var current_pakket = Ajax.GetValue( radio );
			break;
		}

	}

	for( var i = 0;i < ar_quota_type.length; i++ ){

		if( ar_extra[ar_quota_type[i]] > 0 )
			uitbreiding = 1;

	}

	if( current_pakket != pakket_oud )
		upgrade = 1;

	if( upgrade == 1 || uitbreiding == 1 )
		return true;

	alert( "U heeft geen groter pakket en ook geen uitbreiding. Kies om door te gaan een groter pakket of een uitbreiding." );

	return false;

}

Number.prototype.roundNumber = function(dec) {
	var result = Math.round(this*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

Number.prototype.geld = function(){

	// HEEL GETAL WORDT NIET GOED WEERGEGEVEN

	var num_str = this.roundNumber( 2 ).toString();

    num_str = num_str.replace( new RegExp( /\./ ), ',' );
   	num_str = num_str.replace( new RegExp( /,00/ ), ',-' );
   	num_str = num_str.replace( new RegExp( /(,[0-9])$/ ), '$1'+'0' );

	//alert( 'num: ' + num_str + ' indexOf(,) = ' + num_str.indexOf(',') + 'false is ' + false );

	if( num_str.indexOf(',') == -1 )
		num_str = num_str + ',-';

	//alert( num_str );

	return '&#0128; ' + num_str;
}


function add_pakket( domein, upgrade ){

	bs2.Pakketten.push( new pakket_extra_validator( domein, upgrade ) );
	bs2.PakkettenToDo++;

}

function pakket_extra_validator( domein, upgrade ){

	var me = this;

	this.upgrade = upgrade;

	this.domein = domein;
	this.current_pakket = null;

	this.ar_extra = new Array();
	this.ar_extra_readonly = new Array();

	if( ar_extra[domein] )
		this.ar_extra = ar_extra[domein];
	else
		this.ar_extra = ar_extra;

	if( me.upgrade )
		this.ar_extra_readonly = ar_extra_readonly;

	this.refresh_pakket_inhoud = function( pakket ){

		me.current_pakket = pakket;


		Ajax.GetObject('pakket_naam[' + me.domein + ']').innerHTML = ar_pakket[ pakket ]["naam"];

		document.getElementById('p_std_prijs[' + me.domein + ']').innerHTML = ar_pakket[ pakket ]['prijs_maand'].geld();


		for( var i = 0;i < ar_quota_type.length; i++ ){

			document.getElementById('p_std['+me.domein+']['+ar_quota_type[i]+']').innerHTML = kb_to_amount( ar_quota_type[i], ar_pakket[pakket][ar_quota_type[i]] );

			if( me.upgrade )
				document.getElementById('p_oud['+me.domein+']['+ar_quota_type[i]+']').innerHTML = kb_to_amount( ar_quota_type[i], ar_extra_readonly[ar_quota_type[i]] * ar_custom[ar_quota_type[i]]['amount'] );

		}

		me.redraw_pakket_inhoud();

	}


	this.redraw_pakket_inhoud = function(){

		var p_dyn_prijs = 0;
		var p_oud_prijs = 0;
		var p_tot_prijs = 0;
		var p_oud_tot_prijs = 0;

		for( var i = 0;i < ar_quota_type.length; i++ ){

			//debugger;

			document.getElementById('p_dyn['+me.domein+']['+ar_quota_type[i]+']' ).innerHTML = kb_to_amount( ar_quota_type[i], ar_custom[ar_quota_type[i]]['amount'] * me.ar_extra[ar_quota_type[i]] );
			document.getElementById('p_dyn_prijs['+me.domein+']['+ar_quota_type[i]+']' ).innerHTML = me.get_quota_totaalprijs( ar_quota_type[i] ).geld();

			document.getElementById('ar_extra['+me.domein+']['+ar_quota_type[i]+']' ).setAttribute('value', me.ar_extra[ar_quota_type[i]]);

			if( me.upgrade ){
				document.getElementById('p_tot['+me.domein+']['+ar_quota_type[i]+']' ).innerHTML = kb_to_amount( ar_quota_type[i], (ar_custom[ar_quota_type[i]]['amount'] * ( me.ar_extra[ar_quota_type[i]].valueOf() + me.ar_extra_readonly[ar_quota_type[i]].valueOf() ) ) + ar_pakket[me.current_pakket][ar_quota_type[i]].valueOf() );
				p_oud_prijs = p_oud_prijs + me.get_readonly_totaalprijs( ar_quota_type[i] );
			}else{
				document.getElementById('p_tot['+me.domein+']['+ar_quota_type[i]+']' ).innerHTML = kb_to_amount( ar_quota_type[i], (ar_custom[ar_quota_type[i]]['amount'] * me.ar_extra[ar_quota_type[i]]) + ar_pakket[me.current_pakket][ar_quota_type[i]] );
			}

			p_dyn_prijs = p_dyn_prijs + me.get_quota_totaalprijs( ar_quota_type[i] );
		}

		if( me.upgrade )
			document.getElementById('p_oud_prijs['+me.domein+']' ).innerHTML = p_oud_prijs.geld();
		//document.getElementById('p_oud_dyn_prijs' ).innerHTML = p_oud_prijs.geld();

		document.getElementById('p_dyn_prijs['+me.domein+']' ).innerHTML = p_dyn_prijs.geld();


		var p_tot_prijs = p_dyn_prijs + ar_pakket[me.current_pakket]['prijs_maand'];
		document.getElementById('p_tot_prijs['+me.domein+']').innerHTML = p_tot_prijs.geld();

	}


	this.quota_minder = function( type ){

		if( me.ar_extra[ type ] > 0 )
			me.ar_extra[ type ]--;

		me.redraw_pakket_inhoud();

	}

	this.quota_meer = function( type ){

		me.ar_extra[ type ]++;

		me.redraw_pakket_inhoud();

	}


	this.get_quota_totaalprijs = function( type ){

		return me.ar_extra[ type ] * ar_custom[ type ]['prijs_maand'];

	}

	this.get_readonly_totaalprijs = function( type ){

		return me.ar_extra_readonly[ type ] * ar_custom[ type ]['prijs_maand'];

	}

	// pakketradio's.onclick en onchange koppelen aan refresh_pakket_inhoud

	var i;
	var radio;

	for( i in ar_pakket ){
		radio = Ajax.GetObject('pakket[' + me.domein + '][' + i + ']' );
		if( radio ){
			radio.onchange = function(){ me.refresh_pakket_inhoud( Ajax.GetValue( this ) ); }
			radio.onclick = radio.onchange;
		}
	}

	me.refresh_pakket_inhoud( Ajax.GetValue( radio ) );

	var knop_meer;
	var knop_minder;
	for( i in ar_quota_type ){

		knop_meer = Ajax.GetObject('knop_meer[' + me.domein + '][' + ar_quota_type[i] + ']' );
		knop_meer.quota_type = ar_quota_type[i];
		knop_meer.onclick = function(){ me.quota_meer( this.quota_type ); }

		knop_minder = Ajax.GetObject('knop_minder[' + me.domein + '][' + ar_quota_type[i] + ']' );
		knop_minder.quota_type = ar_quota_type[i];
		knop_minder.onclick = function(){ me.quota_minder( this.quota_type ); }

		//Ajax.GetObject('knop_minder[' + me.domein + '][' + ar_quota_type[i] + ']' ).onclick = function(){ me.quota_minder( ar_quota_type[i] ); }
		//Ajax.GetObject('knop_meer[' + me.domein + '][' + ar_quota_type[i] + ']' ).onclick = function(){ me.quota_meer( ar_quota_type[i] ); }
	}
}



function kb_to_amount( type, amount_kb ){

	var eenheid = ar_custom[ type ][ 'eenheid' ];
	var factor = ar_custom[ type ][ 'factor' ];

	var amount = amount_kb / factor;

	return amount + ' ' + eenheid;

}

function bs_pakket_kies_domein( knop, dienst ){

	// klant heeft aangegeven een nieuw of een bestaand domein te willen. Even ajaxen voor de volgende stap.

	Ajax.StaticHandler.DoDisable( knop );

	var Request = Ajax.GetAjaxRequest();

	Request.AddPostValue( 'ajax_kies_domein', 'functie' );
	Request.AddPostValue( dienst, 'dienst' );
	Request.PostForm( knop.form );
	Request.SuccessHandler.ReplaceById();

	Request.Send();


}

function add_whois_form_func( knop, resultdiv, clean ){

	knop = Ajax.GetObject( knop );

	// knop voorzien van ajax request

	knop.onclick = function(){


		var Request = Ajax.GetAjaxRequest();
		Request.Prio = 1;
		Request.Final = 1; // abort alles met prio < 1

		Request.AddPostValue( 'ajax_whois_batch', 'functie' );

		if( clean )
			Request.AddPostValue( 'clean', 'modus' );
		else
			Request.AddPostValue( 'radio', 'modus' );

		if( knop.form.domein_actie ){
			Request.AddPostSource( knop.form.domein_actie, 'domein_actie' );
		}
		if( knop.form.whoisdomein )
			Request.AddPostSource( knop.form.whoisdomein, 'whoisdomein' );
		if( knop.form.whoisextensie )
			Request.AddPostSource( knop.form.whoisextensie, 'whoisextensie' );
		if( knop.form.sb_domein )
			Request.AddPostSource( knop.form.sb_domein, 'sb_domein' );
		if( knop.form.sb_extensie )
			Request.AddPostSource( knop.form.sb_extensie, 'sb_extensie' );

		Request.StartHandler.Disable( knop );

		if( clean )
			Request.SuccessHandler.ReplaceById( null );
		else
			Request.SuccessHandler.HTMLTo( resultdiv );

		Request.SuccessHandler.JSEvalTags();
		Request.SuccessHandler.Enable( knop );

		Request.Send();

		if( clean )
			window.location.hash = "#";



		if( knop.id != 'snelbestel_domein_ajax' ){

			Ajax.StaticHandler.DoHide( Ajax.GetObject( 'snelbestel_domein_normal' ) );
			Ajax.StaticHandler.DoShow( Ajax.GetObject( 'snelbestel_domein_ajax' ) );

			add_whois_form_func( 'snelbestel_domein_ajax', resultdiv, clean );
		}

	}


}

function add_kies_domein_func( ingelogd ){


	var radio1 = Ajax.GetObject('domein_radio[new]');
	var radio = radio1.form[radio1.name];

	var handler = function(){

		var radioValue = Ajax.GetValue( this );

		Ajax.StaticHandler.DoHide( Ajax.GetObject('form_new') );

		if( Ajax.GetObject('form_from_SC') )
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_from_SC') );

		if( Ajax.GetObject('form_from_CS') )
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_from_CS') );

		if(Ajax.GetObject('form_from_CS_upgrade'))
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_from_CS_upgrade') );

		Ajax.StaticHandler.DoShow( Ajax.GetObject('form_' + radioValue ) );


	}

	if( radio.length ){
		for( var i = 0; i < radio.length; i++ ){
			//radio[i].onclick = handler;
			radio[i].onchange = handler;
			radio[i].onclick = handler;
		}
	}else{
		radio.onchange = handler;
		radio.onclick = handler;
	}

	radio1.onchange();

}

function bs_kies_domein( knop, dienst ){

	if( knop.form.kies_domein ){
		var radio = knop.form.kies_domein;
		if( radio.length ) radio = radio[0];
	}

	if( Ajax.GetValue( 'domein_radio[new]' ) == 'new' && ( !radio || !Ajax.GetValue( radio ) ) ){
		alert( "U geeft aan een nieuw domein te willen registreren, maar u heeft geen domein gekozen." );
		return;
	}

	switch( Ajax.GetValue( 'domein_radio[new]' ) ){
		case 'new':

			knop.form.domein.value = Ajax.GetValue( radio );
			knop.form.new_domein.value = "1";

			knop.form.verhuizen.value = knop.form['kies_domein_verhuizen[' + knop.form.domein.value + ']'].value;
			if( knop.form.upgrade )	knop.form.upgrade.value = "";
			break;
		case 'from_CS':
			knop.form.domein.value = Ajax.GetValue( knop.form['from_CS'] );
			if( knop.form.upgrade )	knop.form.upgrade.value = "";
			break;
		case 'from_CS_upgrade':
			knop.form.domein.value = Ajax.GetValue( knop.form['from_CS_upgrade'] );
			knop.form.upgrade.value = "1";

			break;
		case 'from_SC':
			knop.form.domein.value = Ajax.GetValue( knop.form['from_SC'] );
			if( knop.form.upgrade )	knop.form.upgrade.value = "";
			break;
	}


	//Ajax.StaticHandler.DoDisable( knop ); levert problemen op bij timeout

	knop.form.submit();

}


/*

function add_PC_check_func(){

	Ajax.GetObject('PC_check_knop').onclick = function(){

		var Request = Ajax.GetAjaxRequest();

		Request.PostForm( this.form );

		Request.SuccessHandler.ReplaceById();
		Request.SuccessHandler.JSEvalTags();

		Request.Send();

	}

}

function add_PC_result_func(){

	var div = Ajax.GetObject( 'PC_check_result' );

	var buttons = document.getElementsByTagName( 'input' );
	var i;
	for( i in buttons ){
		if( buttons[i].type == 'button' ){
			buttons[i].onclick = function(){

				var Request = Ajax.GetAjaxRequest();

				Request.PostForm( this.form );

				Request.SuccessHandler.ReplaceById();
				Request.SuccessHandler.JSEvalTags();

				Request.Send();


			}
		}
	}

}

*/

function add_PC_result_func(){

	// lijnsoort selector


}

function add_betaal_func(){

	var tmp_radio;
	var tmp_other = null;

	if( Ajax.GetObject('incasso[0]') ){

		tmp_radio = Ajax.GetObject('incasso[0]');

		if( Ajax.GetObject('incasso[1]') )
			tmp_other = Ajax.GetObject('incasso[1]');

	}else{

		tmp_radio = Ajax.GetObject('incasso[1]');
	}

	if( tmp_radio ){

		tmp_radio.onchange = function(){

			if( Ajax.GetValue( this ) == null ){
			}else if( Ajax.GetValue( this ) == 0 ){
				Ajax.StaticHandler.DoHide( Ajax.GetObject('form_bankgegevens') );
			}else{
				Ajax.StaticHandler.DoShow( Ajax.GetObject('form_bankgegevens') );
			}
		}
		tmp_radio.onclick = tmp_radio.onchange;

		if( tmp_other ){
			tmp_other.onchange = tmp_radio.onchange;
			tmp_other.onclick = tmp_radio.onchange;
		}

		tmp_radio.onchange();
	}

}


function add_klant_func(){

	var reset_form = Ajax.GetObject('show_reset_form');

	Ajax.GetObject('reeds_klant[0]').onchange = function(){

		if( Ajax.GetValue( this ) == null ){
		}else if( Ajax.GetValue( this ) == 0 ){
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_login') );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_new_ww') );
			Ajax.StaticHandler.DoShow( Ajax.GetObject('form_nieuwe_klant') );
		}else if( Ajax.GetValue( this ) == 1 ){
			Ajax.StaticHandler.DoShow( Ajax.GetObject('form_login') );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_new_ww') );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_nieuwe_klant') );

			if( Ajax.GetObject('ww_kwijt') )
				Ajax.GetObject('ww_kwijt').innerHTML = "wachtwoord vergeten?";
		}
	}

	Ajax.GetObject('reeds_klant[1]').onchange = Ajax.GetObject('reeds_klant[0]').onchange;
	Ajax.GetObject('reeds_klant[0]').onclick = Ajax.GetObject('reeds_klant[0]').onchange;
	Ajax.GetObject('reeds_klant[1]').onclick = Ajax.GetObject('reeds_klant[0]').onchange;

	var reset_tabel = Ajax.GetObject( Ajax.GetObject('form_new_ww') );

	if( Ajax.GetObject('ww_kwijt') ){

		Ajax.GetObject('ww_kwijt').onclick = function(){

			Ajax.GetObject('reeds_klant[1]').checked = true;
			var login_tabel = Ajax.GetObject( 'form_login' );

			if( reset_tabel.style.visibility == 'hidden' || reset_tabel.style.visibility == 'collapse' ){

				Ajax.StaticHandler.DoHide( Ajax.GetObject('form_login') );
				Ajax.StaticHandler.DoHide( Ajax.GetObject('form_nieuwe_klant') );
				Ajax.StaticHandler.DoShow( reset_tabel );

				this.innerHTML = "inloggen";

			}else{

				if( login_tabel.style.visibility == 'hidden' || login_tabel.style.visibility == 'collapse' ){

					Ajax.StaticHandler.DoShow( Ajax.GetObject('form_login') );
					Ajax.StaticHandler.DoHide( Ajax.GetObject('form_nieuwe_klant') );
					Ajax.StaticHandler.DoHide( reset_tabel );

					this.innerHTML = "wachtwoord vergeten?";

				}else{

					Ajax.StaticHandler.DoHide( Ajax.GetObject('form_login') );
					Ajax.StaticHandler.DoHide( Ajax.GetObject('form_nieuwe_klant') );
					Ajax.StaticHandler.DoShow( reset_tabel );

					this.innerHTML = "inloggen";

				}
			}

		}
	}

	var specialTreat = false;

	//if(argeweb_only){ // testmodus, random formulier weergeven om daarna te controleren of het invloed heeft op het bestelgedrag van mensen.

		var specialForm = Ajax.GetObject('modusForm'); // ophalen welke modus het formulier in zit

		if(specialForm){

			if(Ajax.GetValue('modusForm') == 2){ // speciale modus, nieuwe velden tonen
				specialTreat = true;
			}
		}

	//}

	Ajax.GetObject('bedrijf[0]').onchange = function(){

		bedrijfValidatie(this);

	}

	function bedrijfValidatie(self, firstTimeLoading){
		/* firstTimeLoading is om te voorkomen dat er bij de eerste keer laden al velden gevalideerd worden */

		/*if( Ajax.GetValue( this ) == null ){
		}else if( Ajax.GetValue( this ) == 0 ){*/
		if( Ajax.GetValue( self ) == null ){
		}else if( Ajax.GetValue( self ) == 0 ){
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_bedrijf') );

			//if(specialTreat){
				if(Ajax.GetObject('form_geb_datum')){
					Ajax.StaticHandler.DoShow( Ajax.GetObject('form_geb_datum') );
				}
			//}
		}else{
			Ajax.StaticHandler.DoShow( Ajax.GetObject('form_bedrijf') );

			//if(specialTreat){
				if(Ajax.GetObject('form_geb_datum')){
					Ajax.StaticHandler.DoHide( Ajax.GetObject('form_geb_datum') );
				}
			//}
		}

		if(test_modus == true && firstTimeLoading == true){
			landValidatie(Ajax.GetObject('bezoekadres[land]'), true);
		}else{
			Ajax.GetObject('bezoekadres[land]').onchange(); // ivm BTW nummer...
		}

	}

	Ajax.GetObject('bedrijf[1]').onchange = Ajax.GetObject('bedrijf[0]').onchange;

	Ajax.GetObject('bedrijf[0]').onclick = Ajax.GetObject('bedrijf[0]').onchange;
	Ajax.GetObject('bedrijf[1]').onclick = Ajax.GetObject('bedrijf[0]').onchange;



	Ajax.GetObject('_postadres[0]').onchange = function(){
		postadresValidatie(this);
	}

	function postadresValidatie( self, firstTimeLoading){
		/* firstTimeLoading is om te voorkomen dat er bij de eerste keer laden al velden gevalideerd worden */



		/*if( Ajax.GetValue( this ) == null ){
		}else if( Ajax.GetValue( this ) == 0 ){*/
		if( Ajax.GetValue( self ) == null ){
		}else if( Ajax.GetValue( self ) == 0 ){
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_postadres') );
		}else{

			Ajax.StaticHandler.DoShow( Ajax.GetObject('form_postadres') );

			if( window.bs2.ordered_ext.nl && Ajax.GetValue( Ajax.GetObject('_domicilieadres[0]') ) != 0 ){

				if( Ajax.GetValue( Ajax.GetObject('bezoekadres[land]') ) == 'NL' ||
					( Ajax.GetValue( Ajax.GetObject('_postadres[0]') ) != 0
					&& Ajax.GetValue( Ajax.GetObject('postadres[land]') ) == 'NL' ) ){

					Ajax.StaticHandler.DoHide( Ajax.GetObject('form_domicilie') );

				}
			}
		}

		if(test_modus == true && firstTimeLoading == true){
			// niks doen omdat het de eerste keer is.
		}else{
			Ajax.GetObject('bezoekadres[land]').onchange();
		}
	}

	Ajax.GetObject('_postadres[1]').onchange = Ajax.GetObject('_postadres[0]').onchange;

	Ajax.GetObject('_postadres[0]').onclick = Ajax.GetObject('_postadres[0]').onchange;
	Ajax.GetObject('_postadres[1]').onclick = Ajax.GetObject('_postadres[0]').onchange;

	Ajax.GetObject('_domicilieadres[0]').onchange = function(){

		if( Ajax.GetValue( this ) == null ){
		}else if( Ajax.GetValue( this ) == 0 ){
			Ajax.StaticHandler.DoHide( Ajax.GetObject('form_new_domicilie') );
		}else{
			Ajax.StaticHandler.DoShow( Ajax.GetObject('form_new_domicilie') );
		}

	}

	Ajax.GetObject('_domicilieadres[1]').onchange = Ajax.GetObject('_domicilieadres[0]').onchange;

	Ajax.GetObject('_domicilieadres[0]').onclick = Ajax.GetObject('_domicilieadres[0]').onchange;
	Ajax.GetObject('_domicilieadres[1]').onclick = Ajax.GetObject('_domicilieadres[0]').onchange;

	if( Ajax.GetObject('klantvan') ){
		Ajax.GetObject('klantvan').onclick = function(){
			if( this.checked ){
				Ajax.StaticHandler.DoShow( Ajax.GetObject('form_nieuwe_klant') );
			}else{
				Ajax.StaticHandler.DoHide( Ajax.GetObject('form_nieuwe_klant') );
			}
		}
	}

	Ajax.GetObject('bezoekadres[land]').onchange = function(){

		landValidatie( this );
	}

	function landValidatie( self, firstTimeLoading ){

		if(window.bs2.landenEU){

			if( Ajax.GetValue( Ajax.GetObject('bedrijf[0]') ) == 0 ||
				( Ajax.GetValue( Ajax.GetObject('bedrijf[1]') ) != 0 &&
				window.bs2.landenEU[Ajax.GetValue( Ajax.GetObject('bezoekadres[land]') )] == "0") ){

				/*

				||
				( Ajax.GetValue( Ajax.GetObject('bedrijf[1]') ) != 0 &&
				window.bs2.landenEU[Ajax.GetValue( Ajax.GetObject('bezoekadres[land]') )] == "0"
				)

				*/

				Ajax.StaticHandler.DoHide( Ajax.GetObject('form_btwnummer') );

			}else{  // buitenlands bedrijf, dus btw nummer vragen
				Ajax.StaticHandler.DoShow( Ajax.GetObject('form_btwnummer') );
			}


			if( window.bs2.ordered_ext.nl ){

				// nl domein, dus over domicilie zeuren indien buitenlander.

				if( Ajax.GetValue( Ajax.GetObject('bezoekadres[land]') ) == 'NL' ||
					( Ajax.GetValue( Ajax.GetObject('_postadres[0]') ) != 0
					&& Ajax.GetValue( Ajax.GetObject('postadres[land]') ) == 'NL' ) ){

					Ajax.StaticHandler.DoHide( Ajax.GetObject('form_domicilie') );

				}else{
					Ajax.StaticHandler.DoShow( Ajax.GetObject('form_domicilie') );

				}
			}


		}else{

			if( Ajax.GetValue( Ajax.GetObject('bedrijf[0]') ) == 0 ||
				( Ajax.GetValue( Ajax.GetObject('bedrijf[1]') ) != 0
				&& Ajax.GetValue( Ajax.GetObject('bezoekadres[land]') ) == 'NL'  ) ){

				/*

				||
				( Ajax.GetValue( Ajax.GetObject('bedrijf[1]') ) != 0 &&
				window.bs2.landenEU[Ajax.GetValue( Ajax.GetObject('bezoekadres[land]') )] == "0"
				)

				*/

				Ajax.StaticHandler.DoHide( Ajax.GetObject('form_btwnummer') );

			}else{  // buitenlands bedrijf, dus btw nummer vragen
				Ajax.StaticHandler.DoShow( Ajax.GetObject('form_btwnummer') );
			}


			if( window.bs2.ordered_ext.nl ){

				// nl domein, dus over domicilie zeuren indien buitenlander.

				if( Ajax.GetValue( Ajax.GetObject('bezoekadres[land]') ) == 'NL' ||
					( Ajax.GetValue( Ajax.GetObject('_postadres[0]') ) != 0
					&& Ajax.GetValue( Ajax.GetObject('postadres[land]') ) == 'NL' ) ){

					Ajax.StaticHandler.DoHide( Ajax.GetObject('form_domicilie') );

				}else{
					Ajax.StaticHandler.DoShow( Ajax.GetObject('form_domicilie') );

				}
			}
		}

		if(test_modus == true){
			/* testmodus, een validatie op het land laten doen.*/

			if(firstTimeLoading == true){
				// niet uitvoeren bij de eerste keer
			}else{
				// anders gewoon uitvoeren
				check_klant_field( self.id, self.value );
			}
		}
	}

	Ajax.GetObject('postadres[land]').onchange = Ajax.GetObject('bezoekadres[land]').onchange;

	// aan alle input velden een onunfocus plakken voor ajax validatie...

	var area = document.getElementById( 'afrekenen' );
	var fields = area.getElementsByTagName( "input" );

	for( var i=0; i < fields.length; i++ ){

		if( fields[i].type == 'text' ){

			Ajax.GetObject( fields[i] ).onblur = function(){

				check_klant_field( this.id, this.value );

				if( this.id == 'contact[emailadres]' )
					check_email_field( this.id, this.value );

			}
		}

		/*
		26-01-2010, George.
		-------------------
		radio button ook onblur geven, zodat na het aanklikken een evt vorige foutmelding wel verdwijnt
		*/

		if(test_modus == true ){

			if(fields[i].type == "radio"){

				if( Ajax.GetObject( fields[i] ).name == "_geslacht"){
					/*if( Ajax.GetObject( fields[i] ).id == "_geslacht")*/

					Ajax.GetObject( fields[i] ).onblur = function(){

						/*om te controleren of 1 van de 2 checked zijn*/
						check_geslacht_field( this.id, this.value);

					}

				}

			}

		}
	}


	Ajax.GetObject('reeds_klant[0]').onchange();
	Ajax.GetObject('_domicilieadres[0]').onchange();

	if(test_modus == true){
		//Ajax.GetObject('bezoekadres[land]').onchange( true );
		landValidatie(Ajax.GetObject('bezoekadres[land]'), true);
		bedrijfValidatie(Ajax.GetObject('bedrijf[0]'), true);
		postadresValidatie(Ajax.GetObject('_postadres[0]'), true);
	}else{
		Ajax.GetObject('bezoekadres[land]').onchange();
		Ajax.GetObject('bedrijf[0]').onchange();
		Ajax.GetObject('_postadres[0]').onchange();
	}

	if( Ajax.GetObject('klantvan') )
		Ajax.GetObject('klantvan').onclick();

	if( Ajax.GetObject('ww_kwijt') && Ajax.GetValue( reset_form ) == 1 )
		Ajax.GetObject('ww_kwijt').onclick();

}


function check_klant_field( id, value ){

	check_field( 'klant', id, value );

}

function check_geslacht_field( id, value ){

	var Request = Ajax.GetAjaxRequest();

	if(test_modus == true){
		Request.AddPostValue( '1', 'test' );
	}

	// speciale modus, waardoor geslacht verplicht is.
	var man = Ajax.GetObject('_geslacht[1]');
	var vrouw = Ajax.GetObject('_geslacht[2]');

	if(man.checked == true)
		Request.AddPostValue( 1, 'checked' );
	if(vrouw.checked == true)
		Request.AddPostValue( 2, 'checked' );

	Request.AddPostValue( 1, 'check_geslacht' );

	Request.AddPostValue( 'ajax_check_field', 'functie' );
	Request.AddPostValue( id, 'id' );
	Request.AddPostValue( value, 'waarde' );
	Request.AddPostValue( 'klant', 'dienst' );

	Request.SuccessHandler.ReplaceById( null );

	Request.Send();
}

function check_email_field( id, value ){

	var Request = Ajax.GetAjaxRequest();

	if(test_modus == true){
		Request.AddPostValue( '1', 'test' );
	}

	Request.AddPostValue( 'ajax_check_field', 'functie' );
	Request.AddPostValue( id, 'id' );
	Request.AddPostValue( value, 'waarde' );
	Request.AddPostValue( 'emailadres', 'dienst' );

	Request.SuccessHandler.ReplaceTBODYById( null );
	//Request.SuccessHandler.Call( function(){ alert( Request.Requester.responseText ) } );

	Request.Send();
}


function check_field( dienst, id, value ){

	var Request = Ajax.GetAjaxRequest();

	if(test_modus == true){
		Request.AddPostValue( '1', 'test' );

		if(id == "bezoekadres[straat]"){
			// controleren of modusForm als value 2 heeft (=special)
			var SpecialModus = Ajax.GetValue('modusForm');

			if(SpecialModus == 2){
				// speciale modus, waardoor geslacht verplicht is.
				var man = Ajax.GetObject('_geslacht[1]');
				var vrouw = Ajax.GetObject('_geslacht[2]');

				if(man.checked == true)
					Request.AddPostValue( 1, 'checked' );
				if(vrouw.checked == true)
					Request.AddPostValue( 2, 'checked' );

				Request.AddPostValue( 1, 'check_geslacht' );
			}
		}

		if(id == "bezoekadres[postcode]"){
			var land = Ajax.GetValue('bezoekadres[land]');
			Request.AddPostValue( land, 'land' );
		}

		if(id == "bezoekadres[land]"){
			// controleren of de postcode dan nog 'valide' is.
			var postcode = Ajax.GetValue('bezoekadres[postcode]');
			Request.AddPostValue( postcode, 'postcode' );
		}

	}

	Request.AddPostValue( 'ajax_check_field', 'functie' );
	Request.AddPostValue( id, 'id' );
	Request.AddPostValue( value, 'waarde' );
	Request.AddPostValue( dienst, 'dienst' );

	Request.SuccessHandler.ReplaceById( null );

	Request.Send();
}

function bs_sc_del_ajax( id, dienst ){

	// bedoeld voor SC-kort

	if( !confirm( "Zeker weten " + dienst + " verwijderen?" ) )
		return;

	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'besteloverzicht', 'functie' );
	Request.AddPostValue( 'del', 'action' );
	Request.AddPostValue( '1', 'silent' );
	Request.AddPostValue( dienst, 'dienst' );
	Request.AddPostValue( id, 'bs2_id' );

	Request.SuccessHandler.Hide( 'sc_domein_tr[' + id + ']' );

}

function bs_sc_del( id, dienst ){

	if( !confirm( "Zeker weten " + dienst + " verwijderen?" ) )
		return;


	var form = Ajax.GetObject( 'SC_action_form' );

	form.action.value = "del";
	form.bs2_id.value = id;
	form.modus.value = dienst;

	form.submit();

}

function bs_sc_del_all(){

	if( !confirm( "Zeker weten alles verwijderen?" ) )
		return;


	var form = Ajax.GetObject( 'SC_action_form' );

	form.action.value = "del_all";
	form.submit();

}

function bs_sc_edit( id, dienst ){

	var form = Ajax.GetObject( 'SC_action_form' );

	form.action.value = "edit";
	form.bs2_id.value = id;
	form.modus.value = dienst;

	form.submit();

}

function bs_add_sc_HE_sharepoint_func( id ){

	var select = Ajax.GetObject( 'HE_sharepointfreq['+id+']' );
	var prijs_per = Ajax.GetObject( 'HE_sharepoint_prijs_per['+id+']' );
	var prijs_totaal = Ajax.GetObject( 'HE_sharepoint_prijs_totaal['+id+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){

		prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();

		bs_set_freq( this, 'HE_sharepoint', id );
	}

}

function bs_add_sc_HE_bb_func( id ){

	var select = Ajax.GetObject( 'HE_bbfreq['+id+']' );
	var prijs_per = Ajax.GetObject( 'HE_bb_prijs_per['+id+']' );
	var prijs_totaal = Ajax.GetObject( 'HE_bb_prijs_totaal['+id+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){

		prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();

		bs_set_freq( this, 'HE_bb', id );
	}

}

function bs_add_sc_HE_quota_func( id ){

	var select = Ajax.GetObject( 'HE_quotafreq['+id+']' );
	var prijs_per = Ajax.GetObject( 'HE_quota_prijs_per['+id+']' );
	var prijs_totaal = Ajax.GetObject( 'HE_quota_prijs_totaal['+id+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){

		prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();

		bs_set_freq( this, 'HE_quota', id );
	}

}

function bs_add_sc_HE_sp_user_func( id ){

	var select = Ajax.GetObject( 'HE_sp_userfreq['+id+']' );
	var prijs_per = Ajax.GetObject( 'HE_sp_user_prijs_per['+id+']' );
	var prijs_totaal = Ajax.GetObject( 'HE_sp_user_prijs_totaal['+id+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){

		prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();

		bs_set_freq( this, 'HE_sp_user', id );
	}

}

function bs_add_sc_HE_func( id ){

	var select = Ajax.GetObject( 'HEfreq['+id+']' );
	var prijs_per = Ajax.GetObject( 'HE_prijs_per['+id+']' );
	var prijs_totaal = Ajax.GetObject( 'HE_prijs_totaal['+id+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){

		prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();

		bs_set_freq( this, 'HE', id );
	}

}


function bs_add_sc_HV_func( id ){

	var select = Ajax.GetObject( 'HVfreq['+id+']' );
	var prijs_per = Ajax.GetObject( 'HV_prijs_per['+id+']' );
	var prijs_totaal = Ajax.GetObject( 'HV_prijs_totaal['+id+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){

		prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();

		bs_set_freq( this, 'HV', id );
	}

}

function bs_add_sc_HV_addon_func( id ){

	var select = Ajax.GetObject( 'HV_addonfreq['+id+']' );
	var prijs_per = Ajax.GetObject( 'HV_addon_prijs_per['+id+']' );
	var prijs_totaal = Ajax.GetObject( 'HV_addon_prijs_totaal['+id+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){

		prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();

		bs_set_freq( this, 'HV_addon', id );
	}

}

function bs_add_sc_domein_func( domein ){

	var select = Ajax.GetObject( 'domeinfreq['+domein+']' );
	var prijs_per = Ajax.GetObject( 'domein_prijs_per['+domein+']' );
	var prijs_totaal = Ajax.GetObject( 'domein_prijs_totaal['+domein+']' );

	var freq = Ajax.GetValue( select );

	select.onchange = function(){
		if( bs2.prijslijst[domein].pakket ){
			prijs_per.innerHTML = new Number( bs2.prijslijst[domein].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
			//prijs_per.innerHTML = new Number( bs2.prijslijst[domein].ar_pakket[ Ajax.GetValue( select ) ] ).geld();
		}else{
			prijs_per.innerHTML = new Number( bs2.prijslijst[domein].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
			//prijs_totaal.innerHTML = new Number( bs2.prijslijst[domein].ar_totaal[ Ajax.GetValue( select ) ] ).geld();
		}
		bs_set_freq( this, 'domein', domein );
	}

}

function bs_set_freq( freq, dienst, bs2_id ){

	var Request = Ajax.GetAjaxRequest();

	Request.AddPostValue( 'set_freq', 'functie' );
	Request.AddPostValue( Ajax.GetValue( freq ), 'freq' );
	Request.AddPostValue( dienst, 'dienst' );
	Request.AddPostValue( bs2_id, 'bs2_id' );

	Request.Send();

}


function bs_add_sc_pakket_func( bs2_id ){

	var select = Ajax.GetObject( 'pakketfreq['+bs2_id+']' );
	var prijs_per = Ajax.GetObject( 'pakket_prijs_per['+bs2_id+']' );
	var prijs_totaal = Ajax.GetObject( 'pakket_prijs_totaal['+bs2_id+']' );

	var extra_per = Ajax.GetObject( 'extra_prijs_per['+bs2_id+']' );
	var extra_totaal = Ajax.GetObject( 'extra_prijs_totaal['+bs2_id+']' );

	var freq = Ajax.GetValue( select );

	// even aan domeinding vertellen dat hij pakketkorting krijgt
	if( bs2.prijslijst[bs2_id] ){
		bs2.prijslijst[bs2_id].pakket = true;
		Ajax.GetObject( 'domeinfreq['+bs2_id+']' ).onchange();
	}


	if( Ajax.GetObject('extra_details['+bs2_id+']') ){

		// er zijn extra's
		//add_infotag_to( Ajax.GetObject('extra_details['+bs2_id+']'), Ajax.GetObject( 'pakket_extras[' + bs2_id + ']' ).innerHTML );

	}

	select.onchange = function(){


		if( extra_per ){
			extra_per.innerHTML = new Number( bs2.pakketprijslijst[bs2_id].aantal_extra ).geld() + ' / mnd';
			//extra_totaal.innerHTML = new Number( bs2.pakketprijslijst[bs2_id].aantal_extra * Ajax.GetValue( select ) ).geld();
		}

		prijs_per.innerHTML = new Number( bs2.pakketprijslijst[bs2_id].ar_details['prijs_maand'] ).geld() + ' / mnd';
		//prijs_totaal.innerHTML = new Number( bs2.pakketprijslijst[bs2_id].ar_totaal[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.pakketprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		bs_set_freq( this, 'pakket', bs2_id );
	}



}

function bs_add_sc_usenet_func( bs2_id ){

	var select = Ajax.GetObject( 'usenetfreq['+bs2_id+']' );
	var prijs_per = Ajax.GetObject( 'usenet_prijs_per['+bs2_id+']' );
	var prijs_totaal = Ajax.GetObject( 'usenet_prijs_totaal['+bs2_id+']' );

	var freq = Ajax.GetValue( select );


	select.onchange = function(){

		//prijs_per.innerHTML = new Number( bs2.prijslijst[id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		//prijs_per.innerHTML = new Number( bs2.usenetprijslijst[bs2_id].prijs_maand ).geld();
		prijs_per.innerHTML = new Number( bs2.usenetprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.pakketprijslijst[domein].ar_totaal[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.usenetprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		bs_set_freq( this, 'usenet', bs2_id );
	}


}

function bs_check_cookie( session_id ){

	var Request = Ajax.GetAjaxRequest();

	Request.ErrorOnString = true;
	Request.AddPostValue( 'check_session', 'functie' );
	Request.AddPostValue( session_id, 'session_id' );

	Request.ErrorHandler.Call( function(){ bs_geen_cookie();} );

	Request.Send();
}

function bs_geen_cookie(){
	alert( "Uw browser ondersteunt geen cookies..." );
}


function send_domein_forms( knop ){

	var Request = Ajax.GetAjaxRequest();


	for( var i = 0; i < bs2.Pakketten.length; i++ )
		Request.PostForm( Ajax.GetObject( 'formulier_' + bs2.Pakketten[i].domein ) );

	for( var i = 0; i < bs2.Pakketten.length; i++ )
		Request.AddPostValue( bs2.Pakketten[i].domein, 'ar_domein[' + i + ']' );


	Request.AddPostValue( 'ajax_apply_domeinen', 'functie' );
	Request.AddPostValue( '', 'domein' );
	Request.AddPostValue( '', 'bs2_id' );

	Request.SuccessHandler.Call( function(){knop.form.submit()} );

	Request.Send();

}




function add_onlinebackup_form_func(){

	Ajax.GetObject('voucher[0]').onclick = function(){


		var voucher = Ajax.GetValue( this );

		if( voucher == 'voucher' ){
			Ajax.StaticHandler.DoShow( document.getElementById( 'voucher_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'username_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'activeren_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'geen_voucher_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'freq_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'pakket_form' ) );
			Ajax.StaticHandler.DoShow( Ajax.GetObject('verzend_form') );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('trial_form') );
			if( Ajax.GetObject('upgrade_form') )
				Ajax.StaticHandler.DoHide( document.getElementById( 'upgrade_form' ) );
		}else if( voucher == 'activeren' ){
			Ajax.StaticHandler.DoHide( document.getElementById( 'voucher_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'username_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'activeren_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'geen_voucher_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'freq_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'pakket_form' ) );
			Ajax.StaticHandler.DoShow( Ajax.GetObject('verzend_form') );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('trial_form') );
			if( Ajax.GetObject('upgrade_form') )
				Ajax.StaticHandler.DoHide( document.getElementById( 'upgrade_form' ) );
		}else if( voucher == 'upgrade' ){
			Ajax.StaticHandler.DoHide( document.getElementById( 'voucher_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'username_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'activeren_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'geen_voucher_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'freq_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'pakket_form' ) );
			Ajax.StaticHandler.DoShow( Ajax.GetObject('verzend_form') );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('trial_form') );
			if( Ajax.GetObject('upgrade_form') )
				Ajax.StaticHandler.DoShow( document.getElementById( 'upgrade_form' ) );
		}else if( voucher == 'nieuw' ){
			Ajax.StaticHandler.DoHide( document.getElementById( 'voucher_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'username_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'activeren_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'geen_voucher_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'freq_form' ) );
			Ajax.StaticHandler.DoShow( document.getElementById( 'pakket_form' ) );
			Ajax.StaticHandler.DoShow( Ajax.GetObject('verzend_form') );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('trial_form') );
			if( Ajax.GetObject('upgrade_form') )
				Ajax.StaticHandler.DoHide( document.getElementById( 'upgrade_form' ) );
		}else if( voucher == 'trial' ){
			Ajax.StaticHandler.DoHide( document.getElementById( 'voucher_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'username_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'activeren_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'geen_voucher_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'freq_form' ) );
			Ajax.StaticHandler.DoHide( document.getElementById( 'pakket_form' ) );
			Ajax.StaticHandler.DoHide( Ajax.GetObject('verzend_form') );
			Ajax.StaticHandler.DoShow( Ajax.GetObject('trial_form') );
			if( Ajax.GetObject('upgrade_form') )
				Ajax.StaticHandler.DoHide( document.getElementById( 'upgrade_form' ) );
		}
	}

	Ajax.GetObject('voucher[0]').onchange = Ajax.GetObject('voucher[0]').onclick;
	Ajax.GetObject('voucher[1]').onclick = Ajax.GetObject('voucher[0]').onclick;
	Ajax.GetObject('voucher[1]').onchange = Ajax.GetObject('voucher[0]').onclick;
	if( Ajax.GetObject('voucher[2]') ){
		Ajax.GetObject('voucher[2]').onclick = Ajax.GetObject('voucher[0]').onclick;
		Ajax.GetObject('voucher[2]').onchange = Ajax.GetObject('voucher[0]').onclick;
	}
	if( Ajax.GetObject('voucher[3]') ){
		Ajax.GetObject('voucher[3]').onclick = Ajax.GetObject('voucher[0]').onclick;
		Ajax.GetObject('voucher[3]').onchange = Ajax.GetObject('voucher[0]').onclick;
	}

	Ajax.GetObject('voucher[0]').onclick();

}



function bs_add_sc_onlinebackup_func( bs2_id ){

	var select = Ajax.GetObject( 'onlinebackupfreq['+bs2_id+']' );
	var prijs_per = Ajax.GetObject( 'onlinebackup_prijs_per['+bs2_id+']' );
	var prijs_totaal = Ajax.GetObject( 'onlinebackup_prijs_totaal['+bs2_id+']' );

	var freq = Ajax.GetValue( select );


	select.onchange = function(){


		prijs_per.innerHTML = new Number( bs2.onlinebackupprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.onlinebackupprijslijst[bs2_id].ar_totaal[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.onlinebackupprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		bs_set_freq( this, 'onlinebackup', bs2_id );
	}

}


function bs_add_sc_emailhosting_func( bs2_id ){

	var select = Ajax.GetObject( 'emailhostingfreq['+bs2_id+']' );
	var prijs_per = Ajax.GetObject( 'emailhosting_prijs_per['+bs2_id+']' );
	var prijs_totaal = Ajax.GetObject( 'emailhosting_prijs_totaal['+bs2_id+']' );

	var freq = Ajax.GetValue( select );


	select.onchange = function(){


		prijs_per.innerHTML = new Number( bs2.emailhostingprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.emailhostingprijslijst[bs2_id].ar_totaal[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.onlinebackupprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		bs_set_freq( this, 'emailhosting', bs2_id );
	}

}

function bs_add_sc_redirect_func( bs2_id ){

	var select = Ajax.GetObject( 'redirectfreq['+bs2_id+']' );
	var prijs_per = Ajax.GetObject( 'redirect_prijs_per['+bs2_id+']' );
	var prijs_totaal = Ajax.GetObject( 'redirect_prijs_totaal['+bs2_id+']' );

	var freq = Ajax.GetValue( select );


	select.onchange = function(){


		prijs_per.innerHTML = new Number( bs2.redirectprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.redirectprijslijst[bs2_id].ar_totaal[ Ajax.GetValue( select ) ] ).geld();
		//prijs_totaal.innerHTML = new Number( bs2.redirectprijslijst[bs2_id].ar_prijs[ Ajax.GetValue( select ) ] ).geld();
		bs_set_freq( this, 'redirect', bs2_id );
	}

}


function which_form( form ){

	// als er met enter wordt gesubmit, wordt de bovenste submit button gebruikt, dat is niet de bedoeling...

	var reeds_klant = Ajax.GetValue( Ajax.GetObject('reeds_klant[0]') );

	if( reeds_klant == 0 ){

		form.do_login.disabled = true;
		form.get_new_ww.disabled = true;
		form.show_reset_form.value = 0;

	}else if( reeds_klant == 1 ){

		var login_tabel = Ajax.GetObject( 'form_login' );

		if( login_tabel.style.visibility == 'hidden' || login_tabel.style.visibility == 'collapse' ){

			form.do_login.disabled = true;
			form.show_reset_form.value = 1;

		}else{

			form.get_new_ww.disabled = true;
			form.show_reset_form.value = 0;

		}
	}
}


function validate_emailaddress( field ){



	var email = field.value;

	if( email.length == 0 ){
		field.style.color = 'black';
		return;
	}

	if( email.match( /^[a-z0-9]+((-|\.)[a-z0-9]+)*$/ ) ){
		// misschien wel een goeie
		field.style.color = 'black';
		return;
	}else{
		field.style.color = 'red';
	}

}



function bs_nieuw_HE( HE_id, HE_pakket, subklant ){
	// voeg domein toe aan tbody "sc_nieuw"
	// voeg toe aan sc

	if( isNaN( bs2.nieuweHE ) ){
		bs2.nieuweHE = 0;
	}

	if( HE_id == "0" ){

		HE_id = "t" + Math.round(Math.random() * 999999999);

	}

	Ajax.StaticHandler.DoShow( Ajax.GetObject('SC_kort_HE')  );


	// aan cart toevoegen
	var Request = Ajax.GetAjaxRequest();
	Request.Prio = 10;
	Request.AddPostValue( 'ajax_add_HE', 'functie' );
	Request.AddPostValue( HE_id, 'HE_id' );
	Request.AddPostValue( HE_pakket, 'HE_pakket' );
	Request.AddPostValue( "stil", 'addVoucher' );
	Request.AddPostValue( "stil", 'voucherID' );

	if(subklant != null)
		Request.AddPostValue( subklant, 'subklant' );

	Request.Send();

	// aan sc toevoegen
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );

	var tr = document.createElement( 'TR' );
	var td1 = document.createElement( 'TD' );
	//var td2 = document.createElement( 'TD' );
	var td3 = document.createElement( 'TD' );

	tr.appendChild( td1 );
	//tr.appendChild( td2 );
	tr.appendChild( td3 );

	//td1.innerHTML = HE_pakket;
	td1.innerHTML = document.getElementById('HE_pakket_selector').options[document.getElementById('HE_pakket_selector').selectedIndex].text;

	//td1.innerHTML = domein_iso +
	//			"<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">" +
	//			"<input type=\"hidden\" name=\"new_domein_dienst[" + domein + "]\" value=\"mixed\">" +
	//			"<input type=\"hidden\" name=\"pakket[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"redirect[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"emailhosting[" + domein + "]\" value=\"0\">";
	//td1.innerHTML = domein + "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">";
	//td2.innerHTML = "<select name=\"new_domein_dienst[" + domein + "]\"><option value='registreren'>registreren</option><option value='webhosting'>webhosting</option><option value='emailhosting'>e-mail hosting</option><option value='doorschakelen'>doorschakelen</option></select>";


	td3.innerHTML = "<a href=\"javascript:bs_nieuw_HE_verwijder( '" + HE_id + "' )\">verwijderen</a>";

	tr.id = 'sc_nieuw_toegevoegd[' + clean_id(HE_id) + ']';

	tbody_new.appendChild( tr );

	bs2.nieuweHE++;
	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_HE_verder' ) );


}


function bs_nieuw_HE_verwijder( HE_id ){

	// whois resultaat verbergen

	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_remove_HE', 'functie' );
	Request.AddPostValue( HE_id, 'HE_id' );
	Request.Send();

	var tr = Ajax.GetObject( 'sc_nieuw_toegevoegd[' + clean_id(HE_id) + ']' );
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );
	tbody_new.removeChild( tr );

	bs2.nieuweHE--;
	if( bs2.nieuweHE <= 0 ){
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_HE_verder' ) );
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_nieuw_verder2' ) );
	}

}







function bs_nieuw_HE_sharepoint( HE_sharepoint_id, HE_sharepoint_pakket, subklant ){
	// voeg domein toe aan tbody "sc_nieuw"
	// voeg toe aan sc

	if( isNaN( bs2.nieuweHE_sharepoint ) ){
		bs2.nieuweHE_sharepoint = 0;
	}

	if( HE_sharepoint_id == "0" ){

		HE_sharepoint_id = "t" + Math.round(Math.random() * 999999999);

	}

	Ajax.StaticHandler.DoShow( Ajax.GetObject('SC_kort_HE')  );


	// aan cart toevoegen
	var Request = Ajax.GetAjaxRequest();
	Request.Prio = 10;
	Request.AddPostValue( 'ajax_add_HE_sharepoint', 'functie' );
	Request.AddPostValue( HE_sharepoint_id, 'HE_sharepoint_id' );
	Request.AddPostValue( HE_sharepoint_pakket, 'HE_sharepoint_pakket' );

	if(subklant != null)
		Request.AddPostValue( subklant, 'subklant' );

	Request.Send();

	// aan sc toevoegen
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );

	var tr = document.createElement( 'TR' );
	var td1 = document.createElement( 'TD' );
	//var td2 = document.createElement( 'TD' );
	var td3 = document.createElement( 'TD' );

	tr.appendChild( td1 );
	//tr.appendChild( td2 );
	tr.appendChild( td3 );

	//td1.innerHTML = HE_sharepoint_pakket;
	td1.innerHTML = document.getElementById('HE_sharepoint_pakket_selector').options[document.getElementById('HE_sharepoint_pakket_selector').selectedIndex].text;

	//td1.innerHTML = domein_iso +
	//			"<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">" +
	//			"<input type=\"hidden\" name=\"new_domein_dienst[" + domein + "]\" value=\"mixed\">" +
	//			"<input type=\"hidden\" name=\"pakket[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"redirect[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"emailhosting[" + domein + "]\" value=\"0\">";
	//td1.innerHTML = domein + "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">";
	//td2.innerHTML = "<select name=\"new_domein_dienst[" + domein + "]\"><option value='registreren'>registreren</option><option value='webhosting'>webhosting</option><option value='emailhosting'>e-mail hosting</option><option value='doorschakelen'>doorschakelen</option></select>";


	td3.innerHTML = "<a href=\"javascript:bs_nieuw_HE_sharepoint_verwijder( '" + HE_sharepoint_id + "' )\">verwijderen</a>";

	tr.id = 'sc_nieuw_toegevoegd[' + clean_id(HE_sharepoint_id) + ']';

	tbody_new.appendChild( tr );

	bs2.nieuweHE_sharepoint++;
	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_HE_verder' ) );


}


function bs_nieuw_HE_sharepoint_verwijder( HE_sharepoint_id ){

	// whois resultaat verbergen

	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_remove_HE_sharepoint', 'functie' );
	Request.AddPostValue( HE_sharepoint_id, 'HE_sharepoint_id' );
	Request.Send();

	var tr = Ajax.GetObject( 'sc_nieuw_toegevoegd[' + clean_id(HE_sharepoint_id) + ']' );
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );
	tbody_new.removeChild( tr );

	bs2.nieuweHE_sharepoint--;
	if( bs2.nieuweHE_sharepoint <= 0 ){
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_HE_verder' ) );
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_nieuw_verder2' ) );
	}

}


function bs_nieuw_HE_quota( HE_quota_id, HE_quota_pakket, subklant ){
	// voeg domein toe aan tbody "sc_nieuw"
	// voeg toe aan sc

	if( isNaN( bs2.nieuweHE_quota ) ){
		bs2.nieuweHE_quota = 0;
	}

	if( HE_quota_id == "0" ){

		HE_quota_id = "t" + Math.round(Math.random() * 999999999);

	}

	Ajax.StaticHandler.DoShow( Ajax.GetObject('SC_kort_HE')  );


	// aan cart toevoegen
	var Request = Ajax.GetAjaxRequest();
	Request.Prio = 10;
	Request.AddPostValue( 'ajax_add_HE_quota', 'functie' );
	Request.AddPostValue( HE_quota_id, 'HE_quota_id' );
	Request.AddPostValue( HE_quota_pakket, 'HE_quota_pakket' );

	if(subklant != null)
		Request.AddPostValue( subklant, 'subklant' );

	Request.Send();

	// aan sc toevoegen
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );

	var tr = document.createElement( 'TR' );
	var td1 = document.createElement( 'TD' );
	//var td2 = document.createElement( 'TD' );
	var td3 = document.createElement( 'TD' );

	tr.appendChild( td1 );
	//tr.appendChild( td2 );
	tr.appendChild( td3 );

	//td1.innerHTML = HE_quota_pakket;
	td1.innerHTML = document.getElementById('HE_quota_pakket_selector').options[document.getElementById('HE_quota_pakket_selector').selectedIndex].text;

	//td1.innerHTML = domein_iso +
	//			"<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">" +
	//			"<input type=\"hidden\" name=\"new_domein_dienst[" + domein + "]\" value=\"mixed\">" +
	//			"<input type=\"hidden\" name=\"pakket[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"redirect[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"emailhosting[" + domein + "]\" value=\"0\">";
	//td1.innerHTML = domein + "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">";
	//td2.innerHTML = "<select name=\"new_domein_dienst[" + domein + "]\"><option value='registreren'>registreren</option><option value='webhosting'>webhosting</option><option value='emailhosting'>e-mail hosting</option><option value='doorschakelen'>doorschakelen</option></select>";


	td3.innerHTML = "<a href=\"javascript:bs_nieuw_HE_quota_verwijder( '" + HE_quota_id + "' )\">verwijderen</a>";

	tr.id = 'sc_nieuw_toegevoegd[' + clean_id(HE_quota_id) + ']';

	tbody_new.appendChild( tr );

	bs2.nieuweHE_quota++;
	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_HE_verder' ) );


}


function bs_nieuw_HE_quota_verwijder( HE_quota_id ){

	// whois resultaat verbergen

	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_remove_HE_quota', 'functie' );
	Request.AddPostValue( HE_quota_id, 'HE_quota_id' );
	Request.Send();

	var tr = Ajax.GetObject( 'sc_nieuw_toegevoegd[' + clean_id(HE_quota_id) + ']' );
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );
	tbody_new.removeChild( tr );

	bs2.nieuweHE_quota--;
	if( bs2.nieuweHE_quota <= 0 ){
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_HE_verder' ) );
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_nieuw_verder2' ) );
	}

}




function bs_nieuw_HE_bb( HE_bb_id, HE_bb_pakket, subklant ){
	// voeg domein toe aan tbody "sc_nieuw"
	// voeg toe aan sc

	if( isNaN( bs2.nieuweHE_bb ) ){
		bs2.nieuweHE_bb = 0;
	}

	if( HE_bb_id == "0" ){

		HE_bb_id = "t" + Math.round(Math.random() * 999999999);

	}

	Ajax.StaticHandler.DoShow( Ajax.GetObject('SC_kort_HE')  );


	// aan cart toevoegen
	var Request = Ajax.GetAjaxRequest();
	Request.Prio = 10;
	Request.AddPostValue( 'ajax_add_HE_bb', 'functie' );
	Request.AddPostValue( HE_bb_id, 'HE_bb_id' );
	Request.AddPostValue( HE_bb_pakket, 'HE_bb_pakket' );

	if(subklant != null)
		Request.AddPostValue( subklant, 'subklant' );

	Request.Send();

	// aan sc toevoegen
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );

	var tr = document.createElement( 'TR' );
	var td1 = document.createElement( 'TD' );
	//var td2 = document.createElement( 'TD' );
	var td3 = document.createElement( 'TD' );

	tr.appendChild( td1 );
	//tr.appendChild( td2 );
	tr.appendChild( td3 );

	//td1.innerHTML = HE_bb_pakket;
	td1.innerHTML = document.getElementById('HE_bb_pakket_selector').options[document.getElementById('HE_bb_pakket_selector').selectedIndex].text;

	//td1.innerHTML = domein_iso +
	//			"<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">" +
	//			"<input type=\"hidden\" name=\"new_domein_dienst[" + domein + "]\" value=\"mixed\">" +
	//			"<input type=\"hidden\" name=\"pakket[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"redirect[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"emailhosting[" + domein + "]\" value=\"0\">";
	//td1.innerHTML = domein + "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">";
	//td2.innerHTML = "<select name=\"new_domein_dienst[" + domein + "]\"><option value='registreren'>registreren</option><option value='webhosting'>webhosting</option><option value='emailhosting'>e-mail hosting</option><option value='doorschakelen'>doorschakelen</option></select>";


	td3.innerHTML = "<a href=\"javascript:bs_nieuw_HE_bb_verwijder( '" + HE_bb_id + "' )\">verwijderen</a>";

	tr.id = 'sc_nieuw_toegevoegd[' + clean_id(HE_bb_id) + ']';

	tbody_new.appendChild( tr );

	bs2.nieuweHE_bb++;
	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_HE_verder' ) );


}


function bs_nieuw_HE_bb_verwijder( HE_bb_id ){

	// whois resultaat verbergen

	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_remove_HE_bb', 'functie' );
	Request.AddPostValue( HE_bb_id, 'HE_bb_id' );
	Request.Send();

	var tr = Ajax.GetObject( 'sc_nieuw_toegevoegd[' + clean_id(HE_bb_id) + ']' );
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );
	tbody_new.removeChild( tr );

	bs2.nieuweHE_bb--;
	if( bs2.nieuweHE_bb <= 0 ){
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_HE_verder' ) );
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_nieuw_verder2' ) );
	}

}





function bs_nieuw_HE_sp_user( HE_sp_user_id, HE_sp_user_pakket, subklant ){
	// voeg domein toe aan tbody "sc_nieuw"
	// voeg toe aan sc

	if( isNaN( bs2.nieuweHE_sp_user ) ){
		bs2.nieuweHE_sp_user = 0;
	}

	if( HE_sp_user_id == "0" ){

		HE_sp_user_id = "t" + Math.round(Math.random() * 999999999);

	}

	Ajax.StaticHandler.DoShow( Ajax.GetObject('SC_kort_HE')  );


	// aan cart toevoegen
	var Request = Ajax.GetAjaxRequest();
	Request.Prio = 10;
	Request.AddPostValue( 'ajax_add_HE_sp_user', 'functie' );
	Request.AddPostValue( HE_sp_user_id, 'HE_sp_user_id' );
	Request.AddPostValue( HE_sp_user_pakket, 'HE_sp_user_pakket' );

	if(subklant != null)
		Request.AddPostValue( subklant, 'subklant' );

	Request.Send();

	// aan sc toevoegen
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );

	var tr = document.createElement( 'TR' );
	var td1 = document.createElement( 'TD' );
	//var td2 = document.createElement( 'TD' );
	var td3 = document.createElement( 'TD' );

	tr.appendChild( td1 );
	//tr.appendChild( td2 );
	tr.appendChild( td3 );

	//td1.innerHTML = HE_sp_user_pakket;
	td1.innerHTML = document.getElementById('HE_sp_user_pakket_selector').options[document.getElementById('HE_sp_user_pakket_selector').selectedIndex].text;

	//td1.innerHTML = domein_iso +
	//			"<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">" +
	//			"<input type=\"hidden\" name=\"new_domein_dienst[" + domein + "]\" value=\"mixed\">" +
	//			"<input type=\"hidden\" name=\"pakket[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"redirect[" + domein + "]\" value=\"0\">" +
	//			"<input type=\"hidden\" name=\"emailhosting[" + domein + "]\" value=\"0\">";
	//td1.innerHTML = domein + "<input type=\"hidden\" name=\"domein[]\" value=\"" + domein + "\">";
	//td2.innerHTML = "<select name=\"new_domein_dienst[" + domein + "]\"><option value='registreren'>registreren</option><option value='webhosting'>webhosting</option><option value='emailhosting'>e-mail hosting</option><option value='doorschakelen'>doorschakelen</option></select>";


	td3.innerHTML = "<a href=\"javascript:bs_nieuw_HE_sp_user_verwijder( '" + HE_sp_user_id + "' )\">verwijderen</a>";

	tr.id = 'sc_nieuw_toegevoegd[' + clean_id(HE_sp_user_id) + ']';

	tbody_new.appendChild( tr );

	bs2.nieuweHE_sp_user++;
	Ajax.StaticHandler.DoShow( Ajax.GetObject( 'sc_HE_verder' ) );


}


function bs_nieuw_HE_sp_user_verwijder( HE_sp_user_id ){

	// whois resultaat verbergen

	var Request = Ajax.GetAjaxRequest();
	Request.AddPostValue( 'ajax_remove_HE_sp_user', 'functie' );
	Request.AddPostValue( HE_sp_user_id, 'HE_sp_user_id' );
	Request.Send();

	var tr = Ajax.GetObject( 'sc_nieuw_toegevoegd[' + clean_id(HE_sp_user_id) + ']' );
	var tbody_new = Ajax.GetObject( 'SC_kort_HE_tbody' );
	tbody_new.removeChild( tr );

	bs2.nieuweHE_sp_user--;
	if( bs2.nieuweHE_sp_user <= 0 ){
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_HE_verder' ) );
		//Ajax.StaticHandler.DoHide( Ajax.GetObject( 'sc_nieuw_verder2' ) );
	}

}
