// endless page collection
var currentPage = 1;
var heightinit = 1000;
var topHeightInit = 600;
var collectionid = String('');
var isEndless = true;
var topPage = 1;
var bottomPage = 1;

function checkScroll() {
  if (nearBottomOfPage() && isEndless && (bottomPage > 0)) {
    bottomPage++;
	currentCollectionId();
  // document.getElementById("indicator").style.display="block";
	document.getElementById("pageback").style.display="block";
    new Ajax.Request('../site/endless_collection?page=' + bottomPage + "&id=" + collectionid + "&position=bottom" , {asynchronous:true, evalScripts:true, method:'get', onComplete:function(request){setupZoom();}});
//    new Effect.ScrollTo("footer",{duration:0.4, offset:-1000});
  } else if (nearTopOfPage() && isEndless && (topPage > 1)) {
      topPage--;
      // document.getElementById("indicator").style.display="block";
      document.getElementById("pageforword").style.display="block";
        new Ajax.Request('../site/endless_collection?page=' + topPage + "&id=" + collectionid + "&position=top" , {asynchronous:true, evalScripts:true, method:'get', onComplete:function(request){setupZoom();}});
        new Effect.ScrollTo("top_menu",{duration:0.4, offset:200});
    }
    else {
      setTimeout("checkScroll()", 250);
    }
}

function nearBottomOfPage() {
  return scrollDistanceFromBottom() < heightinit;
}

function nearTopOfPage() {
  return scrollDistanceFromTop() < topHeightInit;
}

function scrollDistanceFromBottom(argument) {
  return getPageHeight() - getScrollHeight();
}

function scrollDistanceFromTop() {
  return getScrollHeight();
}

function getPageHeight(){
 var y;
 var test1 = document.body.scrollHeight;
 var test2 = document.body.offsetHeight;
 if(window.innerHeight && window.scrollMaxY) {
   // fix for ff Mozilla
   y = window.innerHeight + window.scrollMaxY;
 }else if (test1 > test2) {
 y = document.body.scrollHeight;
 } else {
 y = document.body.offsetHeight;
 }
 return parseInt(y);
}

function _getWindowHeight(){
 if (self.innerWidth) {
 frameWidth = self .innerWidth;
 frameHeight = self.innerHeight;
 } else if (document.documentElement && document.documentElement.clientWidth) {
 frameWidth = document.documentElement.clientWidth;
 frameHeight = document.documentElement.clientHeight;
 } else if (document.body) {
 frameWidth = document.body.clientWidth;
 frameHeight = document.body.clientHeight;
 }
 return parseInt(frameHeight);
}

function getScrollHeight(){
 var y;
 // all except Explorer
 if (self.pageYOffset) {
 y = self.pageYOffset;
 } else if (document.documentElement && document.documentElement.scrollTop) {
 y = document.documentElement.scrollTop;
 } else if (document.body) {
 y = document.body.scrollTop;
 }
 return parseInt(y)+_getWindowHeight();
}

function currentCollectionId() {
	var url = String(document.location.href);
	var tableau = url.split('/');
	var i = tableau.length;
	collectionid = tableau[i-1];
}

function enableEndless() {
	isEndless = true;
}

function disableEndless() {
	isEndless = false;
}

function initBar() {
  initbar = true;
  if (self.pageYOffset) {
  self.pageYOffset = 1500;
  } else if (document.documentElement && document.documentElement.scrollTop) {
  document.documentElement.scrollTop = 1500;
  } else if (document.body) {
  document.body.scrollTop = 1500;
  }
}

function setPageNum(page) {
  topPage = page;
  bottomPage = page;
}

document.observe('dom:loaded', checkScroll);
document.observe('dom:loaded', setupZoom);