var browserName = '';
var browserVer = 0;
var browserMajVer = 0;
var supportPNG = false;
var supportDXImg = false;

function detectBrowser(){
   browserName = navigator.appName;
   browserCode = navigator.appCodeName;
   browserVers = navigator.appVersion;
   browserPlat = navigator.platform;
   if(( browserName.indexOf( "Microsoft" ) >= 0 ) && browserVers.match( /(msie (5|6))/gi )){
      supportDXImg = true;
   } else {
      supportPNG = true;
   }
}

function servePNG( objid, imgsrc, offsetX, offsetY, repeat ){
   if( browserName == '' ){
      detectBrowser();
   }
   if( document.getElementById && document.getElementById( objid ) ){
      imageDest = document.getElementById( objid );
      offsetX =  parseInt( offsetX );
      offsetY =  parseInt( offsetY );
      sizing =  ( repeat == true )?'scale':'image';
      repeat =  (( repeat == true ) && ( !supportDXImg ))?'repeat':'no-repeat';
      imageDest.style.backgroundColor = 'transparent';
      imageDest.style.backgroundRepeat = repeat;
      imageDest.style.marginLeft = offsetX+"px";
      imageDest.style.marginTop = offsetY+"px";
      if( supportDXImg ){
         imageDest.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='"+imgsrc+"', sizingMethod='"+sizing+"' )";
      } else {
         imageDest.style.backgroundImage = "url( "+imgsrc+" )";
      }
   }
}

var cars_data = null;
var products_data = null;
var accessoires_data = null;
var activeID = null;
var extra_price = 0;

function loadRightside( setActive ) {
	if( setActive == undefined || Number( setActive ) <= 0 ){
		setActive = 0;
	}
	if( products_data == null || ( Number( setActive ) > 0 && activeID != setActive )){
		new Ajax.Request('getData.php', {method:'post',parameters: { getproducts: 'true', selectProduct: setActive }, asynchronous:true, onComplete:function( params ){
			if( !location.href.match( /mijn_hoofdsteun_tv/ ) && ( Number( setActive ) > 0 && activeID != setActive ) ){
				location.href = "mijn_hoofdsteun_tv#extra";
				return;
			} else {
				if( location.href.match( /mijn_hoofdsteun_tv/ ) && !location.hash.match( /extra$/ ) && ( Number( setActive ) > 0 && activeID != setActive ) ){
					location.hash = "extra";
				}
				products_data = String(params.responseText).evalJSON();
				accessoires_data = null;
				buildRightside();
				if( Number( setActive ) > 0 && activeID != setActive && location.href.match( /mijn_hoofdsteun_tv/ ) ){
					buildOfferte();
				}
			}
		}});
	} else {
		buildRightside();
	}
}

function buildRightside(){
	if( accessoires_data == null ){
		new Ajax.Request('getData.php', {method:'post',parameters: { getaccessoires: 'true' }, asynchronous:true, onComplete:function( params ){
			accessoires_data = String(params.responseText).evalJSON();
			buildRightside();
		}});
	} else {
		if( !location.href.match( /mijn_hoofdsteun_tv$/ ) && products_data['selected_car'] && products_data['selected_car']['hoofdsteun'] ){
			extra_price = ( products_data['selected_car']['hoofdsteun'] == 2 )?120:(( products_data['selected_car']['hoofdsteun'] == 3 )?360:0);
		}
		var productoptions = new Array();
		for( i in products_data['productsets'] ){
			if( typeof(products_data['productsets'][i]) != 'function' ) {
    			for( j in products_data['productsets'][i] ){
    				if( typeof(products_data['productsets'][i][j]) != 'function' &&
    					products_data['producten'][products_data['productsets'][i][j]] && products_data['producten'][products_data['productsets'][i][j]]['id'] && products_data['producten'][products_data['productsets'][i][j]]['title'] && products_data['producten'][products_data['productsets'][i][j]]['set'] ){
    					productoptions[products_data['productsets'][i][j]] = Builder.node( 'option', {value: products_data['producten'][products_data['productsets'][i][j]]['id']}, products_data['producten'][products_data['productsets'][i][j]]['title'] );
    					if( activeID == null || ( products_data['producten'][products_data['productsets'][i][j]]['selected'] && products_data['producten'][products_data['productsets'][i][j]]['selected'] == true )){
    						activeID = products_data['productsets'][i][j];
    					}
    				}
    			}
			}
		}
		var accessoires = new Array();
		var accesoire_price = 0.0;
		var accesoire_counter = 1;
		if( accessoires_data['accessoires'] ){
			for( j in accessoires_data['accessoires'] ){
				if( typeof(accessoires_data['accessoires'][j]) != 'function' &&
					accessoires_data['accessoires'][j]['selected'] ){
					accesoire_price += Number( accessoires_data['accessoires'][j]['price'] );
					accessoires[accesoire_counter++] = Builder.node( 'div', {style: '', onmouseover: 'this.style.cursor = "pointer"; if( $("photoback_'+accessoires_data['accessoires'][j]['id']+'") ) $("photoback_'+accessoires_data['accessoires'][j]['id']+'").style.backgroundColor = "#cccccc";', onmouseout: 'this.style.cursor = "default"; if( $("photoback_'+accessoires_data['accessoires'][j]['id']+'") ) $("photoback_'+accessoires_data['accessoires'][j]['id']+'").style.backgroundColor = "'+((accessoires_data['accessoires'][j]['selected'])?'#009ee0':'#ffffff')+'";', onclick: 'changeSelectedAcc("'+accessoires_data['accessoires'][j]['id']+'");'}, [
										Builder.node( 'div', {style: 'line-height: 15px;'}, [
											Builder.node( 'img', {src: 'images/layout/remove.gif', style: 'vertical-align: bottom;'} ),
											Builder.node( 'span', {style: 'line-height: 15px;'}, " " + accessoires_data['accessoires'][j]['short_description'] )
										] ),
									] );
				}
			}
		}
		var total_price = 0.0;
		total_price += Number( products_data['producten'][activeID]['price'] );
		total_price += accesoire_price;
		total_price += extra_price;
		var description = new Array();
		var descriptionparts = products_data['producten'][activeID]['longdesc'].split( ',' );
		for( i in descriptionparts ){
			if( typeof( descriptionparts[i] ) != 'function' ){
				description[i] = Builder.node( 'li', {}, descriptionparts[i] );
			}
		}
		var rightside = Builder.node( 'div', { id: 'rightside_content', style: 'margin: 0px;'}, [
							Builder.node( 'div', {style: 'padding-bottom: 16px;'}, [
								Builder.node( 'img', {src: 'images/layout/offerte_calculator.gif'} ),
							] ),
							Builder.node( 'select', {name: 'productoptions', id: 'productoptions', style: "background-color: #ffffff;", onchange: "loadRightside( this.value );"}, productoptions ),
							Builder.node( 'div', {style: "background-color: transparent; background-image: url('images/" + products_data['producten'][activeID]['img_src'].replace( /\.jpg$/, 's.jpg' )  + "' ); background-repeat: no-repeat; background-position: center 25px;"}, [
								Builder.node( 'div', {style: 'color: #' + products_data['producten'][activeID]['color'] + '; padding-left: 13px; padding-top: 155px; font-size: 15px;'}, products_data['producten'][activeID]['title'] ),
								Builder.node( 'ul', {style: 'padding-left: 14px; padding-top: 10px;'}, description )
							] ),
							Builder.node( 'div', {style: "background-color: transparent; margin-top: 10px; padding-top: 10px; border-top-style: solid; border-top-width: 1px; border-top-color: #c7c8ca;"}, [
								Builder.node( 'div', {style: 'height: 15px; padding-left: 13px; padding-bottom: 2px; color: rgb(16, 179, 210); font-size: 14px; line-height: 14px;'}, 'Accessoires' ),
								Builder.node( 'div', {style: 'padding-left: 13px; font-size: 15px;'}, accessoires ),
								Builder.node( 'div', {style: 'padding-left: 13px; padding-top: 10px; color: rgb(16, 179, 210); line-height: 14px; font-style: italic;'}, 'Prijs: € ' + moneyFormat( accesoire_price ))
							] ),
							(( extra_price > 0 )?(
								Builder.node( 'div', {style: "background-color: transparent; margin-top: 10px; padding-top: 10px; border-top-style: solid; border-top-width: 1px; border-top-color: #c7c8ca;"}, [
									Builder.node( 'div', {style: 'height: 15px; padding-left: 13px; padding-bottom: 2px; color: rgb(16, 179, 210); font-size: 14px; line-height: 14px;'}, 'Meerwerk' ),
									Builder.node( 'div', {style: 'padding-left: 13px; font-size: 10px; line-height: 17px;'}, ((extra_price==120)?'Meerwerk hoofdsteuninbouw:':(extra_price==360)?'Opnieuw bekleden hoofdsteunen:':'') ),
									Builder.node( 'div', {style: 'padding-left: 13px; padding-top: 10px; color: rgb(16, 179, 210); line-height: 14px; font-style: italic;'}, 'Prijs: € ' + moneyFormat( extra_price ))
								] )
							):''),
							Builder.node( 'div', {style: "background-color: transparent; margin-top: 10px; padding-top: 10px; border-top-style: solid; border-top-width: 1px; border-top-color: #c7c8ca;"}, [
								Builder.node( 'div', {style: 'color: #282828; margin-top: 10px; padding-left: 10px; font-size: 15px; font-weight: bolder;'}, '€ ' + moneyFormat( total_price ) ),
								Builder.node( 'div', {style: 'padding-left: 10px; font-size: 9px; font-style: italic;'}, '(incl. Inbouw en BTW)' )
							] ),
							Builder.node( 'div', {style: "background-color: transparent; margin-top: 30px; padding-top: 5px; padding-bottom: 5px; width: 100%; background-color: #009ee0;", onmouseover: "this.style.cursor = 'pointer';", onmouseout: "this.style.cursor = 'default';", onclick: "location.href = 'professioneel_ingebouwd#inbouw_afspraak';if( location.hash.match( /inbouw_afspraak$/ ) ){ new Effect.toggle( 'inbouwafspraak_maken', 'blind' ); if( $( 'inbouwafspraak_maken' ).style.display == 'none' ){ $( 'inbouwafspraak_maken_arrow' ).src = 'images/layout/arrow_down.gif';} else { $( 'inbouwafspraak_maken_arrow' ).src = 'images/layout/arrow_right.gif';}new Effect.toggle( 'professioneel_inbouwen', 'blind' );if( $( 'professioneel_inbouwen' ).style.display == 'none' ){$( 'professioneel_inbouwen_arrow' ).src = 'images/layout/arrow_down.gif';} else {$( 'professioneel_inbouwen_arrow' ).src = 'images/layout/arrow_right.gif';}}" }, [
								Builder.node( 'div', {style: 'padding-left: 10px; color: #ffffff; font-size: 11px; font-weight: bolder;'}, 'Inbouw afspraak >>' )
							] )
						] );
		if( $('rightside_content') ){
			$('rightside').removeChild( $('rightside_content') );
		}
		$('rightside').appendChild( rightside );
		if( activeID != null ){
			for( i in $('productoptions').options ){
				try {
					if( $('productoptions').options[i].value == activeID ){
						$('productoptions').options[i].selected = true;
					} else {
						$('block_type').options[i].selected = false;
					}
				} catch( e ){}
			}
		}
	}
}

function loadRightsideAcc() {
	if( accessoires_data == null ){
		new Ajax.Request('getData.php', {method:'post',parameters: { getaccessoires: 'true' }, asynchronous:true, onComplete:function( params ){
			accessoires_data = String(params.responseText).evalJSON();
			buildRightsideAcc();
		}});
	} else {
		buildRightsideAcc();
	}
}

function buildRightsideAcc(){
	var product_parts = new Array();
	var accesoire_price = 0.0;
	if( accessoires_data['accessoires'] ){
		var key_counter = 0;
		var accesoire_keys = new Array();
		for( i in accessoires_data['accessoires'] ){
			key_counter++;
			accesoire_keys[key_counter] = i;
		}
		var j = Math.ceil( Math.random() * key_counter );
		product_parts[1] = Builder.node( 'div', {style: 'border-left: 1px solid rgb(218, 219, 220); padding-left: 15px; width 159px; overflow: hidden;' }, [
							Builder.node( 'img', {src: 'images/'+accessoires_data['accessoires'][accesoire_keys[j]]['img_src'], style: 'width: 136px; border-width: 4px; border-style: solid; border-color: #c4c4c9; background-color: #ffffff;', alt: accessoires_data['accessoires'][accesoire_keys[j]]['short_description']} ),
							Builder.node( 'div', { style: "padding-left: 4px; font-size: 14px; padding-bottom: 2px; padding-top: 20px; color: rgb(16, 179, 210); line-height: 14px; height: 14px;" }, 'Accessoires'),
							Builder.node( 'div', { style: "padding-left: 4px;" }, accessoires_data['accessoires'][accesoire_keys[j]]['short_description']),
							Builder.node( 'div', { style: "padding-left: 4px;" }, [
								Builder.node( 'strong', {}, "€ " + moneyFormat( accessoires_data['accessoires'][accesoire_keys[j]]['price'] ))
							]),
							Builder.node( 'br', {} ),
							Builder.node( 'div', { style: "padding-left: 4px;" }, [
								Builder.node( 'a', { href: 'mijn_hoofdsteun_tv', style: 'font-weight: bolder; color: #000000; text-decoration: none;' }, 'Meer accessoires >>' )
							]),
						] );
	}
	var rightside = Builder.node( 'div', { id: 'rightside_content', style: ''}, [ product_parts ] );
	if( $('rightside_content') ){
		$('rightside').removeChild( $('rightside_content') );
	}
	$('rightside').appendChild( rightside );
}

function loadProducts() {
	new Ajax.Request('getData.php', {method:'post',parameters: { getproducts: 'true' }, asynchronous:true, onComplete:function( params ){
	    products_data = String(params.responseText).evalJSON();
		buildProducts();
		loadRightsideAcc();
	}});
}

function buildProducts(){
	var product_divs = new Array();
	var divcounter = 1;
	var msg;
	for( k in products_data['productsets'] ){
		if(typeof(products_data['productsets'][k]) == 'function') continue;
		var div_setcounter = 1;
		var product_set_divs = new Array();
		product_set_divs[div_setcounter++] = Builder.node( 'div', { style:"padding-bottom: 12px; padding-left: 20px; padding-right: 20px;" },(( k == "Specialpacks" )?["Bent u zo iemand waarvoor “doe maar normaal”, lang niet gek genoeg is? Houdt u van een goede scherpe aanbieding, maar dan wel graag voor een écht mooi product? Of wilt u gewoon alleen geld uitgeven aan het nieuwste van het nieuwste? Onderstaand treft u onze zomervakantie-specials:  Het Miljonairpack*, een Full-Options pakket met een DVD wisselaar én Digitenne ontvanger in één scherp geprijsd pakket. Op veler verzoek nogmaals in de aanbieding, het iPack* met iPod Classic 160Gb. En last but definitely not least, het Actionpack DVD*, inhoudelijk gelijk aan het Entrypack DVD, maar dan tegen een zéér speciale prijs.",Builder.node( 'br' ),Builder.node( 'br' ),Builder.node("span",{style:"font-size: xx-small; font-style: italic;"},["* Zolang de voorraad strekt. iPod is een geregistreerd handelsmerk van Apple."])]:(( k == "Navipack" )?["Op veler verzoek, terug van weggeweest – en voortaan permanent in het programma: de Hoofdsteun.tv Navipacks. Hoofdsteun.tv maakt u het kiezen voortaan nog gemakkelijker, met deze speciaal samengestelde systemen. De Navipacks bieden u namelijk het beste van 2 werelden: State-of-the-art navigatie & bluetooth techniek van Pioneer, professionele inbouw én rearseat entertainment van Hoofdsteun.tv! Moeiteloos navigeren naar uw vakantie-bestemming, terwijl de achterpassagiers vermaakt worden, voorin luistert (Business) of kijkt u naar keuze zelfs mee naar de film. U luistert liever rustig naar uw eigen muziek (Dualzone)? Geen punt: De  Navipacks kunnen het allemaal!*",Builder.node( 'br' ),Builder.node( 'br' ),Builder.node("span",{style:"font-size: xx-small; font-style: italic;"},["* De vermelde prijs is inclusief inbouw en BTW, maar exclusief een eventueel benodigd inbouwpaneel / aansluitkabel voor de radio in uw auto. Neem contact op voor meer informatie!"])]:(( k == "Entrypack" )?"De Entrypacks bevatten alles wat u nodig hebt voor een betaalbare en gemakkelijke entree in de wereld van Hoofdsteun.tv De gebruikte Signat TRIP producten zijn hoogwaardig van kwaliteit en zonder extra poespas: U betaalt dus niets wat u niet direct gebruikt!":"Heeft u 2 ( of zelfs meer! ) kinderen in heel verschillende leeftijden? Dan willen ze vast niet naar dezelfde film kijken! De Smartpacks van Hoofdsteun.tv zijn bedacht voor uw situatie. Dankzij een intelligente switchbox zijn de linker en rechtermonitor elk een aparte \"zone\". Zelfs aan een eventuele uitbreiding naar voren ( het navigatiescherm! ) is gedacht in de vorm van een 3e zone. Dankzij maar liefst 4 (!) ingangen en 3 vrij kiesbare uitgangen kunt u de meest uiteenlopende bronnen aansluiten: van DVD-speler, -wisselaar tot Digitenne ontvanger, van spelcomputer tot iPod: Een echte topset voor de ervaren gebruiker!" ))));
		for( l in products_data['productsets'][k] ){
			if(typeof(products_data['productsets'][k][l]) == 'function') continue;
			i = products_data['productsets'][k][l];
			var previous_part = '';
			if( typeof( products_data['producten'][i] ) != 'function' &&
				products_data['producten'][i] &&
				products_data['producten'][i]['id'] &&
				products_data['producten'][i]['title'] ){
				var productproduct_parts = new Array();
				for( j in products_data['producten'][i]['product_parts'] ){
					if( typeof( products_data['producten'][i]['product_parts'][j] ) != 'function' &&
						products_data['producten'][i]['product_parts'][j] &&
						products_data['product_parts'][products_data['producten'][i]['product_parts'][j]] &&
						products_data['product_parts'][products_data['producten'][i]['product_parts'][j]]['title'] &&
						previous_part != products_data['producten'][i]['product_parts'][j] ){
						previous_part = products_data['producten'][i]['product_parts'][j];
						productproduct_parts[j] = Builder.node( 'li', {}, products_data['product_parts'][products_data['producten'][i]['product_parts'][j]]['title'] );
					}
				}
				var description = new Array();
				var descriptionparts = products_data['producten'][i]['longdesc'].split( ',' );
				for( p in descriptionparts ){
					if( typeof( descriptionparts[p] ) != 'function' ){
						description[p] = Builder.node( 'li', {}, descriptionparts[p] );
					}
				}
				product_set_divs[div_setcounter++] = Builder.node( 'div', {style: "width: 195px; background-color: transparent; background-image: url('images/" + products_data['producten'][i]['img_src'] + "' ); background-repeat: no-repeat; background-position: center 10px; float: left;", onmouseover: "this.style.cursor = 'pointer';", onmouseout: "this.style.cursor = 'default';", onclick: "loadRightside( '" + products_data['producten'][i]['id'] + "' );"}, [
											Builder.node( 'div', {style: 'color: #' + products_data['producten'][i]['color'] + '; padding-left: 26px; padding-top: 130px; font-size: 15px; margin-right: -15px;'}, products_data['producten'][i]['title'] ),
											Builder.node( 'ul', {style: 'padding-left: 26px; padding-top: 10px; height: 190px; overflow: hidden;'}, description ),
											Builder.node( 'div', {style: 'color: #' + products_data['producten'][i]['color'] + '; margin-top: 10px; padding-left: 30px; font-size: 15px; font-weight: bolder;'}, '€ ' + moneyFormat( products_data['producten'][i]['price'] ) ),
											Builder.node( 'div', {style: 'color: #000000; padding-left: 30px; font-size: 9px; font-style: italic;'}, '(incl. Inbouw en BTW)' ),
											Builder.node( 'div', {style: 'color: #000000; padding-left: 30px; padding-top: 10px; font-weight: bolder;'}, "Meer informatie >>" )
										] );
			}
		}
		product_divs[divcounter++] = Builder.node( 'div', { onmouseover: "this.style.cursor = 'pointer';", onmouseout: "this.style.cursor = 'default';", onclick: "new Effect.toggle( '"+k+"', 'blind' ); if( $( '"+k+"' ).style.display == 'none' ){ $( '"+k+"_arrow' ).src = 'images/layout/arrow_down.gif'; } else { $( '"+k+"_arrow' ).src = 'images/layout/arrow_right.gif'; }", style: "padding: 10px; overflow: hidden; margin-bottom: 2px; width: 580px; height: 16px; background-color: rgb(255, 255, 255);" }, [
													 Builder.node( 'img', { src: "images/layout/arrow_down.gif", id: k+"_arrow", style: "float: left;" } ),
													 Builder.node( 'div', { style: "padding-left: 4px; font-size: 14px; float: left; padding-bottom: 2px; color: rgb(16, 179, 210); line-height: 14px; height: 14px;" }, k)
												] );
		product_divs[divcounter++] = Builder.node( 'div', { style:"overflow: hidden; margin-bottom: 12px; width: 600px; padding-top: 25px; padding-bottom: 25px; background-color: rgb(255, 255, 255);", id: k}, product_set_divs );
	}
	var products = Builder.node( 'div', { id: 'products_content'}, product_divs );
	if( $('products_content') ){
		$('products').removeChild( $('products_content') );
	}
	$('products').appendChild( products );
}

function loadOfferte() {
	new Ajax.Request('getData.php', {method:'post',parameters: { getproducts: 'true' }, asynchronous:true, onComplete:function( params ){
		products_data = String(params.responseText).evalJSON();
		buildOfferte();
		loadRightside();
	}});
}

function loadCars( change ) {
	var car_brand = '';
	var car_model = '';
	var car_year = '';
	if( $( 'car_brand' ) && $( 'car_brand' ).value != '' ){
		car_brand = $( 'car_brand' ).value;
	}
	if( $( 'car_model' ) && $( 'car_model' ).value != '' && change != 'car_brand' ){
		car_model = $( 'car_model' ).value;
	}
	if( $( 'car_year' ) && $( 'car_year' ).value != '' && ( change != 'car_brand' && change != 'car_model') ){
		car_year = $( 'car_year' ).value;
	}
	new Ajax.Request('getData.php', {method:'post',parameters: { getcar: 'true', brand: car_brand, type: car_model, year: car_year }, asynchronous:true, onComplete:function( params ){
		extra_price = 0;
		json = String(params.responseText).evalJSON();
		if( json['cars'] ){
			if( extra_price > 0 ){
				extra_price = 0;
				buildRightside();
			}
			var clear = true;
			var select_id = null;
			if( $('car_info_content') ){
				$('car_info').removeChild( $('car_info_content') );
			}
			for( i in json['cars'] ){
				if( typeof(json['cars'][i]) == 'function' ) continue;
				var option_value = null;
				if( json['cars'][i] && json['cars'][i]['merk'] ){
					select_id = 'car_brand';
					option_value = json['cars'][i]['merk'];
				} else if( json['cars'][i] && json['cars'][i]['type'] ){
					select_id = 'car_model';
					option_value = json['cars'][i]['type'];
				} else if( json['cars'][i] && json['cars'][i]['van'] && json['cars'][i]['tot'] ){
					select_id = 'car_year';
					option_value = json['cars'][i]['van'] + ' - ' + json['cars'][i]['tot'];
				} else {
					continue;
				}
				if( clear == true ){
					while( $(select_id).options.length > 0 ){
						try {
							$(select_id).remove( $(select_id).options[0].index );
						} catch( e ){}
					}
					if( select_id != 'car_year' ){
						while( $('car_year').options.length > 0 ){
							try {
								$('car_year').remove( $('car_year').options[0].index );
							} catch( e ){}
						}
						$('car_year').disabled = true;
						var newoption   = document.createElement('option');
  						newoption.text  = ' - Kies het model - ';
		  				newoption.value = '';
						try {
							$('car_model').add( newoption, null );
						} catch( e ){
							try {
								$('car_model').add( newoption );
							} catch( e ){}
						}
						var newoption   = document.createElement('option');
  						newoption.text  = '';
		  				newoption.value = '';
						try {
							$('car_model').add( newoption, null );
						} catch( e ){
							try {
								$('car_model').add( newoption );
							} catch( e ){}
						}
					}
					if( select_id == 'car_brand' ){
						while( $('car_model').options.length > 0 ){
							try {
								$('car_model').remove( $('car_model').options[0].index );
							} catch( e ){}
						}
						$('car_model').disabled = true;
						var newoption   = document.createElement('option');
  						newoption.text  = ' - Kies het merk - ';
		  				newoption.value = '';
						try {
							$('car_brand').add( newoption, null );
						} catch( e ){
							try {
								$('car_brand').add( newoption );
							} catch( e ){}
						}
						var newoption   = document.createElement('option');
  						newoption.text  = '';
		  				newoption.value = '';
						try {
							$('car_brand').add( newoption, null );
						} catch( e ){
							try {
								$('car_brand').add( newoption );
							} catch( e ){}
						}
					}
					if( select_id == 'car_year' ){
						var newoption   = document.createElement('option');
  						newoption.text  = ' - Kies het bouwjaar - '
		  				newoption.value = '';
						try {
							$('car_year').add( newoption, null );
						} catch( e ){
							try {
								$('car_year').add( newoption );
							} catch( e ){}
						}
						var newoption   = document.createElement('option');
  						newoption.text  = '';
		  				newoption.value = '';
						try {
							$('car_year').add( newoption, null );
						} catch( e ){
							try {
								$('car_year').add( newoption );
							} catch( e ){}
						}
					}
					clear = false;
					$(select_id).disabled = false;
				}
				var newoption   = document.createElement('option');
  				newoption.text  = option_value;
  				newoption.value = option_value;
  				if( json['selected_car'] && json['selected_car'][select_id] && json['selected_car'][select_id] == option_value ){
  					newoption.selected = true;
  				}
				try {
					$(select_id).add( newoption, null );
				} catch( e ){
					try {
						$(select_id).add( newoption );
					} catch( e ){}
				}
			}
			try {
				if( !( json['selected_car'] && json['selected_car'][select_id] )){
					$(select_id).selectedIndex = 0;
				} else {
					loadCars(select_id);
				}
			} catch( e ){}
		} else if( json['mycar'] && json['mycar']['code'] ){
			if( $('car_info_content') ){
				$('car_info').removeChild( $('car_info_content') );
			}
			var carinfo = null;
			switch( json['mycar']['code'] ){
				case '0':
					var carinfo = Builder.node( 'div', {id: 'car_info_content', style: 'padding-left: 20px; padding-top: 20px;'}, [
									 Builder.node( 'div', {style: 'padding: 10px; background-color: #009ee0; width: 92%'},[
										 Builder.node( 'img', {src: 'images/layout/true.gif', style: 'float: left; vertical-align: middle;'} ),
										 Builder.node( 'div', {style: 'float: left; color: #ffffff; font-weight: bolder;'}, ' Helaas kunnen wij in uw auto om technische of praktische redenen geen monitoren in de hoofdsteun inbouwen. Misschien is een plafondmonitor een oplossing; u kunt naar de mogelijkheden informeren via het inbouwformulier.' ),
										 Builder.node( 'div', {style: 'display: block; clear: both;'}, '' )
									 ] )
								  ] );
					break;
				case '1':
					var carinfo = Builder.node( 'div', {id: 'car_info_content', style: 'padding-left: 20px; padding-top: 20px;'}, [
									 Builder.node( 'div', {style: 'padding: 10px; background-color: #009ee0; width: 92%'},[
										 Builder.node( 'img', {src: 'images/layout/true.gif', style: 'vertical-align: middle; float: left;'} ),
										 Builder.node( 'div', {style: 'color: #ffffff; font-weight: bolder; float: left;'}, ' Uw auto is bekend en Hoofdsteun.tv geschikt!' ),
										 Builder.node( 'div', {style: 'display: block; clear: both;'}, '' )
									 ] )
								  ] );
					break;
				case '2':
					var carinfo = Builder.node( 'div', {id: 'car_info_content', style: 'padding-left: 20px; padding-top: 20px;'}, [
									 Builder.node( 'div', {style: 'padding: 10px; background-color: #009ee0; width: 92%'},[
										 Builder.node( 'img', {src: 'images/layout/true.gif', style: 'float: left; vertical-align: middle;'} ),
										 Builder.node( 'div', {style: 'float: left; color: #ffffff; font-weight: bolder;'}, ' Uw auto is bekend en Hoofdsteun.tv geschikt! Gezien de constructie en/of vorm van de hoofdsteun in uw auto moeten we een kleine meerprijs voor de inbouw berekenen.' ),
										 Builder.node( 'div', {style: 'display: block; clear: both;'}, '' )
									 ] )
								  ] );
					extra_price = 120;
					break;
				case '3':
					var carinfo = Builder.node( 'div', {id: 'car_info_content', style: 'padding-left: 20px; padding-top: 20px;'}, [
									 Builder.node( 'div', {style: 'padding: 10px; background-color: #009ee0; width: 92%'},[
										 Builder.node( 'img', {src: 'images/layout/true.gif', style: 'float: left; vertical-align: middle;'} ),
										 Builder.node( 'div', {style: 'float: left; color: #ffffff; font-weight: bolder;'}, ' Uw auto is bekend en Hoofdsteun.tv geschikt! Gezien de constructie en/of vorm van de hoofdsteun in uw auto moeten we een meerprijs berekenen voor het opnieuw bekleden van de hoofdsteun.' ),
										 Builder.node( 'div', {style: 'display: block; clear: both;'}, '' )
									 ] )
								  ] );
					extra_price = 360;
					break;
				case '9':
				default:
					var carinfo = Builder.node( 'div', {id: 'car_info_content', style: 'padding-left: 20px; padding-top: 20px;'}, [
									 Builder.node( 'div', {style: 'padding: 10px; background-color: #009ee0; width: 92%'},[
										 Builder.node( 'img', {src: 'images/layout/true.gif', style: 'float: left; vertical-align: middle;'} ),
										 Builder.node( 'div', {style: 'float: left; color: #ffffff; font-weight: bolder;'}, ' Van uw auto is niet bekend of deze Hoofdsteun.tv geschikt is. Misschien heeft Hoofdsteun.tv toch een oplossing; u kunt naar de mogelijkheden informeren via het inbouwformulier.' ),
										 Builder.node( 'div', {style: 'display: block; clear: both;'}, '' )
									 ] )
								  ] );
					break;
			}
			$('car_info').appendChild( carinfo );
		}
		buildRightside();
	}});
}

function buildOfferte(){
	if( accessoires_data == null ){
		new Ajax.Request('getData.php', {method:'post',parameters: { getaccessoires: 'true' }, asynchronous:true, onComplete:function( params ){
			accessoires_data = String(params.responseText).evalJSON();
			buildOfferte();
		}});
	} else {
		for( i in products_data['productsets'] ){
			if( typeof( products_data['productsets'][i] ) == 'function' ) continue;
			for( j in products_data['productsets'][i] ){
    			if( typeof( products_data['productsets'][i][j] ) != 'function' && products_data['producten'][products_data['productsets'][i][j]] && products_data['producten'][products_data['productsets'][i][j]]['id'] && products_data['producten'][products_data['productsets'][i][j]]['title'] && products_data['producten'][products_data['productsets'][i][j]]['set'] ){
					if( activeID == null || ( products_data['producten'][products_data['productsets'][i][j]]['selected'] && products_data['producten'][products_data['productsets'][i][j]]['selected'] == true )){
						activeID = products_data['productsets'][i][j];
					}
				}
			}
		}
		var uitgebreid = new Array();
		var previous_part = '';
		if( products_data['producten'][activeID] && products_data['producten'][activeID]['id'] && products_data['producten'][activeID]['title'] ){
			var productproduct_parts = new Array();
			var productspecials = new Array();
			for( j in products_data['producten'][activeID]['product_parts'] ){
    			if( typeof(products_data['producten'][activeID]['product_parts'][j]) != 'function' &&
					products_data['producten'][activeID]['product_parts'][j] &&
					products_data['product_parts'][products_data['producten'][activeID]['product_parts'][j]] &&
					products_data['product_parts'][products_data['producten'][activeID]['product_parts'][j]]['LangOmschrijving'] &&
					previous_part != products_data['producten'][activeID]['product_parts'][j] ){
					previous_part = products_data['producten'][activeID]['product_parts'][j];
					productproduct_parts[j] = Builder.node( 'div', {style:'margin-bottom: 10px; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #bfc0c3;'}, [
												 Builder.node( 'div', {style:'padding-bottom: 10px; width: 100px; height: 65px; overflow: hidden; font-size: 40px; line-height: 40px; font-weight: bolder; float: left;'}, [
												 	Builder.node( 'img', {style: 'width: 100px; vertical-align: middle;', src: 'http://webbest.asnwork.net/plaatjes/PlaatjesLR/2020/'+products_data['product_parts'][products_data['producten'][activeID]['product_parts'][j]]['A0a0010']} )
												 ] ),
												 Builder.node( 'div', {style:'font-weight: bolder; float: right; height: 15px; width: 430px; overflow: hidden;'}, products_data['product_parts'][products_data['producten'][activeID]['product_parts'][j]]['title'] ),
												 Builder.node( 'div', {style:'padding-bottom: 10px; float: right; line-height: 14px; width: 430px; overflow: hidden;'}, products_data['product_parts'][products_data['producten'][activeID]['product_parts'][j]]['LangOmschrijving'] ),
												 Builder.node( 'div', {style:'display: block; clear: both;'}, '' )
											  ] );
				}
			}
			uitgebreid[1] = Builder.node( 'div', {style: "width: 94%; background-color: transparent; float: left;"}, [
										Builder.node( 'div', {style: 'color: #' + products_data['producten'][activeID]['color'] + '; padding-left: 30px; padding-top: 10px; font-size: 15px;'}, products_data['producten'][activeID]['title'] ),
										Builder.node( 'div', {style: 'padding-left: 30px; padding-top: 10px;'}, productproduct_parts ),
										Builder.node( 'br', {}, '' )
									] );
		}
		var accessoires = new Array();
		if( accessoires_data['accessoires'] ){
			var accesoirecounter = 0;
			for( j in accessoires_data['accessoires'] ){
				if( typeof(accessoires_data['accessoires'][j]) != 'function' &&
					accessoires_data['accessoires'][j]['short_description'] ){
					accessoires[accesoirecounter++] = Builder.node( 'div', {style: 'width: 200px; float: left;'}, [
										Builder.node( 'div', {style: 'width: 200px; float: left;', onmouseover: 'this.style.cursor = "pointer"; $("photoback_'+accessoires_data['accessoires'][j]['id']+'").style.backgroundColor = "#cccccc";', onmouseout: 'this.style.cursor = "default"; $("photoback_'+accessoires_data['accessoires'][j]['id']+'").style.backgroundColor = "'+((accessoires_data['accessoires'][j]['selected'])?'#009ee0':'#ffffff')+'";', onclick: 'changeSelectedAcc("'+accessoires_data['accessoires'][j]['id']+'");'}, [
											Builder.node( 'div', {id: 'photoback_'+accessoires_data['accessoires'][j]['id'], style: 'width: 170px; height: 125px; overflow: hidden; margin: 15px auto 0px auto;'+((accessoires_data['accessoires'][j]['selected'])?' background-color: #009ee0;':' background-color: #ffffff;')}, [
												Builder.node( 'div', {style: 'text-align: center; width: 156px; height: 111px; font-size: 80px; line-height: 80px; margin: 7px; background-color: #ffffff; overflow: hidden;'}, [
													Builder.node( 'img', {style: 'vertical-align: middle;', src: 'images/'+accessoires_data['accessoires'][j]['img_src'], style: 'width: 159px;'} )
												] )
											] ),
											Builder.node( 'div', {style: 'width: 170px; margin: 10px auto 0px auto; height: 34px; overflow: hidden;'}, accessoires_data['accessoires'][j]['short_description'] ),
											Builder.node( 'div', {style: 'width: 170px; margin:  0px auto 0px auto;'}, [
												Builder.node( 'span', {style:'font-weight: bolder;'}, "€ " + moneyFormat( accessoires_data['accessoires'][j]['price'] )),
												Builder.node( 'span', {style:'font-style: italic; font-size: 9px;'}, ' (incl. Inbouw en BTW)' )
											] )
										] ),
										Builder.node( 'div', {style: 'width: 170px; margin:  0px auto 0px auto; font-weight: bolder;'}, [
											Builder.node( 'a', {href: 'images/'+accessoires_data['accessoires'][j]['img_src'], title: accessoires_data['accessoires'][j]['long_description'], rel: "lightbox['accessoires']", style: 'font-weight: bolder; text-decoration: none; color: #009ee0;' }, 'Specificaties >>' )
										] )
									] );
				}
			}
		}
		var products = Builder.node( 'div', {id: 'products_content'}, [
							Builder.node( 'div', {onclick: "new Effect.toggle( 'specificaties', 'blind' ); if( $( 'specificaties' ).style.display == 'none' ){ $( 'specificaties_arrow' ).src = 'images/layout/arrow_down.gif'; } else { $( 'specificaties_arrow' ).src = 'images/layout/arrow_right.gif'; }", onmouseout: "this.style.cursor = 'default';", onmouseover: "this.style.cursor = 'pointer';", style: 'padding: 10px; overflow: hidden; width: 580px; background-color: rgb(255, 255, 255); height: 16px; margin-bottom: 2px; cursor: default;'}, [
								Builder.node( 'img', {id: 'specificaties_arrow', style: 'float: left;', src: (( activeID > 0 )?(( location.hash.match( /extra$/ ) )?'images/layout/arrow_down.gif':'images/layout/arrow_right.gif'):'images/layout/arrow_right.gif')} ),
								Builder.node( 'div', {style: 'float: left; height: 14px; padding-left: 4px; padding-bottom: 2px; color: rgb(16, 179, 210); font-size: 14px; line-height: 14px;'}, 'Uitgebreide specificaties' )
							] ),
							Builder.node( 'div', {id:'specificaties', style: 'display: none; overflow: hidden; width: 100%; background-color: rgb(255, 255, 255); margin-bottom: 12px; '+(( activeID > 0 )?(( location.hash.match( /extra$/ ) )?'display: block': 'display: none'): 'display: none')}, uitgebreid ),
	
							Builder.node( 'div', {onclick: "new Effect.toggle( 'kies_auto', 'blind' ); if( $( 'kies_auto' ).style.display == 'none' ){ $( 'kies_auto_arrow' ).src = 'images/layout/arrow_down.gif'; } else { $( 'kies_auto_arrow' ).src = 'images/layout/arrow_right.gif'; }", onmouseout: "this.style.cursor = 'default';", onmouseover: "this.style.cursor = 'pointer';", style: 'padding: 10px; overflow: hidden; width: 580px; background-color: rgb(255, 255, 255); height: 16px; margin-bottom: 2px; cursor: default;'}, [
								Builder.node( 'img', {id: 'kies_auto_arrow', style: 'float: left;', src: 'images/layout/arrow_down.gif'} ),
								Builder.node( 'div', {style: 'float: left; height: 14px; padding-left: 4px; padding-bottom: 2px; color: rgb(16, 179, 210); font-size: 14px; line-height: 14px;'}, 'Selecteer het type van uw auto' )
							] ),
							Builder.node( 'div', {id:'kies_auto', style: 'overflow: hidden; width: 100%; background-color: rgb(255, 255, 255); margin-bottom: 12px;'}, [
								Builder.node( 'div', {style: 'overflow: hidden; width: 172px; padding-left: 20px; padding-top: 20px; float: left;'}, [
									Builder.node( 'div', {id:'kies_auto', style: 'overflow: hidden; width: 100%; float: left; font-weight: bolder;'}, 'Merk' ),
									Builder.node( 'div', {id:'kies_auto', style: 'overflow: hidden; width: 100%; float: left;'}, [
										Builder.node( 'select', {id:'car_brand', onchange: 'loadCars( "car_brand" );', style: 'overflow: hidden; width: 100%;'} )
									] )
								] ),
								Builder.node( 'div', {style: 'overflow: hidden; width: 172px; padding-left: 20px; padding-top: 20px; float: left;'}, [
									Builder.node( 'div', {id:'kies_auto', style: 'overflow: hidden; width: 100%; float: left; font-weight: bolder;'}, 'Model' ),
									Builder.node( 'div', {id:'kies_auto', style: 'overflow: hidden; width: 100%; float: left;'}, [
										Builder.node( 'select', {id:'car_model', onchange: 'loadCars( "car_model" );', style: 'overflow: hidden; width: 100%;'} )
									] )
								] ),
								Builder.node( 'div', {style: 'overflow: hidden; width: 172px; padding-left: 20px; padding-top: 20px; float: left;'}, [
									Builder.node( 'div', {id:'kies_auto', style: 'overflow: hidden; width: 100%; float: left; font-weight: bolder;'}, 'Bouwjaar' ),
									Builder.node( 'div', {id:'kies_auto', style: 'overflow: hidden; width: 100%; float: left;'}, [
										Builder.node( 'select', {id:'car_year', onchange: 'loadCars( "car_year" );', style: 'overflow: hidden; width: 100%;'} )
									] )
								] ),
								Builder.node( 'div', {id: 'car_info', style: 'display: block; clear: both; padding-bottom: 20px;'}, '' )
							] ),
	
							Builder.node( 'div', {onclick: "new Effect.toggle( 'accessoires', 'blind' ); if( $( 'accessoires' ).style.display == 'none' ){ $( 'accessoires_arrow' ).src = 'images/layout/arrow_down.gif'; } else { $( 'accessoires_arrow' ).src = 'images/layout/arrow_right.gif'; }", onmouseout: "this.style.cursor = 'default';", onmouseover: "this.style.cursor = 'pointer';", style: 'padding: 10px; overflow: hidden; width: 580px; background-color: rgb(255, 255, 255); height: 16px; margin-bottom: 2px; cursor: default;'}, [
								Builder.node( 'img', {id: 'accessoires_arrow', style: 'float: left;', src: 'images/layout/arrow_down.gif'} ),
								Builder.node( 'div', {style: 'float: left; height: 14px; padding-left: 4px; padding-bottom: 2px; color: rgb(16, 179, 210); font-size: 14px; line-height: 14px;'}, 'Accessoires' )
							] ),
							Builder.node( 'div', {id:'accessoires', style: 'overflow: hidden; width: 100%; background-color: rgb(255, 255, 255); padding-bottom: 12px; margin-bottom: 12px;'}, [
								Builder.node( 'div', {style:'padding: 20px; padding-bottom: 10px; padding-right: 50px;'}, 'Onderstaand ziet u de Hoofdsteun.tv accessoires die in combinatie met het door u geselecteerde pack beschikbaar zijn. Als u bepaalde accessoires mist die u graag zou willen hebben, kan het zijn dat deze in combinatie met het geselecteerde pakket niet beschikbaar. U kunt dan eenvoudig de keuze van het pakket aanpassen in de "Offerte calculator" aan de rechterkant, om te zien welke combinaties wel mogelijk zijn.' ),
								Builder.node( 'div', {style:'padding-left: 20px; padding-right: 50px; color: #009ee0; font-style: italic;'}, 'Alle prijzen zijn uitgedrukt als meerprijs op de geselecteerde set en zijn inclusief alle benodigde onderdelen en, indien van toepassing, inbouw en BTW.' ),
								Builder.node( 'div', {}, accessoires )
							] )
					   ] );
		if( $('products_content') ){
			$('products').removeChild( $('products_content') );
		}
		$('products').appendChild( products );
		loadCars();
	}
}

function changeSelectedAcc( selectAcc ){
	if( selectAcc == undefined || Number( selectAcc ) <= 0 ){
		selectAcc = 0;
	}
	new Ajax.Request('getData.php', {method:'post',parameters: { getaccessoires: 'true', selectAccessoire: selectAcc }, asynchronous:true, onComplete:function( params ){
		accessoires_data = String(params.responseText).evalJSON();
		buildRightside();
		buildOfferte();
	}});
}

function moneyFormat( value ){
	var originalvalue = value;
	value  = Number( value );
	value *= 100;
	value  = Math.round( value );
	value /= 100;
	var tempvalue_1 = Math.floor( value );
	var tempvalue_2 = Math.round( ( value - tempvalue_1 ) * 100 );
	var returnvalue = '' + tempvalue_1 + ((tempvalue_2 == 0)?',-':(','+((tempvalue_2 < 10)?'0':'') + tempvalue_2));
	return returnvalue;
}
			
function showContact(){
	$('htvcontact').show();
	$('htvdisclaimer').hide();
	$('htvlogin').hide();
	Effect.Appear( 'htvoverlay_content', { to: 1.0, duration: 1.0 } );
	Effect.Appear( 'htvoverlay', { to: 0.8, duration: 1.0 } );
}
function showDisclaimer(){
	$('htvcontact').hide();
	$('htvdisclaimer').show();
	$('htvlogin').hide();
	Effect.Appear( 'htvoverlay_content', { to: 1.0, duration: 1.0 } );
	Effect.Appear( 'htvoverlay', { to: 0.8, duration: 1.0 } );
}
function showLogin(){
	location.href='http://www.asntechnologies.com/dealers/nl/default.asp';
	/*$('htvcontact').hide();
	$('htvdisclaimer').hide();
	$('htvlogin').show();
	Effect.Appear( 'htvoverlay_content', { to: 1.0, duration: 1.0 } );
	Effect.Appear( 'htvoverlay', { to: 0.8, duration: 1.0 } );*/
}
function closeHTVOverlay() {
	Effect.Fade( 'htvoverlay_content', { duration: 1.0 } );
	Effect.Fade( 'htvoverlay', { duration: 1.0 } );
}
function htvlogin(){
	var user = $('user').value;
	var pass = $('pass').value;
	location.href='http://' + user + ':' + pass + '@www.asntechnologies.com/dealers/nl/default.asp';
}

var required = new Array();
function htvinbouw(){
	required = new Array( {fieldname: 'name',fieldtitle: 'Naam'},
						  {fieldname: 'email',fieldtitle: 'Email'},
					 	  {fieldname: 'telephone',fieldtitle: 'Telefoonnummer'}
						 );

	if( checkSubmit() ){
		new Ajax.Request('getData.php', {method:'post',parameters: { inbouwafspraak: 'true', name: $('name').value, email: $('email').value, telephone: $('telephone').value, message: $('message').value }, asynchronous:true, onComplete:function( params ){
			json = String(params.responseText).evalJSON();
			if( json['submit'] && json['submit'] == true ){
				alert( 'Bedankt voor uw aanvraag' );
			} else {
				alert( 'Uw aanvraag is mislukt, probeer het later nog een keer' );
			}
		}});
	}
}

function checkSubmit(){
  var alertMsg = '';
  for( i in required ){
    var valid = false;
    if( document.getElementsByName( required[i]['fieldname'] ) && document.getElementsByName( required[i]['fieldname'] )[0] ){
      var elementName = document.getElementsByName( required[i]['fieldname'] )[0].nodeName.toLowerCase();
      switch( elementName ){
        case 'input':
          var handled = false;
          switch( document.getElementsByName( required[i]['fieldname'] )[0].type ){
            case 'radio':
            case 'checkbox':
              var set = document.getElementsByName( required[i]['fieldname'] );
              for( j in set ){
                if( set[j].checked == true ){
                  valid = true;
                  break;
                }
              }
              handled = true;
              break;
            case 'text':
            default:
          }
          if( handled ){
            break;
          }
        case 'select':
        case 'textarea':
        default:
          var field = document.getElementsByName( required[i]['fieldname'] )[0]
          field.value = field.value.replace( /[^\x20-\xff]+/g, '' );
          field.value = field.value.replace( /(<\s*(\/\s*)?(a|div|span|script|meta|html|body|b|strong|pre)(\s+[^>]*?>|>))/g, ' ' );
          field.value = field.value.replace( /\s\s+/g, ' ' );
          field.value = field.value.replace( /(^\s+|\s+$)/g, '' );
          if( document.getElementsByName( required[i]['fieldname'] )[0].value.length > 0 ){
            valid = true;
            document.getElementsByName( required[i]['fieldname'] )[0].style.backgroundColor = 'rgb(237, 237, 238)';
          } else {
            document.getElementsByName( required[i]['fieldname'] )[0].style.backgroundColor = '#cccccc';
          }
          break;
      }
	    if( !valid ){
	      alertMsg += '- ' + required[i]['fieldtitle'] + '\n';
	    }
    }
  }
  if( alertMsg.length > 0 ){
    alert( 'De volgende velden zijn nog niet correct ingevuld:\n\n'+alertMsg );
    return false;
  }
  return true;
}

