
function UseAlternativeBestSellersOverlay()
{
    return (document.getElementById('bestSellDetBoxB') ? true : false);
}

function DisplayBestSellerRank(rank)
{
    var useAltOverlay = UseAlternativeBestSellersOverlay();
    var bestSellDetBoxMain = document.getElementById(useAltOverlay ? 'bestSellDetBoxMain' : 'bestSellDetBox');
    var bestSellDetBox     = document.getElementById(useAltOverlay ? 'bestSellDetBoxB'    : 'bestSellDetBox');

    if( bestSellDetBox && bestSellDetBoxMain )
    {
        bestSellDetBox.innerHTML = GetBestSellerDivHTML(rank);
        bestSellDetBoxMain.style.visibility = "visible";

        if( document.getElementById('rotator') )
        {
            HideRotator();
        }
    }
}

function getScrollXY() {
    var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == 'number' ) {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [ scrOfX, scrOfY ];
}

function DelayedRestoreBestSellerRank(event)
{
    var bestPromos = document.getElementById('bestPromos');

    if( bestPromos )
    {
        offsetXY = getScrollXY();

        var mouseX = (event.pageX ? event.pageX : (window.event.clientX + offsetXY[0]));
        var mouseY = (event.pageY ? event.pageY : (window.event.clientY + offsetXY[1]));

        if( !IsInsideElement(bestPromos, mouseX, mouseY) )
            RestoreBestSellerRank(); // no delay
    }
}

function RestoreBestSellerRank()
{
    var useAltOverlay = UseAlternativeBestSellersOverlay();
    var bestSellDetBoxMain = document.getElementById(useAltOverlay ? 'bestSellDetBoxMain' : 'bestSellDetBox');

    if( bestSellDetBoxMain )
    {
        bestSellDetBoxMain.style.visibility = "hidden";

        if( document.getElementById('rotator') )
        {
            ShowRotator();
        }
    }
}

function IsInsideElement(obj, x, y)
{
    oTop = GetElementAbsoluteTop(obj);
    oLeft = GetElementAbsoluteLeft(obj);
    oBottom = oTop + obj.offsetHeight;
    oRight = oLeft + obj.offsetWidth;
    return (x > oLeft && x < oRight && y > oTop && y < oBottom);
}

function GetElementAbsoluteLeft(o)
{
    // Get an object left position from the upper left viewport corner
    oLeft = o.offsetLeft;            // Get left position from the parent object
    while(o.offsetParent!=null) {   // Parse the parent hierarchy up to the document element
        oParent = o.offsetParent;    // Get parent object reference
        oLeft += oParent.offsetLeft; // Add parent left position
        o = oParent;
    }
    return oLeft;     // Return left postion
}

function GetElementAbsoluteTop(o)
{
    // Get an object top position from the upper left viewport corner
    oTop = o.offsetTop;            // Get top position from the parent object
    while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
        oParent = o.offsetParent;  // Get parent object reference
        oTop += oParent.offsetTop; // Add parent top position
        o = oParent;
    }
    return oTop; // Return top position
}

function GetRatingBoxString(type, rate)
{
    return '\
        <span class="rateBox">\
            <img src="/img/newFrontEnd/rateBar_bg.gif" width="'+ (rate * 75 / 5.0)  +'" height="15" />\
            <img src="/img/newFrontEnd/rateStars.gif" alt="'+type+' Rating "'+ rate +'/5" title="'+type+' Rating "'+ rate+'/5" />\
        </span>';
}


function GetBestSellerDivHTML(rank)
{
    var bsinfo = new Array();
    switch(rank)
    {
    case 1:
        bsinfo['prId'] = '35213';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1598';
        bsinfo['name'] = 'Samsung Impression™';
        bsinfo['prFriendlyURL'] = 'samsung-impression-att';
        bsinfo['reviewFriendlyURL'] = '/samsung-impression-user-reviews';
        bsinfo['desc'] = 'The Samsung Impression for AT&T is one of the only phones to feature a 3.2 inches AMOLED touchscreen, which displays ... ';
        bsinfo['bulletPoints'] = '<li>3.2 inch AMOLED Touchscreen with Slide-out QWERTY                          <li>3G Data Capable                          ';
        bsinfo['carrier_corpId'] = '596';
        bsinfo['carrierName'] = 'AT&T';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm596.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/att/samsung/samsung-impression-att_hbs.gif';
        bsinfo['user_rate'] = '4.34';
        bsinfo['expert_rate'] = '0';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$349.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$349.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    case 2:
        bsinfo['prId'] = '35037';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1580';
        bsinfo['name'] = 'BlackBerry® Curve™ 8900';
        bsinfo['prFriendlyURL'] = 'blackberry-curve-8900-tmobile';
        bsinfo['reviewFriendlyURL'] = '/blackberry-curve-8900-user-reviews';
        bsinfo['desc'] = 'With a sleek titanium finish, the BlackBerry Curve 8900 is the thinnest and lightest full-QWERTY BlackBerry smartphone yet. ... ';
        bsinfo['bulletPoints'] = '<li>WiFi capable for blazing web browsing speeds!                      <li>Access to work (BES) and personal (BIS) email                      ';
        bsinfo['carrier_corpId'] = '543';
        bsinfo['carrierName'] = 'T-Mobile';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm543.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/t-mobile/blackberry/blackberry-curve-8900-tmobile_hbs.gif';
        bsinfo['user_rate'] = '4.43';
        bsinfo['expert_rate'] = '4';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$399.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$399.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    case 3:
        bsinfo['prId'] = '35921';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1668';
        bsinfo['name'] = 'DROID by Motorola';
        bsinfo['prFriendlyURL'] = 'droid-by-motorola-verizon-wireless';
        bsinfo['reviewFriendlyURL'] = '/motorola-droid-user-reviews';
        bsinfo['desc'] = 'DROID by Motorola is the most powerful Android phone on the market! Its jammed packed with a 550MHz processor, 32gb memory ... ';
        bsinfo['bulletPoints'] = '<li>Google Map\'s turn by turn navigation                                                                                                                               <li>5.0 Megapixel camera/video recorder                        ';
        bsinfo['carrier_corpId'] = '660';
        bsinfo['carrierName'] = 'Verizon Wireless';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm660.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/verizonwireless/motorola/droid-by-motorola-verizon-wireless_hbs.gif';
        bsinfo['user_rate'] = '0';
        bsinfo['expert_rate'] = '0';
        bsinfo['price'] = 'Too Low to Show';
        bsinfo['prRetailPrice'] = '$549.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p class="red"><strong>Too Low to Show</strong><br />\
                <a \'/popups/zipcode_popup.htm?prId=35921&p2l2s=1\' onClick=\"openWin(\'/popups/loading.htm\',\'p2l2s\',\'620\',\'640\'); openWin(\'/popups/zipcode_popup.htm?prId=35921&p2l2s=1\', \'zipcode\', \'300\', \'200\'); return false;\">Click to See Price</a></p>\
            ';
    break;
    case 4:
        bsinfo['prId'] = '35254';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1476';
        bsinfo['name'] = 'BlackBerry® Curve™ 8330 Titanium';
        bsinfo['prFriendlyURL'] = 'blackberry-curve-8330-titanium-sprint';
        bsinfo['reviewFriendlyURL'] = '/blackberry-8330-user-reviews';
        bsinfo['desc'] = 'The BlackBerry Curve 8330 is the smallest, lightest BlackBerry ever. It features a liquid silver finish with clean lines, ... ';
        bsinfo['bulletPoints'] = '<li>Smallest QWERTY Blackberry Ever                                                                 <li>Access to BES and BIS email                                                                  <li><strong>More Colors Available</strong>';
        bsinfo['carrier_corpId'] = '545';
        bsinfo['carrierName'] = 'Sprint';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm545.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/sprint/blackberry/blackberry-curve-8330-titanium-sprint_hbs.gif';
        bsinfo['user_rate'] = '4.53';
        bsinfo['expert_rate'] = '0';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$299.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$299.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    case 5:
        bsinfo['prId'] = '36011';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1681';
        bsinfo['name'] = 'BlackBerry® Curve™ 8530';
        bsinfo['prFriendlyURL'] = 'blackberry-curve-8530-verizon-wireless';
        bsinfo['reviewFriendlyURL'] = '/blackberry-curve-8530-user-reviews';
        bsinfo['desc'] = 'New and improved, the BlackBerry® Curve™ 8530 is looking more polished and professional than ever. The BlackBerry® Curve™ ... ';
        bsinfo['bulletPoints'] = '<li>Wi-Fi Capable        <li>2.0 Megapixel Camera                                                                                                      <li><strong>More Colors Available</strong>';
        bsinfo['carrier_corpId'] = '660';
        bsinfo['carrierName'] = 'Verizon Wireless';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm660.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/verizonwireless/blackberry/blackberry-curve-8530-verizon-wireless_hbs.gif';
        bsinfo['user_rate'] = '0';
        bsinfo['expert_rate'] = '0';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$349.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$349.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    case 6:
        bsinfo['prId'] = '35933';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1674';
        bsinfo['name'] = 'Samsung Mythic™';
        bsinfo['prFriendlyURL'] = 'samsung-mythic-att';
        bsinfo['reviewFriendlyURL'] = '/samsung-mythic-user-reviews';
        bsinfo['desc'] = 'Samsung\'s Mythic is the Complete Package; and fills any role you could imagine for your mobile device. Its functionality is ... ';
        bsinfo['bulletPoints'] = '<li>3.3\" Touch Display with Virtual QWERTY                                                              <li>Media Player for music, videos and photos                                                                                      ';
        bsinfo['carrier_corpId'] = '596';
        bsinfo['carrierName'] = 'AT&T';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm596.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/att/samsung/samsung-mythic-att_hbs.gif';
        bsinfo['user_rate'] = '0';
        bsinfo['expert_rate'] = '0';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$449.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$449.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    case 7:
        bsinfo['prId'] = '35673';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1647';
        bsinfo['name'] = 'BlackBerry Curve 8520';
        bsinfo['prFriendlyURL'] = 'blackberry-curve-8520-black-tmobile';
        bsinfo['reviewFriendlyURL'] = '/blackberry-curve-8520-user-reviews';
        bsinfo['desc'] = 'The BlackBerry Curve 8520 is the first consumer conscious Curve device from BlackBerry. In building this device, they had ... ';
        bsinfo['bulletPoints'] = '<li>Thin, Full QWERTY Keyboard                                                                                           <li>Wi-Fi and UMA Calling                                                                                                                    <li><strong>More Colors Available</strong>';
        bsinfo['carrier_corpId'] = '543';
        bsinfo['carrierName'] = 'T-Mobile';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm543.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/t-mobile/blackberry/blackberry-curve-8520-black-tmobile_hbs.gif';
        bsinfo['user_rate'] = '4.31';
        bsinfo['expert_rate'] = '3.8';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$399.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$399.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    case 8:
        bsinfo['prId'] = '35923';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1672';
        bsinfo['name'] = 'LG Chocolate Touch';
        bsinfo['prFriendlyURL'] = 'lg-chocolate-touch-verizon-wireless';
        bsinfo['reviewFriendlyURL'] = '/lg-chocolate-touch-user-reviews';
        bsinfo['desc'] = 'The performance of LG\'s Chocolate dynasty has been undeniable over the years, and the LG Chocolate Touch doesn\'t disappoint. ... ';
        bsinfo['bulletPoints'] = '<li>3.0” Touchscreen with vibrating response                          <li>3.2 Megapixel Camera/Camcorder                                                               ';
        bsinfo['carrier_corpId'] = '660';
        bsinfo['carrierName'] = 'Verizon Wireless';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm660.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/verizonwireless/lg/lg-chocolate-touch-verizon-wireless_hbs.gif';
        bsinfo['user_rate'] = '0';
        bsinfo['expert_rate'] = '0';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$299.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$299.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    case 9:
        bsinfo['prId'] = '35672';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1643';
        bsinfo['name'] = 'Samsung Solstice™';
        bsinfo['prFriendlyURL'] = 'samsung-solstice-att';
        bsinfo['reviewFriendlyURL'] = '/samsung-solstice-user-reviews';
        bsinfo['desc'] = 'The next full touch offering from AT&T and Samsung, the Samsung Solstice™, is a communication and entertainment gateway at ... ';
        bsinfo['bulletPoints'] = '<li>Full Touch Screen with crisp 3.0” QVGA display                              <li>Widget tool bar with social networking shortcuts                              ';
        bsinfo['carrier_corpId'] = '596';
        bsinfo['carrierName'] = 'AT&T';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm596.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/att/samsung/samsung-solstice-att_hbs.gif';
        bsinfo['user_rate'] = '4.28';
        bsinfo['expert_rate'] = '0';
        bsinfo['price'] = 'You make $50.00';
        bsinfo['prRetailPrice'] = '$249.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$249.99</strike></p>\
                <p class="red"><strong>Your Price: You make $50.00</strong></p>\
            ';
    break;
    case 10:
        bsinfo['prId'] = '34781';
        bsinfo['pgId'] = '100';
        bsinfo['pfId'] = '1563';
        bsinfo['name'] = 'Samsung Behold Espresso';
        bsinfo['prFriendlyURL'] = 'samsung-behold-espresso-tmobile';
        bsinfo['reviewFriendlyURL'] = '/samsung-behold-user-reviews';
        bsinfo['desc'] = 'The Samsung Behold is the cell phone designed for capturing those special moments in life. With a 5MP camera, GPS ... ';
        bsinfo['bulletPoints'] = '<li>3.0 inch Capacitive Touchscreen Display      <li>3G Capable for speed optimization      <li><strong>More Colors Available</strong>';
        bsinfo['carrier_corpId'] = '543';
        bsinfo['carrierName'] = 'T-Mobile';
        bsinfo['carrierLogoImgURL'] = '/img/corpLogos/plSm543.gif';
        bsinfo['prodImgURL'] = '/img/prod/cell-phones/t-mobile/samsung/samsung-behold-espresso-tmobile_hbs.gif';
        bsinfo['user_rate'] = '4.25';
        bsinfo['expert_rate'] = '3.8';
        bsinfo['price'] = 'FREE';
        bsinfo['prRetailPrice'] = '$499.99';
        bsinfo['promoSpotPriceDisplay'] = '\
                <p>Product Price: <strike>$499.99</strike></p>\
                <p class="red"><strong>Your Price: FREE</strong></p>\
            ';
    break;
    default:
    break;
    }

    var useAltOverlay = UseAlternativeBestSellersOverlay();

    var userRating = '';
    var expertRating = '';
    var carrierLogo = '';

    var prodDetailURL = '/product/product.htm?prId='+bsinfo['prId'];
    var expertReviewURL = '/reviews/review.htm?pfId='+bsinfo['pfId']+'&rNav=3';
    if(bsinfo['prFriendlyURL'])
    {
        prodDetailURL = bsinfo['prFriendlyURL'];
        expertReviewURL = prodDetailURL+'?expandERV=1&amp;#exptRevs';
        //alert(prodDetailURL);
    }

    var prodImg = '<a href="'+prodDetailURL+'" onclick="UserTrackPageView(\'BSOIM\')"><img src='+bsinfo['prodImgURL']+' border=0 height="170"/></a>';

    var reviewURL = '/reviews/review.htm?pfId='+bsinfo['pfId']+'&rNav=2';
    if(bsinfo['reviewFriendlyURL'])
    {
        reviewURL = bsinfo['reviewFriendlyURL']; 
    }
    
    if( bsinfo['user_rate'] > 0 )
    {
        var ratebox = GetRatingBoxString('User', bsinfo['user_rate']);

        if( useAltOverlay )
        {
            userRating = '\
        <p class="rating">\
        ' + ratebox + '\
        <a href="'+reviewURL+'" onclick="UserTrackPageView(\'BSOUR\')">User Rating '+bsinfo['user_rate']+'</a>\
        </p>';
        }
        else
        {
            userRating = '\
        <a href="'+reviewURL+'" onclick="UserTrackPageView(\'BSOUR\')">\
        <p>User Rating<br>'+bsinfo['user_rate']+'</p>\
        ' + ratebox + '\
        </a>';
        }
    }

    if( bsinfo['expert_rate'] > 0 )
    {
        var ratebox = GetRatingBoxString('Expert', bsinfo['expert_rate']);

        if( useAltOverlay )
        {
            expertRating = '\
        <p class="rating">\
        '+ ratebox + '\
        <a href="'+expertReviewURL+'" onclick="UserTrackPageView(\'BSOER\')">Expert Rating '+bsinfo['expert_rate']+'</a>\
        </p>';
        }
        else
        {
            expertRating = '\
        <a href="'+expertReviewURL+'" onclick="UserTrackPageView(\'BSOER\')">\
        <p>Expert Rating<br>'+bsinfo['expert_rate']+'</p>\
        ' + ratebox + '\
        </a>';
        }
    }

    if( bsinfo['carrierLogoImgURL'] )
    {
        carrierLogo = '<img src="'+ bsinfo['carrierLogoImgURL'] + '" class="'+ ( useAltOverlay ? 'botom' : 'carrLogo') +'" alt="'+bsinfo['carrierName']+'"/>';
    }



    if( useAltOverlay )
    {
        return '\
    <div id="bsPhnPic" class="col">\
        '+ prodImg + '<br />\
        '+ carrierLogo +'\
    </div>\
    <div id="bsDetails" class="col">\
        <h2><a href="'+prodDetailURL+'" onclick="UserTrackPageView(\'BSONM\')">'+ bsinfo['name']+'</a></h2>\
        '+ userRating +'\
        '+ expertRating +'\
        <p>'+ bsinfo['desc']+'</p>\
        <ul>'+ bsinfo['bulletPoints']+'</ul>\
        <div class="bottom">\
            '+ bsinfo['promoSpotPriceDisplay'] +'\
            <form name="detailSelection" action="/upgrades/buytype.htm?prId='+bsinfo['prId']+'&tNav=1&redirect=/plans/shop.htm" method="POST">\
                <input type=image src="/img/home/bs_shopNow_btn.gif" class="right" alt="Shop now" name="buyImage" onclick="UserTrackPageView(\'BSOAC\')" />\
            </form>\
        </div>\
    </div>\
    <a href="'+prodDetailURL+'" onclick="UserTrackPageView(\'BSOMI\')"><img src="/img/home/moreInfo_gfx.gif" id="moreInfo" alt="More Information" border="0"/></a>\
    ';
    }
    else
    {
        return '\
    <div id="bsPhnPic" class="col">\
        '+ prodImg + '<br />\
        <a href="'+prodDetailURL+'" onclick="UserTrackPageView(\'BSOMI\')"><img src="/img/newFrontEnd/moreInfo_btn.gif" class="bottom" border="0"/></a>\
    </div>\
    <div id="bsDetails" class="col">\
        <h2><a href="'+prodDetailURL+'" onclick="UserTrackPageView(\'BSONM\')">'+ bsinfo['name']+'</a></h2>\
        <p>'+ bsinfo['desc']+'</p>\
        <ul>'+ bsinfo['bulletPoints']+'</ul>\
        <div class="bottom">\
            '+ bsinfo['promoSpotPriceDisplay'] +'\
        </div>\
    </div>\
    <div id="bsAction" class="col">\
        '+ carrierLogo +'\
        '+ userRating +'\
        '+ expertRating +'\
        <form name="detailSelection" action="/upgrades/buytype.htm?prId='+bsinfo['prId']+'&tNav=1&redirect=/plans/shop.htm" class="bottom" method="POST">\
              <input type=image src="/img/newFrontEnd/hm_addToCart_btn.gif" alt="Add to Cart" name="buyImage" onclick="UserTrackPageView(\'BSOAC\')" />\
        </form>\
    </div>\
    ';
    }
}
