
var certonaScrollVar = new Array();

//usage: To scroll
function certonaScrollLeft(transformName, displayItemCount)
{
    //the actual response may not contain resx.rrnum number of items, so we need to check for this.
    var rrnum = getActualNumOfElements(transformName);

    //initialize associative array if needed
    if (certonaScrollVar[transformName] == null)
        certonaScrollVar[transformName] = 0;
        
    //hide the rightmost visibile item and leave it alone
    document.getElementById('certonaScroller_' + transformName + '_' + ((certonaScrollVar[transformName] + displayItemCount - 1) % rrnum)).style.display = 'none';
    //bring the rightmost hidden item to the left side
    var myScrollerUL = document.getElementById('certonaScroller_' + transformName + '_' + ((certonaScrollVar[transformName] + rrnum - 1) % rrnum));
    var ul = myScrollerUL.parentNode;

    ul.insertBefore(myScrollerUL, document.getElementById('certonaScroller_' + transformName + '_' + certonaScrollVar[transformName]));

    if(certonaScrollVar[transformName] == 0)
    {
      certonaScrollVar[transformName] = rrnum;
    }
    certonaScrollVar[transformName] = (certonaScrollVar[transformName] - 1);
    document.getElementById('certonaScroller_' + transformName + '_' + certonaScrollVar[transformName]).style.display = 'block';
}

function certonaScrollRight(transformName, displayItemCount)
{
    //the actual response may not contain resx.rrnum number of items, so we need to check for this.
    var rrnum = getActualNumOfElements(transformName);

    //initialize associative array if needed
    if (certonaScrollVar[transformName] == null)
        certonaScrollVar[transformName] = 0;
        
    //hide the leftmost item
    //alert("TESTING:" + 'certonaScroller_' + transformName + '_' + certonaScrollVar[transformName])
    document.getElementById('certonaScroller_' + transformName + '_' + certonaScrollVar[transformName]).style.display = 'none';
    
    
    
    //bring it to the right side
    var myScrollerUL = document.getElementById('certonaScroller_' + transformName + '_' + certonaScrollVar[transformName]);
    var ul = myScrollerUL.parentNode;

    ul.appendChild(myScrollerUL);
    if(certonaScrollVar[transformName] == rrnum-1)
    {
      certonaScrollVar[transformName] = -1;
    }
    certonaScrollVar[transformName] = (certonaScrollVar[transformName] + 1);
    document.getElementById('certonaScroller_' + transformName + '_' + ((certonaScrollVar[transformName] + displayItemCount - 1) % rrnum)).style.display = 'block';
}

function getActualNumOfElements(transformName) {
    var hasMultipleSchemes = resx.rrnum.toString().indexOf(';');
    var index;
    if (hasMultipleSchemes > -1) {
        var schemeCollection = resx.rrelem.toString().split(';');
        var scheme = '';
        var schemeIndex = 0;
        var rrnumIndex = 0;
        for (scheme in schemeCollection) {
            if (scheme == transformName) {
                rrnumIndex = schemeIndex;
            }
            schemeIndex++;
        }
        var rrnumCollection = resx.rrnum.toString().split(';');
        index = parseInt(rrnumCollection[rrnumIndex]) - 1;
    } else {
        index = parseInt(resx.rrnum) - 1;
    }

    while(document.getElementById('certonaScroller_' + transformName + '_' + index) == null && index >= 0)
    {
        index--;
    }
    return index+1;
}
