// JScript source code
/* NOTES

class="nopop" will keep any link from doing the popup
names are retrieved from links
rows are id="sc_cross_sell_names" and "sc_cross_sell_images"

*/

var csDiv, csWin, csItems = new Array();

/*
    created by RTML
var csWinWidth = 750;
var csWinHeight = 600;
var csWinCaptionLimit = 400;
var csWinMoreText = 'Read More >>';

var csWinURL = "advanced-cross-sell-popup.html";
var storeID = "yhst-49241233419632";
*/

var csWinParams = 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1';

function crossSellItem(num, csInfo) {
/*
    Cross-sell item 'class'.
*/
    this.name = csInfo[0][num];
    this.image = csInfo[1][num];
    this.price = csInfo[2][num];
    this.sale = csInfo[3][num];
    this.caption = csInfo[4][num];
    this.order = csInfo[5][num];
    this.shortcaption = (csWinCaptionLimit == 0) ? csInfo[4][num] : limitChars(csInfo[4][num],csWinCaptionLimit,'javascript:showCaption('+num+');',csWinMoreText);
}

function createCSPopupHandler(el,i,pageID) {
/*
    Actually writes onclick event handler for all <A> tags inside cross sell div.
*/
    if(!(el.className.indexOf("nopop") > -1))
        el.onclick = function() {
            /*
                Open cross-sell window (popup.html) when cross-sell item is clicked.
            */
                var w = csWinWidth, h = csWinHeight;
                if (document.all || document.layers) {
                    w = screen.availWidth;
                    h = screen.availHeight;
                }
                var leftPos = (w-csWinWidth)/2
                var topPos = (h-csWinHeight)/2;
                var fullParams = csWinParams+',width='+csWinWidth+',height='+csWinHeight+',left='+leftPos+',top='+topPos;
                csWin = window.open(csWinURL+'?num='+i+'&pageid='+pageID+'&storeid='+storeID,'csWin',fullParams);
                if(window.focus) csWin.focus();
                if(csWin) return false;
        };
}

function setCSHandlers() {
/*
    Prepares to write onclick handler for all <A> tags inside cross sell div.
*/
    //once for 'image' links
    var csLinks = new Array();
    var imageDivs = findElementsInTags("div","className.indexOf('thumb') > -1",csDiv);
    for(var i=0; i<imageDivs.length; i++)
        csLinks[i] = imageDivs[i].getElementsByTagName('a')[0];
    for(var i=0; i<csLinks.length; i++) {
        var el = csLinks[i];
        var ahref = imageDivs[i].getElementsByTagName('a')[0].href;
        var ahrefsmall = ahref.substr(ahref.lastIndexOf("/")+1);
        var pageID = ahrefsmall.split(".")[0];
        createCSPopupHandler(el,i,pageID);
    }
    //once for 'name' links
    var csLinks2 = new Array();
    var nameDivs = findElementsInTags("div","className.indexOf('name') > -1",csDiv);
    for(var i=0; i<nameDivs.length; i++)
        csLinks2[i] = nameDivs[i].getElementsByTagName('a')[0];
    for(var i=0; i<csLinks2.length; i++) {
        var el = csLinks2[i];
        var ahref = nameDivs[i].getElementsByTagName('a')[0].href;
        var ahrefsmall = ahref.substr(ahref.lastIndexOf("/")+1);
        var pageID = ahrefsmall.split(".")[0];
        createCSPopupHandler(el,i,pageID);
    }
}

function csNames() {
/*
    Gathers all cross-sell item names from cross-sell div.
    Returns array of the names based on <div class="name">
*/
    var allCSNames = new Array();
    var allCSNameDivs = findElementsInTags("div","className.indexOf('name') > -1",csDiv);
    for(var i=0; i<allCSNameDivs.length; i++)
        allCSNames[i] = allCSNameDivs[i].getElementsByTagName('a')[0].innerHTML;
    return allCSNames;
}

function csGetInfo(infotype) {
/*
    Gathers all cross-sell item info of one type (infotype) from cross-sell div.
    Returns array of the innerHTML of <div class="infotype">
        infotype = some classname, such as 'price'
*/
    var thisGroup = new Array();
    var allTheDivs = findElementsInTags("div","className.indexOf('"+infotype+"') > -1",csDiv);
    for(var i=0; i<allTheDivs.length; i++)
        thisGroup[i] = allTheDivs[i].innerHTML;
    return thisGroup;
}

function initCrossSell() {
/*
    1. Gathers all cross-sell item info from cross-sell div.
    2. Creates global array csItems from class crossSellItem().
    3. Sets onclick handlers on all links in cross-sell div.
*/
    csDiv = findElement("sc_cross_sell");

    //step 1
    var csInfo = new Array();
    csInfo[0] = csNames();
    csInfo[1] = csGetInfo('image');
    csInfo[2] = csGetInfo('price');
    csInfo[3] = csGetInfo('sale');
    csInfo[4] = csGetInfo('caption');
    csInfo[5] = csGetInfo('order');

    //step 2
    for(var i=0; i<csInfo[0].length; i++) {
        csItems[csItems.length] = new crossSellItem(i,csInfo);
    }

    //step 3
    setCSHandlers();

    return false;
}

/*
    Initialize links and create item array.
*/
addEvent(window,"load",function() {
	initCrossSell();
});
