function navigateLeft() {
	document.getElementById('ContentPosts').scrollLeft-=20;
};

function navigateRight() {
	document.getElementById('ContentPosts').scrollLeft+=20;
};

function loadImage(divPost) {
	var imgPreloader = new Image();

	imgPreloader.onload=function(){
		var objLoading = divPost.getElement('div').getElement('div');
		
		var objPostImage = document.createElement("img");
//		objPostImage.setAttribute('class','postThumbImage');
		objPostImage.className = 'postThumbImage';
		objPostImage.setAttribute('src',imgPreloader.src);
		divPost.getElement('div').replaceChild(objPostImage, objLoading);
		objPostImage.setAttribute('height',250);
		objPostImage.setAttribute('width',imgPreloader.width*(250/imgPreloader.height));
		
	    divPost.setStyle('width',imgPreloader.width*(250/imgPreloader.height) + 5);
		adjustHolderWidth(0);
		var tagsText = '';
	    while (divPost.getElement('div.postTags').getStyle('height').toInt()+divPost.getElement('div.postTags').getTop() > 490) {
			tagsText = divPost.getElement('div.postTags').innerHTML;
			tagsText = tagsText.substring(0,tagsText.lastIndexOf(',')) + ' (...)';
			divPost.getElement('div.postTags').innerHTML = tagsText;
		};
	} 
	anchors = divPost.getElements('div.postGallery a');
	if (anchors.length > 0) imgPreloader.src = anchors[0].getAttribute('href');
};

function loadImage2(divPost, idx) {
	var imgPreloader = new Image();
	var objLoading = divPost.getElement('div.postOpened').getElement('div.postLoadImage');
	var objPostImage = divPost.getElement('div.postOpened').getElement('img.postImage');
	
	imgPreloader.onload=function(){
		objPostImage = document.createElement("img");
		//objPostImage.setAttribute('class','postImage');
		objPostImage.className = 'postImage';
		divPost.getElement('div.postOpened').replaceChild(objPostImage, objLoading);
		if (imgPreloader.width*(450/imgPreloader.height) > 660) {
			divPost.setStyle('width',1050+imgPreloader.width*(450/imgPreloader.height)-660);
		} else {
			divPost.setStyle('width',1050);
		}
		adjustHolderWidth(0);
		divPost.getElement('div.postOpened').getElement('img.postImage').set('opacity',0);
		objPostImage.src = imgPreloader.src;
		divPost.getElement('div.postOpened').getElement('img.postImage').tween('opacity',0,1);
	}

	anchors = divPost.getElements('div.postGallery a');
	if (anchors.length > idx) {
		if (objLoading == null && objPostImage != null) {
			objLoading = document.createElement("div");
			objLoading.className = 'postLoadImage';
			divPost.getElement('div.postOpened').replaceChild(objLoading, objPostImage);
			divPost.getElement('div.postOpened').getElement('div.postLoadImage').setStyle('width',divPost.getElement('div.postOpened').getElement('div.postLoadImage').getStyle('width').toInt());
		}
	
		imgPreloader.src = anchors[idx].getAttribute('href');
		var sIdx = idx;
		if (idx < 10) sIdx = '0' + sIdx;
		divPost.getElement('div div .curImage').set('text', sIdx);
		if (idx == 1) {
			divPost.getElement('div.postOpened div.postPrevImage a').setStyle('display','none');
		} else {
			divPost.getElement('div.postOpened div.postPrevImage a').setStyle('display','block');
		}
		if (idx == (anchors.length - 1)) {
			divPost.getElement('div.postOpened div div.postNextImage a').setStyle('display','none');
		} else {
			divPost.getElement('div.postOpened div div.postNextImage a').setStyle('display','block');
		}
	}
};

function adjustHolderWidth(delta) {
 	var posts = $$('div.post_closed');
	var w = delta;
	var i;
	for (i = 0; i < posts.length; i++) {
		w = w + posts[i].getStyle('width').toInt() + 5;
	}
	$('content_holder').setStyle('width', w+50);
	if ($('divNavigation') != null) {
		$('divNavigation').setStyle('width', w-15);
	}
}

var postOpened;

var postClick = function(e) {
	e.stop();
	var _this = this.getParent();
	var origWidth = _this.getWidth();
	if (origWidth < 1000) {
		this.removeEvent('click',postClick);
		var morph = new Fx.Morph(_this.get('id'));
		adjustHolderWidth(1000 - origWidth);
		morph.start('.post_opened').chain(function() {
											if (postOpened != null) {
												postOpened.getElement('div.postOpened').getElement('div.postClose a').fireEvent('click');
											} else {
												_x = $('ContentPosts').getScroll().x + _this.getLeft();
												_y = $('ContentPosts').getScroll().y;
												var _scroll = new Fx.Scroll('ContentPosts');
												_scroll.start(_x,_y);
											}
											loadImage2(_this,1); 
											
											postOpened = _this; 
										 });
		if (_this.getElement('div.postOpened').getElement('img.postImage') != null) _this.getElement('div.postOpened').getElement('img.postImage').setStyle('display','none');
		_this.getElement('div.postOpened').tween('opacity',0,1);
		_this.getElement('div.postThumb').setStyle('display','none');
		_this.getElement('div.postTags').setStyle('display','none');
		var closeClick = function() {
			var _divPost = this.getParent().getParent().getParent();
			var _morph = new Fx.Morph(_divPost.get('id'));
			_morph.start({'width': origWidth-5, 'height': 320, 'margin-top': 70}).chain(function() { adjustHolderWidth(origWidth-5 - _divPost.getStyle('width').toInt()); });
			this.getParent().getParent().set('opacity',0);
			_divPost.getElement('div.postThumb').set('opacity',0);
			_divPost.getElement('div.postTags').set('opacity',0);
			_divPost.getElement('div.postThumb').setStyle('display','block');
			_divPost.getElement('div.postTags').setStyle('display','block');
			_divPost.getElement('div.postThumb').tween('opacity',0,1);
			_divPost.getElement('div.postTags').tween('opacity',0,1);
			postOpened = null;
			_divPost.getElement('div.postThumb').addEvent('click', postClick);
			this.removeEvent('click',closeClick);
		};
		_this.getElement('div.postOpened').getElement('div.postClose a').addEvent('click', closeClick);
		_this.getElement('div.postOpened').getElement('div.postNextImage a').addEvent('click', function() {
			var curImage = this.getParent().getParent().getParent().getElement('div .curImage').get('text').toInt();
			curImage++;
			loadImage2(this.getParent().getParent().getParent().getParent(), curImage);
		});
		_this.getElement('div.postOpened').getElement('div.postPrevImage').addEvent('click', function() {
			var curImage = this.getParent().getElement('div .curImage').get('text').toInt();
			if (curImage > 1) {
				curImage--;
				loadImage2(this.getParent().getParent(), curImage);
			};
		}); 
	};
}

var doResize = function() {
	var innerHeight = 0;
	if (window.innerHeight) {
		innerHeight=window.innerHeight
	} else {
		innerHeight=document.documentElement.clientHeight
	}
	$('ContentPosts').setStyle('height',innerHeight - 100);
};

window.addEvent('resize', doResize);

window.addEvent('domready', function(){
	var leftInterval = 0;								 
	var rightInterval = 0;								 
	
	if ($('nav_left') != null) {
		$('nav_left').addEvents({
			'mouseenter': function(){
				$('img_nav_left').set('styles', {'display': 'block'});
				leftInterval = setInterval("navigateLeft()",50);
				clearInterval(rightInterval);
			},
			'mouseleave': function(){
				$('img_nav_left').set('styles', {'display': 'none'});
				clearInterval(leftInterval);
			}
		});
		
		$('nav_right').addEvents({
			'mouseenter': function(){
				$('img_nav_right').set('styles', {'display': 'block'});
				rightInterval = setInterval("navigateRight()",50);
				clearInterval(leftInterval);
			},
			'mouseleave': function(){
				$('img_nav_right').set('styles', {'display': 'none'});
				clearInterval(rightInterval);
			}
		});
		
		 _postArray = $$('div.post_closed');
		for (var i = 0; i < _postArray.length; i++) {
			divPost = _postArray[i];
	
			if (divPost != null) {
				divPost.getElement('div.postOpened').set('opacity',0);
				divPost.getElement('div.postThumb').addEvent('click', postClick);
				
			    loadImage(divPost);
			};
		}; 
		doResize(); 
	} 
});