function switchProductListEntryInfos( masterProductID, linkElement, browseForward )
{
	var currentProductID = jQuery( linkElement ).attr( "class" );
	jQuery.getJSON('/jsonVariantInfos.bto', "productID=" + currentProductID + "&browseForward=" + browseForward, function(data) {
		var newProductID = data["productID"];
		jQuery( "#productlist_item_" + masterProductID + " a." + currentProductID ).attr( "class", newProductID );
		jQuery( "#productlist_item_" + masterProductID + " a.productLink img" ).attr( "src", data["thumbnail"] );
		jQuery( "#productlist_item_" + masterProductID + " a.productLink" ).attr( "href", data["link"] );
		jQuery( "#productlist_item_" + masterProductID + " h3" ).text( data["name"] );
		jQuery( "#productlist_item_" + masterProductID + " span.sizelabel." + currentProductID ).removeClass( "selected" );
		jQuery( "#productlist_item_" + masterProductID + " span.sizelabel." + newProductID ).addClass( "selected" );
	});
}

function showVisibleVariants( baseProductCode, masterVariantAttributeValue )
{
	jQuery.getJSON('/jsonVisibleVariantAttributeValues.bto', "baseProduct=" + baseProductCode + "&masterVariantAttributeValue=" + masterVariantAttributeValue, function(data) {
		
		var s = ".sizebox[id^=\"" + baseProductCode + "\"]";
		jQuery( s ).each(function(index) {
			jQuery( this ).addClass( 'sizebox_na' );
		});

		jQuery.each(data, function(index, value) {
			jQuery( "#" + baseProductCode + '_' + value ).removeClass( 'sizebox_na' );
		});
		
	});
}

function showVisibleMasterVariantAttributes( baseProductCode, subVariantAttributeValue )
{
	jQuery.getJSON('/jsonVisibleMasterVariantValues.bto', "baseProduct=" + baseProductCode + "&subVariantAttributeValue=" + subVariantAttributeValue, function(data) {
		
		var s = ".colorpic[id^=\"" + baseProductCode + "\"]";
		jQuery( s ).each(function(index) {
			//alert(index + ': ' + this.id );
			jQuery( this ).addClass( 'colorpic_na' );
		});

		jQuery.each(data, function(index, value) {
//			alert( index + ": " + value );
			jQuery( "#" + baseProductCode + '_' + value ).removeClass( 'colorpic_na' );
			jQuery( "#" + baseProductCode + '_' + value ).addClass( 'colorpic_available' );
		});
		
	});
}

function removeHighlightingOfVisibleMasterVariantAttributes( baseProductCode )
{
	var s = ".colorpic[id^=\"" + baseProductCode + "\"]";
	jQuery( s ).each(function(index) {
		jQuery( this ).removeClass( 'colorpic_available' );
		jQuery( this ).removeClass( 'colorpic_na' );
	});	
}

function setImageSrc( id, url )
{
	jQuery('#'+id).attr( "src", url );
}

function setElementText( id, text )
{
	jQuery('#'+id).text( text );
}
