/**
 * --------------------------------------------------------------------
 * 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();	

/*---------------------------------------------------------------------------------
				Zonnebrillen
---------------------------------------------------------------------------------*/
	// Set counter to ensure querystring is only used once
	/*var n = 0;
	
	$('#alle_zonnebrillen').hide();

	$("#zonnebrillen a[href^=#]").live('click', function(){
		return false;
	});
	
	if($('#zonnebrillen').length > 0) {
		$("form").attr("autocomplete", "off"); 	
	}

	$('.zonnebril').live('mouseover', function() {
		$(this).children('.info').show();
	});
	$('.bril').live('mouseover', function() {
		$(this).children('.info').show();
	});
	
	$('.zonnebril').live('mouseout', function() {
		$(this).children('.info').hide();
	});
	$('.bril').live('mouseout', function() {
		$(this).children('.info').hide();
	});
	
	var file = $('#geslacht').val() == undefined || $('#geslacht').val() == '' ? 'zonnebrillen.php' : 'xbrillen.php';
	
	var qString = window.location.search.substring(1);
		
	function countOptions(type, file) {
		// Check of er een querystring is
		var qString = (n < 2) && (window.location.search.substring(1)) ? window.location.search.substring(1) : '';
		
		var merk 		= qString ? querySt("merk") 		: $('#merk').val();
		var stijl 		= qString ? querySt("stijl") 		: $('#stijl').val();
		var materiaal 	= qString ? querySt("materiaal") 	: $('#materiaal').val();
		var prijs 		= qString ? querySt("prijs") 		: $('#prijs').val();
		var geslacht 	= qString ? querySt("geslacht") 	: $('#geslacht').val();
		
		$.getJSON("/"+file+"?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, file);
		
		$(this).siblings('.overlay').css('z-index', 300000);
		
		$(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);
		//alert('remove');
		reload(file);
	}
	
	function preselectOptions(preselect_merk, preselect_prijs, preselect_stijl, preselect_materiaal)
	{
		if (preselect_merk) {
			$('#zonnebrillen .opt_merk a').attr('class', 'selected').text(preselect_merk);
		}
		if (preselect_prijs) {
			$('#zonnebrillen .opt_prijsklasse a').attr('class', 'selected').text(preselect_prijs);
		}
		if (preselect_stijl) {
			$('#zonnebrillen .opt_stijl a').attr('class', 'selected').text(preselect_stijl);
		}
		if (preselect_materiaal) {
			$('#zonnebrillen .opt_materiaal a').attr('class', 'selected').text(preselect_materiaal);
		}
		
		$('#zonnebrillen .options .selected').bind('click', removeOption);
	}
	
	$('.overlay').click(function() {
		$(this).css('z-index', 1);
		$(this).hide();
	});
	
	$('#zonnebrillen .options .select').bind('click', selectOption);
	
	$('#zonnebrillen .options .selected').bind('click', removeOption);
	
	$('#zonnebrillen .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(file);
		} else {
			$('#'+name).val(0);
			
			$('#page').val(1);
		}
	});
	
	$('#zonnebrillen .zonnebril').live('click', function() {
		var sku = $(this).attr('rel');
		var theurl = $(this).children('.info').children('a').attr('href');
		window.location.href = theurl;
	});
	$('#zonnebrillen .bril').live('click', function() {
		var sku = $(this).attr('rel');
		var theurl = $(this).children('.info').children('a').attr('href');
		window.location.href = theurl;
	});
	
	$('#zonnebrillen .button').click(function() {
		var page = $(this).attr('rel');
		$('#page').val(page);
		reload(file);
	});
	
	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(file);
		});
		
		// 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(file) {
		// Check of er een querystring is
		var qString = (n < 2) && (window.location.search.substring(1)) ? window.location.search.substring(1) : '';
		// reloads zonnebrillen
		var merk 		= qString ? querySt("merk") 		: $('#merk').val();
		var stijl 		= qString ? querySt("stijl") 		: $('#stijl').val();
		var materiaal 	= qString ? querySt("materiaal") 	: $('#materiaal').val();
		var prijs 		= qString ? querySt("prijs") 		: $('#prijs').val();
		var geslacht 	= qString ? querySt("geslacht") 	: $('#geslacht').val();
		var page 		= qString ? querySt("page") 		: $('#page').val();
		
		$('#zonnebrillen .loader').fadeIn(600, function() {
			$.getJSON("/"+file+"?merk="+merk+"&stijl="+stijl+"&materiaal="+materiaal+"&prijs="+prijs+"&geslacht="+geslacht+"&page="+page, function(data) {
				$('#zonnebrillen .loader').fadeOut(300);
				var items = '';
				var first = true;
				var preselect_merk = 0;
				var preselect_stijl = 0;
				var preselect_materiaal = 0;
				var preselect_prijs = 0;
				var preselect_geslacht = 0;
				
				$.each(data, function(i,item) {
					if (first == true) {
						total = item;
					} else {
						items = items + '<div class="zonnebril" rel="'+item.sku+'">';
						
						var item_merk = item.merk.replace(' ','-');
						
						if (file == 'xbrillen.php') {
							items = items + '	<img src="/images/brillen/foto/'+item.afbeelding+'-thumb.jpg" alt="'+item_merk+' '+item.sku+'" />';
							items = items + '	<div class="info">'+item.id+' - <a href="/brillen/bril/'+item_merk+'-'+item.sku+'/?bril='+item.sku+'">';
						} else {
							items = items + '	<img src="/images/zonnebrillen/foto/'+item.afbeelding+'_thumb.jpg" alt="'+item_merk+' '+item.sku+'" />';
							items = items + '	<div class="info"><a href="/zonnebrillen/zonnebril/'+item_merk+'-'+item.sku+'/?zonnebril='+item.sku+'">';	
						}
						items = items + '		<div class="price">&euro; '+item.prijs+'</div>';
						items = items + '		'+item.merk;
						items = items + '	</a></div>';
						items = items + '</div>';
						
						if (merk && merk != 0) {
							preselect_merk = item.merk;
						}
						if (prijs && prijs != 0) {
							preselect_prijs = prijs;
						}
						if (materiaal && materiaal != 0) {
							preselect_materiaal = item.materiaal;
						}
						if (stijl && stijl != 0) {
							preselect_stijl = item.stijl;
						}
					}
					first = false;
				});
				
				//alert(n);
				if (n < 2 && (window.location.search.substring(1))) {
					preselectOptions(preselect_merk, preselect_prijs, preselect_stijl, preselect_materiaal);
				}
				
				pagination(total);
				
				$('#zonnebrillen .zonnebril').remove();
				$('#zonnebrillen .bril').remove();
				$('#zonnebrillen .selector').append(items);
				
			});
		});
		n++;
		
		return true;
	}
	
	reload(file);

	$('#zonnebrillen a.zoom').click(function() {
		$('#zonnebrillen #full').fadeIn(1000);
	});
	
	$('#zonnebrillen #full a.close').click(function() {
		$('#zonnebrillen #full').fadeOut(1000);
	});
	
	$('#brillen a.zoom').click(function() {
		$('#brillen #full').fadeIn(1000);
	});
	
	$('#brillen #full a.close').click(function() {
		$('#brillen #full').fadeOut(1000);
	});*/

/*---------------------------------------------------------------------------------
				Popupbutton
---------------------------------------------------------------------------------*/

	$('#popupWindow').jqm({
		modal: true,
		trigger: '#clickme',
		target: '#jqmContent'
	});
	
	$('a.popupbutton').click(function() {
		var dataurl = $(this).attr('href');
		var modalContent = $("#jqmContent");
		modalContent.html('').attr('src', dataurl);
		$('#popupWindow').jqmShow();
		return false;
	});

/*---------------------------------------------------------------------------------
				F.A.Q.
---------------------------------------------------------------------------------*/
	
	$('.clickdown').css({ cursor: 'pointer' }).toggle(function() {
		$(this).next().fadeIn(600);	
		$(this).children('.plus').text('[-]');
	}, function() {
		$(this).next().fadeOut(600);	
		$(this).children('.plus').text('[+]');
	}).next().hide();

	
	var spliturl = window.location+'';
	var theurl = spliturl.split('#');
	if(theurl[1])
	{
		$('#url_'+theurl[1]).trigger('click');
	}

/*---------------------------------------------------------------------------------
				CONTACTLENZEN
---------------------------------------------------------------------------------*/

	$('#contactlenzen #print').click(function() {
		var url = $('#contactlenzen_result').attr('rel');
		var id = $(this).attr('rel');

		$.getJSON(url+"lenzen_form.php?id="+id+"&action=print", function(data){
			$('#results #graph').remove();
			$('#results').append(data.form);
			
			$('.tab .clickable').click(function() {
				window.location.reload(file);
			});
			
		});
		return false;
	});

	$('#contactlenzen #mail').click(function() {
		var url = $('#contactlenzen_result').attr('rel');
		var id = $(this).attr('rel');

		$.getJSON(url+"lenzen_form.php?id="+id+"&action=mail", function(data){
			$('#results #graph').remove();
			$('#results').append(data.form);
			
			$('.tab .clickable').click(function() {
				window.location.reload(file);
			});
			
		});
		return false;
	});

	$('#contactlenzen #option3').css('visibility', 'hidden');			
	$('#contactlenzen .selections > a').click(function() {
		var id = $(this).parents('.dropdown').attr('id');

		$('#'+id+' .text').text($(this).text());
		$('#'+id+' .dropdown_middle > a').attr('rel', $(this).attr('rel'));
		
		var target = $('#'+id+' .dropdown_middle > a').attr('rel');
		
		if (id == 'option2') {
			if ((target < 4 || target > 5) && target != 0) {
				$('#option3').css('visibility', 'visible');
			} else {
				$('#option3').css('visibility', 'hidden');
				$('#option3 .text').text('En ook...');
				$('#option3 .dropdown_middle > a').attr('rel', '0');
			}
		}

		$(this).parents('.dropdown').trigger('click');
		return false;
	});

	// handle button
	$('#contactlenzen .button').click(function() {
		// get form-elements
		var option1 = $('#option1 .dropdown_middle > a').attr('rel');
		var option2 = $('#option2 .dropdown_middle > a').attr('rel');
		var option3 = $('#option3 .dropdown_middle > a').attr('rel');
		
		var send = 0;
		if (option1 != 0 && option2 != 0 && option3 != 0) {
			send = 1;
		}
		if (option1 != 0 && (option2 == 4 || option2 == 5)) {
			send = 1;
		}
		
		if (send == 1) {
			var action = $(this).attr('rel');
			$(this).append('<form id="contactlenzen" method="post" action="'+action+'"></form>');
			$(this).children('form').append('<input type="hidden" name="option1" value="'+option1+'" />');
			$(this).children('form').append('<input type="hidden" name="option2" value="'+option2+'" />');
			$(this).children('form').append('<input type="hidden" name="option3" value="'+option3+'" />');
			$(this).children('form').trigger("submit");
		} else {
			if (option1 == 0) {
				$('.dropdown[id=option1]').trigger('click');
			}
			if (option1 != 0 && option2 == 0) {
				$('.dropdown[id=option2]').trigger('click');
			}
			if (option1 != 0 && option2 != 0 && (option2 != 4 && option2 != 5) && option3 == 0) {
				$('.dropdown[id=option3]').trigger('click');
			}
		}
		
		return false;
	});
	
	// make clickable clickable ;)
	$('.tab .clickable').click(function () {
		var id = $(this).attr('rel');
		// set pointer!
		
		var tableft = $(this).offset().left;
		var tabsleft = $('.tabs').offset().left;
		
	
		var left = tableft - tabsleft - 40;
		
		$('#pointer').css('left', left+'px');
		
		var url = $('#contactlenzen_result').attr('rel');
		$.getJSON(url+"ajax.php?id="+id, function(data){

			// set image
			$('#product').attr('src', url+'upload/'+data.afbeelding);
			$('#product').attr('alt', data.name);
			
			// set name
			$('#productname').attr('src', url+'font.php?string='+data.url_name+'&color=0f3b35&bgcolor=ffffff&size=19');
		
			// set description
			$('#product_title').text(data.name);
			//$('#product_description').text(data.description);
			
			// set graph
			setGraph('comfort',data.comfort);
			setGraph('gewenning',data.gewenning);
			setGraph('sport',data.sport);
			setGraph('hanteerbaarheid',data.hanteerbaarheid);
			setGraph('beeldschermwerk',data.beeldschermwerk);
			setGraph('airco',data.airco);
			$('.vervangingstermijn .small').text(data.vervangingstermijn);
			$('.draagduur .small').text(data.draagduur);
			
		});
		
		$('#product_description').load(url+"ajax.php?id="+id+"&type=2");
		
		return false;
	});
	
/*---------------------------------------------------------------------------------
				BRILLEN
---------------------------------------------------------------------------------*/
	$('#brillen .selections > a').click(function() {
		var id = $(this).parents('.dropdown').attr('id');

		// hide option2 - 3 if option1 - 3
		if (id == 'option1') {
			if ($(this).attr('rel') == '3') {
				$('#option2 .selections a[rel="3"]').hide();
				if ($('#option2 .dropdown_middle a:first').attr('rel') == '3') {
					$('#option2 .text').text('Collectie');
					$('#option2 .dropdown_middle a:first').attr('rel', '0');
				}
			} else {
				$('#option2 .selections a[rel="3"]').show();
			}
		}

		switch(id) {
			case 'option2':
				var text = 'Collectie: '+$(this).text();
			break;
			case 'option3':
				var text = 'In de prijsklasse: '+$(this).text();			
			break;
			default:
				var text = $(this).text();
		}
		
		$('#'+id+' .text').text(text);
		$('#'+id+' .dropdown_middle > a').attr('rel', $(this).attr('rel'));
		
		var target = $('#'+id+' .dropdown_middle > a').attr('rel');
		
		$(this).parents('.dropdown').trigger('click');
		return false;
	});

	// handle button
	$('#brillen .xbutton').click(function() {
		// get form-elements
		var option1 = $('#option1 .dropdown_middle > a').attr('rel');
		var option2 = $('#option2 .dropdown_middle > a').attr('rel');
		var option3 = $('#option3 .dropdown_middle > a').attr('rel');
		
		var send = 0;
		if (option1 != 0 && option2 != 0 && option3 != 0) {
			send = 1;
		}
		
		if (send == 1) {
			var action = $(this).attr('rel');
			$(this).append('<form id="brillen" method="post" action="'+action+'"></form>');
			$(this).children('form').append('<input type="hidden" name="option1" value="'+option1+'" />');
			$(this).children('form').append('<input type="hidden" name="option2" value="'+option2+'" />');
			$(this).children('form').append('<input type="hidden" name="option3" value="'+option3+'" />');
			$(this).children('form').trigger("submit");
		} else {
			if (option1 == 0) {
				$('.dropdown[id=option1]').trigger('click');
			}
			if (option1 != 0 && option2 == 0) {
				$('.dropdown[id=option2]').trigger('click');
			}
			if (option1 != 0 && option2 != 0 && option3 == 0) {
				$('.dropdown[id=option3]').trigger('click');
			}
		}
		
		return false;
	});

/*---------------------------------------------------------------------------------
				ALGEMEEN
---------------------------------------------------------------------------------*/
	
	// make boxes clickable
	$('.dropdown').click(function() {
		var id = $(this).attr('id');

		if($(this).children('.dropdown_middle').hasClass('extended')) {
			$('.placeholder').remove();
			$(this).css({position: 'static', zindex: '1'});
			$('#'+id+' .dropdown_middle').removeClass("extended");
			$('#'+id+' .dropdown_middle div.arrow').removeClass('up').addClass('down');
		} else {
			$('.placeholder').remove();
			$('.dropdown').children('.dropdown_middle').removeClass("extended");
			$('.dropdown').css({position: 'static', zindex: '1'});
			$('#'+id+' .dropdown_middle div.arrow').removeClass('up').addClass('down');

			$(this).after('<div class="placeholder">&nbsp;</div>');
			$(this).css({position: 'absolute', zindex: '2'});
			$('#'+id+' .dropdown_middle').addClass("extended");
			$('#'+id+' .dropdown_middle div.arrow').removeClass('down').addClass('up');
		}
	
		return false;
	});
	
	// postcode!
	$('#x_postcode_cijfers').keyup(function() {
		var val = $(this).val();
		if (val.length > 3) {
			$('#x_postcode_letters').focus();
		}
	});
	
});

function setGraph(id, value) {
	var element = $('#'+id+' .segment');
	// get value of segment
	if (value == 0) {
	  var value = $('#'+id+'value').attr('value');
	}

	// get current width of segment
	var current = element.css('width');

	// set current size and class based on width
	var currentsize = '';
	var oldclass = '';

	if (current == '0px') {
		oldclass = 'green';
		currentsize = 'start';
	}
	if (current == '58px') {
		oldclass = 'red';
		currentsize = 'size1';
	}
	if (current == '117px') {
		oldclass = 'yellow';
		currentsize = 'size2';
	}
	if (current == '176px') {
		oldclass = 'green';
		currentsize = 'size3';			
	}
	if (current == '235px') {
		oldclass = 'green';
		currentsize = 'size4';
	}

	// set new class
	var newclass = '';
	if (value == 1) {
		newclass = 'red';
	}
	if (value == 2) {
		newclass = 'yellow';
	}
	if (value == 3 || value == 4) {
		newclass = 'green';
	}
	// do it'
	var newsize = 'size'+value;
	if (currentsize != newsize) {
		
		element.removeClass(currentsize);
		element.addClass(newsize);
		
		//element.switchClass(currentsize, newsize, 750);
	}
	
	element.attr('class', 'segment '+newclass+' '+newsize);
}

$('#graph').ready(function () {
	setGraph('comfort',0);
	setGraph('gewenning',0);
	setGraph('sport',0);
	setGraph('hanteerbaarheid',0);
	setGraph('beeldschermwerk',0);
	setGraph('airco',0);
});

function checkField(id)
{
	var fieldElement = document.getElementById(id);
	var f_postcode_cijfers = document.getElementById("postcode_cijfers");
	var f_postcode_letters = document.getElementById("postcode_letters");

	if(id == "postcode_letters")
	{
		if(fieldElement.value.length > 1)
		{			
			document.forms[0].coupon_huisnummer.focus();
		}			
	}
	if(id == "postcode_cijfers")
	{			
		if(fieldElement.value.length > 3)
		{			
			document.forms[0].postcode_letters.focus();
		}			
	}		
}	

function printForm(type) 
{
	var type = (type == null) ? 'lens' : type;
	var postcode_cijfers = document.getElementById("postcode_cijfers");
	var postcode_letters = document.getElementById("postcode_letters");
	
	if (type == 'lens')
	{
		var formid = document.getElementById('form_id');
		
		var postcode_cijfers = document.getElementById("postcode_cijfers");
		var postcode_letters = document.getElementById("postcode_letters");
		
		var url = $('#contactlenzen_result').attr('rel');
		
		var datastring = 'postcode_cijfers='+ postcode_cijfers.value +
						 '&postcode_letters='+ postcode_letters.value +
						 '&action='+ 'print' +
						 '&id='+ formid.value;
		
		$.ajax({
			type: 'POST',
			url: url+'lenzen_form.php?action=print&id='+formid.value+'&checkform=1',
			async: 'false',
			dataType: 'json',
			data: datastring,
			success: function(data) {
				if(parseInt(data['success']) == '0')
				{
					$('#results #brillenform').remove();
					$('#results').append(data.form);
				}
				$('#modalWindow').jqm({
					modal: true,
					trigger: '#clickme',
					target: '#jqmContent'
				});
		
				if(parseInt(data['success']) == '1')
				{
					$('#results').append('<a id="clickme" href="'+data.url+'" target="_blank">&nbsp;&nbsp;&nbsp;</a>');
					var $modalContent = $("#jqmContent");
					$modalContent.html('').attr('src', data.url);
					
					$('#modalWindow').jqmShow();
					$('#brillenprinter').html('<p><strong>Bedankt voor het printen. Graag tot ziens bij de Pearle opticien.</strong></p>');
					$('#clickme').hide();
					return false;
				}
			}
		});
	} else if (type == 'screenview') {
		
		var postcode_cijfers = $("#x_postcode_cijfers").val();
		var postcode_letters = $("#x_postcode_letters").val();
		
		var afstand_a = $("#afstand_a").val();
		var afstand_b = $("#afstand_b").val();
		var afstand_c = $("#afstand_c").val();
		
		var ooghoogte = $('input[name=ooghoogte]:checked').val();
		var url = $('#fullurl').val();
		
		var error = false;
		// do checks

		if (postcode_cijfers == '')
		{
			$('#x_postcode_cijfers').addClass('error');
			error = true;
		}
		if (postcode_letters == '')
		{
			$('#x_postcode_letters').addClass('error');
			error = true;
		}
		if (afstand_a == '') {
			$('#afstand_a').addClass('error');
			error = true;
		}
		if (afstand_b == '') {
			$('#afstand_b').addClass('error');
			error = true;
		}
		if (afstand_c == '') {
			$('#afstand_c').addClass('error');
			error = true;
		}
		if (ooghoogte == undefined) {
			$('#ooghoogtewrapper').addClass('error');
			error = true;
		}
		var datastring = 'postcode_cijfers='+ postcode_cijfers +
						'&postcode_letters='+ postcode_letters +
						'&afstand_a='+ afstand_a +
						'&afstand_b='+ afstand_b +
						'&afstand_c='+ afstand_c +
						'&ooghoogte='+ ooghoogte +
						'&action='+ 'print';
		if (error) return false;
		
		$.ajax({
			type: 'POST',
			url: url+'screenviewprint.php?mode=print',
			async: 'false',
			dataType: 'json',
			data: datastring,
			success: function(data) {
				$('#modalWindow').jqm({
					modal: true,
					trigger: '#clickme',
					target: '#jqmContent'
				});
				$('#results').append('<a id="clickme" href="'+data.url+'" target="_blank">&nbsp;&nbsp;&nbsp;</a>');
				var $modalContent = $("#jqmContent");
				$modalContent.css({
					height: '551px'
				});
				$modalContent.html('').attr('src', data.url);
				
				$('#modalWindow').jqmShow()
				$('#brillenprinter').html('<br /><br /><p><strong>Bedankt voor het invullen van uw gegevens. We zien u graag in een van onze winkels.</strong></p>');
				
				$('#jqmTitle img').pngFix();
				
				$('#jqmTitle img').pngFix();
			}
		});
	} else {
		$('form').submit();
	}
}

function checkForm(type, action)
{	
	var type = (type == null) ? 'lens' : type;
	var action = (action == null) ? 'mail' : action;
	var error = false;

	//get city from postal
	getAddress();
	
	var inputElement = "";
	inputElement = document.getElementById("postcode_letters");
	var custom_error = "";

	//var geslacht = document.getElementById("mvchoice");
	
	
	var voornaam  = document.getElementById("voorletters");
	var achternaam  = document.getElementById("achternaam");
	var email = document.getElementById("email");
	var postcode_cijfers = document.getElementById("postcode_cijfers");
	var postcode_letters = document.getElementById("postcode_letters");
	var huisnummer = document.getElementById("coupon_huisnummer");
	var woonplaats = document.getElementById("woonplaats");	
	var strPostal = postcode_cijfers.value + "" +  postcode_letters.value;
	var voorwaarden = document.getElementById("av");
	
	var mvholder = document.getElementById('mvholder');
	var avholder = document.getElementById('avholder');
	
	//check postcode
	if(validatePostalCode(strPostal) == false)
	{
		postcode_cijfers.className = "couponinvoer_error";
		postcode_letters.className = "couponinvoer_error";
		
	}
	else
	{
		postcode_cijfers.className = "couponinvoer";
		postcode_letters.className = "couponinvoer";
	}
		
	//if(geslacht.value)
	//{
	//	geslacht.className = "couponinvoer_error";
	//	error = true;
	//}
	
	if(voornaam.value == "")
	{
		voornaam.className = "couponinvoer_error";
		error = true;
	}
	else
	{
		voornaam.className = "couponinvoer";
	}		
	if(achternaam.value == "")
	{
		achternaam.className = "couponinvoer_error";
		error = true;
	}
	else
	{
		achternaam.className = "couponinvoer";
	}
		
	if(email.value == "")
	{
		email.className = "couponinvoer_error";
		error = true;
	}
	else
	{
		email.className = "couponinvoer";
	}
	
	var geslacht = false;
	$('#mvholder').each(function(){
		if($('input[type=radio]:checked',this).length < 1) {
			geslacht = false;
		} else {
			geslacht = true;
		}
	});

	if(geslacht === false)
	{
		$('#mvholder').attr("class", "mv_coupon_error");
		error = true;
	}
	else
	{
		$('#mvholder').attr("class", "mvcoup");
	}
	
	if(huisnummer.value == "")
	{
		huisnummer.className = "couponinvoer_error";
		error = true;
	}
	else
	{
		huisnummer.className = "couponinvoer";
	}
	
	if(woonplaats.value == "")
	{
		woonplaats.className = "couponinvoer_error";
		error = true;
	}
	else
	{
		woonplaats.className = "couponinvoer";
	}
	if(voorwaarden.checked === false)
	{
		avholder.setAttribute("class", "borderbox_coupon_error");
		error = true;
	} else {
		avholder.setAttribute("class", "mvcoup");
	}
	
	if(error === true)
	{

		if(custom_error !="")
		{
			//alert("custom errors gevonden");
			document.getElementById('error_message').innerHTML = 'Niet alle verplichte velden zijn ingevuld <br /> ' + custom_error;
		}
		else
		{
			//alert("errors gevonden");
			document.getElementById('error_message').innerHTML = '<strong style="color: #f00;">Niet alle verplichte velden zijn ingevuld</strong>';
		}

		return false;
	}
	else
	{	
		// ajax submit
		//$('form').submit();
		if (type == 'lens' && action == 'print') {
		var straatnaam = document.getElementById('coupon_straatnaam');
		var formid = document.getElementById('form_id');
		var formaction = document.getElementById('form_action');
		
		var datastring = 'mvchoice='+ geslacht.value +
										 '&voorletters='+ voornaam.value +
										 '&achternaam='+ achternaam.value +
										 '&email='+ email.value +
										 '&postcode_cijfers='+ postcode_cijfers.value +
										 '&postcode_letters='+ postcode_letters.value +
										 '&straatnaam='+straatnaam.value +
										 '&huisnummer='+ huisnummer.value +
										 '&woonplaats='+ woonplaats.value +
										 '&form_algemene_voorwaarden='+ voorwaarden.value +
										 '&action='+ formaction.value +
										 '&id='+ formid.value;
		
		var url = $('#contactlenzen_result').attr('rel');
		
		$.ajax({
			type: 'POST',
			url: url+'lenzen_form.php?action=print&id='+formid.value+'&checkform=1',
			async: 'false',
			dataType: 'json',
			data: datastring,
			success: function(data) {
				if(parseInt(data['success']) == '0')
				{
					$('#results #brillenform').remove();
					$('#results').append(data.form);
				}
				$('#modalWindow').jqm({
					modal: true,
					trigger: '#clickme',
					target: '#jqmContent'
				});
		
				if(parseInt(data['success']) == '1')
				{
					$('#results').append('<a id="clickme" href="'+data.url+'" target="_blank">&nbsp;&nbsp;&nbsp;</a>');
					var $modalContent = $("#jqmContent");
					$modalContent.html('').attr('src', data.url);
					
					$('#modalWindow').jqmShow()
					$('#brillenprinter').html('<p>Bedankt voor het printen. Graag tot ziens bij de Pearle opticien.</p>');
					return false;
				}
			}
		});
		} else {
			$('form').submit();
		}
	}
}

// The following block implements the string.parseJSON method
(function (s) {
  // This prototype has been released into the Public Domain, 2007-03-20
  // Original Authorship: Douglas Crockford
  // Originating Website: http://www.JSON.org
  // Originating URL    : http://www.JSON.org/JSON.js

  // Augment String.prototype. We do this in an immediate anonymous function to
  // avoid defining global variables.

  // m is a table of character substitutions.

  var m = {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '"' : '\\"',
    '\\': '\\\\'
  };

  s.parseJSON = function (filter) {

    // Parsing happens in three stages. In the first stage, we run the text against
    // a regular expression which looks for non-JSON characters. We are especially
    // concerned with '()' and 'new' because they can cause invocation, and '='
    // because it can cause mutation. But just to be safe, we will reject all
    // unexpected characters.

    try {
      if (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.
        test(this)) {

          // In the second stage we use the eval function to compile the text into a
          // JavaScript structure. The '{' operator is subject to a syntactic ambiguity
          // in JavaScript: it can begin a block or an object literal. We wrap the text
          // in parens to eliminate the ambiguity.

          var j = eval('(' + this + ')');

          // In the optional third stage, we recursively walk the new structure, passing
          // each name/value pair to a filter function for possible transformation.

          if (typeof filter === 'function') {

            function walk(k, v) {
              if (v && typeof v === 'object') {
                for (var i in v) {
                  if (v.hasOwnProperty(i)) {
                    v[i] = walk(i, v[i]);
                  }
                }
              }
              return filter(k, v);
            }

            j = walk('', j);
          }
          return j;
        }
      } catch (e) {

      // Fall through if the regexp test fails.

      }
      throw new SyntaxError("parseJSON");
    };
  }
) (String.prototype);
// End public domain parseJSON block

	function setErrorField(elem)
	{
		if(elem !="")
		{
			var inputElement;
			inputElement = document.getElementById("postcode_letters");
			inputElement.className = "couponinvoer_error";
					
		}
	}
	
	function validatePostalCode(strPC)
	{
  	return typeof strPC=='string'
    ?strPC.match(/[1-9][0-9]{3} ?[a-zA-Z]{2}/)==strPC
    :false;
  }

	function checkField(id)
	{
		var fieldElement = document.getElementById(id);
		var f_postcode_cijfers = document.getElementById("postcode_cijfers");
		var f_postcode_letters = document.getElementById("postcode_letters");
	
		if(id == "postcode_letters")
		{
			if(fieldElement.value.length > 1)
			{			
				document.forms[0].coupon_huisnummer.focus();
			}			
		}
		if(id == "postcode_cijfers")
		{			
			if(fieldElement.value.length > 3)
			{			
				document.forms[0].postcode_letters.focus();
			}			
		}		
	}	
	
	function checkDateField()
	{
		var dateField = document.getElementById('dateField');
		if(dateField.value == "")
		{
			dateField.value = "dd/mm/jjjj";
		}
	}
