function showVisibleVariants( baseProductCode, masterVariantAttributeValue )
{
	// define an erasure function to store a reference to
	// dataFromBrowser and to call dataFromServer
	var callbackProxy = function(dataFromServer) {
	  showVisibleVariantsCallback(dataFromServer, baseProductCode);
	};

	var callMetaData = { callback:callbackProxy, exceptionHandler: exceptionHandlerFunction };


	VariantProductSearch.getVisibleVariantAttributeValues(
		baseProductCode,
		masterVariantAttributeValue,
		callMetaData );
}

function showVisibleVariantsCallback( data, baseProductCode )
{
	$(document.body).getElements('.sizebox').each(
		function( item, index )
		{
			if( item.id.indexOf( baseProductCode ) > -1 )
			{
				item.addClass( 'sizebox_na' );
			}
		}
	);

	data.each(
		function( item, index )
		{
			var id = baseProductCode + '_' + item;
			//alert( id );
			if($chk($(id)))
			{
				$(id).removeClass( 'sizebox_na' );
			}
		});
}

function showVisibleMasterVariantAttributes( baseProductCode, subVariantAttributeValue )
{
	// define an erasure function to store a reference to
	// dataFromBrowser and to call dataFromServer
	var callbackProxy = function(dataFromServer) {
	  showVisibleMasterVariantAttributesCallback(dataFromServer, baseProductCode);
	};

	var callMetaData = { callback:callbackProxy, exceptionHandler: exceptionHandlerFunction };


	VariantProductSearch.getVisibleMasterVariantValues(
		baseProductCode,
		subVariantAttributeValue,
		callMetaData );
}

function removeHighlightingOfVisibleMasterVariantAttributes( baseProductCode )
{
	$(document.body).getElements('.colorpic').each(
		function( item, index )
		{
			if( item.id.indexOf( baseProductCode ) > -1 )
			{
				item.removeClass( 'colorpic_available' );
				item.removeClass( 'colorpic_na' );
			}
		}
	);
}

function showVisibleMasterVariantAttributesCallback( data, baseProductCode )
{
	$(document.body).getElements('.colorpic').each(
		function( item, index )
		{
			if( item.id.indexOf( baseProductCode ) > -1 )
			{
				item.addClass( 'colorpic_na' );
			}
		}
	);

	data.each(
		function( item, index )
		{
			//alert( item );
			var id = baseProductCode + '_' + item;
			if($chk($(id)))
			{
				$(id).removeClass( 'colorpic_na' );
				$(id).addClass( 'colorpic_available' );
			}
		});
}

function exceptionHandlerFunction( exceptionMessage, exception )
{
	alert( exceptionMessage );
	//alert( exception );
}

function setImageSrc( id, url )
{
	if($chk($(id)))
	{
		var myElement = $(id);
		if( myElement != null )
		{
			myElement.src = url;
		}
	}
}

function setElementText( id, text )
{
	if($chk($(id)))
	{
		var element = $(id);
		if( element != null )
		{
			element.textContent = text;
		}
	}
}