﻿
// preloaden images
var imgVul = new Image; imgVul.src = '/gfx/vul.gif';
var imgWacht = new Image; imgWacht.src = '/gfx/verwerk2.gif';
var intActiveTabNr;

function showTab(objTabLink,intTabNr, strIFrameId, strIFrameSrc ) {
	// strIFrameId en strIFrameSrc zijn optioneel
	
	if (intTabNr != intActiveTabNr) {
						
		var objTabContent = getById('tc' + intTabNr);
		if (objTabContent) {
		
			//de tabtitel ophalen 
			var objTab = getById('tl'+intTabNr);
			if (objTab) {
				// coremetrics pageElement af laten gaan, helaas bestaat deze functie (nog) niet in de cm bieb	
				//cmCreatePageElementTag(objTab.innerText,"WEHTAB");
				//oud pageviewtag
				//cmCreatePageviewTag(objTab.innerText,"WEHTAB");			
			}
			
			// actieve tab niet meer tonen
			displayElement('tc' + intActiveTabNr, false);
			setElementClass('tl' + intActiveTabNr, '');
			
			// nieuwe tab actief maken
			intActiveTabNr = intTabNr;
			
			// deze tab tonen
			objTabContent.style.display = 'block';
			setElementClass('tl' + intActiveTabNr, 'active');
						
			if (strIFrameId) {
				var objIFrame = getById(strIFrameId);
				if (objIFrame && (objIFrame.src == null || objIFrame.src == '')) {
					objIFrame.src = strIFrameSrc;
					//alert(strIFrameSrc)
				}
			}
		}
		
		// als er een techwoord getoond wordt deze niet meer tonen
		displayElement('techwoorden', false);
		
		// als het termijnbedrag getoond wordt deze niet meer tonen
		displayElement('maandBedrag', false);
	}
	return false;
}

// algemene functie om referentie naar element te krijgen met een id
function getById(strId) {
	if (document.getElementById) return document.getElementById(strId);
	if (document.all) return document.all[strId];
	return null;
}

function displayElement(strId, blnDisplay) {
	var objElement = document.getElementById(strId);
	if (objElement) objElement.style.display = (blnDisplay ? 'block' : 'none');
}

function setElementClass(strId, strClassName) {
	var objElement = document.getElementById(strId);
	if (objElement) objElement.className = strClassName;
}

function maxSizeImage(objImage, intMaxWidth) {
	if (objImage && objImage.width > intMaxWidth) {
		objImage.width = intMaxWidth;
	}
}

var objCurrentExtraBeeldLink = null;
function SelectImg(objLink, id) {
   	if (objCurrentExtraBeeldLink != null) {
		objCurrentExtraBeeldLink.className = '';
	}
	if (objLink) {
		objLink.className = 'active';
		objCurrentExtraBeeldLink = objLink;
	}
	var objImg = document.getElementById("imgEB"+id);
	if(objImg){
		var imgTmp = objImg.src;
		var hoofdImg = document.getElementById("hdfArtAfbeeldingURL");
		if(hoofdImg){
		    if(hoofdImg.value.indexOf('$2008productdetailLiggend$')>0){
		        imgTmp = imgTmp.replace('$2007productdetailthumbnail$', '$2008productdetailLiggend$');
		    }else{
		        imgTmp = imgTmp.replace('$2007productdetailthumbnail$', '$2008productdetailStaand$');
		    }
		}else{
		    imgTmp = imgTmp.replace('$2007productdetailthumbnail$', '$2008productdetailStaand$');
		}
		var intImageType = objImg.getAttribute('imageType');

	    // Zoomurl aanpassen naar andere afbeelding
        var objZoomLink = document.getElementById('lnkArtikelDetailZoom');
        if (objZoomLink) {
            var newParam = 'IT=' + intImageType;
            var intItPos = objZoomLink.value.indexOf('IT');
            var intAmpPos = objZoomLink.value.indexOf('&amp;', intItPos);
            var oldParam = objZoomLink.value.substr(intItPos, intAmpPos - intItPos);
            var newLink = objZoomLink.value.replace(oldParam, newParam);

            objZoomLink.value = newLink;
            // ook van de zoom icoontje(s)
            var arrArtikelDetailIconen = document.getElementsByName("lnkArtikelDetailIcoonZoom");
            if (arrArtikelDetailIconen) {
                for (var i = 0; i < arrArtikelDetailIconen.length; i++){
			        arrArtikelDetailIconen[i].href = newLink;
                }
            }
        }
	}
	return false;
}

var offset = 0;
function ThumbScoll(goToIndex) {
	offset = offset+goToIndex;
	offset = (offset < 0) ? 0: offset;
	
   	var totalThumb = 0;
   	arrLinks = document.getElementsByTagName('a');
	for (var i = 0; i < arrLinks.length; i++) {
		objLink = arrLinks[i];
		if (objLink.getAttribute('id')) {
			linkId = objLink.getAttribute('id');
			if (linkId.indexOf('aEB') == 0) { // dit is een thumbnail
				var currentIndex = eval(linkId.replace('aEB', ''));
				// get current thumbnail object
				var objThumb = document.getElementById("aEB"+ [currentIndex]);
				if(objThumb){
					// set visibility foreach thumbnail
					document.getElementById(objThumb.id).style.display = ((currentIndex >= offset) && (currentIndex < offset+4) ? 'block' : 'none');
				}
			totalThumb = totalThumb + 1;
			}
		}
	}
	// set visibility for the scroller buttons (prevThumb & nextThumb)
	var prevThumb = document.getElementById("prevThumb");
	if(prevThumb) {
		prevThumb.style.visibility = (offset <= 0)? 'hidden' : 'visible';
	}
	var nextThumb = document.getElementById("nextThumb");
	if(nextThumb) {
		nextThumb.style.visibility = (offset >= totalThumb-4) ? 'hidden' : 'visible';
	}
	return false;
}
	
//window.onload = function() {
//	SelectImg(0);
//}

function DisableAllElements(strTagName, blnDisabled) {
	if (document.getElementsByTagName) {
		var arrElements = document.getElementsByTagName(strTagName);
		var objElem;
		for (var i = 0; i < arrElements.length; i++) {
			objElem = arrElements[i];
			if (blnDisabled) {
				// Originele waarde onthouden: als een element reeds disabled is, dan moet dat ook zo
				// blijven als dit later weer wordt aangeroepen met blnDisabled = false.
				objElem.OriginalDisabledValue = objElem.disabled;
				objElem.disabled = true;
			} else {
				objElem.disabled = (objElem.OriginalDisabledValue == null) ? false : objElem.OriginalDisabledValue;
			}
		}
	}
}

// AJAX
function ajaxRefresh(objEvent, isBijverkopen) {

	//WORKAROUND: Geen ajax in Firefox
	if (navigator.userAgent.indexOf("Firefox") == -1) {
		
		                    DisableAllElements("select", true);             // JIT 23118
		window.setTimeout(' DisableAllElements("select", false); ', 200);
		
		window.status = '';	//workaround voor probleem met uitlezen statusbalk in TRC

		// alle bestelknoppen 'uitschakelen' en daarvoor in de plaats 'wachten' tonen
		if (document.getElementsByName) {
			var arrBestelKnoppen = document.getElementsByName("LIW");
			for (var i = 0; i < arrBestelKnoppen.length; i++) {
				arrBestelKnoppen[i].src = imgVul.src;
			}
			var arrWachtPlaatjes = document.getElementsByName("imgWacht");
			for (var i = 0; i < arrWachtPlaatjes.length; i++) {
				arrWachtPlaatjes[i].src = imgWacht.src;
			}
		} else {
			setImageSrc('LIW', imgVul.src);
			setImageSrc('imgWacht', imgWacht.src);
		}
		if (isBijverkopen !== undefined && isBijverkopen) {
		    Clockwork.Util.Ajax.ajaxRefreshContent('frmArtikel', afterAjaxRefreshBijverkopen, objEvent);
		} else {
		    Clockwork.Util.Ajax.ajaxRefreshContent('frmArtikel', afterAjaxRefresh, objEvent);
        }
	} else {
		noAjaxRefresh('frmArtikel', objEvent);
	}
}

function noAjaxRefresh(strForm, objEvent) {
    var strUrl = Clockwork.Util.Ajax.getCurrentPageHref();
    var anchorIndex = strUrl.indexOf("#");
    if (anchorIndex != -1) strUrl = strUrl.substring(0, anchorIndex);
    var strQuerystring = Clockwork.Util.Ajax.formToQuerystring(strForm, objEvent);
    document.location.href = strUrl + strQuerystring;
}

function afterAjaxRefresh() {
	// huidige thickbox sluiten
	// 'TB_closewindow' aanroepen ipv 'tb_remove' voorkomt error in Firefox

	TB_closewindow();
	// eerste tab wordt weer getoond, ook laten weten aan javascript
	intActiveTabNr = 0;
	// thickbox opnieuw initialiseren (voor zoom popup en zo)
	loadthickbox();
	//	showScene7ZoomSWFWithFade opnieuw aanroepen 
	if(typeof showScene7ZoomSWFafterAjaxRefresh == 'function') { 
		showScene7ZoomSWFafterAjaxRefresh(); 
	}
	//Tab algemeen resetten
	var o = document.getElementById('OmschrijvingIngekort'); 
	if(o) o.style.display = 'block';
	
	changeClass("productItem", "product")
	setFirstItem();
}

function afterAjaxRefreshBijverkopen() {
    var coords = GetCoordinates(document.getElementsByName("bijverkopen")[0]);
    afterAjaxRefresh();
    document.documentElement.scrollTop = coords.y;
}

function setFirstItem() {
	//serviceblokje alleen tonen als er geen upsell/setkortingblokje is
	var objServiceBlok = document.getElementById('usps');
	var objAjaxKolom3 = document.getElementById('ajaxKolom3');	 
		
	if (objServiceBlok) {
		if (objAjaxKolom3) {
			//nu controleren of ajaxkolom3 inhoud heeft
			if (objAjaxKolom3.innerHTML.length > 0 ) {
				//nu het serviceblokje niet tonen	
				hideJSLayer(objServiceBlok.id);
			}	 else {
				showJSLayer(objServiceBlok.id);
			}
		}	
	}
}

function setImageSrc(strId, strSrc) {
	var image = document.getElementById(strId);
	if (image) {
		image.src = strSrc;
	}
}

function updateParentBijverkopen(strFormToSubmit, strArtikelField) {
    var objParDoc = window.parent.document;
    var objParForm = objParDoc.forms[strFormToSubmit];

    // Nieuwe ArtikelNummer toevoegen aan hidden field
    var objParFieldArtikel = objParForm[strArtikelField + 'ArtikelNummer'];
    var objFieldArtikel = document.getElementById('ArtikelNummer');
    if (objParFieldArtikel && objFieldArtikel) {
        objParFieldArtikel.value = objFieldArtikel.value;
    }

    objParForm[strArtikelField + 'Bstl'].checked = true;
    objParForm.submit();
} 

function updateParentArtikelWindow(strFormToSubmit, strArtikelField, arrKenmerkCodes, blnForSfeerplaatBijverkopen, blnForKlantenKochtenOok) {
	var box;
	var waarde;

	var objParDoc = window.parent.document;
	var objParForm = objParDoc.forms[strFormToSubmit];
	if (objParForm[strArtikelField + 'Maat'] != null) {
		box = document.frmArtikel.AMaat;
		waarde = box.selectedIndex;
		objParForm[strArtikelField + 'Maat'].selectedIndex = waarde;
		objParForm[strArtikelField + 'Maat'].value = box.value;
	}
	for (i = 0; i < arrKenmerkCodes.length; i++) {
		var objParField = objParForm[strArtikelField + arrKenmerkCodes[i]];
		var objField = document.frmArtikel['A' + arrKenmerkCodes[i]];
		if (objParField != null) {
			if (arrKenmerkCodes[i] == 'KLE' && objField.type == 'hidden') {
				// kleur bepalen uit stofstaaltjes, maar zetten in selectbox
				var strKleurId = objField.value;
				for (var j = 0; j < objParField.options.length; j++) {
					if (objParField.options[j].value == strKleurId) {
						objParField.selectedIndex = j;
						break;
					}
				}
			} else {
				objParField.selectedIndex = objField.selectedIndex;
			}
		}
	}
	if (objParForm[strArtikelField + 'Bstl'] == null) {
		//extra als in parent een uitverkochte maat geselecteerd is (zonder checkbox)
		if (objParForm[strArtikelField + 'BestelOptie'] != null) {
			objParForm[strArtikelField + 'BestelOptie'].value = 'J';
		}
	} else {
		objParForm[strArtikelField + 'Bstl'].checked = true;
		if (objParDoc.frmArtikel['MF_' + strArtikelField + 'Bstl'] != null) {;
			objParDoc.frmArtikel['MF_' + strArtikelField + 'Bstl'].value = 'J';
		}
	}
	if (blnForSfeerplaatBijverkopen) {
		window.parent.SwitchAndSubmit('maat');
		self.parent.tb_remove();
	} else {
	    if(blnForKlantenKochtenOok){
	        objParDoc.frmArtikel['MF_'+strArtikelField+'MaatCode'].value = document.frmArtikel.AMaat.value;	  
	        objParForm[strArtikelField+'MaatCode'].value = document.frmArtikel.AMaat.value;	
	        
	        var urlObject = objParDoc.getElementById(strArtikelField+"Url1");
	        if(urlObject != null){
	            var indexOfBegin = urlObject.href.indexOf('AMaat');
	            var substring = urlObject.href.substring(indexOfBegin);
	            var indexOfEnd = substring.indexOf('&amp;');
	            var url = urlObject.href.substring(0,indexOfBegin) + 'AMaat=' + document.frmArtikel.AMaat.value + urlObject.href.substring(indexOfBegin+indexOfEnd);
                objParDoc.getElementById(strArtikelField+"Url1").href = url;
                objParDoc.getElementById(strArtikelField+"Url2").href = url;    
	        }
	        
	        self.parent.tb_remove();
	    }else{
		    if (typeof(window.parent.ajaxRefresh) == 'function') {
			    window.parent.ajaxRefresh();
		    } else {
			    objParForm.submit();
		    }
		    window.close();
		}
	}			
}

function fadeProductImage(noFlashZoomLinkElementId,productImageDivElementId,productImageElementId){
    var flashversion = swfobject.getFlashPlayerVersion();
    if (flashversion.major != 0){
        changeVisibility(false,noFlashZoomLinkElementId);
        setTimeout('hide(\'' + productImageElementId + '\');',3000);
        setTimeout('changeVisibility(false,\'' + productImageDivElementId + '\');' ,4000);
    }
}

function SelectImageWithZoom(objLink, id, url, width, height, flashElementId, productImageDivElementId, productImageElementId, noFlashZoomLinkElementId){
    if (document.getElementById(productImageElementId)) {
        changeVisibility(true, productImageElementId);
        changeOpac(100, productImageElementId);
        changeVisibility(true, productImageDivElementId);
    }    
    SelectImg(objLink, id);
    swfobject.embedSWF(url, flashElementId, width, height, '6.0.0', '/swf/expressInstall.swf', {}, { wmode: 'transparent', allowscriptaccess: 'always' }, {});
    if (document.getElementById(productImageElementId)) {
        fadeProductImage(noFlashZoomLinkElementId, productImageDivElementId, productImageElementId);
    }
}

function fadeWithZoomAfterAjaxRefresh(url, width, height, flashElementId, productImageDivElementId, productImageElementId, noFlashZoomLinkElementId) {
    if (document.getElementById(productImageElementId)) {
        changeVisibility(true, productImageElementId);
        changeOpac(100, productImageElementId);
        changeVisibility(true, productImageDivElementId);
    }
    
    swfobject.embedSWF(url,flashElementId,width,height,'6.0.0','/swf/expressInstall.swf',{},{wmode:'transparent',allowscriptaccess:'always'},{});
    if (document.getElementById(productImageElementId)) {
        fadeProductImage(noFlashZoomLinkElementId, productImageDivElementId, productImageElementId);
    }
}

// Open flash player.
function showMoviePlayer(containerId, artikelNr, themeStaand) {
    var objContainer = getById(containerId);

    if (objContainer) {
        if (objContainer.innerHTML == "") {
            getById(containerId).style.visibility = "visible"; ;
            objContainer.innerHTML = "<iframe src='/winkelen/ShowFlash.aspx?ArtikelNummer=" + artikelNr + "&amp;themeStaand=" + themeStaand + "' frameborder='0' width='100%' height='100%' title='Film van dit artikel'></iframe>";
        }
        else {
            getById(containerId).style.visibility = "hidden";
            objContainer.innerHTML = "";
        }
    }
}

function closeMoviePlayer() {
    var objContainer = getById("moviePopup");
    if (objContainer)
        showMoviePlayer(objContainer.Id)
    else {
        window.parent.TB_closewindow();
    }
}

function SetActiveExtraBeeldClass(objLink) {
    //reset current extra beeld class
    var allExtraBeelden = document.getElementsByTagName('a');
    for (i = 0; i < allExtraBeelden.length; i++) {
        if (allExtraBeelden[i].id.startsWith('aEB')) {
            allExtraBeelden[i].className = '';
        }
    }
    if (objLink) {
        objLink.className = 'active';
    }
}

var timerSnapshot;
function showReviewsSnapshot(objContainer, objImage) {
	var objSnapshot = getById(objContainer);
	var objTarget = getById(objImage);
	var strOffsetLeft = strOffsetTop = 0;

	if (objTarget.offsetParent) {
		do {
			strOffsetLeft += objTarget.offsetLeft;
			strOffsetTop += objTarget.offsetTop;
			objTarget = objTarget.offsetParent;
		}
		while (objTarget.id != 'mainContent');
	}
	
	objSnapshot.style.display = "block";
	objSnapshot.style.left = (strOffsetLeft  - objSnapshot.offsetWidth + 14) + "px";
	objSnapshot.style.top = (strOffsetTop + 7) + "px";
	clearTimeout(timerSnapshot);

}

function hideReviewsSnapshot(objContainer) {
	timerSnapshot = setTimeout('hideObjSnapshot(\'' + objContainer + '\');', 1000);
}

function hideObjSnapshot(objContainer) {
	getById(objContainer).style.display = "none";
}
