/**
 * --------------------------------------------------------------------
 * jQuery-Plugin "pngFix"
 * Version: 1.1, 11.09.2007
 * by Andreas Eberhard, andreas.eberhard@gmail.com
 *                      http://jquery.andreaseberhard.de/
 *
 * Copyright (c) 2007 Andreas Eberhard
 * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([237-9n-zA-Z]|1\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(s(m){3.fn.pngFix=s(c){c=3.extend({P:\'blank.gif\'},c);8 e=(o.Q=="t R S"&&T(o.u)==4&&o.u.A("U 5.5")!=-1);8 f=(o.Q=="t R S"&&T(o.u)==4&&o.u.A("U 6.0")!=-1);p(3.browser.msie&&(e||f)){3(2).B("img[n$=.C]").D(s(){3(2).7(\'q\',3(2).q());3(2).7(\'r\',3(2).r());8 a=\'\';8 b=\'\';8 g=(3(2).7(\'E\'))?\'E="\'+3(2).7(\'E\')+\'" \':\'\';8 h=(3(2).7(\'F\'))?\'F="\'+3(2).7(\'F\')+\'" \':\'\';8 i=(3(2).7(\'G\'))?\'G="\'+3(2).7(\'G\')+\'" \':\'\';8 j=(3(2).7(\'H\'))?\'H="\'+3(2).7(\'H\')+\'" \':\'\';8 k=(3(2).7(\'V\'))?\'float:\'+3(2).7(\'V\')+\';\':\'\';8 d=(3(2).parent().7(\'href\'))?\'cursor:hand;\':\'\';p(2.9.v){a+=\'v:\'+2.9.v+\';\';2.9.v=\'\'}p(2.9.w){a+=\'w:\'+2.9.w+\';\';2.9.w=\'\'}p(2.9.x){a+=\'x:\'+2.9.x+\';\';2.9.x=\'\'}8 l=(2.9.cssText);b+=\'<y \'+g+h+i+j;b+=\'9="W:X;white-space:pre-line;Y:Z-10;I:transparent;\'+k+d;b+=\'q:\'+3(2).q()+\'z;r:\'+3(2).r()+\'z;\';b+=\'J:K:L.t.M(n=\\\'\'+3(2).7(\'n\')+\'\\\', N=\\\'O\\\');\';b+=l+\'"></y>\';p(a!=\'\'){b=\'<y 9="W:X;Y:Z-10;\'+a+d+\'q:\'+3(2).q()+\'z;r:\'+3(2).r()+\'z;">\'+b+\'</y>\'}3(2).hide();3(2).after(b)});3(2).B("*").D(s(){8 a=3(2).11(\'I-12\');p(a.A(".C")!=-1){8 b=a.13(\'url("\')[1].13(\'")\')[0];3(2).11(\'I-12\',\'none\');3(2).14(0).15.J="K:L.t.M(n=\'"+b+"\',N=\'O\')"}});3(2).B("input[n$=.C]").D(s(){8 a=3(2).7(\'n\');3(2).14(0).15.J=\'K:L.t.M(n=\\\'\'+a+\'\\\', N=\\\'O\\\');\';3(2).7(\'n\',c.P)})}return 3}})(3);',[],68,'||this|jQuery||||attr|var|style||||||||||||||src|navigator|if|width|height|function|Microsoft|appVersion|border|padding|margin|span|px|indexOf|find|png|each|id|class|title|alt|background|filter|progid|DXImageTransform|AlphaImageLoader|sizingMethod|scale|blankgif|appName|Internet|Explorer|parseInt|MSIE|align|position|relative|display|inline|block|css|image|split|get|runtimeStyle'.split('|'),0,{}))

$(document).ready(function() {
	// pngfix
	//$(document).pngFix();	

/*---------------------------------------------------------------------------------
				Brillen
---------------------------------------------------------------------------------*/
	// Set counter to ensure querystring is only used once
	var n = 0;
	
	$('#alle_brillen').hide();

	$("#brillen a[href^=#]").live('click', function(){
		return false;
	});
	
	if($('#brillen').length > 0) {
		$("form").attr("autocomplete", "off"); 	
	}

	$('.bril').live('mouseover', function() {
		$(this).children('.info').show();
	});
	
	$('.bril').live('mouseout', function() {
		$(this).children('.info').hide();
	});
	
	function countOptions(type) {
		var merk 		= $('#merk').val();
		var stijl 		= $('#stijl').val();
		var materiaal 	= $('#materiaal').val();
		var prijs 		= $('#prijs').val();
		var geslacht 	= $('#geslacht').val();
		
		$.getJSON("/xbrillen.php?merk="+merk+"&stijl="+stijl+"&materiaal="+materiaal+"&prijs="+prijs+"&geslacht="+geslacht+"&mode=count&type="+type, function(data) {
			
			var items = '';
			$.each(data, function(i,item) {
				items += '<div class="option">';
				items += ' <input type="radio" name="'+type+'" value="'+item.id+'" />';
				items += ' <span class="text">'+item.name+'</span>';
				items += ' <span class="number">( '+item.count+' )</span>';
				items += '</div>';
			});
			$('#'+type+'_options').html(items);
		});
	}

	function selectOption() {
		$('.overlay').hide();
		var type = $(this).siblings('input').attr('id');
		countOptions(type);
		
		$(this).parent().children('.overlay').slideDown(250);
	}
	
	function removeOption() {
		$('.overlay').hide();
		$(this).siblings("input").val(0);
		$(this).siblings('.overlay').children('.option input').attr("checked", false);
		$(this).siblings('.overlay').children('input.all').attr("checked", true);

		$(this).text('Maak een keuze');
		$(this).unbind('click').bind('click', selectOption);
		$(this).attr('class', 'select');
				
		$('#page').val(1);
		
		reload();
	}
	
	function preselectOptions() {
		var qString = (n < 2) && (window.location.search.substring(1)) ? window.location.search.substring(1) : '';
		
		if (! qString) {
			return false;
		}
		
		var merk 		= querySt("merk");
		var stijl 		= querySt("stijl");
		var materiaal 	= querySt("materiaal");
		var prijs 		= querySt("prijs");
		var geslacht 	= querySt("geslacht");
		
		if (merk) {
			$('#brillen input[name="merk"]').filter(function() {
                  return $(this).attr("value") == merk;
                }).trigger('click');
		}
		if (stijl) {
			$('#brillen input[name="stijl"]').filter(function() {
                  return $(this).attr("value") == stijl;
                }).trigger('click');
		}
		if (materiaal) {
			$('#brillen input[name="materiaal"]').filter(function() {
                  return $(this).attr("value") == materiaal;
                }).trigger('click');
		}
		if (prijs) {
			$('#brillen input[name="prijs"]').filter(function() {
                  return $(this).attr("value") == prijs;
                }).trigger('click');
		}
		if (geslacht) {
			$('#brillen input[name="geslacht"]').filter(function() {
                  return $(this).attr("value") == geslacht;
                }).trigger('click');
		}
	}
	
	
	$('.overlay').click(function() {
		$(this).hide();
	});
	
	$('#brillen .options .select').bind('click', selectOption);
	
	$('#brillen .options .selected').bind('click', removeOption);
	
	$('#brillen .options .option').live('click', function() {
		$('.overlay').hide();
		var selinput = $(this).children('input');
		var val = selinput.val();
		var name = selinput.attr('name');
		var target = selinput.parents('.options>div').children('a:first');
		if(val > 0) {
			target.unbind('click').bind('click', removeOption);
			target.attr('class', 'selected');	
			target.text($(this).children('.text').text());
			$('#'+name).val(val);
			
			$('#page').val(1);
			
			reload();
		} else {
			$('#'+name).val(0);
			
			$('#page').val(1);
		}
	});
	
	$('#brillen .bril').live('click', function() {
		var sku = $(this).attr('rel');
		var theurl = $(this).children('.info').children('a').attr('href');
		window.location.href = theurl;
	});
	
	$('#brillen .button').click(function() {
		var page = $(this).attr('rel');
		$('#page').val(page);
		reload();
	});
	
	function pagination(total) {
		pages = Math.ceil(total / 8);
		
		var pageshtml = '';
		var active = Number($('#page').val());
		for(var i=1; i<=pages; i++){
			if (i == active) {
				pageshtml += '<a href="#" rel="'+ i +'" class="active">'+ i +'</a>';
			} else {
				pageshtml += '<a href="#" rel="'+ i +'">'+ i +'</a>';
			}
		}
		
		$('#pagination a').unbind('click');
		
		$('#pagination').html(pageshtml);

		$('#pagination a').click(function() {
			var page = $(this).attr('rel');
			$('#page').val(page);
			reload();
		});
		
		// buttons
		if(active > 1) {
			$('#buttonleft').removeClass('inactive').attr('rel', active - 1);
		} else {
			$('#buttonleft').addClass('inactive').attr('rel', 1);
		}
		if(active < pages) {
			$('#buttonright').removeClass('inactive').attr('rel', active + 1);
		} else {
			$('#buttonright').addClass('inactive').attr('rel', pages);
		}
	}
	
	// Haal querystring op (alles na '?')
	function querySt(part) {
		string = window.location.search.substring(1);
		gy = string.split("&");
		
		for (i=0;i<gy.length;i++) {
			
			ft = gy[i].split("=");
			
			if (ft[0] == part) {
				return ft[1];
			}
		}
	}
	
	
	function reload() {
		// reloads brillen
		var merk 		= $('#merk').val();
		var stijl 		= $('#stijl').val();
		var materiaal 	= $('#materiaal').val();
		var prijs 		= $('#prijs').val();
		var geslacht 	= $('#geslacht').val();
		var page 		= $('#page').val();
		
		$('#brillen .loader').fadeIn(600, function() {
			$.getJSON("/xbrillen.php?merk="+merk+"&stijl="+stijl+"&materiaal="+materiaal+"&prijs="+prijs+"&geslacht="+geslacht+"&page="+page, function(data) {
				$('#brillen .loader').fadeOut(300);
				var items = '';
				var first = true;
				
				$.each(data, function(i,item) {
					if (first == true) {
						total = item;
					} else {
						items = items + '<div class="bril" rel="'+item.sku+'">';
						
						var item_merk = item.merk.replace(' ','-');
						
						items = items + '	<img src="/images/brillen/foto/'+item.afbeelding+'-thumb.jpg" alt="'+item_merk+' '+item.sku+'" />';
						items = items + '	<div class="info"><a href="/brillen/bril/'+item_merk+'-'+item.sku+'/?bril='+item.sku+'">';
						items = items + '		<div class="price">&euro; '+item.prijs+'</div>';
						items = items + '		'+item.merk;
						items = items + '	</a></div>';
						items = items + '</div>';
					}
					first = false;
				});
				
				pagination(total);
				
				$('#brillen .bril').remove();
				$('#brillen .selector').append(items);
				
			});
		});
		n++;
	}
	
	if (preselectOptions() == false) {
		reload();
	}
	
	$('#brillen a.zoom').click(function() {
		$('#brillen #full').fadeIn(1000);
	});
	
	$('#brillen #full a.close').click(function() {
		$('#brillen #full').fadeOut(1000);
	});
});