// JavaScript Document

var postContainer;
var isSingle;
var mainCont;
var mainMenu;
var maxScrollX;
var scrollMGR = new scrollPositionManager('0;0');

if (!console) {
	var console = {};
	console.log = function(){};
}

function domID(str) {
	return document.getElementById(str)	;
}


var windowWidth;
var windowHeight;
var debug;
var sDiv;
var cDiv;
var agent=navigator.userAgent.toLowerCase();
var isIPhone = agent.indexOf('iphone') != -1;

function getSiteDimensions() {
	if (window.innerHeight) {
		windowWidth=window.innerWidth;
		windowHeight=window.innerHeight;
	/*
	} else if (document.body.clientHeight > 0) {
		windowWidth=document.body.clientWidth;
		windowHeight=document.body.clientHeight;
	*/
	} else {
		windowWidth=document.body.parentNode.clientWidth;
		windowHeight=document.body.parentNode.clientHeight;
	}
	maxScrollX=parseFloat(domID('scrollingContent').style.width)-windowWidth;
}

function getCurrentScroll() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return Array(scrOfX, scrOfY);
}


function checkInfinity() {
	if($("#mainContent")) $("#mainContent").trigger('retrieve.infscr');
}
function getScrollPosition() {
	scrollMGR.setScrollPosition(String(mainCont.scrollLeft)+":"+String(postContainer.newX));
}

function setupScrolling() {
	var scrollProperty = !isMobile ? "scrollLeft" : "tempScroll";
	getSiteDimensions();
	mainCont=domID('mainContainer');
	postContainer=domID('main');
	var c=$j('div[rel="currentPost"]')[0];
	
	var prefs=scrollMGR.getPref().split(":");
	
	if (isNaN(prefs[0])) prefs[0] = 0;
	if (isNaN(prefs[1])) prefs[1] = 0;
	
	postContainer.style.left = parseInt(prefs[1])+"px";
	postContainer.x=parseFloat(postContainer.style.left);
	
	if (c) {
		postContainer.newX=c.offsetLeft-500;
	} else {
		postContainer.newX=0;
	}
	mainCont.x=parseFloat(prefs[0]);
	mainCont.newX=Math.max(0, Math.min(maxScrollX, postContainer.newX-(windowWidth-1000)/2));
	mainCont[scrollProperty] = mainCont.x;
	
	setRelativeElements();
	
	clearInterval(postContainer.apv);
	clearInterval(mainCont.apv);
	postContainer.apv=setInterval(function(){animateProperty(postContainer, "left", "px", "x", "newX", true, "apv", .2, setRelativeElements)}, 20);
	
	mainCont.apv=setInterval(function(){animateProperty(mainCont, scrollProperty, "", "x", "newX", false, "apv", .1, checkInfinity)}, 20);
	
	scrollMGR.setScrollPosition(String(mainCont.newX)+":"+String(postContainer.newX));
}
