function prepareCarouselPagination() {
    var ajaxPagerLinks = $$('.ajax-carousel-pager');

	var browserURL = document.location.href;
	var secureURL = 0;
		
	if ( browserURL.indexOf("https:") > -1 ) {
		secureURL = 1;
	}
	
	
    $A( ajaxPagerLinks ).each ( function (elm) {
		elm.observe('click', function(event) {
		    event.stop(); // prevent link from going to #
		    var url = elm.readAttribute('href');
		    url    += url.indexOf( '?' ) == -1 ? '?' : '&';
	        url    += "ajax=1";

			if ( secureURL && (url.indexOf("http:") > -1) ) { // solve same-domain problem for SSL url / non-SSL'ed link
				url = "https:" + url.slice(5,url.length);
			}
			else if ( !secureURL && (url.indexOf("https:") > -1) ) { // solve same-domain problem for nonSSL url / SSL'ed link
				url = "http:" + url.slice(6,url.length);
			}		
	
		    new Ajax.Request(url, {
				method: 'get',
				onLoading: function(transport) {
                                    if (transport.readyState < 4) {
                                      var mainContent = $('mainContent');
                                      mainContent.update('<img src="/images/ajax-loader-darkgreen.gif" style="margin: 320px 0 0 275px;" />');
                                    }
				},
				onSuccess: function(transport) {
				    var mainContent = $('mainContent');

   					var onpage = elm.readAttribute("onPage");

					updatePageFromHTML(transport.responseText);
					
/* 				    mainContent.update(transport.responseText); */

					if ( onpage != null ) {
					    prepareCarousel(null, null, null, null, onpage);
					}

				    prepareCarouselPagination();
				    startListeningOnButtons();
				    prepareAjaxPagination();
				    initialize(); // this is for the lightbox 

				}
		    } );
		} ); // elm.observe
    } ); // .each
} // prepareCarouselPagination

function prepareAjaxPagination() {
    var ajaxPagerLinks = $$('.ajax-pager');

	var browserURL = document.location.href;
	var secureURL = 0;
	
	if ( browserURL.indexOf("https:") > -1 ) {
		secureURL = 1;
	}
	
    $A( ajaxPagerLinks ).each ( function (elm) {
		elm.observe('click', function(event) {
		    event.stop(); // prevent link from going to #
		    var url = elm.readAttribute('href');
		    url    += url.indexOf( '?' ) == -1 ? '?' : '&';
	        url    += "ajax=1";	

			if ( secureURL && (url.indexOf("http:") > -1) ) { // solve same-domain problem for SSL url / non-SSL'ed link
				url = "https:" + url.slice(5,url.length);
			}
			else if ( !secureURL && (url.indexOf("https:") > -1) ) { // solve same-domain problem for nonSSL url / SSL'ed link
				url = "http:" + url.slice(6,url.length);
			}		

		    new Ajax.Request(url, {
				method: 'get',
				onLoading: function(transport) {

                                    if (transport.readyState < 4) {
                                      var mainContent = $('mainContent');
                                      mainContent.addClassName("loading");
                                      mainContent.update('<img src="/images/ajax-loader-darkgreen.gif" style="margin: 320px 0 0 275px;" />');
                                    }

				},
				onSuccess: function(transport) {
				    var mainContent = $('mainContent');
				    mainContent.removeClassName("loading");
				    var linksPerScroll = elm.readAttribute("linksperscroll");
										
					updatePageFromHTML(transport.responseText);

					if ( linksPerScroll != null ) {						
						var linkText;

						if ( elm.innerHTML == "Next" ||  elm.innerHTML == "Prev" ) {
							linkText = getCurrentlySelectedLinkNumber(); //this comes from the carousel
						}
						else {
							linkText = eval(elm.innerHTML);
						}

					    var carouselStartPage = linkText == 0 ? 0 : Math.floor( eval(linkText+"-1") / eval(linksPerScroll) );

					    prepareCarousel(null, null, null, null, carouselStartPage);
					    prepareCarouselPagination();
					    startListeningOnButtons();
					

					}
					
				    prepareAjaxPagination();
				    initialize(); // this is for the lightbox
				}
		    } );
		} ); // elm.observe
    } ); // .each
} // prepareAjaxPagination


function updatePageFromHTML ( html ) {
    var mainContent = $('mainContent');
    var bottomPagination = $('bottom-pager');

	var tmpElement = document.createElement("div");
	
	tmpElement = $(tmpElement);
	
	tmpElement.update(html);

	tmpElement.hide();

	document.body.appendChild(tmpElement);
	
	tmpElement.select('div#ajaxContent').each(
		function(elm) {
			mainContent.update(elm.innerHTML);
		}
	);

	if ( tmpElement.select('div.pagination').size() ) {
		tmpElement.select('div.pagination').each(
			function(elm) {
				bottomPagination.update(elm.innerHTML);
				bottomPagination.show();
			}
		);
	}
	else {
		bottomPagination.hide();
	}

	document.body.removeChild(tmpElement);
	
	
}
