/*
	Slimbox v1.41 - The ultimate lightweight Lightbox clone
	by Christophe Beyls (http://www.digitalia.be) - MIT-style license.
	Inspired by the original Lightbox v2 by Lokesh Dhakar.
*/
var Lightbox = {
	init: function(options){
		this.options = $extend({
			resizeDuration: 400,
			resizeTransition: false,	// default transition
			initialWidth: 400,
			initialHeight: 400,
			animateCaption: false,
			showCounter: true
		}, options || {});

		this.anchors = [];
		$each(document.links, function(el){
			if (el.rel && el.rel.test(/^lightbox/i)){
				el.onclick = this.click.pass(el, this);
				this.anchors.push(el);
			}
		}, this);
		this.eventKeyDown = this.keyboardListener.bindAsEventListener(this);
		this.eventPosition = this.position.bind(this);

		this.overlay = new Element('div', {'id': 'lbOverlay'}).injectInside(document.body);

		this.center = new Element('div', {'id': 'lbCenter', 'styles': {'width': this.options.initialWidth, 'height': this.options.initialHeight, 'marginLeft': -(this.options.initialWidth/2), 'marginTop': 140, 'display': 'none'}}).injectInside(document.body);
		this.image = new Element('div', {'id': 'lbImage'}).injectInside(this.center);
		//
		this.imageClose = new Element('a', {'id': 'imageClose', 'href': '#', 'styles': {'display': 'block'}}).injectInside(this.image);
		this.imageClose.onclick = this.close.bind(this);
		//
		this.prevLink = new Element('a', {'id': 'lbPrevLink', 'href': '#', 'styles': {'display': 'none'}}).injectInside(this.image);
		this.nextLink = this.prevLink.clone().setProperty('id', 'lbNextLink').injectInside(this.image);
		this.prevLink.onclick = this.previous.bind(this);
		this.nextLink.onclick = this.next.bind(this);

		this.bottomContainer = new Element('div', {'id': 'lbBottomContainer', 'styles': {'display': 'none'}}).injectInside(document.body);
		this.bottom = new Element('div', {'id': 'lbBottom'}).injectInside(this.bottomContainer);
		new Element('a', {'id': 'lbCloseLink', 'href': '#'}).injectInside(this.bottom).onclick = this.overlay.onclick = this.close.bind(this);
		this.caption = new Element('div', {'id': 'lbCaption'}).injectInside(this.bottom);
		this.number = new Element('div', {'id': 'lbNumber'}).injectInside(this.bottom);
		new Element('div', {'styles': {'clear': 'both'}}).injectInside(this.bottom);

		var nextEffect = this.nextEffect.bind(this);
		this.fx = {
			overlay: this.overlay.effect('opacity', {duration: 500}).hide(),
			resize: this.center.effects($extend({duration: this.options.resizeDuration, onComplete: nextEffect}, this.options.resizeTransition ? {transition: this.options.resizeTransition} : {})),
			image: this.image.effect('opacity', {duration: 500, onComplete: nextEffect}),
			bottom: this.bottom.effect('margin-top', {duration: 400, onComplete: nextEffect})
		};

		this.preloadPrev = new Image();
		this.preloadNext = new Image();
	},

	click: function(link){
		//if (link.rel.length == 8) return this.show(link.href, link.title);

		var j, imageNum, images = [];
		this.anchors.each(function(el){
			if (el.rel == link.rel){
				for (j = 0; j < images.length; j++) if(images[j][0] == el.href) break;
				if (j == images.length){
					images.push([el.href, el.title]);
					if (el.href == link.href) imageNum = j;
				}
			}
		}, this);
		return this.open(images, imageNum);
	},

	show: function(url, title){
		return this.open([[url, title]], 0);
	},

	open: function(images, imageNum){
		this.images = images;
		this.position();
		this.setup(true);
		this.top = window.getScrollTop() + (window.getHeight() / 15);
		this.center.setStyles({top: this.top, display: ''});
		this.fx.overlay.start(0.8);
		return this.changeImage(imageNum);
	},

	position: function(){
		this.overlay.setStyles({'top': window.getScrollTop(), 'height': window.getHeight()});
	},

	setup: function(open){
		var elements = $A(document.getElementsByTagName('object'));
		elements.extend(document.getElementsByTagName(window.ie ? 'select' : 'embed'));
		elements.each(function(el){
			if (open) el.lbBackupStyle = el.style.visibility;
			el.style.visibility = open ? 'hidden' : el.lbBackupStyle;
		});
		var fn = open ? 'addEvent' : 'removeEvent';
		window[fn]('scroll', this.eventPosition)[fn]('resize', this.eventPosition);
		document[fn]('keydown', this.eventKeyDown);
		this.step = 0;
	},

	keyboardListener: function(event){
		switch (event.keyCode){
			case 27: case 88: case 67: this.close(); break;
			case 37: case 80: this.previous(); break;	
			case 39: case 78: this.next();
		}
	},

	previous: function(){
		return this.changeImage(this.activeImage-1);
	},

	next: function(){
		return this.changeImage(this.activeImage+1);
	},

	changeImage: function(imageNum){
		if (this.step || (imageNum < 0) || (imageNum >= this.images.length)) return false;
		this.step = 1;
		this.activeImage = imageNum;

		this.bottomContainer.style.display = this.prevLink.style.display = this.nextLink.style.display = 'none';
		this.fx.image.hide();
		this.center.className = 'lbLoading';

		this.preload = new Image();
		this.preload.onload = this.nextEffect.bind(this);
		this.preload.src = this.images[imageNum][0];
		return false;
	},

	nextEffect: function(){
		switch (this.step++){
		case 1:
			var dx=0;
			B=(function x(){})[-5]=='x'?'FF3':(function x(){})[-6]=='x'?'FF2':'\v'=='v'?'IE':/a/.__proto__=='//'?'Saf':/s/.test(/a/.toString)?'Chr':/^function \(/.test([].sort)?'Op':'Unknown';
			if (B=='IE')
				dx=20;
			
			this.center.className = '';
			this.image.style.backgroundImage = 'url('+this.images[this.activeImage][0]+')';
			this.image.style.width = this.bottom.style.width = this.preload.width+dx+'px';
			
			
			//this.image.style.width
			this.image.style.height = this.prevLink.style.height = this.nextLink.style.height = this.preload.height+dx+'px';
				
			this.caption.setHTML(this.images[this.activeImage][1] || '');
			this.number.setHTML((!this.options.showCounter || (this.images.length == 1)) ? '' : 'Image '+(this.activeImage+1)+' of '+this.images.length);

			if (this.activeImage) this.preloadPrev.src = this.images[this.activeImage-1][0];
			if (this.activeImage != (this.images.length - 1)) this.preloadNext.src = this.images[this.activeImage+1][0];
			if (this.center.clientHeight != this.image.offsetHeight){
				this.fx.resize.start({height: this.image.offsetHeight});
				break;
			}
			this.step++;
		case 2:
			if (this.center.clientWidth != this.image.offsetWidth){
				this.fx.resize.start({width: this.image.offsetWidth, marginLeft: -this.image.offsetWidth/2});
				break;
			}
			this.step++;
		case 3:
			this.bottomContainer.setStyles({top: this.top + this.center.clientHeight, height: 0, marginLeft: this.center.style.marginLeft, display: ''});
			this.fx.image.start(1);
			break;
		case 4:
			if (this.options.animateCaption){
				this.fx.bottom.set(-this.bottom.offsetHeight);
				this.bottomContainer.style.height = '';
				this.fx.bottom.start(0);
				break;
			}
			this.bottomContainer.style.height = '';
		case 5:
			if (this.activeImage) this.prevLink.style.display = '';
			if (this.activeImage != (this.images.length - 1)) this.nextLink.style.display = '';
			this.step = 0;
		}
	},

	close: function(){
		if (this.step < 0) return;
		this.step = -1;
		if (this.preload){
			this.preload.onload = Class.empty;
			this.preload = null;
		}
		for (var f in this.fx) this.fx[f].stop();
		this.center.style.display = this.bottomContainer.style.display = 'none';
		this.fx.overlay.chain(this.setup.pass(false, this)).start(0);
		return false;
	}
};
window.addEvent('domready', Lightbox.init.bind(Lightbox));

// ---------------------------------------------------------------------- Wishlist
var req;
var reqTimeout;
 
function loadXMLDoc(url, id) {
  req = null;
  if (window.XMLHttpRequest) {
    try {
      req = new XMLHttpRequest();
    } catch (e){}
  } else if (window.ActiveXObject) {
    try {
      req = new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e){
 		  try {
        req = new ActiveXObject('Microsoft.XMLHTTP');
      } catch (e){}
    }
  }
 
  if (req) {
    req.open("GET", url, true);
	  req.onreadystatechange = function(){
		  if (req.readyState == 4) {
    	  clearTimeout(reqTimeout);
     		if (req.status == 200) {
					document.getElementById('note'+id).innerHTML=req.responseText;
      	}
    	}
		}
    req.send(null);
    reqTimeout = setTimeout("req.abort();", 5000);
  }
}
function requestData(comment, regid, prodid, vendor, id)
{
  loadXMLDoc('/index.php?page=clientWishlist&action=addComment&comment='+document.getElementById(comment).value+'&regid='+regid+'&prodid='+prodid+'&vendor='+vendor, id);
}

// ---------------------------------------------------------------------- Ratings
function showRating(rating){
 $('ratingsMouseOver').removeClass('ratingsLarge1');
 $('ratingsMouseOver').removeClass('ratingsLarge2');
 $('ratingsMouseOver').removeClass('ratingsLarge3');
 $('ratingsMouseOver').removeClass('ratingsLarge4');
 $('ratingsMouseOver').removeClass('ratingsLarge5');
 $('ratingsMouseOver').addClass('ratingsLarge' + rating);
}

function setRating(rating, pageID){
 //alert('Je hebt ' + rating + 'points gegeven voor product ' + pageID) 
 
 var url = 'ajax_response_setrating.html?rating='+rating+'pageID='+pageID;
   new Ajax(url, {
   method: 'get',
   update: $('reviewGive')
 }).request();
}

// ---------------------------------------------------------------------- Tooltip
function toolTips(){
  var toolTip = new Tips($$('.toolTip'));
}

// ---------------------------------------------------------------------- Ie png fix
function ie6PngFix(){
	if (document.all && document.styleSheets && document.styleSheets[0] &&
		document.styleSheets[0].addRule)
	{
		document.styleSheets[0].addRule('img', 'behavior: url(styles/iepngfix.htc)');
	}
}
// ---------------------------------------------------------------------- setTopsellersAccordion
function setTopsellersAccordion(){
	var topsellerAccordion = new Accordion('h4.atStartTS', 'div.atStartTS',	{
		show: 99,
		opacity: false,
		alwaysHide: true,
		onActive: function(toggler, element){
			toggler.className = "lb active"
			element.setStyle('display', 'block');
		},
		onBackground: function(toggler, element){
			toggler.className = 'lb nonActive'
			location.href = "#topsellerTop";
		}
	}, $('topsellerAccordion'));
}

// ---------------------------------------------------------------------- Set compare products page
function setCompareProducts(amount){
	if (amount > 3){
		$('container').addClass('wideCompare');
		newWidth = (170*2) + (amount*170);
		$('compareTable').setStyle('width', newWidth)
		}
	else if (amount == 3){
		$('container').addClass('wideCompare');
		newWidth = 680;
		$('compareTable').setStyle('width', newWidth)
		}
	else {
		newWidth = 510
		$('compareTable').setStyle('width', newWidth)
		}
	var coords = $('compareTable').getCoordinates();
	$('mainColumn').setStyles({height:coords['height']+100});
}
// ---------------------------------------------------------------------- newsAccordion
function setNewsAccordion(){
	var newsAccordion = new Accordion('h4.atStartTS', 'div.atStartTS',	{
		show: 0,
		opacity: false,
		alwaysHide: true,
		onActive: function(toggler, element){
			toggler.className = "lb active"
			element.setStyle('display', 'block');
		},
		onBackground: function(toggler, element){
			toggler.className = 'lb nonActive'
		}
	}, $('newsAccordion'));
}

// ---------------------------------------------------------------------- Refine pulldown
function togglePulldown(id) {
  var element = $(id);
  if(element.style.display == 'block')
    element.style.display = 'none';
  else
    element.style.display = 'block';
}


// ---------------------------------------------------------------------- Show image overlay
function showLargeImage(imagePath){
	Lightbox.show(imagePath);
	}
// ---------------------------------------------------------------------- Main nav

function hideAllNewsNav(){
	var NewsNav0 = new Fx.Slide('newsNav0');
	NewsNav0.toggle();
}


function setNewsNav(openItem, display){
	var accordion = new Accordion('div.atStart', 'ul.atStart',
	{
		show: openItem,
		display: false,
		alwaysHide: true,
		opacity: false,
		onActive: function(toggler, element){
			element.setStyle('display', 'block');
			hideAllNewsNav()
		},
		onBackground: function(toggler, element){
		}
	}, $('newsNav'));

	if (display != "")
		accordion.display(display);
}


function setMainNav(openItem, display){
	var accordion = new Accordion('div.atStart', 'ul.atStart',
	{
		show: openItem,
		display: false,
		alwaysHide: true,
		opacity: false,
		onActive: function(toggler, element){
			toggler.className = 'db active'
			element.setStyle('display', 'block');
			hideAllPreviewNav()
		},
		onBackground: function(toggler, element){
			toggler.className = 'db nonActive'
		}
	}, $('mainNav'));

	if (display != "")
		accordion.display(display);
}
// Hides all previewlinks in main navigation
function hideAllPreviewNav(){
	var navPreviewLink0 = new Fx.Slide('navPreviewLink0');
	navPreviewLink0.toggle();
	
	var navPreviewLink1 = new Fx.Slide('navPreviewLink1');
	navPreviewLink1.toggle();
	
	var navPreviewLink2 = new Fx.Slide('navPreviewLink2');
	navPreviewLink2.toggle();

	try {
		for (i=3;i<20;i++) {
			var navPreviewLink = new Fx.Slide('navPreviewLink' + i);
			navPreviewLink.toggle();
		}
	} catch (err) {

	}
}
// ---------------------------------------------------------------------- Home special slider
function setHomeSpecialSlider(){
	var homeSpecialSlides = new iCarousel("homeSpecialSlidesContainer", {
		idPrevious: "slidePrev",
		idNext: "slideNext",
		idToggle: "undefined",
		item: {
			klass: "slide",
			size: 510
		},
		animation: {
		rotate: {
		type: "auto",
		interval: 5000
		},
		type: "scroll",
		duration: 1000,
		amount:1
	}
});
$("slide0").addEvent("click", function(event){new Event(event).stop();homeSpecialSlides.goTo(0); $clear(homeSpecialSlides.timer)});  
$("slide1").addEvent("click", function(event){new Event(event).stop();homeSpecialSlides.goTo(1); $clear(homeSpecialSlides.timer)});  
$("slide2").addEvent("click", function(event){new Event(event).stop();homeSpecialSlides.goTo(2); $clear(homeSpecialSlides.timer)});  
$("slide3").addEvent("click", function(event){new Event(event).stop();homeSpecialSlides.goTo(3); $clear(homeSpecialSlides.timer)});  
}
// ---------------------------------------------------------------------- Product images
function setProductImages(){
	var myGallery = new gallery($('productImages'), {
		timed: true
	});
}

function customModuleFunction(){	
		setProductImages();
}

// ---------------------------------------------------------------------- Tabs
function showTabs(openTab) {
	var tabs = new mootabs("tabsContainer", {
		width: "510px",
		changeTransition: "none",
		mouseOverClass: "over",
		activateOnLoad:	openTab
	});
};

// ---------------------------------------------------------------------- Stepper for order button
function numericStepper(textFieldName, type, textFieldNameBottom){// adds or subtracts 1 to textfield value
	if(textFieldNameBottom == undefined){
		var textFieldIdBottom = "";		
	}
	else {
		var textFieldIdBottom = $(textFieldNameBottom);
	}
	var textFieldId = $(textFieldName);
	var textFieldValue = $(textFieldName).value;
	//
	if(textFieldId.value.match(/^[0-9]+$/)){// input is a number
		if (type == "plus"){// add 1
			textFieldId.value = parseInt(textFieldValue) + 1
				textFieldIdBottom.value = parseInt(textFieldValue) + 1
		}
		else if (type == "minus"){
			if (textFieldId.value <= 1 || textFieldIdBottom.value <= 1){// don't go lower then 1
				textFieldId.value = 1
					textFieldIdBottom.value = 1
			}
			else{// subtract 1
				textFieldId.value = parseInt(textFieldValue) - 1
					textFieldIdBottom.value = parseInt(textFieldValue) - 1
			}
		}
	}
	else{// input is not a number, set to 0
		textFieldId.value = 1
			textFieldIdBottom.value = 1
	}
}
function validateAmount(textFieldName){
	var textFieldId = $(textFieldName);
	if(textFieldId.value.match(/^[0-9]+$/)){
		return true;
	}
	else {
		textFieldId.value = 1
		return false;
	}
}
// ---------------------------------------------------------------------- show Full Description
function activateFullDescription(){
	var fullDescriptionSlide = new Fx.Slide('fullDescription');
	fullDescriptionSlide.hide();
	
	$('fullDescriptionShow').addEvent('click', function(e){
		e = new Event(e);
		fullDescriptionSlide.slideIn();
		$('fullDescriptionShow').style.display = 'none';
		$('fullDescriptionHide').style.display = 'block';
		e.stop();
	});
	$('fullDescriptionHide').addEvent('click', function(e){
		e = new Event(e);
		fullDescriptionSlide.slideOut();
		$('fullDescriptionShow').style.display = 'block';
		$('fullDescriptionHide').style.display = 'none';
		e.stop();
	});
}

// ---------------------------------------------------------------------- Toggle Account Detail
function hideAccountDetail(slideName){
	var accountDetail = new Fx.Slide(slideName);
	$(slideName).style.display = 'none';
}
function toggleAccountDetail(slideName){
	var accountDetail = new Fx.Slide(slideName);
	if ($(slideName).style.display == 'none'){
		$(slideName).style.display = 'block';
	}
	else{
		$(slideName).style.display = 'none';
	}

}

// ---------------------------------------------------------------------- Clears searchform and changes text color
function checkEntry(o,dTxt){
	if (!o.defTxt){
		o.defTxt = dTxt;
		o.onblur = function (){
			trimField(this);
			with (this){
				if (value == '' || value == defTxt){
					value = defTxt;
					o.style.color = '#a5acb2';
				}
			}
		}
	}
	if (o.value == o.defTxt){
		o.value = '';
		o.style.color = '#202b60';
	}
}
function trimField (o){
	var v = o.value.replace(/^ +| +$/g,'');
	o.value = v;
}
// ---------------------------------------------------------------------- Mouse-over images
function createMouseOvers(){
	var p = 0, d = document.images;
	prelImgs = new Array();
	for (var i = 0; i < d.length; i++){
		var o = d[i];
		if (o.src.indexOf('_out') != -1){
			var s = o.src, l = s.length, e = s.substring(l-4,l);
			o.outSrc = s;
			o.overSrc = s.substring(0,l-8)+'_over'+e;
			o.onmouseover = function(){this.src = this.overSrc;}
			o.onmouseout = function(){this.src = this.outSrc;}
			prelImgs[p] = new Image();
			prelImgs[p].src = o.overSrc;
			p++;
		}
	}
}

// ---------------------------------------------------------------------- Overlay position
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
 return [scrOfY];
}


// ---------------------------------------------------------------------- Overlay HP trade in
function openOverlayHP(HPID, price){
	partnerID = 1181 // Central Point
	
	var myFx = new Fx.Style($('overlayHPTradeIn'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayHPTradeInBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayHPTradeInContent'), 'opacity').start(0,1);

	$('overlayHPTradeInBack').style.marginTop = getScrollXY() + 'px';
	$('overlayHPTradeInContent').style.top = getScrollXY() + 'px';
	
	window.onresize = function(){
	  $('overlayHPTradeInBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayHPTradeInContent').style.top = getScrollXY() + 'px';
	}
	window.onscroll = function(){
	  $('overlayHPTradeInBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayHPTradeInContent').style.top = getScrollXY() + 'px';
	}
	
	if(price == ''){
		if(partnerID == ''){
			$('HPFrame').src = 'http://www.inruil.hp3.nl/Default.aspx?HPProductNumber='+HPID
		}
		else{
			$('HPFrame').src = 'http://www.inruil.hp3.nl/Default.aspx?HPProductNumber='+HPID+'&PartnerID='+partnerID
		}
	}
	else{
		if(partnerID == ''){
			$('HPFrame').src = 'http://www.inruil.hp3.nl/Default.aspx?HPProductNumber='+HPID+'&Price='+price
		}
		else{
			$('HPFrame').src = 'http://www.inruil.hp3.nl/Default.aspx?HPProductNumber='+HPID+'&Price='+price+'&PartnerID='+partnerID
		}
	}
}
function closeOverlayHP(){
	var myFx = new Fx.Style($('overlayHPTradeIn'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlayHPTradeInBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlayHPTradeInContent'), 'opacity').start(1,0);
}


// ---------------------------------------------------------------------- Overlay Stock reminder
function openOverlayStockReminder(vendor, prodid){
	var myFx = new Fx.Style($('overlayStockReminder'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayStockReminderBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayStockReminderContent'), 'opacity').start(0,1);
	
  $('overlayStockReminderBack').style.marginTop = getScrollXY() + 'px';
	$('overlayStockReminderContent').style.top = getScrollXY() + 'px';

	window.onresize = function(){
	  $('overlayStockReminderBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayStockReminderContent').style.top = getScrollXY() + 'px';
	}
	window.onscroll = function(){
	  $('overlayStockReminderBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayStockReminderContent').style.top = getScrollXY() + 'px';
	}
	
	var url  = '/ajax.php?request=stockReminder&vendor='+escape(vendor)+'&prodid='+escape(prodid);
 
 	new Ajax(url, {
		method: 'get',
		update: $('stockReminderFormContainer')
	}).request();

}

function closeOverlayStockReminder(){
	var myFx = new Fx.Style($('overlayStockReminder'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlayStockReminderBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlayStockReminderContent'), 'opacity').start(1,0);
}

function performStockReminder(name,email,mob,prodid,vendor){
  var url      = '/ajax.php?request=stockReminder&performRequest=1';
  var proceed  = true;

	var reg = /^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i;
	var msg = "";
	
	if (reg.test(email) == false) {
		proceed = 'false';
		msg = "U heeft geen (correct) email-adres ingevoerd";
	}
	
	if (name == '') {
		proceed = false;
	}
	if (mob == 'Mobiel tel.') {
		mob = '';
	}
	url += '&stockFormNaam='+name+'&stockFormEmail='+email+'&stockFormMobile='+mob+'&vendor='+vendor+'&prodid='+prodid;

	if (proceed == true) {
		alert ('Bedankt voor het inschrijven van de voorraadherrinering. U ontvangt een email/sms van ons zodra het product weer op voorraad is.');
		new Ajax(url, {
			method:       'get'
		}).request();
	} else {
		if (msg != "") {
			alert (msg)
		}
	}
}

function performOverlayStockReminder(obj){
  obj.disabled = true;
  var url      = '/ajax.php?request=stockReminder';
  var form     = $('stockReminderForm');
  var proceed  = true;

  for (i=0; form.elements[i]; i++) {
   if (form.elements[i].name && form.elements[i].value){
     url += '&' + form.elements[i].name + '=' + escape(form.elements[i].value);
   }

    if (form.elements[i].className.indexOf("fValidate['required']") > -1) {
      if (form.elements[i].value.length > 0)  {
        form.elements[i].style["border"] = "#0c0";
      } else {
        form.elements[i].style["border"] = "#e70000 1px solid";
        proceed  = false;
      }
		}
	}

	if (proceed) {
		new Ajax(url, {
			method:       'get',
			update:       $('stockReminderFormContainer')
		}).request();
	} else {
	  obj.disabled = false;
	}
}

// ---------------------------------------------------------------------- Overlay position
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
					//Netscape compliant
					scrOfY = window.pageYOffset;
					scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
					//DOM compliant
					scrOfY = document.body.scrollTop;
					scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
					//IE6 standards compliant mode
					scrOfY = document.documentElement.scrollTop;
					scrOfX = document.documentElement.scrollLeft;
	}
	return [scrOfY];
}

// ---------------------------------------------------------------------- Check YouTube URL
function validateYouTube(){
   //check for valid youtube address
  if ($('submitYouTubeForm').submitYouTubeURL.value.match('http://') == 'http://' && $('submitYouTubeForm').submitYouTubeURL.value.match('.youtube.com/watch') == '.youtube.com/watch'){
 $('submitYouTubeForm').imageCheckYouTube.src = '/images/icons/specstrue.gif';
   // alert("goed zo");
 return true
  } else {
 $('submitYouTubeForm').imageCheckYouTube.src = '/images/icons/specsfalse.gif';
    $('submitYouTubeForm').submitYouTubeURL.value = '';
    $('submitYouTubeForm').submitYouTubeURL.focus();
 //alert("niet goed");
    return false
  }
}

// ---------------------------------------------------------------------- refresh captcha
function refreshCaptcha(){
	var url    = '/ajax.php?request=captcha';

	document.getElementById('captcha_block').innerHTML = "";

	time    =       new Date();
	url += '&hash='+ time.getTime();
	url += Math.random();

	new Ajax(url, {method: 'get', 
									update: $('captcha_block')}).request()
}


// ---------------------------------------------------------------------- Check user Youtube
function checkUserYoutube(obj){

	var url = '/ajax.php?request=getYoutube&mode=user';

	obj.disabled = true;
	var form     = document.getElementById('submitYouTubeForm');
	var proceed  = true;

	var reg_email = /^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i;

	for (i=0; form.elements[i]; i++) {
		if (form.elements[i].name && form.elements[i].value){
			url += '&' + form.elements[i].name + '=' + escape(form.elements[i].value);
		}

		if (form.elements[i].className.indexOf("fValidate['email']") > -1 && form.elements[i].value.length > 0) {
			var check_mail = reg_email.test(form.elements[i].value);
			if (!check_mail) {
				proceed = false;
				form.elements[i].style["border"] = "#e70000 1px solid";
//			  document.getElementById('userEmailError').style.visibility = 'visible';
			}else{
				form.elements[i].style["border"] = "rgb(219, 223, 230) 1px solid";
//				document.getElementById('userEmailError').style.visibility = 'hidden';
			}
		}else{
			form.elements[i].style["border"] = "rgb(219, 223, 230) 1px solid";
//			document.getElementById('userEmailError').style.visibility = 'hidden';
		}

		if (form.elements[i].className.indexOf("fValidate['required']") > -1) {
			if (form.elements[i].value.length > 0)  {
				form.elements[i].style["border"] = "rgb(219, 223, 230) 1px solid";
			} else {
				form.elements[i].style["border"] = "#e70000 1px solid";
				proceed  = false;
			}
		}

	}
	if (proceed) {
		new Ajax(url, {
			method: 'get',
			onComplete: function(){
/*				if (this.response.text.indexOf('success') > -1){
					alert('Uw YouTube video is nu gekoppeld aan het product. Bezoekers kunnen uw video nu via onze site bekijken.');
					document.getElementById('video_url').value = '';
					document.getElementById('user_email').value = '';
				}else{
					alert('Helaas is er iets mis gegaan. Controleer de rode velden en probeer opnieuw.');
				}*/
//				setTimeout("refreshCaptcha()",1000);
				obj.disabled = false;
			},
			update: $('submitYouTubeFormContainer')
		}).request();
	}else{
		obj.disabled = false;	  
	}

}

function setIframeSrc(iframeNode, src) {
	alert(getIframeDocument(iframeNode).location);
	alert(getIframeDocument(iframeNode));
  getIframeDocument(iframeNode).location.replace(src)
	}

function getIframeDocument(iframeNode) {
  if (iframeNode.contentDocument) return iframeNode.contentDocument
	  if (iframeNode.contentWindow) return iframeNode.contentWindow.document
		  return iframeNode.document
			}
// ---------------------------------------------------------------------- Overlay Password reminder
function openOverlayPasswordReminder(e_mail){
	var myFx = new Fx.Style($('overlayPasswordReminder'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayPasswordReminderBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayPasswordReminderContent'), 'opacity').start(0,1);

	var url  = '/ajax.php?request=passwordReminder';
	try {
		if (e_mail.length > 1) {
			url += '&passwordFormEmail='+e_mail+'&letter=send';
		}
	} catch (err) {}	

	new Ajax(url, {
		method: 'get',
		update: $('passwordReminderFormContainer')
	}).request();

}

function closeOverlayPasswordReminder(){
	var myFx = new Fx.Style($('overlayPasswordReminder'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlayPasswordReminderBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlayPasswordReminderContent'), 'opacity').start(1,0);
}

function performOverlayPasswordReminder(obj){
	obj.disabled = true;
	var url      = '/ajax.php?request=passwordReminder';
	var form     = $('passwordReminderForm');
	var proceed  = true;

	for (i=0; form.elements[i]; i++) {
		if (form.elements[i].name && form.elements[i].value){
			url += '&' + form.elements[i].name + '=' + escape(form.elements[i].value);
		}
	
		if (form.elements[i].className.indexOf("fValidate['required']") > -1) {
			if (form.elements[i].value.length > 0)  {
				form.elements[i].style["border"] = "#0c0";
			} else {
				form.elements[i].style["border"] = "#e70000 1px solid";
				proceed  = false;
			}
		}
	}

	if (proceed) {
		new Ajax(url, {
			method:       'get',
			update:       $('passwordReminderFormContainer')
		}).request();
	} else {
		obj.disabled = false;
	}	
}


// ---------------------------------------------------------------------- Overlay NewsLetter
function openOverlayNexway(Ordernumber, Volgnr){
  var myFx = new Fx.Style($('overlayNexway'), 'opacity').start(0,1);
  var myFx = new Fx.Style($('overlayNexwayBack'), 'opacity').start(0,0.8);
  var myFx = new Fx.Style($('overlayNexwayContent'), 'opacity').start(0,1);
  var url  = '/ajax.php?request=clientNexwayDownload&ordernumber='+Ordernumber+'&volgnr='+Volgnr;

	$('overlayNexwayBack').style.marginTop = getScrollXY() + 'px';
	$('overlayNexwayContent').style.top = getScrollXY() + 'px';

	window.onresize = function(){
		$('overlayNexwayBack').style.marginTop = getScrollXY() + 'px';
		$('overlayNexwayContent').style.top = getScrollXY() + 'px';
	}
	window.onscroll = function(){
		$('overlayNexwayBack').style.marginTop = getScrollXY() + 'px';
		$('overlayNexwayContent').style.top = getScrollXY() + 'px';
	}


	time    =       new Date();
	url += '&random='+ time.getTime();
	url += Math.random();

  new Ajax(url, {
    method: 'get',
    update: $('NexwayFormContainer')
  }).request();

}

function closeOverlayNexway(){
  var myFx = new Fx.Style($('overlayNexway'), 'opacity').start(1,0);
  var myFx = new Fx.Style($('overlayNexwayBack'), 'opacity').start(0.8,0);
  var myFx = new Fx.Style($('overlayNexwayContent'), 'opacity').start(1,0);
}
// ---------------------------------------------------------------------- Overlay NewsLetter
function openOverlayNewsLetter(){
  var myFx = new Fx.Style($('overlayNewsLetter'), 'opacity').start(0,1);
  var myFx = new Fx.Style($('overlayNewsLetterBack'), 'opacity').start(0,0.8);
  var myFx = new Fx.Style($('overlayNewsLetterContent'), 'opacity').start(0,1);
  var url  = '/ajax.php?request=newsLetter';

  new Ajax(url, {
    method: 'get',
    update: $('newsLetterFormContainer')
  }).request();

}

function closeOverlayNewsLetter(){
  var myFx = new Fx.Style($('overlayNewsLetter'), 'opacity').start(1,0);
  var myFx = new Fx.Style($('overlayNewsLetterBack'), 'opacity').start(0.8,0);
  var myFx = new Fx.Style($('overlayNewsLetterContent'), 'opacity').start(1,0);
}

function performOverlayNewsLetter(obj, action){
  obj.disabled = true;
  var url      = '/ajax.php?request=newsLetter';
  var form     = $('newsLetterForm');
  var proceed  = true;

  for (i=0; form.elements[i]; i++) {
    if (form.elements[i].name && form.elements[i].value){
      url += '&' + form.elements[i].name + '=' + escape(form.elements[i].value);
    }

    if (form.elements[i].className.indexOf("fValidate['required']") > -1) {
      if (form.elements[i].value.length > 0)  {
        form.elements[i].style["border"] = "#0c0";
      } else {
        form.elements[i].style["border"] = "#e70000 1px solid";
        proceed  = false;
      }
    }
  }

  if (proceed) {
		url = url + '&action=' + action;
    new Ajax(url, {
      method:       'get',
      update:       $('newsLetterFormContainer')
    }).request();
  } else {
    obj.disabled = false;
  }
}

// ---------------------------------------------------------------------- Overlay Client logo
function openOverlayClientLogo(){
	var myFx = new Fx.Style($('overlayClientLogo'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayClientLogoBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayClientLogoContent'), 'opacity').start(0,1);

}

function closeOverlayClientLogo(){
	var myFx = new Fx.Style($('overlayClientLogo'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlayClientLogoBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlayClientLogoContent'), 'opacity').start(1,0);

	$('clientLogo').src = '/clientLogo.php'+ '#' + Math.random();
}



// --------------------------------------------------------------------- External configurators

function openOverlayExternalConfigurator(url){

	var myFx = new Fx.Style($('overlayExternalConfigurator'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayExternalConfiguratorBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayExternalConfiguratorContent'), 'opacity').start(0,1);

	$('overlayExternalConfiguratorFrame').src = url;
}

function closeOverlayExternalConfigurator(){

  var myFx = new Fx.Style($('overlayExternalConfigurator'), 'opacity').start(1,0);
  var myFx = new Fx.Style($('overlayExternalConfiguratorBack'), 'opacity').start(0.8,0);
  var myFx = new Fx.Style($('overlayExternalConfiguratorContent'), 'opacity').start(1,0);

}

// ---------------------------------------------------------------------- Overlay check stock

function openOverlayStockCheck(vendor, prodid){
	var myFx = new Fx.Style($('overlayStockCheck'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayStockCheckBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayStockCheckContent'), 'opacity').start(0,1);
	
	$('overlayStockCheckBack').style.marginTop = getScrollXY() + 'px';
	$('overlayStockCheckContent').style.top = getScrollXY() + 'px';

	window.onresize = function(){
	  $('overlayStockCheckBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayStockCheckContent').style.top = getScrollXY() + 'px';
	}
	window.onscroll = function(){
	  $('overlayStockCheckBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayStockCheckContent').style.top = getScrollXY() + 'px';
	}
	
	var url  = '/ajax.php?request=price&htmlResponse=true&vendor=' + escape(vendor) + '&prodid=' + escape(prodid);
 
 	new Ajax(url, {
		method: 'get',
		update: $('stockCheckFormContainer')
	}).request();

}
function closeOverlayStockCheck(){
	var myFx = new Fx.Style($('overlayStockCheck'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlayStockCheckBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlayStockCheckContent'), 'opacity').start(1,0);
}

// ---------------------------------------------------------------------- Overlay add to wishlist

function openOverlayAddToWishlist(vendor, prodid){

	var myFx = new Fx.Style($('overlayAddToWishlist'), 'opacity').start(0,1);
  var myFx = new Fx.Style($('overlayAddToWishlistBack'), 'opacity').start(0,0.8);
  var myFx = new Fx.Style($('overlayAddToWishlistContent'), 'opacity').start(0,1);
  var url  = '/ajax.php?request=wishlist&vendor=' + escape(vendor) + '&prodid=' + escape(prodid) + '&nocache=' + Math.random();

  new Ajax(url, {
  	method: 'get',
		update: $('addToWishlistContainer')
	}).request();
}

function closeOverlayAddToWishlist(){

	var myFx = new Fx.Style($('overlayAddToWishlist'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlayAddToWishlistBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlayAddToWishlistContent'), 'opacity').start(1,0);

}

// --------------------------------------------------------------------- Overlay Submit YouTube
function submitYouTube(vendor,prod_id){
	var myFx = new Fx.Style($('overlaySubmitYouTube'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlaySubmitYouTubeBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlaySubmitYouTubeContent'), 'opacity').start(0,1);

	$('overlaySubmitYouTubeBack').style.marginTop = getScrollXY() + 'px';
	$('overlaySubmitYouTubeContent').style.top = getScrollXY() + 'px';

	window.onresize = function(){
					$('overlaySubmitYouTubeBack').style.marginTop = getScrollXY() + 'px';
					$('overlaySubmitYouTubeContent').style.top = getScrollXY() + 'px';
	}
	window.onscroll = function(){
					$('overlaySubmitYouTubeBack').style.marginTop = getScrollXY() + 'px';
					$('overlaySubmitYouTubeContent').style.top = getScrollXY() + 'px';
	}

//	var url = 'ajax_response_submit_youtube.html';
	var url = '/ajax.php?request=getYoutube&mode=user&vendor='+escape(vendor)+'&prod_id='+escape(prod_id);

	new Ajax(url, {
		method: 'get',
		update: $('SubmitYouTubeContainer')
	}).request();

}
function closeOverlaySubmitYouTube(){
				var myFx = new Fx.Style($('overlaySubmitYouTube'), 'opacity').start(1,0);
				var myFx = new Fx.Style($('overlaySubmitYouTubeBack'), 'opacity').start(0.8,0);
				var myFx = new Fx.Style($('overlaySubmitYouTubeContent'), 'opacity').start(1,0);
}

// ---------------------------------------------------------------------- Overlay Describe request

function openOverlayRequest(vendor, prodid){
	var myFx = new Fx.Style($('overlayRequest'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayRequestBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayRequestContent'), 'opacity').start(0,1);
	var url = '/ajax.php?request=reportDescribe&vendor=' + vendor + '&prodid=' + prodid;

	new Ajax(url, {
		method: 'get',
		update: $('requestFormContainer')
	}).request();
}

function closeOverlayRequest(){
  var myFx = new Fx.Style($('overlayRequest'), 'opacity').start(1,0);
  var myFx = new Fx.Style($('overlayRequestBack'), 'opacity').start(0.8,0);
  var myFx = new Fx.Style($('overlayRequestContent'), 'opacity').start(1,0);
}

function performOverlayRequest(obj){
  obj.disabled = true;
  var url      = '/ajax.php?request=reportDescribe';
  var form     = $('requestForm');
  var proceed  = true;

  for (i=0; form.elements[i]; i++) {
		if (form.elements[i].name && form.elements[i].value){
			url += '&' + form.elements[i].name + '=' + escape(form.elements[i].value);
		}

		if (form.elements[i].className.indexOf("fValidate['required']") > -1) {
			if (form.elements[i].value.length > 0)  {
				form.elements[i].style["border"] = "#0c0";
			} else {
			  form.elements[i].style["border"] = "#e70000 1px solid";
			  proceed  = false;
			}
		}
 	}

	if (proceed) {
		new Ajax(url, {
			method:       'get',
			update:       $('requestFormContainer')
		}).request();
	} else {
	  obj.disabled = false;
	}
}
																																																					
// ---------------------------------------------------------------------- Overlay editorial
function openOverlayEditorial(productID){
	var myFx = new Fx.Style($('overlayEditorial'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlayEditorialBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlayEditorialContent'), 'opacity').start(0,1);
	
	$('overlayEditorialBack').style.marginTop = getScrollXY() + 'px';
	$('overlayEditorialContent').style.top = getScrollXY() + 'px';

	window.onresize = function(){
	  $('overlayEditorialBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayEditorialContent').style.top = getScrollXY() + 'px';
	}
	window.onscroll = function(){
	  $('overlayEditorialBack').style.marginTop = getScrollXY() + 'px';
	  $('overlayEditorialContent').style.top = getScrollXY() + 'px';
	}
		
	var url = '/ajax.php?request=reportError&productID=' + productID;
 
 	new Ajax(url, {
		method: 'get',
		update: $('editorialFormContainer')
	}).request();

}

function closeOverlayEditorial(){
	var myFx = new Fx.Style($('overlayEditorial'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlayEditorialBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlayEditorialContent'), 'opacity').start(1,0);
}


function performOverlayEditorial(obj){
  obj.disabled = true;
  var url      = '/ajax.php?request=reportError';
  var form     = $('editorialForm');
	var proceed  = true;
	
  for (i=0; form.elements[i]; i++) {
	  if (form.elements[i].name && form.elements[i].value){
		  url += '&' + form.elements[i].name + '=' + escape(form.elements[i].value);
		}

		if (form.elements[i].className.indexOf("fValidate['required']") > -1) {
			if (form.elements[i].value.length > 0)	{
				form.elements[i].style["border"] = "#0c0";
			} else {
				form.elements[i].style["border"] = "#e70000 1px solid";
				proceed  = false;
			}
		} 
	}

	if (proceed) {
		new Ajax(url, {
			method: 			'get',
			update: 			$('editorialFormContainer')
		}).request();
	} else {
		obj.disabled = false;
	} 
}

// ---------------------------------------------------------------------- Overlay send-a-friend
function openOverlaySendFriend(vendor, prod_id){
  var myFx = new Fx.Style($('overlaySendFriend'), 'opacity').start(0,1);
	var myFx = new Fx.Style($('overlaySendFriendBack'), 'opacity').start(0,0.8);
	var myFx = new Fx.Style($('overlaySendFriendContent'), 'opacity').start(0,1);
	
	$('overlaySendFriendBack').style.marginTop = getScrollXY() + 'px';
	$('overlaySendFriendContent').style.top = getScrollXY() + 'px';

	window.onresize = function(){
	  $('overlaySendFriendBack').style.marginTop = getScrollXY() + 'px';
	  $('overlaySendFriendContent').style.top = getScrollXY() + 'px';
	}
	window.onscroll = function(){
	  $('overlaySendFriendBack').style.marginTop = getScrollXY() + 'px';
	  $('overlaySendFriendContent').style.top = getScrollXY() + 'px';
	}
	

	var url = '/ajax.php?request=sendToFriend&vendor=' + escape(vendor) + '&prod_id=' + escape(prod_id);

	new Ajax(url, {
	  method: 'get',
	  update: $('sendFriendFormContainer')
	}).request();
}

function performOverlaySendFriend(obj) {
  obj.disabled = true;
  var url      = '/ajax.php?request=sendToFriend';
  var form     = $('sendFriendForm');
	var proceed  = true;

  for (i=0; form.elements[i]; i++) {
	  if (form.elements[i].name && form.elements[i].value){
		  url += '&' + form.elements[i].name + '=' + escape(form.elements[i].value);
		}
		if (form.elements[i].className.indexOf("fValidate['required']") > -1) {
			if (form.elements[i].value.length > 0)	{
				form.elements[i].style["border"] = "#0c0";
			} else {
				form.elements[i].style["border"] = "#e70000 1px solid";
				proceed  = false;
			}
		} 
	}
	if (proceed) {
		new Ajax(url, {
			method: 			'get',
			update: 			$('sendFriendFormContainer')
		}).request();
	} else {
		obj.disabled = false;
	} 
}

function closeOverlaySendFriend(){
	var myFx = new Fx.Style($('overlaySendFriend'), 'opacity').start(1,0);
	var myFx = new Fx.Style($('overlaySendFriendBack'), 'opacity').start(0.8,0);
	var myFx = new Fx.Style($('overlaySendFriendContent'), 'opacity').start(1,0);
}
// ---------------------------------------------------------------------- Overlay mini product
function openMiniProduct(productID,prodlevid,supplier){
	var myFx = new Fx.Style($('overlayMiniProduct'), 'opacity').start(0,1);
 	var myFx = new Fx.Style($('overlayMiniProductBack'), 'opacity').start(0,0.8);
 	var myFx = new Fx.Style($('overlayMiniProductContent'), 'opacity').start(0,1);

 	$('overlayMiniProductBack').style.marginTop = getScrollXY() + 'px';
 	$('overlayMiniProductContent').style.top = getScrollXY() + 'px';

 	window.onresize = function(){
   	$('overlayMiniProductBack').style.marginTop = getScrollXY() + 'px';
   	$('overlayMiniProductContent').style.top = getScrollXY() + 'px';
 	}
 	window.onscroll = function(){
  	$('overlayMiniProductBack').style.marginTop = getScrollXY() + 'px';
   	$('overlayMiniProductContent').style.top = getScrollXY() + 'px';
 	}

	var url = '/ajax.php?request=miniProduct&productID=' + productID+'&prodlevid='+prodlevid+'&supplier='+supplier;

// 	url = 'iframe_response_miniproduct.html?productID='+productID;

	$('miniProductFrame').src=url;

/*  new Ajax(url, {
   	method: 'get',
//		update: $('miniProductFormContainer')
   	update: $('miniProductFrame')
 	}).request();*/
}
function closeMiniProduct(){
 	var myFx = new Fx.Style($('overlayMiniProduct'), 'opacity').start(1,0);
 	var myFx = new Fx.Style($('overlayMiniProductBack'), 'opacity').start(0.8,0);
 	var myFx = new Fx.Style($('overlayMiniProductContent'), 'opacity').start(1,0);
}
function selectRadio(productID){
 	$(productID).checked = true;
}
// ---------------------------------------------------------------------- Overlay YouTube
function openYouTube(YouTubeID){
 	var myFx = new Fx.Style($('overlayYouTube'), 'opacity').start(0,1);
 	var myFx = new Fx.Style($('overlayYouTubeBack'), 'opacity').start(0,0.8);
 	var myFx = new Fx.Style($('overlayYouTubeContent'), 'opacity').start(0,1);

 	$('overlayYouTubeBack').style.marginTop = getScrollXY() + 'px';
 	$('overlayYouTubeContent').style.top = getScrollXY() + 'px';

 	window.onresize = function(){
   	$('overlayYouTubeBack').style.marginTop = getScrollXY() + 'px';
   	$('overlayYouTubeContent').style.top = getScrollXY() + 'px';
 	}
 	window.onscroll = function(){
   	$('overlayYouTubeBack').style.marginTop = getScrollXY() + 'px';
   	$('overlayYouTubeContent').style.top = getScrollXY() + 'px';
 	}

	var url = '/ajax.php?request=getYoutube&YouTubeID='+YouTubeID; 	

  new Ajax(url, {
   	method: 'get',
   	update: $('YouTubeContainer'),
		onComplete: function(){
			showSwfYoutube(YouTubeID);
		}
 	}).request();

}
function closeOverlayYouTube(){
 	var myFx = new Fx.Style($('overlayYouTube'), 'opacity').start(1,0);
 	var myFx = new Fx.Style($('overlayYouTubeBack'), 'opacity').start(0.8,0);
 	var myFx = new Fx.Style($('overlayYouTubeContent'), 'opacity').start(1,0);

	var url = '/ajax.php?request=getYoutube'; 	

  new Ajax(url, {
   	method: 'get',
   	update: $('YouTubeContainer')
 	}).request();

}
// ----------------------------------------------------------------------
function submitFrontPageForm (form, id) {
	form.quant1.value	=	document.getElementById(id).value;
	form.submit();
}
// ---------------------------------------------------------------------- Show wishlist note
function showNote(id) {
	$('noteLink'+id).style.display = 'none';
 	$('noteField'+id).style.display = 'block';
 	$('wishNote'+id).focus();
}
function showNote2(id) {
  $('noteLink'+id).style.display = 'block';
  $('noteField'+id).style.display = 'none';
}
// ---------------------------------------------------------------------- Set checkboxes refine brands
function setRefineAllBrands(state, auto){
//	field = $$('#pulldownBrands input')

  lengthvar = document.getElementById('vendors_count').value;
  if (state && auto) {
    flag = false;
    for (i = 1; i <= lengthvar; i++){
      ref_id = 'refineBrandII' + i;
      obj = document.getElementById(ref_id);
      if (obj){
        if (obj.checked) {
          flag = true;
          break;
        }
      }
    }

		if (flag) {
			$('refineBrandShowAllTrue').setStyle('display','block')
			$('refineBrandShowAllFalse').setStyle('display','none')
			$('refineBrandTrue').checked = false;
			$ES('label', 'pulldownBrands').setStyle('color', '#202b60')
			$ES('label', 'pulldownBrands').setStyle('cursor', 'pointer')
			$('refineBrandFalse').disabled = false
			//$('showRefine').disabled = false
			return;
		}
	}

	for (i = 1; i <=lengthvar; i++){
    ref_id = 'refineBrandII' + i;
    obj    = document.getElementById(ref_id);
    if (obj){
      obj.checked = state;
      obj.disabled = state;
    }
  }

  if (state==true){
  	$('refineBrandFalse').checked = true;
  //  $ES('label', 'pulldownBrands').setStyle('color', '#b6bacf')
  //  $ES('label', 'pulldownBrands').setStyle('cursor', 'auto')
    $('refineBrandShowAllTrue').setStyle('display','none')
    $('refineBrandShowAllFalse').setStyle('display','block')
    $('refineBrandShowAllFalse').setStyle('color', '#202b60')
    $('refineBrandShowAllFalse').setStyle('cursor', 'pointer')
	}
  else if (state==false){
  	$('refineBrandShowAllTrue').setStyle('display','block')
    $('refineBrandShowAllFalse').setStyle('display','none')
    $('refineBrandTrue').checked = false;
  //  $ES('label', 'pulldownBrands').setStyle('color', '#202b60')
  //  $ES('label', 'pulldownBrands').setStyle('cursor', 'pointer')
  }
  $('refineBrandFalse').disabled = false
	$('showRefine').disabled = false
}
// ---------------------------------------------------------------------- Show image overlay
 
// ---------------------------------------------------------------------- Overlay Turnpage
function openTurnpage(){
  var myFx = new Fx.Style($('overlayTurnpage'), 'opacity').start(0,1);
  var myFx = new Fx.Style($('overlayTurnpageBack'), 'opacity').start(0,0.8);
  var myFx = new Fx.Style($('overlayTurnpageContent'), 'opacity').start(0,1);

  $('overlayTurnpageBack').style.marginTop = getScrollXY() + 'px';
  $('overlayTurnpageContent').style.top = getScrollXY() + 'px';

  window.onresize = function(){
    $('overlayTurnpageBack').style.marginTop = getScrollXY() + 'px';
    $('overlayTurnpageContent').style.top = getScrollXY() + 'px';
  }
  window.onscroll = function(){
    $('overlayTurnpageBack').style.marginTop = getScrollXY() + 'px';
    $('overlayTurnpageContent').style.top = getScrollXY() + 'px';
  }

  $('TurnpageFrame').src = 'https://www.centralpoint.nl/images/tp_licentiegids/alex.html'
}
function closeOverlayTurnpage(){
  var myFx = new Fx.Style($('overlayTurnpage'), 'opacity').start(1,0);
  var myFx = new Fx.Style($('overlayTurnpageBack'), 'opacity').start(0.8,0);
  var myFx = new Fx.Style($('overlayTurnpageContent'), 'opacity').start(1,0);
}

// ----------------------------------------------------------------------
function showMemoryTabs(openTab) {
  var tabs = new mootabs("memoryTabsContainer", {
              width: "510px",
              changeTransition: "none",
              mouseOverClass: "over",
              activateOnLoad: openTab
  });
};
// ---------------------------------------------------------------------- Show image overlay^M
function showSwfYoutube(youtube_key){
	if (youtube_key == '') return;
	var params = { allowScriptAccess: "always" };
	var atts = { id: "myytplayer" };
	swfobject.embedSWF("http://www.youtube.com/v/"+youtube_key+"&enablejsapi=1&playerapiid=ytplayer&autoplay=1","ytapiplayer", "650", "360", "8", null, null, params, atts);
}


var $removeEvents = function (object, type)
{
	if (!object.events) return object;
	if (type){
		if (!object.events[type]) return object;
		for (var fn in object.events[type]) object.removeEvent(type, fn);
		object.events[type] = null;
	} else {
		for (var evType in object.events) object.removeEvents(evType);
		object.events = null;
	}
	return object;
};
		
		
// declaring the class
var gallery = new Class({
	initialize: function(element, options) {
		this.setOptions({
			showArrows: true,
			showCarousel: true,
			showInfopane: true,
			thumbHeight: 50,
			thumbWidth: 50,
			thumbSpacing: 0,
			embedLinks: true,
			fadeDuration: 500,
			timed: false,
			delay: 5000,
			preloader: true,
			manualData: [],
			populateData: true,
			elementSelector: "dl.imageElement",
			titleSelector: "h3",
			subtitleSelector: "p",
			linkSelector: "a.open",
			imageSelector: "img.full",
			thumbnailSelector: "img.thumbnail",
			slideInfoZoneOpacity: 0.7,
			carouselMinimizedOpacity: 0.8,
			carouselMinimizedHeight: 50,
			carouselMaximizedOpacity: 1, 
			destroyAfterPopulate: true,
			baseClass: 'imageGallery',
			withArrowsClass: 'withArrows',
			textShowCarousel: '',
			useThumbGenerator: false,
			thumbGenerator: 'resizer.php'
		}, options);
		this.fireEvent('onInit');
		this.currentIter = 0;
		this.lastIter = 0;
		this.maxIter = 0;
		this.galleryElement = element;
		this.galleryData = this.options.manualData;
		this.galleryInit = 1;
		this.galleryElements = Array();
		this.thumbnailElements = Array();
		this.galleryElement.addClass(this.options.baseClass);
		if (this.options.populateData)
			this.populateData();
		element.style.display="block";
		
		if (this.options.embedLinks)
		{
			this.currentLink = new Element('a').addClass('open').setProperties({
				href: '#',
				title: ''
			}).injectInside(element);
			if ((!this.options.showArrows) && (!this.options.showCarousel))
				this.galleryElement = element = this.currentLink;
			else
				this.currentLink.setStyle('display', 'none');
		}
		
		this.constructElements();
		if ((data.length>1)&&(this.options.showArrows))
		{
			var leftArrow = new Element('a').addClass('left').addEvent(
				'click',
				this.prevItem.bind(this)
			).injectInside(element);
			var rightArrow = new Element('a').addClass('right').addEvent(
				'click',
				this.nextItem.bind(this)
			).injectInside(element);
			this.galleryElement.addClass(this.options.withArrowsClass);
		}
		this.loadingElement = new Element('div').addClass('loadingElement').injectInside(element);
		if (this.options.showInfopane) this.initInfoSlideshow();
		if (this.options.showCarousel) this.initCarousel();
		this.doSlideShow(1);
		this.showCarousel()
	},
	populateData: function() {
		currentArrayPlace = this.galleryData.length;
		options = this.options;
		data = this.galleryData;
		this.galleryElement.getElements(options.elementSelector).each(function(el) {
			elementDict = {
				image: el.getElement(options.imageSelector).getProperty('src'),
				number: currentArrayPlace
			};
			if ((options.showInfopane) | (options.showCarousel))
				Object.extend(elementDict, {
					//title: el.getElement(options.titleSelector).innerHTML,
					//description: el.getElement(options.subtitleSelector).innerHTML
				});
			if (options.embedLinks)
				Object.extend(elementDict, {
					link: el.getElement(options.linkSelector).href||false,
					linkTitle: el.getElement(options.linkSelector).title||false
				});
			if ((!options.useThumbGenerator) && (options.showCarousel))
				Object.extend(elementDict, {
					thumbnail: el.getElement(options.thumbnailSelector).src
				});
			else if (options.useThumbGenerator)
				Object.extend(elementDict, {
					thumbnail: 'resizer.php?imgfile=' + elementDict.image + '&max_width=' + options.thumbWidth + '&max_height=' + options.thumbHeight
				});
			
			data[currentArrayPlace] = elementDict;
			currentArrayPlace++;
			if (this.options.destroyAfterPopulate)
				el.remove();
		});
		this.galleryData = data;
		this.fireEvent('onPopulated');
	},
	constructElements: function() {
		el = this.galleryElement;
		this.maxIter = this.galleryData.length;
		var currentImg;
		for(i=0;i<this.galleryData.length;i++)
		{
			var currentImg = new Fx.Style(
				new Element('div').addClass('slideElement').setStyles({
					'position':'absolute',
					'left':'0px',
					'right':'0px',
					'margin':'0px',
					'padding':'0px',
					'backgroundImage':"url('" + this.galleryData[i].image + "')",
					'backgroundPosition':"top center",
					'opacity':'0'
				}).injectInside(el),
				'opacity',
				{duration: this.options.fadeDuration}
			);
			this.galleryElements[parseInt(i)] = currentImg;
		}
	},
	destroySlideShow: function(element) {
		var myClassName = element.className;
		var newElement = new Element('div').addClass('myClassName');
		element.parentNode.replaceChild(newElement, element);
	},
	startSlideShow: function() {
		this.fireEvent('onStart');
		this.loadingElement.style.display = "none";
		this.lastIter = this.maxIter - 1;
		this.currentIter = 0;
		this.galleryInit = 0;
		this.galleryElements[parseInt(this.currentIter)].set(1);
		if (this.options.showInfopane)
			this.showInfoSlideShow.delay(0, this);
		this.prepareTimer();
		if (this.options.embedLinks)
			this.makeLink(this.currentIter);
	},
	nextItem: function() {
		this.fireEvent('onNextCalled');
		this.nextIter = this.currentIter+1;
		if (this.nextIter >= this.maxIter)
			this.nextIter = 0;
		this.galleryInit = 0;
		this.goTo(this.nextIter);
	},
	prevItem: function() {
		this.fireEvent('onPreviousCalled');
		this.nextIter = this.currentIter-1;
		if (this.nextIter <= -1)
			this.nextIter = this.maxIter - 1;
		this.galleryInit = 0;
		this.goTo(this.nextIter);
	},
	goTo: function(num) {
		this.clearTimer();
		if (this.options.embedLinks)
			this.clearLink();
		if (this.options.showInfopane)
		{
			this.slideInfoZone.clearChain();
			this.hideInfoSlideShow().chain(this.changeItem.pass(num, this));
		} else
			this.changeItem.delay(0, this, num);
		if (this.options.embedLinks)
			this.makeLink(num);
		this.prepareTimer();
		/*if (this.options.showCarousel)
			this.clearThumbnailsHighlights();*/
	},
	changeItem: function(num) {
		this.fireEvent('onStartChanging');
		this.galleryInit = 0;
		if (this.currentIter != num)
		{
			for(i=0;i<this.maxIter;i++)
			{
				if ((i != this.currentIter)) this.galleryElements[i].set(0);
			}
			if (num > this.currentIter) this.galleryElements[num].custom(1);
			else
			{
				this.galleryElements[num].set(1);
				this.galleryElements[this.currentIter].custom(0);
			}
			this.currentIter = num;
		}
		this.doSlideShow.bind(this)();
		this.fireEvent('onChanged');
	},
	clearTimer: function() {
		if (this.options.timed)
			$clear(this.timer);
	},
	prepareTimer: function() {
		if (this.options.timed)
			this.timer = this.nextItem.delay(this.options.delay, this);
	},
	doSlideShow: function(position) {
		if (this.galleryInit == 1)
		{
			imgPreloader = new Image();
			imgPreloader.onload=function(){
				this.startSlideShow.delay(0, this);
			}.bind(this);
			imgPreloader.src = this.galleryData[0].image;
		} else {
			if (this.options.showInfopane)
			{
				if (this.options.showInfopane)
				{
					this.showInfoSlideShow.delay((0), this);
				} else
					if (this.options.showCarousel)
						this.centerCarouselOn(position);
			}
		}
	},
	initCarousel: function () {
		var carouselContainerElement = new Element('div').addClass('carouselContainer').injectInside(this.galleryElement);
		this.carouselContainer = new Fx.Styles(carouselContainerElement, {transition: Fx.Transitions.expoOut});
		this.carouselContainer.normalHeight = carouselContainerElement.offsetHeight;
		this.carouselContainer.set({'opacity': this.options.carouselMinimizedOpacity, 'top': 200});
		
		this.carouselBtn = new Element('a').addClass('carouselBtn').setProperties({
			title: this.options.textShowCarousel
		}).setHTML(this.options.textShowCarousel).injectInside(carouselContainerElement);
		
		this.carouselBtn.addEvent(
			'click',
			function () {
				this.carouselContainer.clearTimer();
				this.toggleCarousel();
			}.bind(this)
		);
		this.carouselActive = false;

		var carouselElement = new Element('div').addClass('carousel').injectInside(carouselContainerElement);
		this.carousel = new Fx.Styles(carouselElement);
		
		/*this.carouselLabel = new Element('p').addClass('label').injectInside(this.carousel.element);*/
		this.carouselWrapper = new Element('div').addClass('carouselWrapper').injectInside(this.carousel.element);
		this.carouselInner = new Element('div').addClass('carouselInner').injectInside(this.carouselWrapper);
		
		this.carouselWrapper.scroller = new Scroller(this.carouselWrapper, {
			area: 100,
			velocity: 0.2
		})
		
		this.carouselWrapper.elementScroller = new Fx.Scroll(this.carouselWrapper, {
			duration: 400,
			onStart: this.carouselWrapper.scroller.stop.bind(this.carouselWrapper.scroller),
			onComplete: this.carouselWrapper.scroller.start.bind(this.carouselWrapper.scroller)
		});

		this.constructThumbnails();

		this.carouselInner.style.width = ((this.maxIter * (this.options.thumbWidth + 1))) + "px";
	},
	toggleCarousel: function() {
		if (this.carouselActive)
			this.hideCarousel();
		else
			this.showCarousel();
	},
	showCarousel: function () {
		this.fireEvent('onShowCarousel');
		this.carouselContainer.custom({
			'opacity': this.options.carouselMaximizedOpacity,
			'top': 200
		}).addEvent('onComplete', function() { this.carouselActive = true; this.carouselWrapper.scroller.start(); }.bind(this));
		
	},
	hideCarousel: function () {
		this.fireEvent('onHideCarousel');
		this.carouselContainer.custom({
			'opacity': this.options.carouselMinimizedOpacity,
			'top': (this.options.carouselMinimizedHeight - this.carouselContainer.normalHeight)
		}).addEvent('onComplete', function() { this.carouselActive = false; this.carouselWrapper.scroller.stop(); }.bind(this));
	},
	constructThumbnails: function () {
		element = this.carouselInner;
		for(i=0;i<this.galleryData.length;i++)
		{
			var currentImg = new Fx.Style(new Element ('div').addClass("thumbnail").setStyles({
					backgroundImage: "url('" + this.galleryData[i].thumbnail + "')",
					backgroundPosition: "center center",
					backgroundRepeat: 'no-repeat',
					marginLeft: this.options.thumbSpacing + "px",
					width: this.options.thumbWidth + "px",
					height: this.options.thumbHeight + "px"
				}).injectInside(element), "opacity", {duration: 200}).set(0.6);
			currentImg.element.addEvents({
				'mouseover': function (myself) {
					myself.clearTimer();
					myself.custom(0.99);
					//$(this.carouselLabel).setHTML('<span class="number">' + (myself.relatedImage.number + 1) + "/" + this.maxIter + ":</span> " + myself.relatedImage.title);
				}.pass(currentImg, this),
				'mouseout': function (myself) {
					myself.clearTimer();
					myself.custom(0.6);
				}.pass(currentImg, this),
				'click': function (myself) {
					this.goTo(myself.relatedImage.number);
					this.clearTimer()
				}.pass(currentImg, this)
			});
			
			currentImg.relatedImage = this.galleryData[i];
			this.thumbnailElements[parseInt(i)] = currentImg;
		}
	},
	clearThumbnailsHighlights: function()
	{
		for(i=0;i<this.galleryData.length;i++)
		{
			this.thumbnailElements[i].clearTimer();
			this.thumbnailElements[i].custom(0.6);
		}
	},
	centerCarouselOn: function(num) {
		var carouselElement = this.thumbnailElements[num];
		var position = carouselElement.element.offsetLeft + (carouselElement.element.offsetWidth / 2);
		var carouselWidth = this.carouselWrapper.offsetWidth;
		var carouselInnerWidth = this.carouselInner.offsetWidth;
		var diffWidth = carouselWidth / 2;
		var scrollPos = position-diffWidth;
		//this.carouselWrapper.elementScroller.scrollTo(scrollPos,0);
	},
	initInfoSlideshow: function() {
		/*if (this.slideInfoZone.element)
			this.slideInfoZone.element.remove();*/
		this.slideInfoZone = new Fx.Styles(new Element('div').addClass('slideInfoZone').injectInside($(this.galleryElement))).set({'opacity':0});
		var slideInfoZoneTitle = new Element('h2').injectInside(this.slideInfoZone.element);
		var slideInfoZoneDescription = new Element('p').injectInside(this.slideInfoZone.element);
		this.slideInfoZone.normalHeight = this.slideInfoZone.element.offsetHeight;
		this.slideInfoZone.element.setStyle('opacity',0);
	},
	changeInfoSlideShow: function()
	{
		this.hideInfoSlideShow.delay(500, this);
		this.showInfoSlideShow.delay(500, this);
	},
	showInfoSlideShow: function() {
		this.fireEvent('onShowInfopane');
		this.slideInfoZone.clearTimer();
		element = this.slideInfoZone.element;
		element.getElement('h2').setHTML(this.galleryData[this.currentIter].title);
		element.getElement('p').setHTML(this.galleryData[this.currentIter].description);
		this.slideInfoZone.custom({'opacity': [0, this.options.slideInfoZoneOpacity], 'height': [0, this.slideInfoZone.normalHeight]});
		if (this.options.showCarousel)
			this.slideInfoZone.chain(this.centerCarouselOn.pass(this.currentIter, this));
		return this.slideInfoZone;
	},
	hideInfoSlideShow: function() {
		this.fireEvent('onHideInfopane');
		this.slideInfoZone.clearTimer();
		this.slideInfoZone.custom({'opacity': 0, 'height': 0});
		return this.slideInfoZone;
	},
	makeLink: function(num) {
		this.currentLink.setProperties({
			href: this.galleryData[num].link,
			title: this.galleryData[num].linkTitle
		})
		if (!((this.options.embedLinks) && (!this.options.showArrows) && (!this.options.showCarousel)))
			this.currentLink.setStyle('display', 'block');
	},
	clearLink: function() {
		this.currentLink.setProperties({href: '', title: ''});
		if (!((this.options.embedLinks) && (!this.options.showArrows) && (!this.options.showCarousel)))
			this.currentLink.setStyle('display', 'none');
	}
});
gallery.implement(new Events);
gallery.implement(new Options);
/* All code copyright 2006 Jonathan Schemoul */
