var page = 1;
var resultsPerPage = 12;
var adjacentPages = 2;
var documentLocation = document.location.href.split('pagina.php');
var sessionMinPrijs = null;
var sessionMaxPrijs = null;
var checkedVarFound = false;
var currencySymbol = '\u20ac';

$(document).ready(function() {

	loadActions();

	//check for enable slideShow
	if ($("div.jqueryScrollDiv").length > 0)	{
		$.getScript('/javascript/slideShow.js', function(data) {
			slideShow();
		})
	}


	if ($('.letter').length != 0) {
		$('.letter').hide();
		$('.abc').click(function() {
			var abcLetter = $(this).attr('id').split('_');
			if ($('#abcLetter_'+abcLetter[1]).css('display') == 'none') {
				$('#abcLetter_'+abcLetter[1]).slideDown();
			} else {
				$('#abcLetter_'+abcLetter[1]).slideUp();
			}
		});
	}

	//back link from productdetail to searchresult
	if ($('a.prev_button_product').length != 0)	{
		var curLink = $('a.prev_button_product').attr('href');
		//check for real link
		var cLink = curLink.split('.');
		if (cLink[1].substring(0,4) == 'html' || cLink[1].substring(0,3) == 'php')	{
			//check if the p get var is incomming
			var getP = getVar('p');
			var getFb = getVar('fb');
			if(getP != '')	{
				//oke, generate the link
				if (cLink[1].substring(0,4) == 'html')	{
					var newLink = curLink + '?bp='+getP;
				}else	{
					var newLink = curLink + '&bp='+getP;
				}
				//replace
				$('a#bpLink').attr('href',newLink);
				//for the brand pages
			}else 	{
				//oke, generate the link
				var newLink = 'Javascript:history.back()';
				//replace
				$('a#bpLink').attr('href',newLink);
			}
		}
	}

	if ($('#productdetail').length != 0)	{

		$.getScript('/handleFilterSession.php?action=loadSession&currentGroupID='+currentProductGroupID, function(data) {
			$.getJSON('/json/products_'+currentProductGroupID+'.json', false, function(data, textStatus){

				product = data.products[currentProductID];

				if (showActie ( product ) ) {

					// dit is een product als actie
					$("span.#nu_prijs").text( currencySymbol + removeCurrencySymbol( product.actie.prijs ) );
					// vervang alle productid's met actieid
					var productForm = $("#product_acc_form").html();
					//productForm = productForm.replace( currentProductID , product.actie.id );
					productForm = str_replace ( currentProductID, product.actie.id , productForm );
					$("#product_acc_form").html( productForm );

					var test = '<div class="prijs prijs_actie">'
								+	'<span class="van" style="text-decoration: line-through;">' +  product.info.prijs_van + '</span>'
								+	'<span class="voor">' + currencySymbol + product.actie.prijs + '</span>'
								+ '</div>'
								+ '<div class="clear"> </div>';

					$("#productHoofdAfbeelding").prepend(test);


				}

			});//end getJSON

		});//end getScript

	}

	if ($('#merkdetail').length != 0)	{

		handleBrands( page );

	}
	//productfilter
	if ($('#filter').length != 0) {
		$.getScript('/handleFilterSession.php?action=loadSession&currentGroupID='+currentProductGroupID, function(data) {
			$.getJSON('/json/products_'+currentProductGroupID+'.json', false, function(data, textStatus){
				var tagsAdded = new Array();
				var taggroupsAdded = new Array();
				var tagsSort = new Array();
				var tagsUnsort = new Array();
				var taggroupsSort = new Array();
				var taggroupsUnsort = new Array();
				var sizesAdded = new Array();
				var productCount = 0;
				var minProductPrice = 0;
				var maxProductPrice = 0;
				var getVarsUrl = getUrlVars();
				$.each(data.products, function() {

					// breken max en min prijs voor slider
					 var productPrijs = this.info.prijs_unformatted;
					 productPrijs = Number(productPrijs.replace(',','.'));

					 if ( productPrijs) {
						 minProductPrice = Math.min( minProductPrice, productPrijs);
						 maxProductPrice = Math.max( maxProductPrice, productPrijs);
					 }

					//voorkomende tags toevoegen aan de style fieldset
					tagGroupCounter = 0;
					if (this.taggroups != undefined) {
						$.each(this.taggroups, function(tagGroupID, currentTagGroup) {
							if (!in_array(tagGroupID, taggroupsAdded)) {
								taggroupsAdded[taggroupsAdded.length] = tagGroupID;
								taggroupsSort[tagGroupID] = currentTagGroup.name
								taggroupsUnsort[tagGroupID] = currentTagGroup.name
							}
							$.each(currentTagGroup.tags, function(i, val) {
								if (!in_array(i, tagsAdded)) {
									tagsAdded[tagsAdded.length] = i;
									if (tagsSort[tagGroupID] == undefined) {
										tagsSort[tagGroupID] = new Array();
									}
									tagsSort[tagGroupID][i] = val.naam
									if (tagsUnsort[tagGroupID] == undefined) {
										tagsUnsort[tagGroupID] = new Array();
									}
									tagsUnsort[tagGroupID][i] = val.naam

//									$('#tg_' + tagGroupID + 'Fieldset').append('<input class="checkbox floatLeft" type="checkbox" name="tg_' + tagGroupID + '[]" id="tg_' + tagGroupID + '_' + i + '" value="' + i + '" onclick="handleSearch()"><label class="active" for="tg_' + tagGroupID + '_' + i + '">' + val.naam + '</label><br>');
//									var inArray = in_array('tg_' + tagGroupID + '[]', getVarsUrl);
//
//									if (inArray && getVarsUrl[getVarsUrl[inArray]].length > 0) {
//										for (indexI = 0; indexI < getVarsUrl[getVarsUrl[inArray]].length; indexI++) {
//											$('#tg_' + tagGroupID + '_'+getVarsUrl[getVarsUrl[inArray]][indexI]).attr('checked', true);
//											checkedVarFound = true;
//										}
//
//									} else	{
//
//										if (sessiontg != undefined) {
//											if (in_array(i, sessiontg)) {
//												$('#tg_' + tagGroupID + '_'+i).attr('checked', true);
//												checkedVarFound = true;
//											}
//										}
//									}
								}
							});
							tagGroupCounter++;
						});
					}

					//voorkomende maten toevoegen aan de size fieldset
					//if (this.artikelen != undefined) {
//						$.each(this.artikelen, function (i, val) {
//							if (!in_array(i, sizesAdded)) {
//								sizesAdded[sizesAdded.length] = i;
//								$('#sizesFieldset').append('<input class="checkbox floatLeft" type="checkbox" name="size[]" id="size_' + i + '" value="' + i + '" onclick="handleSearch()"><label class="active" for="size_' + i + '">' + val.artikelnaam + '</label><br>');
//								if (sessionSizes != undefined) {
//									if (in_array(i, sessionSizes)) {
//										$('#size_'+i).attr('checked', true);
//									}
//								}
//							}
//						});
//					}

					//if (this.artikelen != undefined) {
//						$.each(this.artikelen, function (i, val) {
//							if (!in_array(val.artikelnaam, sizesAdded)) {
//								sizesAdded[sizesAdded.length] = val.artikelnaam;
//								$('#sizesFieldset').append('<input class="checkbox floatLeft" type="checkbox" name="size[]" id="size_' + val.artikelnaam + '" value="' + val.artikelnaam + '" onclick="handleSearch()"><label class="active" for="size_' + val.artikelnaam + '">' + val.artikelnaam + '</label><br>');
//								if (sessionSizes != undefined) {
//									if (in_array(val.artikelnaam, sessionSizes)) {
//										$('#size_'+val.artikelnaam).attr('checked', true);
//									}
//								}
//							}
//						});
//					}

					productCount++;
				});

				taggroupsSort.sort();
				for (var sortIndex in taggroupsSort) {
					tagGroupID = array_search(taggroupsSort[sortIndex], taggroupsUnsort);
					//taggroups
					taggroupHTML = '<div class="filter_head" id="tg_' + tagGroupID + 'Header"><h3>' + taggroupsSort[sortIndex] + ':</h3><!--<a class="reset floatRight" href="#" title="#" onclick="uncheckFilter(\'tg_' + tagGroupID + '\');">Reset</a>--></div>';
					taggroupHTML += '<div class="scroller" id="tg_' + tagGroupID + 'Scroller">';
					taggroupHTML += '	<fieldset id="tg_' + tagGroupID + 'Fieldset" class="tagsFieldset">';
					taggroupHTML += '		<legend>&nbsp;</legend>';
					taggroupHTML += '	</fieldset>';
					taggroupHTML += '	<br>';
					taggroupHTML += '</div>';
					$('#taggroups').append(taggroupHTML);
					tagsSort[tagGroupID].sort();
					for (var sortIndexTag in tagsSort[tagGroupID]) {
						tagID = array_search(tagsSort[tagGroupID][sortIndexTag], tagsUnsort[tagGroupID]);
						$('#tg_' + tagGroupID + 'Fieldset').append('<input class="checkbox floatLeft" type="checkbox" name="tg_' + tagGroupID + '[]" id="tg_' + tagGroupID + '_' + tagID + '" value="' + tagID + '" onclick="handleSearch()"><label class="active" for="tg_' + tagGroupID + '_' + tagID + '">' + tagsSort[tagGroupID][sortIndexTag] + '</label><br>');
						var inArray = in_array('tg_' + tagGroupID + '[]', getVarsUrl);

						if (inArray && getVarsUrl[getVarsUrl[inArray]].length > 0) {
							for (indexI = 0; indexI < getVarsUrl[getVarsUrl[inArray]].length; indexI++) {
								$('#tg_' + tagGroupID + '_'+getVarsUrl[getVarsUrl[inArray]][indexI]).attr('checked', true);
								checkedVarFound = true;
							}

						} else	{

							if (sessiontg != undefined) {
								if (in_array(tagID, sessiontg)) {
									$('#tg_' + tagGroupID + '_'+tagID).attr('checked', true);
									checkedVarFound = true;
								}
							}
						}
					}
				}


			// max position for slider based on max product price and saved user setting
			if (sessionMinPrijs == null) {
				sliderMinValue = minProductPrice;
			} else {
				sliderMinValue = Math.max ( sessionMinPrijs, minProductPrice);
			}


			// min position for slider based on min product price and saved user setting
			if (sessionMaxPrijs == null) {
				sliderMaxValue = maxProductPrice;
			} else {
				sliderMaxValue = Math.min ( sessionMaxPrijs, maxProductPrice);
			}

			// logical slider step based on price range
			sliderStep = calcSliderStep( maxProductPrice - minProductPrice );


			$("#prijsSlider").slider({
				range: true,
				min: minProductPrice,
				max: maxProductPrice,
				values: [ sliderMinValue, sliderMaxValue],
				step: sliderStep,
				slide: function(event, ui) {

					$("#prijsMin").html(currencySymbol + ui.values[0]);
					$("#prijsMax").html(currencySymbol + ui.values[1]);

					},
				change: function(event, ui) {
						handleSearch();
					}


			});

			$("#prijsMin").html(currencySymbol + $("#prijsSlider").slider("values", 0));
			$("#prijsMax").html(currencySymbol + $("#prijsSlider").slider("values", 1));


				$.each(data.brands, function(i, val) {
					$('#brandsFieldset').append('<input class="checkbox floatLeft" type="checkbox" name="brand[]" id="brand_' + i + '" value="' + i + '" onclick="handleSearch()"><label class="active" for="brand_' + i + '">' + val + '</label><br>');
					var inArray = in_array('brands[]', getVarsUrl);

					/*if (sessionBrands != undefined) {
						if (in_array(i, sessionBrands)) {
							$('#brand_'+i).attr('checked', true);
							checkedVarFound = true;
						}
					}*/
					if (inArray && getVarsUrl[getVarsUrl[inArray]].length > 0) {
						for (indexI = 0; indexI < getVarsUrl[getVarsUrl[inArray]].length; indexI++) {
							$('#brand_'+getVarsUrl[getVarsUrl[inArray]][indexI]).attr('checked', true);
							checkedVarFound = true;
						}
					} else {
						if (sessionBrands != undefined) {
							if (in_array(i, sessionBrands)) {
								$('#brand_'+i).attr('checked', true);
								checkedVarFound = true;
							}
						}
					}
				});
				if (sessionStock != undefined) {
					if (sessionStock[0] == 1) {
						$('#stock').attr('checked', true);
						checkedVarFound = true;
					}
				}

				if (sessionNew != undefined) {
					if (sessionNew[0] == 1) {
						$('#new').attr('checked', true);
						checkedVarFound = true;
					}
				}

				//check for a diff page
				var difP = getVar('bp');
				if (difP != '')	{
					//number?
					var filter=/^[0-9]+$/i
					if (filter.test(difP)) 	{
						handleSearch(difP, true);
					}else	{
						if (checkedVarFound) {
							handleSearch(1, true);
						}
					}
				}else	{
					if (checkedVarFound) {
						handleSearch(1, true);
					}
				}
	        });//end getJSON
		});//end getScript
	}

	addFormAction();

});

function showResultsPerPage(results)
{
	$('#productsPerpage').val(results);
	$('#theFilterForm').submit();
}

function handleSearch(currentPage, isFirst)
{
	if (isFirst == undefined) {
		$('#loadingFilter').css('opacity', '0.6');
		$('#loadingFilter').fadeIn(100);
		$('#loadingProducts').css('opacity', '0.6');
		$('#loadingProducts').fadeIn(100);
	}
	if (currentPage == undefined) {
		page = 1;
	} else {
		page = currentPage;
	}

	var productGroepID = $('#productGroepID')[0].value;

	var checkedBoxes = '';
	var checkedBrands = $('#brandsFieldset > input:checked');
	checkedBrandIDs = new Array();
	$.each(checkedBrands, function (i, val) {
		checkedBrandIDs[checkedBrandIDs.length] = val.value;
		checkedBoxes += '&brands[]=' + val.value;
	});

	var checkedStock = $('#stockFieldset > input:checked');
	checkedStockIDs = new Array();
	$.each(checkedStock, function (i, val) {
		checkedStockIDs[checkedStockIDs.length] = val.value;
		checkedBoxes += '&stock[]=' + val.value;
	});
	var checkedNew = $('#newFieldset > input:checked');
	checkedNewIDs = new Array();
	$.each(checkedNew, function (i, val) {
		checkedNewIDs[checkedNewIDs.length] = val.value;
		checkedBoxes += '&new[]=' + val.value;
	});

	var checkedTags = $('.tagsFieldset > input:checked');
	checkedTagIDs = new Array();
	$.each(checkedTags, function (i, val) {
		var currentTagInputID = val.id;
		var splitted = currentTagInputID.split('_');
		if (checkedTagIDs[splitted[1]] == undefined) {
			checkedTagIDs[splitted[1]] = new Array();
		}
		checkedTagIDs[splitted[1]][checkedTagIDs[splitted[1]].length] = val.value;
		checkedBoxes += '&tags[]=' + val.value;
	});
	var selectedMinPrijs = $("#prijsSlider").slider("values", 0);
	var selectedMaxPrijs = $("#prijsSlider").slider("values", 1);

	var htmlOrPhp = document.location.href;
	htmlOrPhp = htmlOrPhp.split('/');

	//save checked items to session through ajax
	$.ajax({
		url: "/handleFilterSession.php",
		type: "POST",
		data: 'action=saveSession&cPage=' + htmlOrPhp[htmlOrPhp.length-1] + '&productGroepID=' + productGroepID + '&' + checkedBoxes + '&min_prijs=' + selectedMinPrijs  + '&max_prijs=' + selectedMaxPrijs,
		dataType: "html",
		cache: false
	});

	//load products in this productgroup
	$.getJSON('/json/products_'+currentProductGroupID+'.json', false, function(data, textStatus){
		var productHTML = headerHTML = '';
		var productCountTotal = productCountFound = 0;
		var teller = 1;
		$.each(data.products, function(i, currentProduct) {

			//bepaap met welke prijs er gefilterd moet worden
			if ( showActie (this )  ) {
				var productPrijsVoorFilter = this.actie.prijs_unformatted;
			}	else {
				var productPrijsVoorFilter = this.info.prijs_unformatted;
			}

			//prijs hoger dan min slider
			if ( selectedMinPrijs <= productPrijsVoorFilter) {
				minPrijsFound = true;
			} else {
				minPrijsFound = false;
			}

			//prijs lager dan max slider
			if ( selectedMaxPrijs >= productPrijsVoorFilter ) {
				maxPrijsFound = true;
			} else {
				maxPrijsFound = false;
			}

			// product valt binnen prijs range
			if ( minPrijsFound && maxPrijsFound ) {

				//merk gevonden in aangevinkte brands
				if (checkedBrandIDs.length == 0 || in_array(this.info.merk, checkedBrandIDs)) {

					//product doorzoeken op tags
					tagsFound = 1;
					$.each(checkedTagIDs, function (tagGroupID,tagGroupTagsChecked) {
						if (tagsFound > 0 && tagGroupTagsChecked != undefined) {
							tagsFound = 0;
							if (tagGroupTagsChecked != undefined) {
								if (currentProduct.taggroups != undefined) {
									$.each(currentProduct.taggroups, function (productTagGroupID, productTagGroupTags) {
										$.each(productTagGroupTags.tags, function (productTagID, val) {
											if (in_array(productTagID, tagGroupTagsChecked)) {
												tagsFound++;
											}
										});
									});
								}
							}
						}
					});

					//stijl gevonden in aangevinkte stijlen
					if (checkedTagIDs.length == 0 || tagsFound > 0) {

						//doorzoeken van producten op voorraad
						stockFound = 0;
						if (checkedStockIDs.length > 0) {
							if (this.artikelen != undefined) {
								$.each(this.artikelen, function (i, val) {
									if (val.voorraad > 0) {
										stockFound++;
									}
								});
							}
						}

						//doorzoeken van producten op new
						newFound = 0;
						if (checkedNewIDs.length > 0) {
							if (this.info.isNew > 0) {
								newFound++;
							}
						}

						//@TODO voorraad telling fout

						//alle maten die zijn aangevinkt zijn op voorraad
						//if (checkedStockIDs.length == 0 || stockFound > 0) {
						if (checkedNewIDs.length == 0 || newFound > 0) {
							//if (productCountTotal == 0) {
								if ( (productCountFound >= ( (page-1) * resultsPerPage) )
									&& (productCountFound < (page * resultsPerPage) )
								)
								{

									productHTML += getProductHTML(currentProduct, page, teller);


	/*
									if (teller == 3) {
										productLastClass = ' box_product_three';
										teller = 0;
									} else {
										productLastClass = '';
									}
									if (documentLocation.length == 1) {
										currentLink = this.info.link_static + '?p='+page;
									} else {
										currentLink = this.info.link_dynamic + '&p='+page;
									}


									productHTML += '<div  class="box box_product' + productLastClass + '">';
									productHTML += '	<div class="img">';

									if ( showActie( this ) == true) {
										productHTML += '<div class="prijs prijs_actie">Actie!';
									} else {
										productHTML += '		<div class="prijs">';
									}

									if (this.info.prijs_van != '' && this.info.prijs_van != undefined) {
										productHTML += '			<span class="van" style="text-decoration: line-through;">' + this.info.prijs_van + '</span>';
									}

									if ( showActie( this ) == true) {
									productHTML += '			<span class="voor">' + this.actie.prijs + '</span>';
									} else {
									productHTML += '			<span class="voor">' + this.info.prijs + '</span>';
									}
									productHTML += '		</div>';
									productHTML += '		<a href="' + currentLink + '" title="' + this.info.merknaam + ' ' + this.info.productnaam + '">';
									productHTML += '		<img id="img_front_' + this.info.structuurID + '" src="/media/393x110/' + this.info.voorzijde + '" alt="' + this.info.merknaam + ' ' + this.info.productnaam + '" onmouseover="showBack(\'img_front_' + this.info.structuurID + '\',\'img_back_' + this.info.structuurID + '\');">';

									if (this.info.achterzijde != '') {
										productHTML += '<img src="/media/393x110/' + this.info.achterzijde + '" alt="' + this.info.merknaam + ' ' + this.info.productnaam + '" id="img_back_' + this.info.structuurID + '" style="display: none;" onmouseout="hideBack(\'img_front_' + this.info.structuurID + '\',\'img_back_' + this.info.structuurID + '\');">';
									}
									productHTML += '		</a>';
									productHTML += '		<div class="wrap">';
									productHTML += '			<strong>Type:</strong>&nbsp;' + this.info.type + '<br>';
									productHTML += '			<strong>Merk:</strong>&nbsp;' + this.info.merknaam;
									productHTML += '		</div>';
									productHTML += '	</div>';
									productHTML += '	<div class="box_info_footer">';
									productHTML += '		<a class="product_link floatLeft" href="' + currentLink + '" title="' + this.info.merknaam + ' ' + this.info.productnaam + '">' + this.info.productnaam + '</a>';
									productHTML += '		<a class="more" href="' + currentLink + '" title="' + this.info.merknaam + ' ' + this.info.productnaam + '">&nbsp;</a>';
									productHTML += '		<div class="clear">&nbsp;</div>';
									productHTML += '	</div>';
									productHTML += '	<div class="box_bottom">&nbsp;</div>';
									productHTML += '	<div class="clear">&nbsp;</div>';
									productHTML += '	<div class="clear">&nbsp;</div>';
									productHTML += '</div>';
*/

									//product toevoegen aan het overzicht als > start < start+8
									//productHTML += '<div class="product_wrap' + productLastClass + '">';
	//									productHTML += '<div class="head2">';
	//									productHTML += '<a href="' + currentLink + '" title="' + this.info.merknaam + ' ' + this.info.productnaam + '">' + this.info.merknaam + ' ' + this.info.productnaam + '&raquo;</a>';
	//									productHTML += '</div>';
	//									productHTML += '<div class="box2 box2_product">';
	//									productHTML += '<a class="img" href="' + currentLink + '" title="' + this.info.merknaam + ' ' + this.info.productnaam + '" class="imgLink">';
	//									productHTML += '<img src="/media/224x168/' + this.info.voorzijde + '" alt="' + this.info.merknaam + ' ' + this.info.productnaam + '"  id="img_front_' + this.info.structuurID + '">';// onmouseover="showBack(\'img_front_' + this.info.structuurID + '\',\'img_back_' + this.info.structuurID + '\');"
	//									if (this.info.achterzijde != undefined && this.info.achterzijde != '') {
	//										productHTML += '<img src="/media/130x208/' + this.info.achterzijde + '" alt="' + this.info.merknaam + ' ' + this.info.productnaam + '" style="display: none;" id="img_back_' + this.info.structuurID + '" onmouseout="hideBack(\'img_front_' + this.info.structuurID + '\',\'img_back_' + this.info.structuurID + '\');">';
	//									}
	//									productHTML += '</a>';
	//									productHTML += '<div class="inhoud">';
	//									productHTML += '<div class="tekst">';
	//									if (this.info.productNewSale != '' ) {
	//										productHTML += '<span class="new">' + this.info.productNewSale + '</span> ';
	//									}
	//									productHTML += this.info.korte_omschrijving;

	//									if (this.info.prijs_van != '' && this.info.prijs_van != undefined) {
	//										productHTML += '<div class="prijs"><span class="euro_van">&euro; ' + this.info.prijs_van + '</span></div>';
	//									}
	//									productHTML += '<div class="prijs"><span class="euro">' + this.info.prijs + '</span></div>';

	//									productHTML += '</div>';
	//									productHTML += '<a class="more" href="' + currentLink + '" title="' + this.info.merknaam + ' ' + this.info.productnaam + '">&nbsp;</a>';
	//									productHTML += '</div>';
	//									productHTML += '<div class="clear">&nbsp;</div>';
	//									productHTML += '</div>';
	//									productHTML += '</div>';

									if (teller == 3) teller = 0;

									teller++;
								}
							//}
							productCountFound++;
						}
					}
				}
			}
			productCountTotal++;
		});
		pagingHTML = $.getPaging(page, productCountFound, resultsPerPage, 'handleSearch');
		$('.pageNr').html(pagingHTML);
		$('#concent_bb_search').html('<div class="pageNr">'  + pagingHTML + '</div><div class="clear"></div>' + productHTML + '<div class="clear"></div><div class="pageNr">'  + pagingHTML + '</div>');
		$('#loadingFilter').fadeOut(200);
		$('#loadingProducts').fadeOut(200);
	});
}

function handleBrands(currentPage) {

		var productCountFound = productCountTotal = 0;
		var productHTML = '';
		var teller = 1;

		if (currentPage == undefined) {
			page = 1;
		} else {
			page = currentPage;
		}


		$.getScript('/handleFilterSession.php?action=loadSession&currentGroupID='+currentBrandID, function(data) {
			$.getJSON('/json/brands_'+currentBrandID+'.json', false, function(data, textStatus){


				$.each(data.products, function() {
					if ( this.info.merk == currentBrandID) {
						if ( (productCountFound >= ( (page-1) * resultsPerPage) )
							&& (productCountFound < (page * resultsPerPage) )
						)
						{

						//alert (this.info.merk);


							productHTML += getProductHTML(this, page, teller);

							if (teller == 3) teller = 0;


							teller++;
						}
						productCountFound++;
					}

					productCountTotal++;

				});

				pagingHTML = $.getPaging(page, productCountFound, resultsPerPage, 'handleBrands');
				$('.pageNr').html(pagingHTML);
				$('#concent_bb_search').html('<div class="pageNr">'  + pagingHTML + '</div><div class="clear"></div>' + productHTML + '<div class="clear"></div><div class="pageNr">'  + pagingHTML + '</div>');

			});//end getJSON

		});//end getScript

}

$.getPaging = function(page, productCountFound, resultsPerPage, clickFunction)
{
	//alert(page + ',' + productCountFound + ',' + resultsPerPage);

	var prev = parseInt(page) - 1;                            					//previous page is page - 1
	var next= parseInt(page) + 1;                            						//next page is page + 1
	var lastpage = Math.ceil(productCountFound / resultsPerPage);       //lastpage is = total pages / items per page, rounded up.
	var lpm1 = lastpage - 1;                      						//last page minus 1

	var pagingHTML = '';
	if (lastpage > 1) {
		//previous button
		if (page > 1) {
			pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + prev + ');" class="page_next">Vorige</a>';
		} else {
			pagingHTML += '<span class="disabled">Vorige</span>';
		}

		//don't break up
		if (lastpage < 7 + (adjacentPages * 2)) {
			for (i = 1; i <= lastpage; i++) {
				if (i == page)	{
		            pagingHTML += '<span class="current">' + i + '</span>';
				} else {
		            pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + i + ');">' + i + '</a>';
				}
			}
		} else if (lastpage > 5 + (adjacentPages * 2) ) {//enough pages to hide some
		    //close to beginning; only hide later pages
		    if(page < 1 + (adjacentPages * 2)) {
		        for (i = 1; i < 4 + (adjacentPages * 2); i++) {
		            if (i == page)	{
		                pagingHTML += '<span class="current">' + i + '</span>';
					}else	{
		                pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + i + ');">' + i + '</a>';
					}
		        }
		        pagingHTML += '<strong>...</strong>';
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + lpm1 + ');">' + lpm1 + '</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + lastpage + ');">' + lastpage + '</a>';
		    } else if(lastpage - (adjacentPages * 2) > page && page > (adjacentPages * 2)) {

	    		//in middle; hide some front and some back
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (1)">1</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (2)">2</a>';
		        pagingHTML += '<strong>...</strong>';
		        for (i = page - adjacentPages; i <= page + adjacentPages; i++)
		        {
		            if (i == page)	{
		                pagingHTML += '<span class="current">' + i + '</span>';
					}else	{
		                pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + i + ')">' + i + '</a>';
					}
		        }
		        pagingHTML += '<strong>...</strong>';
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' +  lpm1 + ')">' + lpm1 + '</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + lastpage + ')">' + lastpage + '</a>';
		    } else {
	    		//close to end; only hide early pages
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (1)">1</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (2)">2</a>';
		        pagingHTML += '<strong>...</strong>';
		        for (i = lastpage - (2 + (adjacentPages * 2)); i <= lastpage; i++)
		        {
		            if (i == page)	{
		                pagingHTML += '<span class="current">' + i + '</span>';
					}else	{
		                pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + i + ')">' + i + '</a>';
					}
		        }
		    }
		}

		//next button
		if ( next <= lastpage) {
			pagingHTML += '<a href="#cartoverview" onclick="'+ clickFunction +' (' + next + ');" class="page_next">Volgende</a>';
		} else {
			pagingHTML += '<span class="disabled">Volgende</span>';
		}
	}
	return pagingHTML;
}

function focusBarcode()
{
	$("input.barcode").focus();
}

function handleBarSubmit()
{

	$("form#barForm").submit(function()	{
		$("div.barError").hide();
		$("div.add_icon_load").show();

		//hide the form
		$("div#addNbProduct, div#addNbProduct h2.new, div#addNbProduct h2.free").hide();

		if ($("input.barcodeShopcart").length > 0)	{
			var barCode = $("input.barcodeShopcart").val();
		}else	{
			var barCode = $("input.barcode").val();
		}

		if (barCode != '' && barCode != 'undefined')	{
			//send a request for some info
			$.ajax({
			    url: "/javascript/ajaxRequests/getPdInfo.php",
			    type: "GET",
			    data: "bC="+barCode,
			    dataType: "html",
				success: function(data)	{
					if (data != 'fail' && barCode != '999')	{
						explodeData = data.split('-');
						//add the order
						postedData="structuurId="+explodeData[1];
						postedData=postedData+"&language=nl";
						postedData=postedData+"&action=add";
						postedData=postedData+"&quantity=1";
						postedData=postedData+"&sid="+Math.random();
						postedData=postedData+"&cur_product_type="+explodeData[0];
						$.ajax({
						    url: "/modules/sc/modules/order.php",
						    type: "GET",
						    data: postedData,
						    dataType: "html",
						    //cache: false,
							complete: function(XMLHttpRequest, textStatus) {
								//$("div.add_icon_load").hide();
								ShowOrderOverview('cartoverview','nl','vieworder');
								if($("input[type=hidden][name=reloaded]").length > 0)	{
									window.location.reload();
								}
								$("div.add_icon_load").hide();
							}
						});
					}else	{
						$("div.add_icon_load").hide();
						$("div.barError").show();

						if ($("input.barcodeShopcart").length > 0)	{
							$("input.barcodeShopcart").val('').focus();
						}else	{
							$("input.barcode").val('').focus();
						}

						 unkownBarCode(barCode);

					}
				}
			});
		}else	{
			$("div.add_icon_load").hide();
			$("input.barcode").val('').focus();
		}
		return false;
	})
}

function handlePrintAndFinish(id){
    try{
        var oIframe = document.getElementById('ifrmPrint');
        var oContent = document.getElementById(id).innerHTML;
        var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
        if (oDoc.document) oDoc = oDoc.document;
		oDoc.write("<html><head><title>Kassabon</title><link href='/css/style.css' rel='stylesheet' type='text/css' /><link href='/css/modules.css' rel='stylesheet' type='text/css' />");
		oDoc.write("</head><body onload='this.focus(); this.print();'>");
		oDoc.write(oContent + "</body></html>");
		oDoc.close();

		//question for return to shop
		var answer = confirm("Terugkeren naar de winkelwagen?")
		if (answer){
			ShowOrderOverview('cartoverview','nl','vieworder');
		}
    }
    catch(e){
	    self.print();
    }
}

function unkownBarCode(code)
{
	if (code != '' && code != 'undefined')	{

		var freeProduct = false;
		if (code == '999')	{
			freeProduct = true;
		}

		$("div.nbProductError").hide();
		$("div.nbProductLoad").hide();

		//show the form
		$("div#addNbProduct").show();
		//focus
		$("form.nbProductForm input[type=text]:first").focus();
		if (freeProduct)	{
			$("div#addNbProduct h2.free").show();
		}else	{
			$("div#addNbProduct h2.new").show();
		}

		//if free product, fill the fields
		if (freeProduct)	{

			$("div.nbProductLoad").show();

			//disable barcode
			$("input[name=artBarcode]").attr("disabled","disabled");

			//make the request
			$.ajax({
				url: "/javascript/ajaxRequests/handleNbProducts.php",
				type: "GET",
				data: 'action=fill',
				dataType: "html",
				success: function(data)	{
					if (data != 'e')	{
						curProdData = data.split('-');
						$("input[name=pdName]").val(curProdData[0]);
						$("input[name=pdPrice]").val(curProdData[1]);
						$("input[name=artName]").val(curProdData[2]);
						//$("input[name=artBarcode]").val(curProdData[3]);
					}else	{
						$("div.nbProductError").show();
					}
				},
				complete: function(XMLHttpRequest, textStatus) {
					$("div.nbProductLoad").hide();
				}
			});

		}else	{
			$("input[name=artBarcode]").removeAttr("disabled");
			//fill the barcode field
			$("input[name=artBarcode]").val(code);
		}

		//handle the form submit
		$("form.nbProductForm").submit(function()	{

			$("div.nbProductError").hide();
			$("div.nbProductLoad").show();

			var formError = false;
			var formData = '';

			//walk throug the fields
			$("form.nbProductForm input[type=text]").each(function()	{

				if ($(this).val() == '')	{
					//barcode can be empty by free product
					if ($(this).attr("name") == 'artBarcode' && freeProduct)	{
						formData = formData + $(this).attr("name") + '=' + $(this).val() + '&';
						$(this).css("border", "1px solid #637C95");
					}else	{
						$(this).css("border", "1px solid red");
						formError = true;
					}
				}else	{
					formData = formData + $(this).attr("name") + '=' + $(this).val() + '&';
					$(this).css("border", "1px solid #637C95");
				}
			});

			if (!formError)	{

				//safe the data
				//add extra tag if free product
				if (freeProduct)	{
					formData = formData + 'isFreeProduct=1&action=save';
				}else	{
					formData = formData + 'isFreeProduct=0&action=save';
				}

				//send the request
				$.ajax({
				url: "/javascript/ajaxRequests/handleNbProducts.php",
				type: "GET",
				data: formData,
				dataType: "html",
				complete: function(XMLHttpRequest, textStatus) {
					var data = XMLHttpRequest.responseText;
					if (data != 'e')	{

						//succes, add the product, empty the fields and hide this box
						explodeData = data.split('-');
						//add the order
						postedData="structuurId="+explodeData[1];
						postedData=postedData+"&language=nl";
						postedData=postedData+"&action=add";
						postedData=postedData+"&quantity=1";
						postedData=postedData+"&sid="+Math.random();
						postedData=postedData+"&cur_product_type="+explodeData[0];
						$.ajax({
							url: "/modules/sc/modules/order.php",
							type: "GET",
							data: postedData,
							dataType: "html",
							//cache: false,
							complete: function(XMLHttpRequest, textStatus) {

								$("form.nbProductForm input[type=text]").each(function()	{
									$(this).val('');
								});

								//$("div.add_icon_load").hide();
								ShowOrderOverview('cartoverview','nl','vieworder');

								$("div.addNbProduct").hide();

								$("div.barError").hide();

								$("div.nbProductLoad").hide();
							}
						});

					}else	{
						$("div.nbProductError").show();
						$("div.nbProductLoad").hide();
					}
				}
			});

			}else	{
				$("div.nbProductError").show();
				$("div.nbProductLoad").hide();
			}




			return false;

		})
	}
}

function shopSaleFunctions()
{
	if ($("a.shopsaleButton").length > 0)	{

		document.onkeyup = KeyCheck;

	}
}

function KeyCheck(e)
{
	var KeyID = (window.event) ? event.keyCode : e.keyCode;
	switch(KeyID)
	{
   		case 120:
   		$("a.shopsaleButton").trigger('click');
   		break;
   		case 119:
   		$("input.shopDiscount").val('boJoShop10p');
   		break;
   		case 115:
   		$("input.shopDiscount").val('boJoShop05p');
   		break;
	}
}

function getVar( name )
{
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null ) {
		return "";
	} else {
		return results[1];
	}
}

function checkStock(number, articleID)
{
	if (articleID > 0) {
		$.getJSON('/json/products_'+currentProductGroupID+'.json', false, function(data, textStatus){
			var validStock = false;
			var stockFound = 0;
			$.each(data.products, function() {
				if (this.artikelen != undefined) {
					$.each(this.artikelen, function (i, val) {
						if (i == articleID) {
							if (number <= val.voorraad) {
								validStock = true;
							} else {
								stockFound = val.voorraad;
							}
						}
					});
				}
			});
			if (!validStock) {
				if (stockFound == 0) {
					alert('Er zijn helaas geen artikelen op voorraad!');
				} else if (stockFound == 1) {
					alert('Er is helaas nog maar ' + stockFound + ' artikel op voorraad!');
				} else {
					alert('Er zijn helaas nog maar ' + stockFound + ' artikelen op voorraad!');
				}
				$('#quantity').val(stockFound);
			}
		});
	}
}

$.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
	$("<img>").attr("src", arguments[i]);
  }
}

function showResultsPerPage(results)
{
	$('#productsPerpage').val(results);
	$('#theFilterForm').submit();
}

function submitFilterForm()
{
	$('#page').val('1');
	$('#theFilterForm').submit();
}

//add action to filterform
function addFormAction()
{
	$('#theFilterForm').submit(function() {
		//display loadingdiv
		$("#loadingFilter").css('opacity', '0.5');
		$("#loadingFilter").css('display','block');
		$("#loadingProducts").css('opacity', '0.5');
		$("#loadingProducts").css('display','block');
		var inputs = $("#theFilterForm :input");
		var filterUrl = '';
		//create filterAjaxurl
		inputs.each(function(i){
			if ($(this).attr('type') == 'checkbox' && $(this).attr('checked') == true) {
				if (filterUrl == '') {
					filterUrl =  $(this).attr('name') + '=' + $(this).val()
				} else {
					filterUrl =  filterUrl + '&' + $(this).attr('name') + '=' + $(this).val()
				}
			} else if ($(this).attr('type') == 'text' || $(this).attr('type') == 'hidden') {
				if (filterUrl == '') {
					filterUrl =  $(this).attr('name') + '=' + $(this).val()
				} else {
					filterUrl =  filterUrl + '&' + $(this).attr('name') + '=' + $(this).val()
				}
			}
 		});

 		//process ajaxrequest
		$.ajax({
			url: "/filterProducts.php",
			type: "POST",
			data: filterUrl,
			dataType: "html",
			//cache: false,
			success: function(responseHtml) {
				var $holder = $('<div/>').html(responseHtml);
				//update filterDiv
				$('#productFilter').html($('#productFilter', $holder).html());
				//update productresultdiv
				$('.content_bb').html($('#productsFound', $holder).html());

				$("#loadingFilter").css('display','none');
				$("#loadingProducts").css('display','none');
				addFormAction();
			}
		});
		return false;
	});
}

function showLoginError(elementName){

	var element = document.getElementById(elementName);

	$.modal($(element),{

    	minHeight:17,
		containerCss:{backgroundColor:"#fff",height:130,padding:0,width:322},

		onOpen: function(dialog)
		{
			dialog.overlay.fadeIn('fast', function () {
				dialog.container.slideDown('normal', function () {
					dialog.data.fadeIn('normal');

					element.style.visibility = 'visible';


				});
			});
		},
		onClose: function(dialog)
		{
			dialog.overlay.fadeOut('fast', function () {
				dialog.container.fadeOut('fast', function () {
					dialog.data.fadeOut('fast', function () {

						$.modal.close(); // must call this!
						$("#klantLoginFoutMeldingen").remove(); // and this too!

					});
				});
			});
		}

	});
}


function showHideFilter()
{
	if ($("#filter").css('display') == 'block') {
		$("#filter").slideUp('slow', function() {
			$("#headFilter").css('margin-bottom', '10px');
		});
		$("#headFilter > a").removeClass('in_uitklap_active');
		$("#headFilter > a").addClass('in_uitklap');
	} else {
		$("#headFilter").css('margin-bottom', '0px');
		$("#filter").slideDown('slow');
		$("#headFilter > a").addClass('in_uitklap_active');
		$("#headFilter > a").removeClass('in_uitklap');
	}
}

function showResultPage(number)
{
	$('#page').val(number);
	$('#theFilterForm').submit();
}

function uncheckFilter(id)
{
	$('#' + id + 'Fieldset > input').attr('checked', false);
	//$('#theFilterForm').submit();
	handleSearch();
}

// check whether fieldvalue is unique or not
function checkFieldValue( structuurid, eigenschapnaam, element ){

		// error span verwijderen
		var id = $(element).attr('id') + '_error';
		var value = element.value;

		if (value.length > 0) {

			filterUrl =  'action=checkduplicate&id='+ structuurid + '&esnaam=' + eigenschapnaam + '&value=' + value;

 			//process ajaxrequest
			$.ajax({
				url: "/ajaxrequests.php",
				type: "POST",
				data: filterUrl,
				dataType: "html",
				cache: false,
				success: function(responseHtml) {


					if (responseHtml != 'false') {

						$("#"+id+"").remove();
						// add span
						$(element).after('<span id="' + id +'" class="error">' + responseHtml + '</span>');
						//for (var x in element ) alert(x);

					}
				}
			});

		}
}

// check length of field value
function checkFieldLength( element, min, max ){

		// error span verwijderen
		var id = $(element).attr('id') + '_error';
		var value = element.value;

		$("#"+id+"").remove();

		if ((value.length < min) || (value.length > max)){
			// add span
			$(element).after('<span id="' + id +'" class="error">Aanbevolen lengte is tussen ' + min + ' en ' + max + '.</span>');
			//for (var x in element ) alert(x);

		}
}


//laden van netto prijzen, in structuurIDPrices zitten 1 of meerdere structuren met hun prijs structuurID:prijs;structuurID2;prijs2
function loadDiscountPrices(structuurIDPrices)
{

	$.ajax({
		url: "/ajaxrequests.php",
		type: "POST",
		data: 'action=loadDiscountPrices&structuurIDPrices='+structuurIDPrices,
		dataType: "html",
		success: function(responseHtml) {
			var $holder = $('<div/>').html(responseHtml);
			var $children = $holder.children('div');
			$.each($children, function(val, i) {
				$('#' + i.id).html(i.innerHTML);
			});
		}
	});

}

function calcSliderStep( priceDiff )
{
	if (priceDiff > 50000)
		return 1000;
	else if (priceDiff > 20000)
		return 500;
	else if (priceDiff > 5000)
		return 100;
	else if (priceDiff > 2000)
		return 50;
	else if (priceDiff > 500)
		return 10;
	else if (priceDiff > 200)
		return 5;
	else return 1;
}

function showActie( product )
{
	if (product.in_actie == 1) {

		// check of datum tussen publicatiedatum en archiveringsdatum ligt
		var tsNow = Math.round(new Date().getTime() / 1000);
		var tsVan = product.actie.publicatiedatum;
		var tsTot = product.actie.archiveringsdatum;

		if (( tsNow > tsVan ) && ( tsNow <  tsTot ))
				return true;
		else 	return false;

	}
}



function resetProductFilter( )
{

	var minVal = $("#prijsSlider").slider( "option", "min");
	var maxVal = $("#prijsSlider").slider( "option", "max");

	$("#prijsSlider").slider({	values: [ minVal, maxVal ]	});
	$("#prijsMin").html(currencySymbol + minVal);
	$("#prijsMax").html(currencySymbol + maxVal);

	$('#brandsFieldset > input:checked').each( function (i) {
		$(this).attr("checked", false);
	});


	$('#stylesFieldset > input:checked').each( function (i) {
		$(this).attr("checked", false);
	});

	$('#newFieldset > input:checked').each( function (i) {
		$(this).attr("checked", false);
	});

	$('.tagsFieldset > input:checked').each( function (i) {
		$(this).attr("checked", false);
	});

	handleSearch();

}

function showBack(frontID, backID)
{
	if ($('#'+backID).length > 0) {
		$('#'+frontID).fadeOut('slow');
		$('#'+backID).fadeIn('slow');
	}
}

function hideBack(frontID, backID)
{
	$('#'+backID).fadeOut('slow');
	$('#'+frontID).fadeIn('slow');
}

function checkProductOptions()
{
	var option = $("#product_type option:selected");
	if ($("#product_type option").length > 0 && option.val() == '') {
		alert('U dient een optie te selecteren');
		return false;
	}
	return true;
}



//action item right side of the screen
var actions = new Array();
var numberOfActions = 0;
var currentAction = 0;
function loadActions()
{
	$.ajax({
		url: "/ajaxrequests.php",
		type: "POST",
		data: 'action=loadActions',
		dataType: "html",
		cache: false,
		success: function(responseHtml) {
			var $holder = $('<div/>').html(responseHtml);
			numberOfActions = $('#numberOfActions', $holder).html();
			if (numberOfActions > 0) {
				$('#actieBalk').show();
				for (i = 1; i <= numberOfActions; i++) {
					actions[actions.length] = $('#actie_' + i, $holder).html();
				}
				currentAction = Math.round( Math.random() * numberOfActions);
				showAction(true);
			}
		}
	});
}

function showAction(first)
{
	if (first == undefined) {
		currentAction++;
		$('#actionContainer').fadeOut(1000, function() {
			$('#actionContainer').html(actions[currentAction]);
			$('#actionContainer').fadeIn(1000);
		});
	} else {
		if (currentAction == numberOfActions) {
			currentAction = 0;
		}
		$('#actionContainer').html(actions[currentAction]);
	}

	if (currentAction == numberOfActions) {
		currentAction = 0;
	}
	if (numberOfActions > 1) {
		setTimeout('showAction();', 8000);
	}
}

function getProductHTML(product, page, teller)
{
	var productHTML='';

	if (teller == 3) {
		productLastClass = ' box_product_three';
	} else {
		productLastClass = '';
	}
	if (documentLocation.length == 1) {
		currentLink = product.info.link_static + '?p='+page;
	} else {
		currentLink = product.info.link_dynamic + '&p='+page;
	}

	productHTML += '<div  class="box box_product' + productLastClass + '">';
	productHTML += '	<div class="img">';

	if ( showActie( product ) == true) {
		productHTML += '<div class="prijs prijs_actie">';
	} else {
		productHTML += '		<div class="prijs">';
	}

	if (product.info.prijs_van != '' && product.info.prijs_van != undefined) {
		productHTML += '			<span class="van" style="text-decoration: line-through;">' + product.info.prijs_van + '</span>';
	}

	if ( showActie( product ) == true) {
	productHTML += '			<span class="voor">' + product.actie.prijs + '</span>';
	} else {
	productHTML += '			<span class="voor">' + product.info.prijs + '</span>';
	}
	productHTML += '		</div>';

	productHTML += '		<a href="' + currentLink + '" title="' + product.info.merknaam + ' ' + product.info.productnaam + '">';
	productHTML += '		<img id="img_front_' + product.info.structuurID + '" src="/media/393x110/' + product.info.voorzijde + '" alt="' + product.info.merknaam + ' ' + product.info.productnaam + '" onmouseover="showBack(\'img_front_' + product.info.structuurID + '\',\'img_back_' + product.info.structuurID + '\');">';

	if (product.info.achterzijde != '') {
		productHTML += '<img src="/media/393x110/' + product.info.achterzijde + '" alt="' + product.info.merknaam + ' ' + product.info.productnaam + '" id="img_back_' + product.info.structuurID + '" style="display: none;" onmouseout="hideBack(\'img_front_' + product.info.structuurID + '\',\'img_back_' + product.info.structuurID + '\');">';
	}
	productHTML += '		</a>';
	productHTML += '		<div class="wrap">';
	productHTML += '			' + product.info.type ;
	productHTML += '			Merk:&nbsp;<strong>' + product.info.merknaam;
	productHTML += '		</strong><br>';
	if (product.info.afmetingen != '')	{
		productHTML += '			Afm.:&nbsp;<strong>' + product.info.afmetingen;
	}
	productHTML += '		</strong></div>';
	productHTML += '	</div>';
	productHTML += '	<div class="box_info_footer">';
	productHTML += '		<h3><a class="product_link floatLeft" href="' + currentLink + '" title="' + product.info.merknaam + ' ' + product.info.productnaam + '">' + product.info.productnaam + '</a></h3>';
	productHTML += '		<a class="more floatRight" href="' + currentLink + '" title="' + product.info.merknaam + ' ' + product.info.productnaam + '">&nbsp;</a>';
	productHTML += '		<div class="clear">&nbsp;</div>';
	productHTML += '	</div>';
	productHTML += '	<div class="box_bottom">&nbsp;</div>';
	productHTML += '	<div class="clear">&nbsp;</div>';
	productHTML += '	<div class="clear">&nbsp;</div>';
	productHTML += '</div>';

	return productHTML;

}

function removeCurrencySymbol( price) {

	price = str_replace ('&#8364;', '', price, 1)

	return price;
}

function showAnswer(id,qid)
{
	if ($('#'+id).css('display') == 'none') {
		$('.opened_answer').removeClass('opened_answer').slideUp(500);
		$('.opened_question').removeClass('opened_question');
		$('#'+id).slideDown(500).addClass('opened_answer');
		$('#'+qid).addClass('opened_question');

	} else {
		$('#'+id).removeClass('opened_answer').slideUp(500);
		$('#'+qid).removeClass('opened_question');
	}
}



$(document).ready(function() {


		//slider
		/*if ($('div#jqueryScroller').length > 0) {
			setTimeout('$.jqueryScroller();', $jqueryScrollerTime);
		}


		//slider

		var $jqueryScrollerTime = 7000;
		$.jqueryScroller = function()
		{
			var divWidth = $('#jqueryScroller').width();
			var scrollDivChildren = $('#jqueryScrollDiv').children('div').length;
			var scrollDivLeft = parseInt($('#jqueryScrollDiv').css('left'));
			var childWidth = divWidth/1;
			$('#jqueryScrollDiv').css('width', (childWidth * scrollDivChildren) + 'px');

			if (scrollDivLeft - (1*childWidth) > -((scrollDivChildren-1)*childWidth)) {
				$('#jqueryScrollDiv').animate({ left: (scrollDivLeft - (1*childWidth)) + 'px'}, 990);
			} else if (scrollDivLeft - (1*childWidth) > -(scrollDivChildren*childWidth)) {
				$('#jqueryScrollDiv').animate({ left: (scrollDivLeft - (1*childWidth)) + 'px'}, 990);
			} else {
				$('#jqueryScrollDiv').animate({ left: '0px' } , 990);
			}

			setTimeout('$.jqueryScroller();',$jqueryScrollerTime);

		}*/




});



function array_search (needle, haystack, argStrict) {
    // Searches the array for a given value and returns the corresponding key if successful
    //
    // version: 1107.2516
    // discuss at: http://phpjs.org/functions/array_search
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'});
    // *     returns 1: 'surname'
    // *     example 2: ini_set('phpjs.return_phpjs_arrays', 'on');
    // *     example 2: var ordered_arr = array({3:'value'}, {2:'value'}, {'a':'value'}, {'b':'value'});
    // *     example 2: var key = array_search(/val/g, ordered_arr); // or var key = ordered_arr.search(/val/g);
    // *     returns 2: '3'
    var strict = !!argStrict,
        key = '';

    if (haystack && typeof haystack === 'object' && haystack.change_key_case) { // Duck-type check for our own array()-created PHPJS_Array
        return haystack.search(needle, argStrict);
    };
    if (typeof needle === 'object' && needle.exec) { // Duck-type for RegExp
        if (!strict) { // Let's consider case sensitive searches as strict
            var flags = 'i' + (needle.global ? 'g' : '') +
                        (needle.multiline ? 'm' : '') +
                        (needle.sticky ? 'y' : ''); // sticky is FF only
            needle = new RegExp(needle.source, flags);
        };
        for (key in haystack) {
            if (needle.test(haystack[key])) {
                return key;
            };
        };
        return false;
    };

    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            return key;
        };
    };

    return false;
};

