function set_pagination () {
    var start = parseInt($("input:hidden[name=list_start]").val());
    var results = parseInt($("input:hidden[name=max_return]").val());
    var total = parseInt($("input:hidden[name=list_count]").val());
    if (isNaN(results)) { results = 10; }
    if (isNaN(total)) { total = 0; }
    if (isNaN(start)) { start = 1; }

    var end = start - 1 + results;
    if (end > total) { end = total; }

    $("input:hidden[name=list_start]").val('1');
    $("#cpn_count_start").text(start);
    $("#cpn_count_end").text(end);
    $("#cpn_count_total").text(total);
    
    next_start = start + results;
	
    if (total > next_start) {
	$(".pagenext").wrapInner('<a href="" />');
    } 
};

$(document).ready(function() {
    // do stuff when DOM is ready

    // hide the mlp box if there are no promos in it.
    $("div.mlpmorebox").not(":has(div.mlpline)").hide();
    $("div.mlpmorebox").not(":has(div.mlpline)").prev().hide();

    $("div.mlp-box-scroll").not(":has(div.mlpline)").hide();
    $("div.mlp-box-scroll").not(":has(div.mlpline)").prev().hide();

    // set up to only show two mlp coupons on the MLP page.  it will 
    // slide the rest down when you click the "more button"
    $("div.mlpline:gt(1)").hide();
    if ($("div.mlpline:gt(1)").is(":has(a)")) {
        $("div.mlpline:last").after("<div id='show_all_cpn' width='100' align='center' class='mlp-bttn-rd-fill'>More</div>");
    }

    $("#show_all_cpn").click(function() {
        $("div.mlpline:gt(1)").slideToggle();
        $("#show_all_cpn").hide();
    });

    // Run this when the window loads.  This is specifically set up for scrolling divs
    set_pagination();

    $(".pagenext").click(function(e){
        e.preventDefault();

	var start = parseInt($("input:hidden[name=list_start]").val());
	var results = parseInt($("input:hidden[name=max_return]").val());
	var total = parseInt($("input:hidden[name=list_count]").val());

	var next_start = start + results;

	if (next_start + results > total) {
	    $(".pagenext").text("NEXT");
	}

	if (next_start > total) {
	    // do nothing;
        }
	else {
            // fetch the next set of data
	    $("input:hidden[name=list_start]").val(next_start);
	    pagination(next_start, results, total);
	    var prev_text = $(".pageprev a").text();
	    if (prev_text == "") {
		$(".pageprev").wrapInner('<a href="" />');
	    }
        }
    });

    $(".pageprev").click(function(e){
        e.preventDefault();

	var start = parseInt($("input:hidden[name=list_start]").val());
	var results = parseInt($("input:hidden[name=max_return]").val());
	var total = parseInt($("input:hidden[name=list_count]").val());

	var next_start = start - results;

	if (next_start - results < 1) {
	    $(".pageprev").text("PREV");
	}
	if (next_start + results < total) {
	    var next_text = $(".pagenext a").text();
	    if (next_text == "") {
		$(".pagenext").wrapInner('<a href="" />');
	    }
	}

	if (next_start < 1) {
	    // do nothing
	}
	else {
            // fetch the next set of data
	    $("input:hidden[name=list_start]").val(next_start);
	    pagination(next_start, results, total);
        }

    });
 });

function pagination(next_start, results, total) {

    var xmlfunc = $(":input:hidden[name=func]").val();
    var ajax_call = "/ajax/" + xmlfunc + "/start" + next_start + "/results" + results + "/";

    var cid;
    var alpha;
    var sort; 
    var ce;
    var me;
    var mid;
    var terms;
    var full;
    var no_mlp;

    //    alert ('start');
    cid = $(":input:hidden[name=cid]").val();
    if (cid && cid.length > 0) {
        ajax_call = ajax_call + 'cid' + cid + '/';
    }

    mid = $(":input:hidden[name=mid]").val();
    if (mid && mid.length > 0) {
        ajax_call = ajax_call + 'mid' + mid + '/';
    }

    alpha = $(":input:hidden[name=alpha_filter]").val();
    if (alpha && alpha.length > 0) {
	ajax_call = ajax_call + 'alpha' + alpha + '/';
    }

    sort = $("input:hidden[name=sort_filter]").val();
    if (sort && sort.length > 0) {
	ajax_call = ajax_call + 'sort' + sort + '/';
    }
    
    // Adding next section in case product search is present
    ce = $("input:hidden[name=ce]").val();
    if (ce && ce.length > 0) {
	ajax_call = ajax_call + 'ce' + ce + '/';
    }

    me = $("input:hidden[name=me]").val();
    if (me && me.length > 0) {
	ajax_call = ajax_call + 'me' + me + '/';
    }

    terms = $("input:hidden[name=terms]").val();
    if (terms && terms.length > 0) {
	ajax_call = ajax_call + 'terms' + terms + '/';
    }

    full = $("input:hidden[name=full]").val();
    if (full && full.length > 0) {
	ajax_call = ajax_call + 'full' + full + '/';
    }

    no_mlp = $("input:hidden[name=no_mlp_redirect]").val();
    if (no_mlp && no_mlp.length > 0) {
	ajax_call = ajax_call + 'no_mlp_redirect' + 1 + '/';
    }
    
    var max_num = next_start - 1 + results;
    if (max_num > total) { max_num = total; }

//     alert(ajax_call);
    $.ajax({
        url: ajax_call,
	success: function (data) {
	    $("#offers-scroller").hide();
	    $("#offers-scroller").html($("html", data).text());
	    $("#offers-scroller").animate({opacity: "show"}, 200);

	    $("#cpn_count_start").text(next_start);
	    $("#cpn_count_end").text(max_num);
	    update_text();
	}
    });
    //    alert('end');
}
