/**
 * @author Administrator
 */
var frmEmailCorrect = false;
var frmEmailCheck;
initProductblock = function() { 
	replaceBlockLink('productblock');
 }
initSubcatblock = function(){ 
	replaceBlockLink('subcatblock'); 
	$$('.subcatblock').each( function(el) {
		el.addEvents({mouseover: function() {
			this.getElements('div.rollover').each( function(ell) {
				ell.setStyle('display','block');
			});
		},mouseout: function() {
			this.getElements('div.rollover').each( function(ell) {
				ell.setStyle('display','none');
			});
		}});	
	});
}
replaceBlockLink = function(className) {
	$$('.'+className).each ( function(el) {
		var a = el.getElements('a');
		var link = a[0].getProperty('href');
		el.addEvent('click', function() { document.location = link; });
		el.setStyle('cursor','pointer');
	});
}
initSubcatNav = function() {
	if($('bottomNavigation')) {
		$$('div#bottomNavigation div.pageNav').each( function(el) {
			$('headPageNav').setHTML(el.innerHTML);
		});
	}
	if($('slcPageSort')) {
		$('slcPageSort').addEvents({change: function() {
			if(this.getValue() != 0) {
				document.location = shop_relative+'/'+shop_maincat+'/'+shop_subcat+'/sort,'+this.getValue();
			}
		}});
	}
	if($$('.nextArrow')) {
		$$('.nextArrow').each( function(el) {
			el.addEvents({mouseover: function() { this.setProperty('src',shop_relative+'img/gif/arrow-red.gif');},
						 mouseout: function() { this.setProperty('src',shop_relative+'img/gif/arrow-gray.gif');}});
		});
	}
	if($$('.prevArrow')) {
		$$('.prevArrow').each( function(el) {
			el.addEvents({mouseover: function() { this.setProperty('src',shop_relative+'img/gif/arrow-red-rev.gif');},
						 mouseout: function() { this.setProperty('src',shop_relative+'img/gif/arrow-gray-rev.gif');}});
		});
	}
}
initProduct = function() {
	productImages = new Array();
	productMediaCurrent = 0;
	if($('productMedia')) {
		$$('div#productMedia img').each( function(el) {
			productImages[productImages.length] = el.getProperty('src');
			el.remove();
		});
		$('productMedia').remove();
		if (productImages.length > 0) {
			$('productheader').addEvents({
				click: function(){
					productMediaPopup();
				}
			});
			if ($('popupCloseButton')) {
				$('popupCloseButton').addEvents({
					click: function(){
						productMediaClose();
					}
				});
			}
			$('productheader').setStyle('cursor', 'pointer');
			$('popupPrevArrow').setStyles({visibility:'hidden'});
			if(productImages.length == 1) {
				$('popupNextArrow').setStyles({visibility:'hidden'});
			} else {
				$('popupPrevArrow').addEvents({click: function() { productPrevImage(); }});
				$('popupNextArrow').addEvents({click: function() { productNextImage(); }});
			}
		}
	}
	if(typeof(prod_supply)!='undefined') {
		$('cartImage').setStyles({display:(prod_supply>0?'block':'none')});
		$('productSupply').setStyles({display:(prod_supply>0?'none':'block')});
	}
	if($('maatvariant') && maatvar.length>0) {
		$('maatvariant').addEvents({
			change: function(){
				changeVariant(this, maatvar);
			},
			click: function() {
				changeVariant(this, maatvar);
			},
			keyup: function() {
				changeVariant(this, maatvar);
			}			
		});
		changeVariant($('maatvariant'),maatvar);
	}
	if($('kleurvariant') && kleurvar.length>0) {
		$('kleurvariant').addEvents({
			change: function(){
				changeVariant(this, kleurvar);
			},
			click: function() {
				changeVariant(this, kleurvar);
			},
			keyup: function() {
				changeVariant(this, kleurvar);
			}			
		});
		changeVariant($('kleurvariant'),kleurvar);
	}
	if($('cartImage')) {
		$('cartImage').addEvent('click' , function() { addToCart(); });
		$('cartImage').setStyle('cursor', 'pointer');
	}
	if($('cartCheckout')) {
		addCartClickLink($('cartCheckout'));
	}
	if($('cartPreviewContent')) {
		$('cartPreviewContent').addEvent('mouseon', function() { popupCartPreview(); });
	}
	if($('productSupply')) {
		$('productSupply').addEvents({
			click: function(){
				supplyLink();
			}
		});
	}
}
supplyLink = function() {
	if(typeof(productreferentie)=='undefined') { return false; }
	var variantID = 0;
	if($('maatvariant')) {
		variantID = $('maatvariant').getValue();
	} else if($('kleurvariant')) {
		variantID = $('kleurvariant').getValue();
	}
	document.location = shop_relative  + 
						shop_maincat + 
						'/' + shop_subcat + 
						'/' + shop_prodlink + 
						'/reminder/' + variantID;
	
	
}
addToCart = function() {
	if(typeof(productreferentie)=='undefined') { return false; }
	var variantID = 0;
	if($('maatvariant')) {
		variantID = $('maatvariant').getValue();
	} else if($('kleurvariant')) {
		variantID = $('kleurvariant').getValue();
	}
	var amount = 0;
	amount = parseInt($('amount').getValue());
	if(isNaN(amount)||amount<1) { return false; }
	new Ajax(shop_relative + 'ajax/getcart.php?addproduct=true&pid=' + productreferentie + '&vid=' + variantID + '&am=' + amount, {
		method: 'get',
		onComplete: function(r, x){
			putCartContents(r, x);
		}
	}).request();
}

changeVariant = function(obj,arr) {
	var thisval = obj.getValue();
	if(thisval == null || thisval == '0') { return false; }
	var span = $('artikelNummer');
	var found = '';
	var supply = 0;
	for(x=0;x<arr.length;x++) {
		var a = arr[x];
		if(a.length>0) {
			if(a[0] == thisval) {
				found = a[1];
				supply = a[2];
			}
		}
	}
	if(found!='') {
		span.setHTML(found);
	}
	$('cartImage').setStyles({display:(supply>0?'block':'none')});
	$('productSupply').setStyles({display:(supply>0?'none':'block')});

}
saveReminder = function() {
	if(!validateDataForm()) {
		$('frmData').submit();
	}
}
initReminder = function() {
	if($('kl_email')) {
		$('kl_email').addEvents({
			keyup: function(){
				wrapEmailField();
			},
			blur: function() {
				wrapEmailField();
			}
		});
		wrapEmailField();
	}
	if($('btnProduct')) {
		$('btnProduct').addEvents({
			click: function(){
					document.location = shop_relative  + 
										shop_maincat + 
										'/' + shop_subcat + 
										'/' + shop_prodlink + '/';
			}
		});
		$('btnProduct').setStyle('cursor','pointer');
	}
	if($('btnReminder')) {
		$('btnReminder').addEvents({click: function() {
			saveReminder();
		}});
		$('btnReminder').setStyle('cursor','pointer');
	}
}

window.addEvent('load', function(){
	if ($$('.subcatblock')) {
		initSubcatblock();
	}
	if ($$('.productblock')) {
		initProductblock();
	}
	initSubcatNav();
	if($('productheader')) { initProduct(); }
	if($('reminderContent')) { initReminder(); }
});

/* form */
checkRequiredFields = function(cls) {
	var err = false;
	var reqObj = $$('.'+cls);
	if(reqObj.length>0) {
		for(x=0;x<reqObj.length;x++) {
			var val = reqObj[x].getValue();
			if(typeof(val)=='undefined'||val==null||val=='') {
				err = true;
				reqObj[x].addClass('verplichtFout');
			} else {
				if (reqObj[x].hasClass('verplichtFout')) {
					reqObj[x].removeClass('verplichtFout');
				}
			}
		}
	}
	return err;
}
validateDataForm = function() {
	var err = frmRequired = false;	
	var frmRequired = checkRequiredFields('frmRequired');

	if(frmRequired) {
		err = true;
	}
	if(!frmEmailCorrect) { 
		err = true; 
		$('kl_email').addClass('verplichtFout');
	} else {
		if($('kl_email').hasClass('verplichtFout')) {
			$('kl_email').removeClass('verplichtFout');
		}
	}
	if(err) {
		alert('Niet alle verplichte velden zijn ingevuld.')
	}
	return err;
}
wrapEmailField = function() {
	var val = $('kl_email').getValue();
	if(typeof(val)!='undefined'&&val!=''&&val!=null) {
		if(frmEmailCheck) {
			$clear(frmEmailCheck);
		}
		frmEmailCheck = (function() { checkEmailField(); }).delay(1000);
	}
	judgeEmailField('0');
}
checkEmailField = function() {
	frmEmailCorrect = false;
	$('emailOk').setStyle('display','none');
	//$('emailNotOk').setStyle('display','none');
	$('emailLoader').setStyle('display','block');
	new Ajax(shop_relative+'ajax/chkEmail.php?inp='+$('kl_email').getValue(),{method:'get', 
																			  onFailure: function() { frmEmailCorrect = false; }, 
																			  onComplete: function(r) { judgeEmailField(r); }
																			  }).request();
}
judgeEmailField = function(r) {
	frmEmailCorrect = (r=='1'?true:false);
	$('emailOk').setStyle('display',(r=='1'?'block':'none'));
	//$('emailNotOk').setStyle('display',(r=='1'?'none':'block'));
	$('emailLoader').setStyle('display','none');
}
