﻿// ask_and_answer_subject.js

// Inline script for Bazaarvoice Ask & Answer integration with category and product pages.  BVQAisLoaded(baseUrl) and
// bvLoadQA(baseUrl, frameSrc) were both originally parameterless.  We added their current parameters for much easier AJAX support
// than =var insertion of values provides.

document.domain = "bikebandit.com";

function BVQADisplayed(questionCount, answerCount)
{
    if (questionCount > 0) {
        var bvALPLink = document.getElementById("BVALPLinkContainer");
        if (bvALPLink) { bvALPLink.style.display = "block"; }
    }
    
    // TBD: ...insert WebTrends tracking?  ...other custom items that should leverage these values?
}

var BVQAisLoaded = false;
function BVcheckQALoadState(baseUrl) {
    if(!BVQAisLoaded) {
        var page = document.getElementById('BVQAFrame').src;
        document.getElementById('BVQAFrame').src= baseUrl +'/logging?page=' + escape(page);
        document.getElementById('BVQAContainer').innerHTML = "<!-- QA retrieval timed out. -->";
    }
}

function bvLoadQA(baseUrl, frameSrc) {
    var bvQAFrameSrc = frameSrc;
    var bvQuestionIDName = 'featurequestion';
    
    var bvoice_user = $bv('#BVQACustomerID').text();
    
    var bvQuestionIDRegex = new RegExp('[?&]' + bvQuestionIDName + '=([^&#]+)');
    var bvQuestionIDMatch = bvQuestionIDRegex.exec(window.location.search);
    var bvQuestionID = bvQuestionIDMatch ? decodeURIComponent(bvQuestionIDMatch[1]) : null;
    
    bvQAFrameSrc = /^[0-9]+$/.test(bvQuestionID) ? bvQAFrameSrc + '&expandQuestionID=' + bvQuestionID : bvQAFrameSrc;
    
    var bvPageMatch = /[?&]bvpage=([^&#]+)/.exec(window.location.search);
    var bvPage = bvPageMatch ? decodeURIComponent(bvPageMatch[1]) : null;
    var bvRegex = new RegExp('^' + window.location.protocol + '\/\/([A-Za-z0-9-.]+[.])?' + document.domain + '\/');
    
    $bv('#BVQAFrame').attr('src', (bvPage && bvRegex.test(bvPage)) ? bvPage.replace(/__USERID__/, bvoice_user) : bvQAFrameSrc);
    
    // Timeout for QA load.  Consider content unavailable if not loaded within 15 seconds.
    setTimeout("BVcheckQALoadState('" + baseUrl + "')", 15000);
}