﻿var colourname = new Array()

	colourname["seatbelt_charcoal"] = "Warm Charcoal" ;
	colourname["seatbelt_silver"] = "Silver" ;
	colourname["seatbelt_flint"] = "Flint" ;
	
    colourname["calipers_grey"] = "Grey" ;
    colourname["calipers_black"] = "Black" ;
    colourname["calipers_red"] = "Red" ;
    colourname["calipers_silver"] = "Silver" ;


function DoExteriorColour () {
    ShowMenuBlock('exteriorcolour');
    gHiddenCol = "exteriorcolour" ;
    SetupColourBlock ('COL','exteriorcolour');
	InfoOn('colourexterior');
}

function DoSeating() {
	if (d.frontseat.value=='fat') {
		// show choices 
		el = document.getElementById('row_rearseats_on'); if (el) el.style.display=''
		document.getElementById('colourwarning').style.visibility = 'hidden';
	}
	else if (d.frontseat.value=='thin') {
		// skinny seats don't tip forward - passengers can't get into the back, therefore no back seats available
		el = document.getElementById('row_rearseats_on'); if (el) el.style.display='none'

        document.getElementById('colourwarning').innerHTML = "<span>2 + 2 Seating Configuration is not compatible with Lightweight Seats</span>"
        document.getElementById('colourwarning').className = 'warning' ;
        document.getElementById('colourwarning').style.visibility = 'visible';

		setRadio ( document.frmConfig.rearseats, 'off' );
		d.rearseats.value = 'off' ;
		vmpRearSeats();
	}

	vmpFrontSeat();
}

function DoRearSeats() {
	if (d.frontseat.value=='fat') {
		el = document.getElementById('row_rearseats_on'); if (el) el.style.display=''
		document.getElementById('colourwarning').style.visibility = 'hidden';
	}
	else if (d.frontseat.value=='thin') {
		el = document.getElementById('row_rearseats_on'); if (el) el.style.display='none'

        document.getElementById('colourwarning').innerHTML = "<span>2 + 2 Seating Configuration is not compatible with Lightweight Seats</span>"
        document.getElementById('colourwarning').className = 'warning' ;
        document.getElementById('colourwarning').style.visibility = 'visible';
	}
	vmpRearSeats();
}


function DoUpperColour () {
    ShowMenuBlock('uppercolour');
    gHiddenCol = "uppercolour" ;
    SetupColourBlock('LTH','uppercolour');
	InfoOn('colour');
}

function DoLowerColour () {
    ShowMenuBlock('lowercolour');

    // depending on material choice, show different colour blocks
    if ( d['lowerchoice'].value == 'A' ) {
        gHiddenCol='loweralcantaracolour';
		SetupColourBlock('HIN','lowercolour');
    } else {
        gHiddenCol='lowerleathercolour';
		SetupColourBlock('LTH','lowercolour');
    }
	// change for alcantara to leather and back again
	vmpSetColour(gHiddenCol);
	InfoOn('colour');
}


function DoSeatInnerColour () {
    ShowMenuBlock('seatinner');
    // depending on seatinner choice, show different colour blocks
    if ( d['seatinnerchoice'].value == 'A' ) {
        gHiddenCol='seatalcantaracolour';
		SetupColourBlock('HIN','seatinnercolour');
    } else {
        gHiddenCol='seatleathercolour';
		SetupColourBlock('LTH','seatinnercolour');
    }
	// change for alcantara to leather and back again
	vmpSetColour(gHiddenCol);
}


function DoSeatOuterColour () {
    ShowMenuBlock('seatoutercolour');
    gHiddenCol = "seatoutercolour" ;
    SetupColourBlock('LTH','seatoutercolour');
}

function DoStitchingColour () {
    ShowMenuBlock('stitchingcolour');
    if ( d['stitchingchoice'].value == 'thick' ) {
		gHiddenCol='stitchingcolour';
		SetupColourBlock('TTHR','stitchingcolour');
		vmpStitching('thick');
    } else {
    	hideColourBlock ();
    	vmpStitching('thin');
    }
}


function DoCarpetColour () {
    ShowMenuBlock('carpetcolour');
    gHiddenCol = "carpetcolour" ;
    SetupColourBlock('CARP','carpetcolour');
}

function DoCarpetStitchingColour () {
    ShowMenuBlock('carpetstitchingcolour');
    gHiddenCol = "carpetstitchingcolour" ;
    SetupColourBlock('LTH','carpetstitchingcolour');
}

function DoHeadliningColour () {
    ShowMenuBlock('headliningcolour');
    gHiddenCol = "headliningcolour" ;
    SetupColourBlock('HIN','headliningcolour');
}

function DoSeatBelt () {
    ShowMenuBlock('seatbelt');
    cellInit('seatbelt');
}

function setOption( option, checked ) {
    switch (option) {
        case 'rearlogo' :
            postevent('view_rearlogo');
            d.rearlogo.value=(checked?'off':'');
            vmpRearlogo(d.rearlogo.value);
            break ;

        case 'stoneguards' :
            postevent('view_stoneguards');
            d.stoneguards.value=(checked?'off':'');
            vmpStoneguards(d.stoneguards.value);
            break ;
            
        case 'parking_off' :
            postevent('view_default');
            d.parking_off.value=(checked?'off':'');
            break ;
            
        case 'sportstyre' :
            d.sportstyre.value=(checked?'on':'');
            break ;
            
        case 'exteriormesh' :
        	postevent('view_exteriormesh');
            d.exteriormesh.value=(checked?'on':'');
            vmpExteriorMesh(d.exteriormesh.value);
            break ;
            
        case 'luggage' :
            d.luggage.value=(checked?'on':'');
            break ;
            
        case 'alloysillplate' :
            d.alloysillplate.value=(checked?'on':'');
            vmpSills(d.alloysillplate.value)
            break ;
            
        case 'saddlebags' :
			if (checked) 
				InfoOn('saddlebags'); 
			else 
				InfoOff('saddlebags');
			d.saddlebags.value=(checked?'on':'');
			break ;
	}
}

// make sure user doesn't select both rearview mirror+garage and rearview mirror
function setRearviewOptions () {
	if (document.frmConfig.rearviewgarage) {
		d.rearviewgarage.value=(document.frmConfig.rearviewgarage.checked?'on':'');
	}
	if (document.frmConfig.rearview) {
		d.rearview.value=(document.frmConfig.rearview.checked?'on':'');
	}
}


function setConsole ( outer, inner ) {
	d.console_outer.value = outer ;
	vmpConsole( d.console_outer.value )
}


function vmpConsole(outer) {
	if (outer == 'black') {
		vmpColourAnim ( '000000', 'FaciaColour' ) ;
		if (vmp) vmp.TriggerAnim('set_dash_blackblack');
	}
	else if (outer == 'silver' ) {
		vmpColourAnim ( 'c9c9c9', 'FaciaColour' ) ;
		// vmpColourAnim ( '808080', 'FaciaColour' ) ;
		if (vmp) vmp.TriggerAnim('set_dash_silverblack');
	}
}


function vmpStitching ( code ) {
	if (code=='thick') {
		postevent('show_stitching');
	} else {
		postevent('hide_stitching');
	}
}


function vmpSills(checkbox) {
	if (checkbox == '') {	// defaults to black
		vmpColourAnim ( '000000', 'SillColour' ) ;
		//vmp.TriggerAnim('sillcolour_black');
	}
	else {	
		// checkbox ticked
		vmpColourAnim ( 'c9d9dc', 'SillColour' ) ;
		//vmp.TriggerAnim('sillcolour_chrome');
		// Chrome = 0.772"  g="0.835"  b="0.858
	}
}


//------------
// vmpSetColour
// called from colour blocks (COLS,LTHR,etc)
//-------------
function vmpSetColour ( sCol ) {
    switch (sCol) {
        case "exteriorcolour":
            vmpColourAnim ( d["exteriorcolour_hexcode"].value, "ExteriorColour" )
            break ;
        case "uppercolour":
            vmpColourAnim ( d["uppercolour_hexcode"].value, "UpperColour" )
            break;

        case "lowercolour" :
        case "loweralcantaracolour" :
        case "lowerleathercolour" :
            if (d["lowerchoice"].value == "A") {
                vmpColourAnim ( d["loweralcantaracolour_hexcode"].value, "LowerColour" ) ;
            } else {
                vmpColourAnim ( d["lowerleathercolour_hexcode"].value, "LowerColour" ) ;
            }
            break ;

		case "seatinnercolour" :
        case "seatalcantaracolour" :
        case "seatleathercolour" :
            if (d["seatinnerchoice"].value == "A") {
                vmpColourAnim ( d["seatalcantaracolour_hexcode"].value, "SeatInnerColour" ) ;
            } else {
                vmpColourAnim ( d["seatleathercolour_hexcode"].value, "SeatInnerColour" ) ;
            }
            break ;

        case "stitchingcolour":
			vmpColourAnim ( d["stitchingcolour_hexcode"].value, "StitchingColour" ) ;
            break ;
        case "seatoutercolour":
            vmpColourAnim ( d["seatoutercolour_hexcode"].value, "SeatOuterColour" )
            break ;
        case "steerstitchingcolour":
			vmpColourAnim ( d["steerstitchingcolour_hexcode"].value, "SteeringWheelStitchingColour" ) ;
            break ;
        case "carpetcolour":
            vmpColourAnim ( d["carpetcolour_hexcode"].value, "CarpetColour" )
            break ;
        case "carpetstitchingcolour":
            vmpColourAnim ( d["carpetstitchingcolour_hexcode"].value, "CarpetBindingColour" )
            break ;
        case "headliningcolour":
            vmpColourAnim ( d["headliningcolour_hexcode"].value, "HeadliningColour" )
            break ;
        case "headliningcolour":
            vmpColourAnim ( d["headliningcolour_hexcode"].value, "HeadliningColour" )
            break ;
		case "brakecaliper":
            vmpColourAnim ( d["brakecaliper_hexcode"].value, "CalipersColour" ) ;
            break ;
		case "seatbelt":
            vmpColourAnim ( d["seatbelt_hexcode"].value, "SeatbeltColour" ) ;
            break ;
    }
}


//----------
//-- Limit number of colours available for car interior
// get all the leather colours, populate array lthColour with distinct interior colours
var SelectedColours = [] ;

function SetSelectedColours () {
	// called (i) when colourblock is initialised (SetupColourBlock)
	// (ii) when colour is changed (cellColourOn)

	var debug = '' ;
	SelectedColours = [] ;

	// get all the leather items
	// seatinnercolour = alcantara, doorinner = alcantara
	var leather_names = [ 'uppercolour', 'lowerleathercolour', 'seatoutercolour', 'seatleathercolour' ];

    for (var i=0; i<leather_names.length; i++) {
    	if ( ! d[leather_names[i]+'_cellid'] ) continue ;
    	var cellid = d[leather_names[i]+'_cellid'].value ;
		// get all the colour codes used
		if( !in_array(SelectedColours, cellid) ) {
			debug += leather_names[i] + ' = ' + cellid + "\n"
			SelectedColours.push(cellid);
		    cellSelected( cellid );  // is this a selected leather colour elsewhere ?
		}
	}
	ShowColourWarning('LTH');
	// alert( debug );
}


/*============ VMP OPTIONS ==============*/

//--- Turn the rearlogo on or off
function vmpRearlogo ( checkbox ) {
    if (checkbox) {
        // checkbox ticked - turn off rear logo
        postevent('hide_rearlogo');
    }
    else {
        // Yes = turn the rear logo on
        postevent('show_rearlogo');
    }
}

function vmpExteriorMesh(checkbox) {
	if (checkbox) { 
		if (vmp) vmp.TriggerAnim('set_mesh_silver');
	}
	else {
		if (vmp) vmp.TriggerAnim('set_mesh_std');
	}
}

//---------
// stoneguards
function vmpStoneguards ( checkbox ) {
    if (checkbox) {
        postevent('stoneguards_on');
    } else {
        postevent('stoneguards_off');
    }
}


function DoBrakeCaliper () {
    ShowMenuBlock('brakecaliper');
    cellInit('brakecaliper');
    postevent('view_wheel');
}

//---
// change wheels - called from radio button
//----
function doWheels(code) {
	d.wheels.value=code;
    postevent('view_wheel_move');
	vmpWheels(code);
}


//--- swap wheels
function vmpWheels ( code ) {

	switch (code) {
		case '10doublespoke' :
			vmpColourAnim ( 'a6a6a6', 'WheelColour', 0.5 ) ;
			postevent('show_10doublespoke',0.5);
			break ;

		case '10doublespokegraphite' :
			vmpColourAnim ( '555555', 'WheelColour', 0.5 ) ;
			postevent('show_10doublespoke',0.5);
			break ;

		case '10spoke' :
			vmpColourAnim ( 'c6d6dc', 'WheelColour',0.5 ) ;	// shiny wheel
			vmpColourAnim ( 'c6d6dc', 'WheelRimColour',0.5 ) ;
			postevent('show_10spoke',0.5);
			break ;

		case '10spoke2tone' :
			vmpColourAnim ( 'c6d6dc', 'WheelColour',0.5 ) ;	// shiny wheel
			vmpColourAnim ( '555555', 'WheelRimColour',0.5 ) ;
			postevent('show_10spoke',0.5);
			break ;
	}
}

//-- swap gearstick for trinket tray
function vmpTransmission( code ) {
	
	if (code=='Manual') {
        postevent('show_manual');
	}
	else {
        postevent('show_automatic');
	}
}


//--- swap front seats
function vmpFrontSeat () {
	switch (d.frontseat.value) {
		case 'fat' :
			postevent('show_fatseats', 0.5);
			break ;

		case 'thin' :
			postevent('show_thinseats', 0.5);
			break ;
	}
}

//-- show different seating configuration
function vmpRearSeats () {
	if (d.rearseats.value=='on') {
		postevent('show_rearseats', 0.5);
	}
	else {
		postevent('show_rear', 0.5);
	}
}



//------------------
// read carcookie
// use it to load previously selected defaults and
// show defaults in (i) hiddenform (ii) frmConfig
// separate from vmp actions
function getCarCookie () {

	var frmConfig = document.frmConfig ;

    if ( carcookie.get('handofdrive') ) {
        d['handofdrive'].value = carcookie.get('handofdrive') ;
        setRadio ( frmConfig.handofdrive, carcookie.get('handofdrive') )
    }

    if ( carcookie.get('wheels') ) {
        d['wheels'].value = carcookie.get('wheels') ;
        setRadio ( frmConfig.wheels, carcookie.get('wheels') )
    }

    if ( carcookie.get('frontseat') ) {
        d['frontseat'].value = carcookie.get('frontseat') ;
        setRadio ( frmConfig.frontseat, carcookie.get('frontseat') )
    }

    if ( carcookie.get('rearseats') ) {
        d['rearseats'].value = carcookie.get('rearseats') ;
        setRadio ( frmConfig.rearseats, carcookie.get('rearseats') )
    }

    if (carcookie.get('rearlogo')) {
        d.rearlogo.value = carcookie.get('rearlogo') ;
        if (document.frmConfig.rearlogo) document.frmConfig.rearlogo.checked = true ;
    }

    if (carcookie.get('stoneguards')) {
        d.stoneguards.value = carcookie.get('stoneguards') ;
        if (document.frmConfig.stoneguards) document.frmConfig.stoneguards.checked = true ;
    }

    if (carcookie.get('sportstyre')) {
        d.sportstyre.value = carcookie.get('sportstyre') ;
        if (document.frmConfig.sportstyre) document.frmConfig.sportstyre.checked = true ;
    }

    if (carcookie.get('exteriormesh')) {
        d.exteriormesh.value = carcookie.get('exteriormesh') ;
        if (document.frmConfig.exteriormesh) document.frmConfig.exteriormesh.checked = true ;
    }
    
    if ( carcookie.get('transmission') ) {
        d['transmission'].value = carcookie.get('transmission') ;
        if (frmConfig.transmission) setRadio ( frmConfig.transmission, carcookie.get('transmission') )
    }
    
    if ( carcookie.get('steering') ) {
        d['steering'].value = carcookie.get('steering') ;
        if (frmConfig.steering) setRadio ( frmConfig.steering, carcookie.get('steering') )
    }

    if (carcookie.get('parking_off')) {
        d.parking_off.value = carcookie.get('parking_off') ;
        if (document.frmConfig.parking_off) document.frmConfig.parking_off.checked = true ;
    }


    if (carcookie.get('mp3')) {
        d.mp3.value = carcookie.get('mp3') ;
        if (document.frmConfig.mp3) document.frmConfig.mp3.checked = true ;
    }

    if (carcookie.get('radiosat')) {
        d.radiosat.value = carcookie.get('radiosat') ;
        if (document.frmConfig.radiosat) document.frmConfig.radiosat.checked = true ;
    }


	// options
    if (carcookie.get('firstaid')) {
        d.firstaid.value = carcookie.get('firstaid') ;
        if (document.frmConfig.firstaid) document.frmConfig.firstaid.checked = true ;
    }

    if (carcookie.get('smoker')) {
        d.smoker.value = carcookie.get('smoker') ;
        if (document.frmConfig.smoker) document.frmConfig.smoker.checked = true ;
    }

    if (carcookie.get('saddlebags')) {
        d.saddlebags.value = carcookie.get('saddlebags') ;
        if (document.frmConfig.saddlebags) document.frmConfig.saddlebags.checked = true ;
    }

    if (carcookie.get('luggage')) {
        d.luggage.value = carcookie.get('luggage') ;
        if (document.frmConfig.luggage) document.frmConfig.luggage.checked = true ;
    }

    if (carcookie.get('alloysillplate')) {
        d.alloysillplate.value = carcookie.get('alloysillplate') ;
        if (document.frmConfig.alloysillplate) document.frmConfig.alloysillplate.checked = true ;
    }

    if (carcookie.get('rearview')) {
        d.rearview.value = carcookie.get('rearview') ;
        if (document.frmConfig.rearview) document.frmConfig.rearview.checked = true ;
    }
    if (carcookie.get('rearviewgarage')) {
        d.rearviewgarage.value = carcookie.get('rearviewgarage') ;
        if (document.frmConfig.rearviewgarage) document.frmConfig.rearviewgarage.checked = true ;
    }

    if (carcookie.get('tracker')) {
        d.tracker.value = carcookie.get('tracker') ;
        if (document.frmConfig.tracker) document.frmConfig.tracker.checked = true ;
    }

    if (carcookie.get('alarm')) {
        d.alarm.value = carcookie.get('alarm') ;
        if (document.frmConfig.alarm) document.frmConfig.alarm.checked = true ;
    }

    if (carcookie.get('fixedseat')) {
        d.fixedseat.value = carcookie.get('fixedseat') ;
        if (document.frmConfig.fixedseat) document.frmConfig.fixedseat.checked = true ;
    }
    if (carcookie.get('satnav')) {
        d.satnav.value = carcookie.get('satnav') ;
        if (document.frmConfig.satnav) document.frmConfig.satnav.checked = true ;
    }
    
    if (carcookie.get('console_outer')) {
        d.console_outer.value = carcookie.get('console_outer') ;
        setRadio ( frmConfig.console_outer, carcookie.get('console_outer') )
    }

	// select boxes - languages
    if ( carcookie.get('iplang') ) {
        d['iplang'].value = carcookie.get('iplang') ;
        if (frmConfig.iplang) setSelect ( frmConfig.iplang, carcookie.get('iplang') )
    }

    if ( carcookie.get('handbooklang') ) {
        d['handbooklang'].value = carcookie.get('handbooklang') ;
        if (frmConfig.handbooklang) setSelect ( frmConfig.handbooklang, carcookie.get('handbooklang') )
    }

    if ( carcookie.get('bluetoothlang') ) {
        d['bluetoothlang'].value = carcookie.get('bluetoothlang') ;
        if (frmConfig.bluetoothlang) setSelect ( frmConfig.bluetoothlang, carcookie.get('bluetoothlang') )
    }

	// radio - audio and audio options 
    if ( carcookie.get('audio') ) {
        d['audio'].value = carcookie.get('audio') ;
        if (document.frmConfig.audio) setRadio ( frmConfig.audio, carcookie.get('audio') )
    }



	// material choices
    if (carcookie.get('sillmessage')) {
        d.sillmessage.value = carcookie.get('sillmessage') ;
        document.frmConfig.sillmessage.value = carcookie.get('sillmessage') ;
    }
    
    if ( carcookie.get('lowerchoice') ) {
        d['lowerchoice'].value = carcookie.get('lowerchoice') ;
        setRadio ( document.frmConfig.lowerchoice, carcookie.get('lowerchoice') )
    }
    
    if ( carcookie.get('seatinnerchoice') ) {
        d['seatinnerchoice'].value = carcookie.get('seatinnerchoice') ;
        setRadio ( document.frmConfig.seatinnerchoice, carcookie.get('seatinnerchoice') )
    }
    
    if ( carcookie.get('stitchingchoice') ) {
        d['stitchingchoice'].value = carcookie.get('stitchingchoice') ;
        setRadio ( document.frmConfig.stitchingchoice, carcookie.get('stitchingchoice') )
    }


// colours
	getCookieColour ( 'exteriorcolour' ) ;

	getCookieColour ( 'uppercolour' ) ;
	getCookieColour ( 'lowerleathercolour' ) ;
	getCookieColour ( 'loweralcantaracolour' ) ;
	getCookieColour ( 'seatoutercolour' ) ;
	getCookieColour ( 'seatleathercolour' ) ;
	getCookieColour ( 'seatalcantaracolour' ) ;

	getCookieColour ( 'stitchingcolour' ) ;

	getCookieColour ( 'carpetcolour' ) ;
	getCookieColour ( 'carpetstitchingcolour' ) ;
	getCookieColour ( 'headliningcolour' ) ;

	getCookieColour ( 'brakecaliper' ) ;
	getCookieColour ( 'seatbelt' ) ;
}


//------------------
// set car cookie
// take form and save it as a cookie
function setCarCookie () {

	if (d.handofdrive) carcookie.set('handofdrive',d.handofdrive.value)
	
	if (d.wheels) carcookie.set('wheels',d.wheels.value)
	
	if (d.frontseat) carcookie.set('frontseat',d.frontseat.value)

	if (d.rearseats) carcookie.set('rearseats',d.rearseats.value)
	
	if (d.rearlogo) carcookie.set('rearlogo',d.rearlogo.value);
	
	if (d.stoneguards) carcookie.set('stoneguards',d.stoneguards.value);
	
	if (d.sportstyre) carcookie.set('sportstyre',d.sportstyre.value);
	
	if (d.exteriormesh) carcookie.set('exteriormesh',d.exteriormesh.value);
	
	if (d.transmission) carcookie.set('transmission',d.transmission.value);
	
	if (d.steering) carcookie.set('steering',d.steering.value);
	
	if (d.parking_off) carcookie.set('parking_off',d.parking_off.value);
	
	if (d.mp3) carcookie.set('mp3',d.mp3.value);
	
	if (d.radiosat) carcookie.set('radiosat',d.radiosat.value);
	
	if (d.firstaid) carcookie.set('firstaid',d.firstaid.value);
	
	if (d.smoker) carcookie.set('smoker',d.smoker.value);
	
	if (d.saddlebags) carcookie.set('saddlebags',d.saddlebags.value);
	
	if (d.luggage) carcookie.set('luggage',d.luggage.value);
	
	if (d.alloysillplate) carcookie.set('alloysillplate',d.alloysillplate.value);
	
	if (d.rearview) carcookie.set('rearview',d.rearview.value);
	
	if (d.rearviewgarage) carcookie.set('rearviewgarage',d.rearviewgarage.value);
	
	if (d.tracker) carcookie.set('tracker',d.tracker.value);
	
	if (d.alarm) carcookie.set('alarm',d.alarm.value);
	
	if (d.satnav) carcookie.set('satnav',d.satnav.value);
	
	if (d.console_outer) carcookie.set('console_outer',d.console_outer.value);
	
	if (d.iplang) carcookie.set('iplang',d.iplang.value);
	
	if (d.handbooklang) carcookie.set('handbooklang',d.handbooklang.value);
	
	if (d.iplang) carcookie.set('iplang',d.iplang.value);
	
	if (d.bluetoothlang) carcookie.set('bluetoothlang',d.bluetoothlang.value);
	
	if (d.audio) carcookie.set('audio',d.audio.value);
	
	if (d.iplang) carcookie.set('iplang',d.iplang.value);
	
	if (d.sillmessage) carcookie.set('sillmessage',d.sillmessage.value);
	
	if (d.lowerchoice) carcookie.set('lowerchoice',d.lowerchoice.value);
	
	if (d.seatinnerchoice) carcookie.set('seatinnerchoice',d.seatinnerchoice.value);
	
	if (d.stitchingchoice) carcookie.set('stitchingchoice',d.stitchingchoice.value);
	
	setCookieColour ( 'exteriorcolour' ) ;
	setCookieColour ( 'uppercolour' ) ;
	setCookieColour ( 'lowerleathercolour' ) ;
	setCookieColour ( 'loweralcantaracolour' ) ;
	setCookieColour ( 'seatoutercolour' ) ;
	setCookieColour ( 'seatleathercolour' ) ;
	setCookieColour ( 'seatalcantaracolour' ) ;
	setCookieColour ( 'stitchingcolour' ) ;
	setCookieColour ( 'carpetcolour' ) ;
	setCookieColour ( 'carpetstitchingcolour' ) ;
	setCookieColour ( 'headliningcolour' ) ;
	setCookieColour ( 'brakecaliper' ) ;
	setCookieColour ( 'seatbelt' ) ;

	alert('Car Details have been saved');
}



//--------
// Set 3D Defaults
//--------
function vmpDefaults () {
    if (!d) d=document.hiddenform ;

    vmpSetColour('exteriorcolour');

    vmpSetColour('uppercolour');
    vmpSetColour('lowercolour');
    vmpSetColour('seatinnercolour');
    vmpSetColour('seatoutercolour');

    vmpSetColour('stitchingcolour');
    vmpSetColour('carpetcolour');
    vmpSetColour('carpetstitchingcolour');
    vmpSetColour('headliningcolour');

    vmpSetColour('brakecaliper');
    vmpSetColour('seatbelt');

    if ( d["handofdrive"].value == "L" )
        postevent('lefthanddrive');
    else
        postevent('righthanddrive');

    if ( d.territory.value == "C" || d.territory.value == "U" ) {
        postevent('show_fedindicators'); 
    }
    else {
        postevent('hide_fedindicators');
	}


    vmpStitching ( d.stitchingchoice.value );
	vmpWheels( d.wheels.value );
    vmpRearlogo ( d.rearlogo.value )
    vmpStoneguards ( d.stoneguards.value )
	vmpFrontSeat( d.frontseat.value );
	vmpRearSeats( d.rearseats.value );
	vmpSills( d.alloysillplate.value );
	vmpTransmission ( d.transmission.value );
	vmpExteriorMesh(d.exteriormesh.value);

    vmpConsole( d.console_outer.value );
}


function getCarDetails () {

    var cardetails = '\n<table cellpadding=4 cellspacing=0 border=0 id="cardetails" class="copy">';
    cardetails += '\n<tr><th>Vehicle Details</th><th style="text-align:right"><input type="image" src="images/bt_print.gif" value="Print" onclick="window.print()"></th></tr>';
	cardetails += '\n<tr><td colspan="2">DBS</td></tr>' ;

    cardetails += '\n<tr><td>Country</td><td>' + d.country.value + '</td></tr>' ;
    cardetails += '\n<tr><td>Specification Date</td><td>' + d.date.value + '</td></tr>' ;

    if (d.handofdrive.value == 'R')
        cardetails += '\n<tr><td colspan=2>Right Hand Drive</td></tr>' ;
    else
        cardetails += '\n<tr><td colspan=2>Left Hand Drive</td></tr>' ;

    if ( d.transmission.value == 'Manual' ) 
		cardetails += '\n<tr><td>Transmission</td><td>Manual</td></tr>' ;
	else
		cardetails += '\n<tr><td>Transmission</td><td>Touchtronic 2</td></tr>' ;

	switch (d.wheels.value) {
		case '10doublespoke' :
			cardetails += '\n<tr><td colspan="2">Standard 20" 20-Spoke Wheel</td></tr>' ;
			break ;
		case '10doublespokegraphite' :
			cardetails += '\n<tr><td colspan="2">Optional 20" 20-Spoke Wheel with graphite painted finish</td></tr>' ;
			break ;
		case '10spoke' :
			cardetails += '\n<tr><td colspan="2">Optional 10-Spoke diamond-turned alloy Wheels</td></tr>' ;
			break ;
		case '10spoke2tone' :
			cardetails += '\n<tr><td colspan="2">Optional 10-Spoke diamond-turned alloy Wheels with graphite painted finish</td></tr>' ;
			break ;
	}	

	switch (d.frontseat.value) {
		case 'fat' :
			cardetails += '\n<tr><td>Front seats</td><td>Sports Seats with 10-way electric adjustment (includes height, tilt and lumbar adjustment)</td></tr>' ;
			break ;
		case 'thin' :
			cardetails += '\n<tr><td>Front seats</td><td>Lightweight Seats with 6-way adjustment (includes front and rear height adjustment)</td></tr>' ;
			break ;
	}	

	switch (d.rearseats.value) {
		case 'on' :
			cardetails += '\n<tr><td colspan="2">2 + 2 Seating Configuration</td></tr>' ;
			break ;
		case 'off' :
			cardetails += '\n<tr><td colspan="2">2 + 0 Seating Configuration</td></tr>' ;
			break ;
	}	

    cardetails += '\n<tr><th colspan="2">Colours</td></tr>' ;
    cardetails += '\n<tr><td>Car Body Colour</td><td>' + d.exteriorcolour_name.value + '</td></tr>' ;
    // cardetails += '\n<tr><td>Car Body Colour</td><td>' + d.exteriorcolour_name.value + fc(d.exteriorcolour_menu.value) + '</td></tr>' ;
	cardetails += '\n<tr><td>Upper Leather Colour</td><td>' + d.uppercolour_name.value + fc(d.uppercolour_menu.value) + '</td></tr>' ;
	switch (d.lowerchoice.value) {
		case 'L' :
			cardetails += '\n<tr><td>Lower Material Choice</td><td>Leather</td></tr>' ;
			cardetails += '\n<tr><td>Lower Leather Colour</td><td>' + d.lowerleathercolour_name.value + fc(d.lowerleathercolour_menu.value) + '</td></tr>' ;
			break ;
		case 'A' :
			cardetails += '\n<tr><td>Lower Material Choice</td><td>Alcantara</td></tr>' ;
			cardetails += '\n<tr><td>Lower Alcantara Colour</td><td>' + d.loweralcantaracolour_name.value + '</td></tr>' ;
			break ;
	}

	cardetails += '\n<tr><td>Seat Outer Colour</td><td>' + d.seatoutercolour_name.value + fc(d.seatoutercolour_menu.value) + '</td></tr>' ;
	switch (d.seatinnerchoice.value) {
		case 'L' :
			cardetails += '\n<tr><td>Seat Inner Material</td><td>Leather</td></tr>' ;
			cardetails += '\n<tr><td>Seat Inner Colour</td><td>' + d.seatleathercolour_name.value + fc(d.seatleathercolour_menu.value) + '</td></tr>' ;
			break ;
		case 'A' :
			cardetails += '\n<tr><td>Seat Inner Material</td><td>Alcantara</td></tr>' ;
			cardetails += '\n<tr><td>Seat Inner Colour</td><td>' + d.seatalcantaracolour_name.value + '</td></tr>' ;
			break ;
	}
	if ( d.stitchingchoice.value == 'fine' ) {
	    cardetails += '\n<tr><td>Fine Stitching</td><td>Match to material colour</td></tr>' ;
	}
	else {
		cardetails += '\n<tr><td>Coarse Stitching</td><td>' + d.stitchingcolour_name.value + '</td></tr>' ;
	}

    if ( d.steering.value != '' ) {
		cardetails += '\n<tr><td>Steering Wheel</td><td>' + d.steering.value + '</td></tr>' ;
	}
	
	cardetails += '\n<tr><td>Carpet Colour</td><td>' + d.carpetcolour_name.value + fc(d.carpetcolour_menu.value) + '</td></tr>' ;
	cardetails += '\n<tr><td>Carpet Binding Colour</td><td>' + d.carpetstitchingcolour_name.value + '</td></tr>' ;
    cardetails += '\n<tr><td>Headlining Colour</td><td>' + d.headliningcolour_name.value + '</td></tr>' ;
    cardetails += '\n<tr><td>Seatbelts</td><td>' + d.seatbelt_name.value + '</td></tr>' ;

	cardetails += '\n<tr><td>Inner Console Finish</td><td>Piano Black</td></tr>' ;
    if ( d.console_outer.value ='silver') {
	    cardetails += '\n<tr><td>Facia and Outer Console Finish</td><td>Matrix Alloy facia and Iridium Silver console</td></tr>' ;
	}


	// Standard Options
    cardetails += '\n<tr><th colspan="2">Standard Features</th></tr>' ;
    cardetails += '\n<tr><td colspan="2">Carbon Ceramic Matrix Brakes</th></tr>' ;
    cardetails += '\n<tr><td colspan="2">Adaptive Damping System (ADS) with Track mode</th></tr>' ;
    cardetails += '\n<tr><td colspan="2">Dynamic Stability control (DSC) with Track mode</th></tr>' ;
	cardetails += '\n<tr><td colspan="2">Carbon-fibre Door Trims and Door Pulls</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Memory Seats and Exterior Mirrors (three positions)</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Automatic Temperature Control</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Cruise Control</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Powerfold Exterior Mirrors</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Rear Parking Sensors</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Tyre Pressure Monitoring</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Boot Mounted Umbrella</td></tr>' ;
	cardetails += '\n<tr><td colspan="2">Bang &amp; Olufsen BeoSound Audio System</td></tr>' ;

    cardetails += '\n<tr><th colspan="2">Options</th></tr>' ;
    if ( d.rearlogo && d.rearlogo.value != '') {
        cardetails += '\n<tr><td colspan="2">Remove DBS badge</td></tr>' ;
    }
    if ( d.exteriormesh && d.exteriormesh.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Magnum Silver Meshes</td></tr>' ;
	}
    if ( d.sportstyre && d.sportstyre.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Pirelli P Zero Corsa Sports Tyres</td></tr>' ;
	}
	if ( d.stoneguards && d.stoneguards.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Stoneguards</td></tr>' ;
	}
    if ( d.parking_off && d.parking_off.value != '') {
        cardetails += '\n<tr><td colspan="2">Remove Front Parking Sensors</td></tr>' ;
    }

// audio
    if ( d.radiosat.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Integrated Sirius Satellite Radio</td></tr>' ;
    }
    if ( d.mp3.value != '' ) {
        cardetails += '\n<tr><td colspan="2">MP3 Player Connectivity</td></tr>' ;
    }
	
    if ( d.alloysillplate.value != '') {
        cardetails += '\n<tr><td colspan="2">Polished Alloy Tread Plates</td></tr>' ;
    }

    if ( d.sillmessage.value != '') {
        cardetails += '\n<tr><td>Personalised Sill Plaques</td><td>' + d.sillmessage.value + '</td></tr>' ;
    }

// languages
    if ( d.iplang.value != '' ) {
        cardetails += '\n<tr><td>Instrument Pack Language</td><td>' + d.iplang.value + '</td></tr>' ;
    }

    if ( d.handbooklang.value != '' ) {
        cardetails += '\n<tr><td>Handbook Language</td><td>' + d.handbooklang.value + '</td></tr>' ;
    }
	if ( d.bluetoothlang.value != '' ) {
		cardetails += '\n<tr><td>Bluetooth Language</td><td>' + d.bluetoothlang.value + '</td></tr>' ;
	}


// options
    if ( d.smoker.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Smoker\'s Pack - Ashtray and Cigar Lighter</td></tr>' ;
    }

    if ( d.saddlebags.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Leather storage saddle</td></tr>' ;
    }
    if ( d.luggage.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Luggage Set</td></tr>' ;
    }

    if ( d.tracker.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Aston Martin Tracking System</td></tr>' ;
    }
    if ( d.alarm.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Alarm Upgrade (Volumetric and tilt sensor)</td></tr>' ;
    }

    if ( d.firstaid.value != '' ) {
        cardetails += '\n<tr><td colspan="2">First Aid Kit</td></tr>' ;
    }
	if (d.rearview.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Auto-Dimming Rear View Mirror</td></tr>' ;
    }
	if (d.rearviewgarage.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Auto-Dimming Rear View Mirror with Garage Door Opener</td></tr>' ;
    }
	if (d.satnav.value != '' ) {
		cardetails += '\n<tr><td colspan="2">Hard disk drive (HDD) satellite navigation system</td></tr>' ;
    }

    if ( d.fixedseat.value != '' ) {
        cardetails += '\n<tr><td colspan="2">Delete Passenger Seat Height Adjustment includes ISOFIX</td></tr>' ;
    }


    cardetails += '\n</table>' ;

    cardetails += '\n<p>Please contact your <a href="http://www.astonmartin.com/contactus/dealerlocator">local Aston Martin dealer</a> for information on prices and availability.</p>' ;

    return cardetails ;
}


var docHead =
    '\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' +
    '\n<html>' +
    '\n<head>' +
    '\n<title>Aston Martin DBS</title>' +
    '\n<link href="styles/default.css" media="all" rel="stylesheet" type="text/css" />' +
    '\n<link href="styles/configurator.css" media="all" rel="stylesheet" type="text/css" />' +
    '\n<link href="styles/configurator-print.css" media="all" rel="stylesheet" type="text/css" />' +
    '\n<scri' + 'pt src="scripts/configurator.js" language="javascript" type="text/javascript"></sc' + 'ript>' +
    '\n<scri' + 'pt src="scripts/dbs.js" language="javascript" type="text/javascript"></sc' + 'ript>' +
    '\n</head>' +
    '\n' +
    '\n<body>' +
    '\n<div id="outer">' +
    '\n<div class="sitedetails">' +
    '\n<div id="logo">' +
    '\n<a href="http://www.astonmartin.com/home"><img src="images/logo_astonmartin.gif" alt="Aston Martin" width="97" height="43" /></a>' +
    '\n</div>' +
    '\n</div>' +
    '\n<div id="pagedetails">' +
    '\n<div id="content">'

        var heading = '\n<h2><img src="images/welcome_dbs.gif" width="282" height="21" alt="Welcome to the configurator for the DBS" title=""></h2>' ;
		var model =
			'\n<div class="contentblock" id="banner">' +
			'\n<iframe src="dbs_load.html" title="Viewpoint 3D Model DBS" name="car" id="carframe" frameborder="0" scrolling="no"></iframe>' +
			'\n</div>' ;

var docFoot =
    '\n</div>' +
    '\n</div>' +
    '\n</div><br><br>' +
    '\n</body>' +
    '\n</html>'


