﻿// JScript File
/*
***************
* Functions for laying out portions of the Product Page.
* P. Rutins 2009
* Requires prototype.js (v 1.6)
****************
*/

var PFMembers = new Array();
var myElements = new Hash();

/* for creating the main tabset 
*  requires:
*  myElements["tabsList"] (the definition list that contains the tabset)
*  myElements["tabsArea"] (the div that contains the whole tabbed area, for size)
*/
function CreateMainTabs() {
    var tabsList, tabsArea, myCSSTabTop, myCSSTabBody, myTabs;
    if (check(tabsList = myElements.get('tabsList'))) {
        // set styles
        myCSSTabTop = new OrvisTabCSS('tabTopDefault', 'tabTopChosen', 'row');
        myCSSTabBody = new OrvisTabCSS('tabBodyDefault', 'tabBodyChosen', 'row');

        // create tabset
        myTabs = CreateOrvisTabSet(tabsList, myCSSTabTop, myCSSTabBody);

        // set the size of the tab tops. IE6 reports tabs at 100% width, so must first size them to 5 across, then resize dynamically.        
        if (check(tabsArea = myElements.get('tabsArea'))) {
            if (Prototype.Browser.IE6) { myTabs.sizeTabs(true, 22, 2, 5, tabsArea); }
            myTabs.sizeTabs(false, 22, 2, 5, tabsArea);
        } else {
            if (Prototype.Browser.IE6) { myTabs.sizeTabs(true, 22, 2, 5, tabsList.parent); }
            myTabs.sizeTabs(false, 22, 2, 5, tabsList.parent);
        }
        // show the first tab
        if (myTabs.tabs.length > 0) { myTabs.tabs[0].show(); }
    }
    return myTabs;
}

/*
* for loading the BV reviews summary into the description tab.
*/
function loadReviewsSummary(numTries) {
    if (!check(summaryDiv = myElements.get("reviewsSummary"))) { return; }
    numTries -= 1;
    if (numTries >= 0) {
        //alert(numTries);
        if ((typeof(BVisLoaded) != 'undefined') && (BVisLoaded == true) && (cRatings = $("BVCustomerRatings")) && (cRatings.innerHTML != "")) {
            summaryDiv.update(cRatings.innerHTML);
            $(summaryDiv.parentNode).show();
        } else { // try again after 1 second
            setTimeout(function() { loadReviewsSummary(numTries); }, 1000); 
        }
    }
}

function SetupTabElements() {
    if (check(myElements)) {
        myElements.set("tabsList", $("tab_list"));
        myElements.set("tabsArea", $("tabsArea"));
        myElements.set("reviewsSummary", $("tab_ratings_summary_content"));
        myElements.set("reviewsReadButton", $("ratings_read_button_link"));
        myElements.set("reviewsWriteButton", $("ratings_write_button_link"));

        myElements.set('tabSet', CreateMainTabs());
        loadReviewsSummary(10);
    }
}
