// Update the rating by Ajax
function updateFilter(id, curfilters, score)
{
	var html = Ajax().sendRequest(
		getXmlHttpUrl('ki', 'catfilters', '', 'catId=' + encodeURIComponent(id) + '&curfilters=' + encodeURIComponent(curfilters)),
		{
			method: 'GET',
			type: 'json',
			async: false,
			nocache: true,
			handler: checkJsonResponse
		}
	);
	
	if (html !== false)
	{
		getById('productListing').innerHTML = html;
		
		Ajax().evalScripts(html);
	}
}

function alterValue(id, min, minValue, max, maxValue)
{ 
	document.getElementById(min + id).value = minValue; 
	
	if(maxValue)
	{
		document.getElementById(max + id).value = maxValue;
	}
	
	return true;
}

function toggleReviewForm(action, position)
{
	var reviewForm = document.getElementById('reviewForm');
	var reviewFormCollapsed = document.getElementById('reviewFormCollapsed');
	var reviewFormEmbedded = document.getElementById('reviewFormEmbedded');
	//var reviewFormHeading = document.getElementById('reviewFormHeading');
	var review = document.getElementById('reviewEmbedded');
	
	if (reviewFormEmbedded && reviewFormEmbedded.innerHTML != '')
	{
		var htmlSource = reviewFormEmbedded;
	}
	else
	{
		var htmlSource = reviewForm;
	}
	
	if (reviewFormEmbedded && position == 'embedded')
	{
		var htmlTarget = reviewFormEmbedded;
	}
	else
	{
		var htmlTarget = reviewForm;
	}
	
	if (action == 'hide' || action == '')
	{
		if (htmlSource == reviewFormEmbedded)
		{
			reviewFormEmbedded.style.display = 'none';
			review.style.display = 'block';
		}
		else
		{
			reviewForm.style.display = 'none';
		}
		
		if (HashChecker().getHash('editReview'))
			HashChecker().setHash('', 'editReview');
		reviewFormCollapsed.style.display = 'block';
	}
	else
	{
		htmlTarget.innerHTML = htmlSource.innerHTML;
	
		if (position == 'embedded')
		{
			reviewFormEmbedded.style.display = 'block';
			review.style.display = 'none';
		}
		else
		{
			reviewForm.style.display = 'block';
		}
		HashChecker().setHash('true', 'editReview');
		reviewFormCollapsed.style.display = 'none';
		
		if (htmlTarget != htmlSource)
		{
			htmlSource.innerHTML = '';
		}
	}
}

function toggleKCArticle(article)
{
	if (hasClass(article, 'selectedArticle'))
		removeClass(article, 'selectedArticle');
	else
		addClass(article, 'selectedArticle');

	kiSetKenniscentrumArrow();
}

function kiStarRatingMouseOver(id, userScore, maxScore, elName)
{	
	for(var i = 1; i <= maxScore; i++)
	{
		var img = getById(elName + '-' + i);
		var file = '';
		
		if (i <= id)
		{
			if (i <= userScore)
				file = 'ki_star_voted_mouseover.gif';
			else
				file = 'ki_star_notvoted_mouseover.gif';
		}
		else
		{
			if (i <= userScore)
				file = 'ki_star_voted.gif';
			else
				file = 'ki_star_notvoted.gif';
		}
		
		img.src = BaseURL + 'g/framework/icons/' + file;
	}
	
	return true;
}

function kiStarRatingMouseOut(maxScore, elName)
{
	var el = getById(elName);
	var userScore = el.value; 
	
	for(var i = 1; i <= maxScore; i++)
	{
		var img = getById(elName + '-' + i);
		var file = '';
		
		if(i <= userScore)
			file = 'ki_star_voted.gif';
		else
			file = 'ki_star_notvoted.gif';
			
		img.src = BaseURL + 'g/framework/icons/' + file;
	}
	
	return true;
}

function kiSetStarRating(votevalue, elName, maxScore)
{
	var el = getById(elName);
	el.value = votevalue;
	
	kiStarRatingMouseOut(maxScore, elName);
	
	return true;
}
function kiSetKenniscentrumArrow()
{
	var el = getById('activeListItem');
	
	if (el)
	{
		var elArrow = document.getElementById('activeArticleArrow');
		
		if (!elArrow)
		{
			// create arrow element
			elArrow = document.createElement('div');
			elArrow.id = 'activeArticleArrow';
			document.getElementById('kcArticlesList').appendChild(elArrow);
		}
		else
		{
			// Reset position to bottom of list;
			elArrow.style.top = '0px';
		}
		var offsetTop = getOffsetTop(el) - getOffsetTop(elArrow);
		elArrow.style.top = (offsetTop - 4) + 'px';
	}
}
function removePriceAlert(productId)
{
	var inputname = 'Prijs[' + productId + ']';
	document.priceAlertForm.elements[inputname].value = '';
	
	var el = getById('priceAlert' + productId);
	if (el)
	{
		el.style.display = 'none';
	}
}
