// why didn't I think of this sooner?
var megaloading=false;
var megaPages=Array();
var megaCurrent=1;
var right_col_height=0;
var lastTag="true";
var megaPageInterval=6;
window.addEvent('domready', function(){
	var megaFH,megaLH;
	if($("megapagination")&&$("megapagination_receiver")){
		if($("megapagination_receiver").nodeName=="TABLE"&&iex){
		
		}else{
			$('megapagination').getElements('a').each(function(el){
				if(el.id=="next1"&&!megaFH)megaFH=el.href;
				megaLH=el.href;
			});
			if($('int_right_col')){
				$('int_right_col').getElements("div[class$=user_widget]").each(function(el){
					right_col_height+=el.offsetHeight*1;
				});
			}
			if(megaFH){
				var megaFP=megaFH.replace(/.*(p[0-9]+.*)/,"$1");
				var megaLP=megaLH.replace(/.*(p[0-9]+.*)/,"$1");
				var start=megaFP.replace(/p([0-9]+).*/,"$1")*1;
				var end=megaLP.replace(/p([0-9]+).*/,"$1")*1;
				megaCurrent=start-1;
				for(var i=start;i<end+1;i++){
					megaPages[i]=(megaFP.replace(/p[0-9]+(.*)/,"p"+i+"$1"));
				}
				$("megapagination").innerHTML='<a href="javascript:megaNext();" id="loadMore" class="loadMore">Load More</a>';
				handleMegaPagination();
			}
		}
	}
});
window.addEvent('scroll',function(){
	if($("megapagination")){
		handleMegaPagination();
		if($('int_right_col'))handleMegaRightCol();
	}
});
function handleMegaPagination(){
	if(!megaloading&&$("megapagination")){
		if(($(window).getHeight()+$(window).getScrollTop())>$("megapagination").offsetTop*1){
			megaloading=true;
			if(megaPages[megaCurrent+1])loadMOAR();
		}
	}
}
function handleMegaRightCol(){
	if($(window).getHeight()>right_col_height){
		var columnsTop=$('columns').offsetParent.offsetTop*1;
		var columnsHeight=$('megapagination').offsetTop*1;
		var newPadding=($(window).getScrollTop()-columnsTop+$('header').offsetHeight*1+15);
		if(right_col_height+newPadding<columnsHeight){
			$('int_right_col').style.paddingTop=(newPadding>0?newPadding:0)+"px";
		}else{
			$('int_right_col').style.paddingTop=(columnsHeight-right_col_height+15)+"px";
		}
	}
}
function megaNext(){
	megaloading=false;
	handleMegaPagination();
}
function loadMOAR(){
	var ajax_req=new Ajax(megaPages[megaCurrent+1], { method: 'post', data: "ajax="+escape(lastTag),
		onComplete: function(txt){
			if($("megapagination_receiver").nodeName=="TABLE"){
				var ne="TBODY";
			}else var ne="SPAN";
			var newHTML=new Element(ne,{'id':'megaPage'+megaCurrent});
			newHTML.innerHTML=txt;
			$("megapagination_receiver").appendChild(newHTML);
			
			//if(document.admin)alert($("megapagination_receiver").tBodies.length);
			if($("megapagination_receiver").className=="miilist"||$("megapagination_receiver").className=="usermiis")handleMiiList($('megaPage'+megaCurrent));
			if($("megapagination_receiver").className.indexOf("check_list")>-1)handleCheckList('megaPage'+megaCurrent,"row");
			if(txt.indexOf("rating_form")>0)handleStars();
			
			lastTag=checkForTags(megaCurrent);
			
			megaCurrent++;
			if(megaCurrent+1==megaPages.length){ // end of line
				$("megapagination").innerHTML='<div class="clear"></div>';
			}else{
				$('loadMore').innerHTML="Load page "+(megaCurrent+1)+" of "+megaPages.length;
				if(megaCurrent%megaPageInterval!=megaPageInterval-1){
					megaloading=false;
					handleMegaPagination();
				}
			}
		}
	}).request();
}
function checkForTags(m){
	$('megaPage'+m).getElements("h5").each(function(el){
		if(el.firstChild.nodeValue>"")lastTag=el.firstChild.nodeValue;
	});
}
