var page = 1;
var resultsPerPage = 20;
var adjacentPages = 2;
var documentLocation = document.location.href.split('pagina.php');
var sessionMinPrijs = null;
var sessionMaxPrijs = null;
var currencySymbol = '\u20ac';
var homepageItemCounter = 0;
var showHideTimeout = 5000;

var actiesHtml;

$(document).ready(function() {

	if ($('.editor').length > 0) {
		actiesHtml = $('.editor').html();
	}

	if ($(".headImageShow").length > 1) {
		$(".headImageShow").mouseover(function(event){
			var parentID = $(this).parent().attr('id');
			var splitted = parentID.split('_');
			var productID = splitted[1];
			bundleOldSource[productID] = $('img#headImage_' + productID).attr('src');
			var src = $(this).attr('src');
			var splitted = src.split('/');
			var src = $('#headImage_' + productID).attr('src');
			var splittedLarge = src.split('/');
 			$('#headImage_' + productID).attr('src','/media/' + splittedLarge[2] + '/' + splitted[3]);
		});
	}

	if ($('#container_pijler').length > 0) {
//    	$("body").css("display", "none");
//    	$("body").fadeIn(2000);
	}

	$("a.pageTransaction").click(function(event){
//        event.preventDefault();
//        linkLocation = this.href;
//        $("body").fadeOut(1000, redirectPage);
    });

	if ($('#wrap_product_group').length > 0) {
		$('#wrap_product_group > .product_group').click(function() {
			var currentID = $(this).attr('id');
			var splittedID = currentID.split('_');
			var clickedProductGroupID = splittedID[1];
			var subProductGroups = $('#subProductGroups_' + clickedProductGroupID).val().split(',');
			$('#productgroupsFieldset > input:checked').attr('checked', false);
			for (i = 0; i < subProductGroups.length; i++) {
				if ($('#productgroup_' + subProductGroups[i]).length) {
					$('#productgroup_' + subProductGroups[i]).attr('checked', true);
				}
			}
			handleSearchBrands();
		});
	}

	//fade items on left side of screen
	homepageItemCounter = $('.homepageItem').length;
	if (homepageItemCounter != 0) {
		$('.homepageItem').hide();
		$('.homepageItem').first().show();
		setTimeout('showHideItems(\'.homepageItem\')',showHideTimeout);
	}

	if ($('div#productScrollerSub > div.product_wrap').length != 0) {
		$('div#productScrollerSub > div.product_wrap').click(function() {
			showProduct($(this).attr('id'));
		});
	}

	if ($('.showProductDetail').length != 0) {
		$('.showProductDetail').click(function() {
			showProduct($(this).attr('id'));
		});
	}

	if ($('#tabs').length > 0) {
	    $.featureList(
	        $("#tabs li a"),
	        $("#output li"), {
	            start_item    :    1
	        }
	    );
	}

	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#bpLink').length != 0)	{
		var curLink = $('a#bpLink').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 if (getFb != '' && getFb == 't')	{
				//oke, generate the link
				var newLink = 'Javascript:history.back()';
				//replace
				$('a#bpLink').attr('href',newLink);
			}
		}
	}


	addFormAction();

});

function showHideItems(itemClass)
{
	var currentItem = false;
	var nextItem = false;
	var firstItem = 0;
	$(itemClass).each(function(i) {
		if (i == 0) {
			firstItem = $(this);
		}
		if ($(this).css('display') == 'block') {
			currentItem = $(this);
			if (i == homepageItemCounter-1) {
				nextItem = firstItem
			}
		} else if (currentItem !== false && nextItem === false) {
			nextItem = $(this);
		}
	});

	if (currentItem != undefined && nextItem != undefined) {
		currentItem.fadeOut(500, function() {
			nextItem.fadeIn(1500, function() {
				setTimeout('showHideItems(\'' + itemClass + '\')',showHideTimeout);
			});
		});
	}


}

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;
	}

	if ($('#productGroepID').length > 0) {
		var productGroepID = $('#productGroepID')[0].value;
	} else {
		var productGroepID = false;
	}

	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);

	//save checked items to session through ajax
	$.ajax({
		url: "/handleFilterSession.php",
		type: "POST",
		data: 'action=saveSession&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;
			}
//alert(selectedMinPrijs + '<='+ productPrijsVoorFilter + '---' +selectedMaxPrijs + '>='+ productPrijsVoorFilter);
			// 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 == 4) {
										productLastClass = ' product_last';
										teller = 0;
									} else {
										productLastClass = '';
									}
									if (documentLocation.length == 1) {
										currentLink = this.info.link_static + '?p='+page;
									} else {
										currentLink = this.info.link_dynamic + '&p='+page;
									}
									//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 + '">';
									if (this.info.productNewSale != '' ) {
										productHTML += '<span class="new">' + this.info.productNewSale + '</span> ';
									}

									productHTML += this.info.merknaam + ' ' + this.info.productnaam + '</a>';
									productHTML += '</div>';
									productHTML += '<div class="box2 box2_product box2_productOverview">';
									productHTML += '<a class="img" href="' + currentLink + '" title="' + this.info.merknaam + ' ' + this.info.productnaam + '">';
									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 ( showActie( this ) == true) {
										//productHTML += '<div class="prijs prijs_actie">Actie!';
									} else {
										//productHTML += '		<div class="prijs">';
									}

									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="text">';

									productHTML += this.info.korte_omschrijving;

									productHTML += '</div>';
									productHTML += '<div class="price">';
									if (this.info.prijs_van != '' && this.info.prijs_van != undefined) {
										productHTML += '<div class="floatLeft"><strong>Van:</strong> <span style="text-decoration:line-through;">' + this.info.prijs_van + '</span></div><div class="clear">&nbsp;</div>';
									}
									productHTML += '<span class="userPrice floatLeft"><strong>Voor: ' + this.info.prijs + '</strong></span>';
									productHTML += '</div>';
									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);
		$('.pageNr').html(pagingHTML);
		$('.content_bb').html(productHTML + '<div class="clear">&nbsp;</div><div class="pageNr">'  + pagingHTML + '</div>');
		$('#loadingFilter').fadeOut(200);
		$('#loadingProducts').fadeOut(200);
	});
}

$.getPaging = function(page, productCountFound, resultsPerPage, functionCall)
{
	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


	if (functionCall == undefined) {
		functionCall = 'handleSearch';
	}

	var pagingHTML = '';
	if (lastpage > 1) {
		//previous button
		if (page > 1) {
			pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(' + 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="' + functionCall + '(' + 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="' + functionCall + '(' + i + ');">' + i + '</a>';
					}
		        }
		        pagingHTML += '<strong>...</strong>';
		        pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(' + lpm1 + ');">' + lpm1 + '</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(' + 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="' + functionCall + '(1)">1</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(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="' + functionCall + '(' + i + ')">' + i + '</a>';
					}
		        }
		        pagingHTML += '<strong>...</strong>';
		        pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(' +  lpm1 + ')">' + lpm1 + '</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(' + lastpage + ')">' + lastpage + '</a>';
		    } else {
	    		//close to end; only hide early pages
		        pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(1)">1</a>';
		        pagingHTML += '<a href="#cartoverview" onclick="' + functionCall + '(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="' + functionCall + '(' + i + ')">' + i + '</a>';
					}
		        }
		    }
		}

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

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").removeClass('head_filter_active');
	} else {
		$("#filter").slideDown('slow');
		$("#headFilter").addClass('head_filter_active');
		$("#headFilter").css('margin-bottom', '0px');

	}
}

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

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

// 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);
	});

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

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

	$('.editor').html(actiesHtml);

}

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();
				}
				showAction(true);
			}
		}
	});
}

function showAction(first)
{
	currentAction++;
	if (first == undefined) {
		$('#actionContainer').fadeOut(1000, function() {
			$('#actionContainer').html(actions[currentAction]);
			$('#actionContainer').fadeIn(1000);
		});
	} else {
		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 = ' ';
	} else {
		productLastClass = '';
	}
	if (documentLocation.length == 1) {
		currentLink = product.info.link_static + '?p='+page;
	} else {
		currentLink = product.info.link_dynamic + '&p='+page;
	}


	productHTML += '<div class="overviewWrap' + productLastClass + '">';
	productHTML += '<div class="head2">';
	productHTML += '<a href="' + currentLink + '" title="' + product.info.merknaam + ' ' + product.info.productnaam + '">';
	if (product.info.productNewSale != '' ) {
		productHTML += '<span class="new">' + product.info.productNewSale + '</span> ';
	}

	productHTML += product.info.merknaam + ' ' + product.info.productnaam + '</a>';
	productHTML += '</div>';
	productHTML += '<div class="box2 box2_product box2_productOverview">';
	productHTML += '<a class="img" href="' + currentLink + '" title="' + product.info.merknaam + ' ' + product.info.productnaam + '">';
	productHTML += '<img src="/media/224x126/' + product.info.voorzijde + '" alt="' + product.info.merknaam + ' ' + product.info.productnaam + '"  id="img_front_' + product.info.structuurID + '"></a>';// onmouseover="showBack(\'img_front_' + product.info.structuurID + '\',\'img_back_' + product.info.structuurID + '\');"
	productHTML += '<div class="inhoud">';
	productHTML += '<div class="text">';

	productHTML += product.info.korte_omschrijving;

	productHTML += '</div>';




	if ( showActie( product ) == true) {
		productHTML += '<div class="prijs prijs_actie">Actie!';
		productHTML += '<span class="van" style="text-decoration: line-through;">' + product.actie.prijs_van + '</span>';
		productHTML += '<div class="clear"></div>';
		productHTML += '<span class="voor">' + product.actie.prijs + '</span></div>';
	} else {
		productHTML += '<div class="price">';

		if (product.info.prijs_van != '' && product.info.prijs_van != undefined) {
			//productHTML += '<span class="oldPrice"><strong>Van: </strong><span class="floatLeft" style="text-decoration: line-through;"> ' + product.info.prijs_van + '</span></span>';
			productHTML += '<div class="floatLeft"><strong>Van: </strong><span style="text-decoration: line-through;">' + product.info.prijs_van + '</span></div>';
			productHTML += '<div class="clear">&nbsp;</div>';
		}
			productHTML += '<span class="userPrice floatLeft">Voor: ' + product.info.prijs + '</span>';
			productHTML += '<a class="more moreOverview"  href="' + currentLink + '" title="' + product.info.merknaam + ' ' + product.info.productnaam + '">&nbsp;</a>';
	}

	productHTML += '</div>';

	if (product.info.achterzijde != undefined && product.info.achterzijde != '') {
		productHTML += '<img src="/media/224x126/' + product.info.achterzijde + '" alt="' + product.info.merknaam + ' ' + product.info.productnaam + '" style="display: none;" id="img_back_' + product.info.structuurID + '" onmouseout="hideBack(\'img_front_' + product.info.structuurID + '\',\'img_back_' + product.info.structuurID + '\');">';
	}
	productHTML += '</a>';

	productHTML += '</div>';
//	productHTML += '<div class="clear">&nbsp;</div>';
	productHTML += '</div>';
	productHTML += '</div>';


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

	if ( showActie( product ) == true) {
		productHTML += '<div class="prijs prijs_actie">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 += '			<strong>Type:</strong>&nbsp;' + product.info.type + '<br>';
	productHTML += '			<strong>Merk:</strong>&nbsp;' + product.info.merknaam;
	productHTML += '		</div>';
	productHTML += '	</div>';
	productHTML += '	<div class="box_info_footer">';
	productHTML += '		<a class="product_link floatLeft" href="' + currentLink + '" title="' + product.info.merknaam + ' ' + product.info.productnaam + '">' + product.info.productnaam + '</a>';
	productHTML += '		<a class="more" 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>';
*/
//alert(productHTML);
	return productHTML;

}

//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) )
//						) {

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

//							if (teller == 3) {
//								teller = 0;
//							}

//							teller++;
//						}
//						productCountFound++;
//					}

//					productCountTotal++;

//				});

//				pagingHTML = $.getPaging(page, productCountFound, resultsPerPage, 'handleSearchBrands');
//				$('.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

//}


function removeCurrencySymbol( price) {

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

	return price;
}


function expandMenu(itemID)
{
	if ($('#item_' + itemID).css('display') == 'block') {
		$('#item_' + itemID).slideUp();
	} else {
		$('#item_' + itemID).slideDown();
	}
}


function showProduct(productID)
{

	var element = $('#detail_' + productID);//document.getElementById('detail_' + productID);

	//$.modal(element,{

	$('#detail_' + productID).modal({

    	minHeight:17,
		containerCss:{height:'540px',padding:0,width:'540px'},

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


					element.show();
					$.getScript('/javascript/sifr-config.js');

				});
			});
		},
		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!

					});
				});
			});
		}

	});


}

var scrollTimeOut;
function scrollUp(id) {
	if (parseInt($('.productdetail_text_'+ id).css('top'))+5 <= 0) {
		$('.productdetail_text_' + id).css('top', parseInt($('.productdetail_text_' + id).css('top'))+5);
		scrollTimeOut = setTimeout('scrollUp(' + id + ')',20);
	}

}

function scrollDown(id) {
	if (parseInt($('.productdetail_text_'+ id).css('top'))-5 >= -parseInt($('.productdetail_text_'+ id).height())+255) {
		$('.productdetail_text_' + id).css('top', parseInt($('.productdetail_text_' + id).css('top'))-5);
		scrollTimeOut = setTimeout('scrollDown(' + id + ')',20);
	}
}

function cancelScroll()
{
	if(scrollTimeOut) {
		clearTimeout(scrollTimeOut);
	}
}

function redirectPage() {
    window.location = linkLocation;
}


var bundleOldSource = new Array();
var bundleOldText = new Array();
var bundleOldHeadline = new Array();
var bundleOldName = new Array();

function showBundleArticle(productID, image, name, headline, productIDCurProd)
{

	if (bundleOldSource[productID] == undefined) {
		bundleOldSource[productID] = $('img#headImage_' + productID).attr('src');
	}
	$('img#headImage_' + productID).attr('src','/media/255x310/' + image);

	if (bundleOldText[productID] == undefined) {
		bundleOldText[productID] = $('.productdetail_text_' + productID).html();
	}
	$('.productdetail_text_' + productID).each(function()	{

		$(this).html($('#hidden_article_' + productIDCurProd).val());

	})

	//alert($('#hidden_article_' + productIDCurProd).val());

	if (bundleOldHeadline[productID] == undefined) {
		bundleOldHeadline[productID] = $('#detail_product_' + productID + ' > .productdetail_header > .productdetail_ft').html();
	}

	$('#detail_product_' + productID + ' > .productdetail_header > .productdetail_ft').html(unescape(headline));

	if (bundleOldName[productID] == undefined) {
		bundleOldName[productID] = $('#detail_product_' + productID + ' > .productdetail_header > h1.productdetail > span.sIFR-alternate').html();
	}
	$('#detail_product_' + productID + ' > .productdetail_header > h1.productdetail').html(name);
	$('#detail_product_' + productID + ' > .productdetail_header > h1.productdetail').removeClass('sIFR-replaced');
	activateSifr();



}

function resetProduct(productID)
{
	$('img#headImage_' + productID).attr('src',bundleOldSource[productID]);
	$('.productdetail_text_' + productID).html(bundleOldText[productID]);
	$('#detail_product_' + productID + ' > .productdetail_header > .productdetail_ft').html(bundleOldHeadline[productID]);

	//alert(bundleOldName[productID]);
	//if ($.browser.msie == false)	{
		//alert('dsds');
		$('#detail_product_' + productID + ' > .productdetail_header > h1.productdetail').html(bundleOldName[productID]);
		$('#detail_product_' + productID + ' > .productdetail_header > h1.productdetail').removeClass('sIFR-replaced');
		activateSifr();
	//}
}
