<!-- start reviews block-->
var BVisLoaded = false;
var isRCountDisplayed = false;
var bvReadUrl;

function BVCheckLoadState()
{
	
	if(!BVisLoaded)
	{
	    var bvObj = document.getElementById('BVFrame');
	    if (bvObj != null && bvObj != undefined)
	    {
		    bvObj.src="";
		    var page = bvObj.src;
		    bvObj.src="http://reviews.dell.com/logging?page=" + page;
		}
		
		var container = document.getElementById('BVReviewsContainer');
		if (container != null && container != undefined)
	    {
	        container.innerHTML="<!-Review retreival timed out ->";
		}
		
	}
}

function FFBVFIXER()
{
   if ( BVisLoaded && $j('#BVReviewsContainer').html() != null && $j('#BVReviewsContainer').html().length ==0 )
                {
                         
        for ( var i = 0 ; i < window.frames.length ;  i++ )
        {
            if ( window.frames[i].name  == 'BVFrame') 
            {
                window.frames[i].bvPushContent();
            }
        }
    }
}

var rContClone;

function copyReviewsToTab()
{
    
    
    var jsTab = $j('#jstab');
    var style='#BVReviewsContainer';
    var rCont = $j(style);
    
    
   
    if ( jsTab.length > 0 && rCont.length > 0)
    {
        
        rContClone = rCont.clone();
        rCont.remove();
        
        //jsTab.html( "");
        //jsTab.append ( rContClone );
        // var dd = jsTab.find  ( 'select.BVsortDropdown');
        //dd.attr('id', 'sortOptionBVFrame');
        fillJsTab(jsTab);
        //rCont.find  ( 'select.BVsortDropdown').attr('id', 'flurd');
        //$(dd).change ( function (){FFBVFIXER();})

    }
    else
    {
        if(jsTab.length > 0 && rContClone.length > 0)
        {
            fillJsTab(jsTab);
        }
        setTimeout ( copyReviewsToTab , 500 );
    }
    //tbd handle timing issue
    //trackRatingsTabMetrics();
}

function fillJsTab(jsTab)
{
    jsTab.html("");
    jsTab.append ( rContClone );
    var dd = jsTab.find  ( 'select.BVsortDropdown');
    dd.attr('id', 'sortOptionBVFrame');
}
function copyReadLink()
{
    
    if(bvReadUrl != '')
    {
        var lnks = $j('.BVRatingSummaryLinks').find("a");
    
        if(lnks.length > 0)
        {
            $j(lnks).each(function()
                {
                    if(($j(this)[0].id == '') && ($j(this)[0].className == ''))
                    {
                        $j(this)[0].href = bvReadUrl;
                    } 
            });
        } 
    }
}
function ratingsDisplayed(totalReviewCount, avgRating, ratingsOnlyReviewCount)
{
	if(!isRCountDisplayed)
	{
		if(totalReviewCount == 0)
		{
			displayNoBVContainer();
		}
		
		isRCountDisplayed = true;
	}
}

function displayNoBVContainer()
{
	var container = document.getElementById('BVReviewsContainer');
	if(container != null && container != undefined)
	{
		container.style.display = "none";
		
	}
}

function displayReviewCount(totalReviewCount)
{
	
	var reviewCaption = getReviewCaption(totalReviewCount);

	var container = document.getElementById('BVCustomerRatings');
	writeFloat(container, "left");
	
	var defaultUrl= document.getElementById('BVdefaultURL');
	writeFloat(defaultUrl, "none");
		
	if(container != null && container != undefined && defaultUrl != null && defaultUrl != undefined)
	{
		var newDiv = document.createElement("DIV");
		newDiv.className = "para";
		newDiv.innerText = reviewCaption;
		writeText(newDiv, reviewCaption);
		writeFloat(newDiv, "left");

		container.parentNode.insertBefore(newDiv, defaultUrl);
		
	}
}

function writeText(element, caption)
{

	if ('string' == typeof element.textContent) 
	{
		
		element.textContent = caption;
	}
	else
	{
		
		element.innerText = caption;
	}

}

function writeFloat(element, floatStyle)
{
	if ('string' == typeof element.textContent) 
	{
		element.style.cssFloat = floatStyle;
	}
	else
	{
		element.style.styleFloat = floatStyle;
	}
}

function getReviewCaption(totalReviewCount)
{
	var reviewCaption = " ( ";
	if(totalReviewCount == 1)
		reviewCaption = reviewCaption + totalReviewCount + " review";
	else
		reviewCaption = reviewCaption + totalReviewCount + " reviews";
	reviewCaption = reviewCaption + " ) ";
	
	return reviewCaption;
}

<!--end reviews block-->