﻿

var artikelBasisprijs;
var artikelType;
var categorieCode;
var currencyGroupSeparator;
var currencyDecimalSeparator;
var personaliseerbaar;
var groepCode;
var artikelNummer;
var stapOnderdelenExteriorStapOptie;
var stapOnderdelenExteriorSelected;


var arrStappen = new Array();									//stappen

var arrStapOnderdelen = new Array();							//onderdelen
var arrStapOnderdelenStap = new Array();						//stap waar onderdeel bij hoort
var arrStapOnderdelenOptie = new Array();						//gekozen of default optie
var arrStapOnderdelenOptieMeerprijs = new Array();				//meerprijs van gekozen of default optie
var arrStapOnderdelenOptieConfiguratorString = new Array();		//optievalue voor configurator van gekozen of default optie

var arrStapOnderdeelOpties = new Array();						//opties
var arrStapOnderdeelOptiesOptieID = new Array();				//optieid
var arrStapOnderdeelOptiesOnderdeel = new Array();				//onderdeel waar optie bij hoort
var arrStapOnderdeelOptiesMeerprijs = new Array();				//optiemeerprijs
var arrStapOnderdeelOptiesThumb = new Array();					//optieafbeelding klein
var arrStapOnderdeelOptiesAfbeelding = new Array();				//optieafbeelding groot
var arrStapOnderdeelOptiesConfiguratorString = new Array();		//optievalue voor configurator
var arrStapOnderdeelOptiesTekst = new Array();					//optietekst

function nieuwStapOnderdeelOptie(stapOnderdeelOptieID, optieID, stapOnderdeelID, meerprijs, thumbUrl, imageUrl, configuratorString, optieTekst)
{
	var arrayPlaatsNwe;
	arrayPlaatsNwe = arrStapOnderdeelOpties.length;
	arrStapOnderdeelOpties[arrayPlaatsNwe] = stapOnderdeelOptieID;
	arrStapOnderdeelOptiesOptieID[arrayPlaatsNwe] = optieID;
	arrStapOnderdeelOptiesOnderdeel[arrayPlaatsNwe] = stapOnderdeelID;
	arrStapOnderdeelOptiesMeerprijs[arrayPlaatsNwe] = meerprijs;
	arrStapOnderdeelOptiesThumb[arrayPlaatsNwe] = thumbUrl;
	arrStapOnderdeelOptiesAfbeelding[arrayPlaatsNwe] = imageUrl;
	arrStapOnderdeelOptiesConfiguratorString[arrayPlaatsNwe] = configuratorString;
	arrStapOnderdeelOptiesTekst[arrayPlaatsNwe] = optieTekst;
}




laatstGeopendeStap = "";
laatstGeopendeStapOnderdeel = "";
arrayPlaatsEersteOptie = -1;
window.onload = defaultStappen;
function defaultStappen()
{
	// alert('start');
	var x, blnEerste;
	if (artikelType != 'R') 
	{
		// alert('hiero!');
		// open eerste stap
		if (arrStappen.length>0)
		{
			// alert('1 sub'+arrStappen[0] + ' = ' + document.getElementById('sub'+arrStappen[0]));
			SwitchMenu('sub'+arrStappen[0]);
		}
	}
	else
	{
		//alert('hiero 2!');
		//open alle stappen
		if (arrStappen.length>0)
		{
			for(stap in arrStappen)
			{
				// alert('2 sub'+arrStappen[stap] + ' = ' + document.getElementById('sub'+arrStappen[stap]));
				SwitchMenu('sub'+arrStappen[stap]);
			}
		}
	}
	//maak staponderdelen, open eerste staponderdeel en sluit rest, maak eerste optie defaultoptie
	blnEerste = true;
	blnGevonden = false;
	if (artikelType == 'R') blnEerste = false;
	for (x in arrStapOnderdelen)
	{
		blnGevonden = false;
		eval("MenuItem"+arrStapOnderdelen[x]+" = new Button('MenuItem"+arrStapOnderdelen[x]+"');");
		if(blnEerste)
		{
			openStapOnderdeel(arrStapOnderdelen[x]);
			blnEerste=false;
		}
		else
		{
			closeStapOnderdeel(arrStapOnderdelen[x]);
		}
		arrayPlaatsEersteOptie = arrayPlaats(arrStapOnderdelen[x], arrStapOnderdeelOptiesOnderdeel)
		if (arrayPlaatsEersteOptie!=-1)
		{
			for (x2 in arrStapOnderdeelOpties)
			{
				if (arrStapOnderdelen[x] == stapOnderdelenExteriorStapOptie && arrStapOnderdeelOpties[x2] == stapOnderdelenExteriorSelected)
				{
					blnGevonden = true;
					kiesStapOnderdeelOptie(stapOnderdelenExteriorStapOptie, stapOnderdelenExteriorSelected);
					setTimeout("nextStapOnderdeel(" + stapOnderdelenExteriorStapOptie + ");", 250);
				}
			}
		}
		if (blnGevonden == false)
			kiesStapOnderdeelOptie(arrStapOnderdelen[x], arrStapOnderdeelOpties[arrayPlaatsEersteOptie]);
	}
	
	updateTotaalprijs();
}

function openStap(stapID)
{
	SwitchMenu('sub'+stapID);
	laatstGeopendeStap = stapID;
}

function openStapOnderdeel(stapOnderdeelID)
{
	if(laatstGeopendeStapOnderdeel != "")
	{
		//alert("MenuItem"+laatstGeopendeStapOnderdeel+".Close();");
		eval("MenuItem"+laatstGeopendeStapOnderdeel+".Close();");
		eval("MM_showHideLayers('subStepFinished"+laatstGeopendeStapOnderdeel+"','','show');");
	}
	eval("MenuItem"+stapOnderdeelID+".Open();");
	eval("MM_showHideLayers('subStepFinished"+stapOnderdeelID+"','','hide');")
	eval("MM_showHideLayers('subStartStep"+stapOnderdeelID+"','','hide');")
	laatstGeopendeStapOnderdeel = stapOnderdeelID;
}

function closeStapOnderdeel(stapOnderdeelID)
{
	eval("MenuItem"+stapOnderdeelID+".Close();");
	if (stapOnderdeelID==laatstGeopendeStapOnderdeel)
		laatstGeopendeStapOnderdeel="";
	if (artikelType == 'R')
	{
		eval("MM_showHideLayers('subStepFinished"+stapOnderdeelID+"','','hide');")
		eval("MM_showHideLayers('subStartStep"+stapOnderdeelID+"','','hide');")
		eval("MM_showHideLayers('subStepPreconfigured"+stapOnderdeelID+"','','show');")
	}
}

function setPreconfiguredStapOnderdeel(stapOnderdeelID)
{
	eval("MM_showHideLayers('subStepFinished"+stapOnderdeelID+"','','hide');")
	eval("MM_showHideLayers('subStartStep"+stapOnderdeelID+"','','hide');")
	eval("MM_showHideLayers('subStepPreconfigured"+stapOnderdeelID+"','','show');")
}

function nextStapOnderdeel(stapOnderdeelID)
{
	var x, y, currentStapID, nextStapID, nextStapOnderdeelID;
	//zoek staponderdeel en haal volgende
	currentStapID = "";
	nextStapID = "";
	nextStapOnderdeelID = "";
	for (x in arrStapOnderdelen)
	{
		y = parseInt(x);
		if (arrStapOnderdelen[x] == stapOnderdeelID)
		{
			currentStapID = arrStapOnderdelenStap[x];
			if ( x < arrStapOnderdelen.length-1)
			{
				nextStapOnderdeelID = arrStapOnderdelen[y+1];
				nextStapID = arrStapOnderdelenStap[y+1];
			}
			break;
		}
	}
	if(nextStapID!="" && nextStapID!=currentStapID)
	{
		openStap(nextStapID);
	}
	if(nextStapOnderdeelID!="")
	{
		openStapOnderdeel(nextStapOnderdeelID);
	}
	else
	{
		tb_show('','ConfigEind.aspx?CC=' + categorieCode + '&GC=' + groepCode + '&AN=' + artikelNummer + '&PB=' + personaliseerbaar + '&'+getConfiguratieKeuzes()+'&keepThis=true&TB_iframe=true&height=210&width=700','');
	}
}
function kiesStapOnderdeelOptie(stapOnderdeelID, stapOnderdeelOptieID)
{
	var x, arrayPlaatsStapOnderdeel, arrayPlaatsOptie;
	arrayPlaatsOptie = arrayPlaats(stapOnderdeelOptieID, arrStapOnderdeelOpties);
	if (arrayPlaatsOptie != -1)
	{
		if (artikelType == 'R')
		{
			document.getElementById('ConfigStapOnderdeelPreconfiguredOptieTekst'+stapOnderdeelID).innerText = arrStapOnderdeelOptiesTekst[arrayPlaatsOptie];
			document.getElementById('ConfigStapOnderdeelPreconfiguredOptieThumb'+stapOnderdeelID).src = arrStapOnderdeelOptiesThumb[arrayPlaatsOptie];
			document.getElementById('ConfigStapOnderdeelPreconfiguredOptieThumb'+stapOnderdeelID).className = 'fixthispng';
			document.getElementById('ConfigStapOnderdeelPreconfiguredOptieA'+stapOnderdeelID).onmouseover = document.getElementById('ConfigStapOnderdeelOptieA'+stapOnderdeelOptieID).onmouseover;
		}
		else
		{
			document.getElementById('ConfigStapOnderdeelGekozenOptieTekst'+stapOnderdeelID).innerText = arrStapOnderdeelOptiesTekst[arrayPlaatsOptie];
			document.getElementById('ConfigStapOnderdeelGekozenOptieThumb'+stapOnderdeelID).src = arrStapOnderdeelOptiesThumb[arrayPlaatsOptie];
			document.getElementById('ConfigStapOnderdeelGekozenOptieA'+stapOnderdeelID).onmouseover = document.getElementById('ConfigStapOnderdeelOptieA'+stapOnderdeelOptieID).onmouseover;
		}
		arrayPlaatsStapOnderdeel = arrayPlaats(arrStapOnderdeelOptiesOnderdeel[arrayPlaatsOptie], arrStapOnderdelen);
		//bewaar gekozen optie bij onderdeel
		arrStapOnderdelenOptie[arrayPlaatsStapOnderdeel] = stapOnderdeelOptieID;
		arrStapOnderdelenOptieMeerprijs[arrayPlaatsStapOnderdeel] = arrStapOnderdeelOptiesMeerprijs[arrayPlaatsOptie];
		arrStapOnderdelenOptieConfiguratorString[arrayPlaatsStapOnderdeel] = arrStapOnderdeelOptiesConfiguratorString[arrayPlaatsOptie];
	}
}

function updateTotaalprijs()
{
	//var x, prijs, configString;
	//prijs = parseInt(artikelBasisprijs);
	configString = '';
	for (x in arrStapOnderdelenOptieMeerprijs)
	{
		//prijs += parseInt(arrStapOnderdelenOptieMeerprijs[x]);
		eval("configString += getFeaturesConfiguratieKeuzes"+arrStapOnderdelen[x]+"(arrStapOnderdelenOptieConfiguratorString[x])");
	}
	//document.getElementById('spnTotaalprijs').innerHTML = layoutPrijs(prijs.toString());
	configString = configString.replace(/&amp;/g, ",").substring(1);
	if (categorieCode=='ATA') {
		configString = 'http://dnz.v1retail.com/hnk_attache_ZO.swf?chainParamsVar=' + configString + 'chainVar=file:HNK/hnk_attache_zoomonly.chain&maxWidthVar=2500&maxHeightVar=2750&';
		writeConfiguratorFlash(configString, "F");
	} else { //if (categorieCode=='TRF')
		//configString = 'http://dnz.v1retail.com/hnk_trvlfrnd_var_single.swf?chainParamsVar=' + configString + '&chainVar=file:hnktrvvar.chain&maxWidthVar=2500&maxHeightVar=2750&';
		configString = 'http://tib.liquifire.com/tib?set=' + configString + '&call=url[file:HNK/hnk_trvlfrnd_var3]&scale=size[500x550]&sink=format[png]&cachelong.png';
		writeConfiguratorFlash(configString, "I");
	}
}
function writeConfiguratorFlash(url, type)
{
	if (type=="F") {
		var so = new SWFObject(url, "flash_preview", "516", "600", "8", "#ffffff");	//image_preview
		so.addParam("scale", "noscale");
		so.addParam("quality", "high");
		so.addParam("wmode", "transparent");
		so.addVariable("mainTitle", "Preview your HENK");
		so.addVariable("configType", "half"); //full
		so.write("image_preview");
	} else { //if (type=="I")
		
		var so = new SWFObject("/swf/tussenpagina500px.swf", "introbanner_swf", "500", "481", "7", "#000000");
		so.addParam("wmode", "transparent");
		so.write("image_preview");
		
		oImg = new Image();
		oImg.src = url;
		oImg.onload = function()
		{
			document.getElementById('image_preview').innerHTML = '<img id="configuratorImage" src="/Images/preload_margin.gif" border="0" align="center" alt="HENK 3d" />';
			document.getElementById('configuratorImage').src = url;
			document.getElementById('configuratorImage').width = "500";
			document.getElementById('configuratorImage').className = "fixthispng";
		}
	}
}
function getConfiguratieKeuzes()
{
	return 'CFGOND='+arrStapOnderdelen.join(',')+'&CFGOPT='+arrStapOnderdelenOptie.join(',');
}

function goToFullView()
{
	alert('to be implemented');
	// window.location = 'ConfigView.aspx?CC=<%=this.CategorieCode%>&GC=<%=this.GroepCode%>&AN=<%=base.ArtikelNummer%>&'+getConfiguratieKeuzes()
}

function arrayPlaats(waardeZoek, arrayZoek)
{
	var x, y;
	//zoek eerste waarde in arrayZoek die gelijk is aan waardeZoek
	y = -1;
	for (x in arrayZoek)
	{
		if (arrayZoek[x] == waardeZoek)
		{
			y = parseInt(x);
			break;
		}
	}
	return y;
}
function layoutPrijs(prijs)
{
	var euro, cent;
	prijs = prijs.toString();
	while (prijs.length<3)
		prijs = "0"+prijs
	euro = prijs.substring(0, prijs.length-2);
	cent = prijs.substring(prijs.length-2);
	if (euro.length>3)
	{
		return euro.substring(0, euro.length-3) + currencyGroupSeparator + euro.substring(euro.length-3) + currencyDecimalSeparator + cent;
	}
	else
	{
		return euro + currencyDecimalSeparator + cent;
	}
}


function getPersonaliserOptions(PRSP1, PRSP2, PRSB, PRSL, PRSLC)
{
	returnValue = '';
	
	if (document.getElementById(PRSP1))
		returnValue += '&PRSP1=' + document.getElementById(PRSP1).value;
	
	if (document.getElementById(PRSP2))
		returnValue += '&PRSP2=' + document.getElementById(PRSP2).value;
	
	if (document.getElementById(PRSB))
		returnValue += '&PRSB=' + document.getElementById(PRSB).value;
	
	if (document.getElementById(PRSL))
		returnValue += '&PRSL=' + document.getElementById(PRSL).value;
	
	if (document.getElementById(PRSLC))
		returnValue += '&PRSLC=' + document.getElementById(PRSLC)[document.getElementById(PRSLC).selectedIndex].value;
		
	return returnValue;
	// alert(document.getElementById('').value);
}
