
/** Send the user to the product comparison page, if selections are ok. */
function doCompareProducts(mode) {
	if (mode===undefined) {
		mode='compare';
	}
	var compareURL=compareBaseURL;
	var compareCount=0;
	var form=document.getElementById('compareProductsForm');
	for(var i=0;i<form.elements.length;i++) {
		var elem=form.elements[i];
		if (elem.name=='selectCompareProduct[]') {
			if (elem.checked) {
				compareURL+='/'+elem.value;
				compareCount++;
			}
		}
	}
	if (compareCount>compareSelectMax) {
		alert("Du kan ikke sammenligne flere enn "+compareProductsMax+" produkter av gangen.");
		return false;
	}
	if (mode=='compare' && compareProductsMax-compareSelectMax+compareCount<2) {
		alert("Det er ikke valgt nok produkter for en sammenligning.");
		return false;
	}
	if (mode=='select') {
		compareURL+='/'+compareBaseSelectNode;
	}
	compareURL+='/'+mode;
	//alert("Send to URL:\n"+compareURL);
	window.location.href=compareURL;
	return true;
}

/** Count the selected products. */
function countSelectedCompareProducts() {
	var compareCount=0;
	var form=document.getElementById('compareProductsForm');
	for(var i=0;i<form.elements.length;i++) {
		var elem=form.elements[i];
		if (elem.name=='selectCompareProduct[]') {
			if (elem.checked) {
				compareCount++;
			}
		}
	}
	return compareCount;
}

/** Check if the given input is allowed to be checked. */
function checkCompareProduct(input) {
	var compareCount=countSelectedCompareProducts();
	if (compareCount>compareSelectMax) {
		//var bgCol=input.parentNode.style.backgroundColor;
		//input.parentNode.style.backgroundColor='#FF0000';
		alert("Du kan ikke sammenligne flere enn "+compareProductsMax+" produkter av gangen.");
		//input.parentNode.style.backgroundColor=bgCol;
		//input.checked=false;
		return false;
	}
	var csm=document.getElementById('compareSelectMore');
	if (csm) {
		if (compareCount>=compareSelectMax) {
			csm.disabled=true;
			csm.className='euronicsbutton_green hide';
		} else {
			csm.disabled=false;
			csm.className='euronicsbutton_green';
		}
	}
	return true;
}
