var wrongcolor = "#D00";
var wrongborder = "1px solid #D00";
var rightcolor = "#001754";
var rightborder = "1px inset #000";

function getScrollY() {
	  var scrOfY = 0;
	  if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
	  }
	  return  scrOfY ;
}
function getPageHeight() {     
	 var yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		yScroll = document.body.offsetHeight;
	}
	var windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	return pageHeight;
}

function $(elm){
	var check = document.getElementById(elm);
	if (check)	{
		return check;
	} else {
		return false;
	}
}
function checkText(elm){
	if (typeof(elm) == "undefined"){
		return false;
	} else {
		var obj = $(elm);
		if (obj) {
			if (obj.value == ""){
				return false;
			} else {
				return true;
			}
		} else {
			return false;
		}
	}
}
function checkRadio(elm){
	if (typeof(elm) == "undefined"){
		return false;
	} else {
		var obj = $(elm);
		if (obj) {
			if (obj.checked){
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}
}
function checkSelect(elm) {
	if (typeof(elm) == "undefined"){
		return false;
	} else {
		var obj = $(elm);
		if (obj) {
			if (obj.options[obj.selectedIndex].value != "0"){
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}
}
function checkEmail(str){
	var testresults = false;
	//uitleg filter: minimaal 1 letter voor @ ; min 1 max 66 letters na @ ; min 2 max 6 letters na punt.
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)){
		testresults=true;
	}else{
		testresults=false;
	}
	return (testresults);
}	
function showLayer(whichdiv){
	if ($(whichdiv).style.display == ''){
		$(whichdiv).style.display = 'none';
	} else {
		$(whichdiv).style.display = '';
	}
}
function changeText(text,selectLink){
	if(selectLink == 'onderhoud-link'){
		document.getElementById("onderhoud-link").className = 'selected';
		document.getElementById("kwaliteit-link").className = '';
	}else{
		document.getElementById("onderhoud-link").className = '';
		document.getElementById("kwaliteit-link").className = 'selected';
	}
	document.getElementById("text").innerHTML = text;
	return false;
}
function checkForm(melding){
	
	tel=0;
	if (document.getElementById("naam").value =='') {				
		tel++;		
		document.getElementById("naam").className = 'txtInput Wrong';
	} else	{ 
		document.getElementById("naam").className = 'txtInput';
	}
	if (document.getElementById("email").value =='' || !checkEmail(document.getElementById("email").value)) {
		tel++;		
		document.getElementById("email").className = 'txtInput Wrong';		
	} else	{ 
		document.getElementById("email").className = 'txtInput';
	}
	if (document.getElementById("opmerkingen").value =='') {				
		tel++;		
		document.getElementById("opmerkingen").className = 'txtArea Wrong';
	} else	{ 
		document.getElementById("opmerkingen").className = 'txtArea';
	}
	if(tel==0){					
		return true;
	} else {
		document.getElementById("formMelding").innerHTML = '<strong style="color: #FFF;">* ' + melding + ' [' + tel + ']</strong>';
		return false;
	}	
}

function checkCadeauForm(language){
	tel=0;
	if (document.getElementById("bedrag-select").value <= 0) {				
		tel++;		
		document.getElementById("bedrag-select").className = 'bedragBon Wrong';
	} else	{ 
		document.getElementById("bedrag-select").className = 'bedragBon';
	}
	if (!document.getElementById('verzendM').checked && !document.getElementById('verzendP').checked){
		tel++;	
	} else {
		if (document.getElementById('verzendM').checked){
			if (document.getElementById("naam-ontvanger").value =='') {
				tel++;		
				document.getElementById("naam-ontvanger").className = 'txtInput Wrong';		
			} else	{ 
				document.getElementById("naam-ontvanger").className = 'txtInput';
			}
			if (document.getElementById("email-ontvanger").value =='' || !checkEmail(document.getElementById("email-ontvanger").value)) {
				tel++;		
				document.getElementById("email-ontvanger").className = 'txtInput Wrong';		
			} else	{ 
				document.getElementById("email-ontvanger").className = 'txtInput';
			}
			if (document.getElementById("verzenddatum").value =='') {
				tel++;		
				document.getElementById("verzenddatum").className = 'txtInput Wrong';		
			} else	{ 
				document.getElementById("verzenddatum").className = 'txtInput';
			}
			if (document.getElementById("opmerkingen").value =='' || document.getElementById("opmerkingen").value =='(Max. 250 karakters)') {				
				tel++;		
				document.getElementById("opmerkingen").className = 'txtArea Wrong';
			} else	{ 
				document.getElementById("opmerkingen").className = 'txtArea';
			}
		}
	}
	if(tel==0){					
		return true;
	} else {
		if(language == 'en'){
			document.getElementById("formMelding").innerHTML = '<strong>* Please fill all required fields [' + tel + ']</strong>';
		}else if(language == 'nl'){
			document.getElementById("formMelding").innerHTML = '<strong>* Vul a.u.b. alle verplichte velden in [' + tel + ']</strong>';
		}
		return false;
	}	
}

function aanmeldSubmit(melding){ // Voor nieuwsbrief aanmeldform naar MuskitoMail
	tel=0;
	if (document.getElementById("last_name").value =='') {				
		tel++;		
		document.getElementById("last_name").className = 'txtInput Wrong';
	} else	{ 
		document.getElementById("last_name").className = 'txtInput';
	}
	if (document.getElementById("first_name").value =='') {				
		tel++;		
		document.getElementById("first_name").className = 'txtInput Wrong';
	} else	{ 
		document.getElementById("first_name").className = 'txtInput';
	}
	if (document.getElementById("email").value =='' || !checkEmail(document.getElementById("email").value)) {
		tel++;		
		document.getElementById("email").className = 'txtInput email Wrong';		
	} else	{ 
		document.getElementById("email").className = 'txtInput email';
	}
	if(tel==0){
		return true;
	} else {
		document.getElementById("formMelding").innerHTML = '<p class="verplicht">* ' + melding + ' [' + tel + ']</p>';
		return false;
	}	
}

function checkInput(input, was, wordt){
	if(input.value==was){
		input.value=wordt;
	}
}

function openInfo(){
	$('infosmall').style.display = 'none';
	$('infolarge').style.display = '';
}
function closeInfo(){
	$('infolarge').style.display = 'none';
	$('infosmall').style.display = '';
}
function displayDiv(divId, display){
	if(display==0){
		document.getElementById(divId).style.display='none';
	}
	else{
		document.getElementById(divId).style.display='';
	}
}

function changeFilter(collectie,group){
	if(collectie == 'complete-collectie'){
		var aantal = document.getElementById('totalFilter').value;
		for(var i = 0; i < aantal; i ++){
			document.getElementById('fil_'+ group +'_' + i).checked = false;
		}
		document.getElementById('verfijn_'+ group).checked = true;
		
	}
	if(typeof(t) != "undefined") {
		clearTimeout(t);
	}
	$('#filterLoad').show();
	t = setTimeout(function(){startSearch()},1000);
}

function startSearch(){
		var lang	= $('#lang').val() + '/';
		var link	= $('#group').val() + '/';
		if($('input:checkbox[name="subgroup[]"]:checked').length>0){
			$('input:checkbox[name="subgroup[]"]:checked').each(function(index) { 
				if (index == 0)
				{
				link += $(this).val();
				return true;
				}
				link += ',' + $(this).val() ;
				
			});
			link += '/';
		} else {
			link += 'complete-collectie/';
		}
		document.location.href= siteurl + lang + 'producten/' 
		+ link 
		+ 'p/' + $('#curpage').val() + '/';
}
function selectProp(group,item, groupname){
	if (group == 1)
	{
		//kleuren
		loadImages($('#opt_'+group+'_'+item).val(),$('#stock').val());
		loadSizes($('#opt_'+group+'_'+item).val(),$('#stock').val());
	} else {
		document.getElementById('sizes').className="ctMaat";
	}
	for(i=1;i<=parseInt(document.getElementById('totalSubOpts_'+group).value);i++){
		if (document.getElementById('option_'+group+'_'+i).className == 'itemselected ' + groupname)
		{
			document.getElementById('option_'+group+'_'+i).className =  'item ' + groupname;
		}
		document.getElementById('opt_'+group+'_'+i).checked = false;
	}
	document.getElementById('option_'+group+'_'+item).className = 'itemselected ' + groupname;
	document.getElementById('opt_'+group+'_'+item).checked = true;
	if (group == 2){
		var total	= document.getElementById('totalPrice').value;
		if (document.getElementById('advicePrice')){
			var advice = document.getElementById('advicePrice').value;
		} else {
			var advice = false;
		}
		count = document.getElementById('opt_price_'+group+'_'+item).value;
		tmp = parseFloat(parseFloat(total) + parseFloat(count)).toFixed(2);
		document.getElementById('totalShowPrice').innerHTML = number_format(tmp,2,',', ".");
		if (advice)
		{
			tmp2 = parseFloat(parseFloat(advice) + parseFloat(count)).toFixed(2);
			document.getElementById('adviceShowPrice').innerHTML = number_format(tmp2,2,',', ".");
		}
	}
}
function selectPropSet(group,item, groupname,setid){
	if (group == 1)
	{
		//kleuren
		loadImageSet($('#opt_'+setid+'_'+group+'_'+item).val(),$('#product_'+setid).val(),setid);
		loadSizes($('#opt_'+setid+'_'+group+'_'+item).val(),$('#product_'+setid).val(),setid);
	} else {
		document.getElementById('sizes'+setid).className="ctMaat";
	}
	for(i=1;i<=parseInt(document.getElementById('totalSubOpts_'+setid+'_'+group).value);i++){
		if (document.getElementById('option_'+setid+'_'+group+'_'+i).className == 'itemselected ' + groupname)
		{
			document.getElementById('option_'+setid+'_'+group+'_'+i).className =  'item ' + groupname;
		}
		document.getElementById('opt_'+setid+'_'+group+'_'+i).checked = false;
	}
	document.getElementById('option_'+setid+'_'+group+'_'+item).className = 'itemselected ' + groupname;
	document.getElementById('opt_'+setid+'_'+group+'_'+item).checked = true;
	if (group == 2){
		var total	= document.getElementById('totalPrice'+setid).value;
		count = document.getElementById('opt_price_'+setid+'_'+group+'_'+item).value;
		tmp = parseFloat(parseFloat(total) + parseFloat(count)).toFixed(2);
		document.getElementById('totalShowPrice'+setid).innerHTML = number_format(tmp,2,',', ".");
		document.getElementById('totalHidePrice'+setid).value = tmp;
		var cnt = 0;
		for (j=1;j<=document.getElementById('totalSet').value ;j++ )
		{
			cnt = cnt + parseFloat(document.getElementById('totalHidePrice'+j).value);
		}
		cnt = cnt - parseFloat(document.getElementById('rebate').value);
		document.getElementById('totalSetPrice').innerHTML = number_format(cnt,2,',', ".");
	}
}

function number_format (number, decimals, dec_point, thousands_sep) {
	var n = number, prec = decimals;
	var toFixedFix = function (n,prec) {    
		var k = Math.pow(10,prec);    
		return (Math.round(n*k)/k).toString();
	};
	n = !isFinite(+n) ? 0 : +n;
	prec = !isFinite(+prec) ? 0 : Math.abs(prec);
	var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
	var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
	var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); 
	var abs = toFixedFix(Math.abs(n), prec);
	var _, i;
	if (abs >= 1000) {   
		_ = abs.split(/\D/);
		i = _[0].length % 3 || 3;
		_[0] = s.slice(0,i + (n < 0)) +          _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
		s = _.join(dec);
	} else {    
		s = s.replace('.', dec);
	}
	var decPos = s.indexOf(dec);
	if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
		s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
	}else if (prec >= 1 && decPos === -1) {
		s += dec+new Array(prec).join(0)+'0';
	}
	return s; 
}

function showNotice(text,loc){
	if (typeof(loc)== "undefined"){
		loc = "";
	}
	$('#levertijd'+loc).html(text);
	$('#showlever'+loc).show();
}
function loadImages(color,product,loc){
	if (typeof(loc)== "undefined"){
		loc = "";
	}
	$.ajax({
			url: siteurl + 'includes/ajax/images.php',
			type: 'GET',
			data: {'product': product,'kleur': color },
			success: function(data) {
				$('#imagesList'+loc).html(data);
				var $gallery = $("a[rel='popup']").colorbox({slideshow:true,width:"75%", height:"75%"});
				$('a#openThumbs'+loc).click(function(e){
				  e.preventDefault();
				  $gallery.eq(0).click();
				});
			}
		});
}
function loadImageSet(color,product,loc){
if (typeof(loc)== "undefined"){
		loc = "";
	}
	$.ajax({
			url: siteurl + 'includes/ajax/imageset.php',
			type: 'GET',
			data: {'product': product,'kleur': color },
			success: function(data) {
				$('#image_'+loc).attr("src",data);
			}
		});
}
function loadSizes(color,product,loc){
	if (typeof(loc)== "undefined"){
		loc = "";
		file = "sizes.php";
	} else{
		file = "setsizes.php";
	}
	$.ajax({
			url: siteurl + 'includes/ajax/' + file,
			type: 'GET',
			data: {'product': product,'kleur': color, 'setid': loc },
			success: function(data) {
				$('#sizes'+loc).html(data);
			}
		});
}
function load360(color,product){
	var att = { data: siteurl + "flash/productviewer_01-1.swf? " + Math.floor(Math.random()*1000), width:"378", height:"378" };
	var par = { menu:"false", flashvars:"siteUrl="+siteurl+"&xmlFile=flash/data.php?product="+ product +'%26kleur=' + color};
	var id = "imgLarge";   
	$('.flashTxt').show();
	swfobject.createSWF(att, par, id);
}
function addProduct(prodid,ptype){
	if(checkProduct()){
		if (typeof(ptype) == "undefined"){
			ptype= 'cart';
		}
		var opts = '0';
		if($('.options input:checked').length>0){
			$('.options input:checked').each(function(index) { 
				opts += ',' + $(this).val() ;
			});
		} 
		if ($('#aantal').val() != ""){
			var aantal = $('#aantal').val();
		}else{
			var aantal = 1;
		}
		
		$.ajax({
			url: siteurl + 'includes/ajax/products.php',
			type: 'POST',
			data: {'options': opts,'type': ptype, 'prod_id': prodid, 'aantal': aantal},
			success: function(data) {
				openBack();
				$('#ajaxOverlay').html(data);
				$('#ajaxOverlay').show();
				$('.popupWinkelmandje').fadeIn(500);
				$('.popupWinkelmandje').css('top',(getScrollY()+10) + 'px');
			}
		});
	}
}
function hideDiv(){
	$('.flashTxt').hide();
}
function addProductSet(prodid,ptype){
	if(checkProductSet()){
		if (typeof(ptype) == "undefined"){
			ptype= 'cart';
		}
		var opts = '0';
		var prods = '0';
		if($('.countCombi1 input:checked').length>0){
			prods += ',' + $('#product_1').val();
			$('.countCombi1 input:checked').each(function(index) { 
				opts += ',' + $(this).val() ;
			});
		} 
		if($('.countCombi2 input:checked').length>0){
			prods += ',' + $('#product_2').val();
			$('.countCombi2 input:checked').each(function(index) { 
				opts += ',' + $(this).val() ;
			});
		} 
		if($('.countCombi3 input:checked').length>0){
			prods += ',' + $('#product_3').val();
			$('.countCombi1 input:checked').each(function(index) { 
				opts += ',' + $(this).val() ;
			});
		} 
		if ($('#aantal').val() != ""){
			var aantal = $('#aantal').val();
		}else{
			var aantal = 1;
		}
		
		$.ajax({
			url: siteurl + 'includes/ajax/products.php',
			type: 'POST',
			data: {'options': opts,'type': ptype, 'prod_id': prodid, 'aantal': aantal, 'prods': prods},
			success: function(data) {
				openBack();
				$('#ajaxOverlay').html(data);
				$('#ajaxOverlay').show();
				$('.popupWinkelmandje').fadeIn(500);
				$('.popupWinkelmandje').css('top',(getScrollY()+10) + 'px');
			}
		});
	}
}
function checkProduct(){
	for (group=1; group<=parseInt(document.getElementById('totalOptions').value); group++) {
		if (document.getElementById('options_required_'+group).value == 'Y') {
			checked = false;
			for(sub=1;sub<=parseInt(document.getElementById('totalSubOpts_'+group).value);sub++){
				//alert(document.getElementById('opt_'+group+'_'+sub).checked);
				if (document.getElementById('opt_'+group+'_'+sub).checked){
					checked = true;
				}
			}
			if (!checked){
				//document.getElementById('opt_title_'+group).className = 'optError';
				document.getElementById('optMelding').className='melding';
				document.getElementById('sizes').className = 'ctMaat wrong';
				return false;
			} 
		}
	}
	return true;
}
function checkProductSet(){
	for (setid=1;setid<=document.getElementById('totalSet').value ;setid++ ) {
		checked = false;
		for (group=1; group<=parseInt(document.getElementById('totalOptions_'+setid).value); group++) {
			checked = false;
			if (document.getElementById('options_required_'+setid+'_'+group).value == 'Y') {
				checked = false;
				for(sub=1;sub<=parseInt(document.getElementById('totalSubOpts_'+setid+'_'+group).value);sub++){
					if (document.getElementById('opt_'+setid+'_'+group+'_'+sub).checked){
						checked = true;
					}
				}
				if (!checked){
					document.getElementById('optMelding'+setid).className='melding';
					document.getElementById('sizes'+setid).className = 'ctMaat wrong';
					return false;
				} 
			}
		}
	}
	return true;
}
function openBack() {
	$('#backgroundOverlay').css('height', getPageHeight() +'px');
	$('#backgroundOverlay').fadeIn(500);
	$(document).keypress(function(e) {     
		if (e.which == 27 || e.keyCode == 27) {   
			sluitVenster();
		}
		e.stopPropagation();
	});
}
function closeBack() {
	$('#backgroundOverlay').fadeOut(500);
}
function calcLease(){
	var calc = parseFloat(
					parseFloat($('#stdleaseprice').val()) * 
					(
						parseFloat($('#stdleaselength').val()) /
						parseFloat($('#leasemonth').val())
					)
				);
	$('#leasetotal').html('&euro; ' + calc.toFixed(2) + ' p/m');
}
function sluitVenster(){
	$('.popupWinkelmandje').fadeOut(500,function() {
        $('#ajaxOverlay').hide();
		$('#ajaxOverlay').html('');
      });
	 closeBack();
}



function openMenu(){
	$(this).addClass('ie_does_hover');
}
function closeMenu(){
	$(this).removeClass('ie_does_hover');
}
function submitCart(){
	$('#shopCart').submit();
}
function changeThumbImage(img,uin){
	$('#thumb_'+uin).hide();
	document.getElementById('thumb_'+uin).src= siteurl + 'upload/large/' + img;
	$('#thumb_'+uin).show();	
}

