function carouselLstgotoPage(carousel, setpageNumb, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage, currpageIndex) {

    if (!(carpagenumb == setpageNumb)) {
        carpagenumb = setpageNumb;
        if (carpagenumb == (pageTotal)) { jQuery('#' + carouselItem + '-next').addClass('jcarousel-next-btn-dsbld'); }
        else { jQuery('#' + carouselItem + '-next').removeClass('jcarousel-next-btn-dsbld'); }
        jQuery('.jcarousel-control-a.' + anchorName).removeClass('jcarousel-control-act');
        if (setpageNumb == 1) { jQuery('#' + carouselItem + '-prev').addClass('jcarousel-prev-btn-dsbld'); carousel.scroll(jQuery.jcarousel.intval(1)); }
        else { jQuery('#' + carouselItem + '-prev').removeClass('jcarousel-prev-btn-dsbld'); carousel.scroll(((setpageNumb - 1) * showPerPage + 1)); }
        jQuery('#' + currpageIndex).addClass('jcarousel-control-act');
        
    }
    return carpagenumb;
}
function carouselLstPrev(carouselName, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage) {
    if (!(carpagenumb == 1)) {
        jQuery('#' + carouselItem + 'Item-' + carpagenumb).removeClass('jcarousel-control-act');
        if (carpagenumb == (pageTotal)) { jQuery('#' + carouselItem + '-next').removeClass('jcarousel-next-btn-dsbld'); }
        carpagenumb = carpagenumb - 1;
        jQuery('#' + carouselItem + 'Item-' + carpagenumb).addClass('jcarousel-control-act');
        if (carpagenumb == 1) { jQuery('#' + carouselItem + '-prev').addClass('jcarousel-prev-btn-dsbld'); }
        var mycarousel = jQuery(carouselName).data('jcarousel'); mycarousel.prev();
    }
    return carpagenumb;
}
function carouselLstNext(carouselName, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage, checkmaxlength) {
    if (!(carpagenumb == pageTotal)) {
        var mycarousel = jQuery(carouselName).data('jcarousel');
        var highPage = jQuery('#' + carouselItem + "Item-" + PlayListPagingMax).text();
        if (checkmaxlength == 1) { if (carpagenumb == highPage) { return carouselPageNext(carouselName, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage, PlayListPagingMax); } }
        jQuery('#' + carouselItem + 'Item-' + carpagenumb).removeClass('jcarousel-control-act');
        if (carpagenumb == 1) { jQuery('#' + carouselItem + '-prev').removeClass('jcarousel-prev-btn-dsbld'); }
        carpagenumb = carpagenumb + 1;
        jQuery('#' + carouselItem + 'Item-' + (carpagenumb)).addClass('jcarousel-control-act');
        if (carpagenumb == pageTotal) {jQuery('#' + carouselItem + '-next').addClass('jcarousel-next-btn-dsbld'); }
        mycarousel.next();
    }
    return carpagenumb;
}
function carouselPageNext(carousel, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage, currpageIndex) {
    var itemOneVal = parseInt(jQuery('#' + carouselItem + "Item-1").text()) + PlayListPagingMax;
    if (!(itemOneVal == 1)){ jQuery('#' + carouselItem + 'Item-prevpg').attr('style', 'visibility: visible'); }
    var isShort = false;
    var isShortIndx = 0;
    var i = 0;
    for (i = 0; i < PlayListPagingMax; i++) {
        jQuery('#' + carouselItem + "Item-" + (i + 1)).text(i + itemOneVal);
        if ((i + itemOneVal) >= (pageTotal)) {
            jQuery('#' + carouselItem + "Item-" + (i + 2)).attr('style', 'visibility: hidden');
            jQuery('#' + carouselItem + 'Item-nxtpg').attr('style', 'visibility: hidden');
            if (isShort == false) { isShortIndx = (i + 1); }
            isShort = true;
        }
    }
    
    var selectedID = "";
    if (isShort == true) {
        if (isShortIndx >= carouselRight(jQuery("#" + carousel + " .jcarousel-control-a.jcarousel-control-act").attr("id"), 1)) 
        { selectedID = jQuery("#" + carousel + " .jcarousel-control-a.jcarousel-control-act").attr("id"); }
        else { selectedID = carouselItem + 'Item-' + isShortIndx; }
    }
    else { selectedID = jQuery("#" + carousel + " .jcarousel-control-a.jcarousel-control-act").attr("id"); }
    
    var newPageNumb = (carpagenumb + PlayListPagingMax);
    var mycarousel = jQuery(carousel).data('jcarousel');
    return carouselLstgotoPage(mycarousel, newPageNumb, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage, selectedID); ;
}

function carouselPagePrev(carousel, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage, currpageIndex) {
    
    var itemOneVal = parseInt(jQuery('#' + carouselItem + "Item-1").text()) - PlayListPagingMax;
    
    jQuery('#' + carouselItem + 'Item-nxtpg').attr('style', 'visibility: visible');

    var i = 0;
    for (i = 0; i < PlayListPagingMax; i++) {
        jQuery('#' + carouselItem + "Item-" + (i + 1)).text(i + itemOneVal);
        jQuery('#' + carouselItem + "Item-" + (i + 2)).attr('style', 'visibility: visible');
        jQuery('#' + carouselItem + 'Item-nxtpg').attr('style', 'visibility: visible');
    }

    var selectedID = jQuery("#" + carousel + " .jcarousel-control-a.jcarousel-control-act").attr("id")
    var newPageNumb = (carpagenumb - PlayListPagingMax);
    var mycarousel = jQuery(carousel).data('jcarousel');
    if (itemOneVal == 1) { jQuery('#' + carouselItem + 'Item-prevpg').attr('style', 'visibility: hidden'); }
    return carouselLstgotoPage(mycarousel, newPageNumb, carouselItem, carpagenumb, pageTotal, anchorName, showPerPage, selectedID);
}

function carouselRight(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }
}

