﻿var boxes;
var currentRef;
function showRef(el){
	el.addEvent('mouseenter', function(e){
		e.stop();
		
		
		$('refBox').setStyle('top', e.page.y-window.getScroll().y);
		$('refBox').setStyle('left', e.page.x+20);
		$('refBox').setStyle('display', 'block');
		$('refBox').set('html', '<img src="imgs/loading.gif" />');
		var img = new Asset.image(el.get('href'), {
			onload:function(){
				$('refBox').empty();
				var yLimit = e.page.y-window.getScroll().y+this.height+20;
				if(yLimit > window.getSize().y){
					$('refBox').setStyle('top', window.getSize().y-this.height-30);
				}
				var xLimit = e.page.x+this.width+20;
				if(xLimit > window.getSize().x){
					$('refBox').setStyle('left', e.page.x-this.width-50);
				}
				this.inject($('refBox'));
			}
		});
	});
	el.addEvent('mouseleave', function(e){
		e.stop();
		$('refBox').setStyle('display', 'none');
		$('refBox').empty();
	});
	el.addEvent('click', function(e){
		e.stop();
	});
}

function fillPosts(nodes, i, ref){
	var request = new Request({
		url:'json/getNode.json.php',
		method:'get',
		data: {'nodeId':nodes[i].id},
		onSuccess:function(obj){
			if(currentRef != ref) return;
			jsonObj = JSON.decode(obj);
			if(jsonObj.online == 1){
				var postElem = new Element('div', {'class':'post'});
				var titleElem = new Element('div', {'class':'subtitle','text':jsonObj.title});
				postElem.set('html', jsonObj.text);
				if(jsonObj.title != '')
					titleElem.inject(postElem, 'top');
				var post = postElem.inject($('insideContent').getElement('.posts'));
			
				post.getElements('.reference').each(showRef);
			}
			if(i<nodes.length-1)
				fillPosts(nodes, i+1, ref);
		}
	}).send();
	
	
}

function loadWork(ref){
	//alert(ref);
	
	currentRef = ref;
	$('insideContent').getElement('.title').set('html', '');
	$('insideContent').getElement('.head').set('html', '');
	$('insideContent').getElement('.posts').empty();
	$('insideContent').getElement('.posts').set('html', '<img src="imgs/loading.gif" />');
	$('content').setStyle('display', 'block');
	var request = new Request({
			url:'json/getNode.json.php',
			method:'get',
			data: {'nodeId':ref},
			onSuccess:function(obj){
				jsonObj = JSON.decode(obj);
				$('insideContent').getElement('.title').set('html', jsonObj.title);
				$('insideContent').getElement('.head').set('html', jsonObj.text);
				$('insideContent').getElement('.posts').empty();
				fillPosts(jsonObj.posts.node, 0, ref);
			}
		}).send();
	
}

function go2Box(ref){
	//alert('bouh');
	boxes.each(function(b){
			b.setStyle('z-index', b.retrieve('initz'));
	});
	ref = ref.replace(/#/, '');
	refAr = ref.split('_');
	if(refAr.length > 1)ref = refAr[0];
	
	

	
	$(ref).setStyle('display', 'block');
	
	if(refAr.length > 1) loadWork(refAr[1]);

}


window.addEvent('domready',function(){
		
		
		boxes = $$('.box');
	
		
		for(var i = boxes.length; i >=1; i--){
			boxes[i-1].setStyle('z-index', i);
			boxes[i-1].store('initz', i);
		}
		
		$('bckLayer').addEvent('click', function(e){
			$('content').setStyle('display', 'none');
		});
		boxes[0].setStyle('display', 'block');
		topz = boxes.length+1;
		
		$$('.go2Box').each(function(el){
			el.addEvent('click', function(e){
				
				//e.stop();
				go2Box(el.get('href'));
			});
		});
		
		boxes.each(function(box){
			box.addEvent('mouseover', function(){
				boxes.each(function(b){
					b.setStyle('z-index', b.retrieve('initz'));
				});
				
				//topElem.setStyle('z-index', oldz);
				box.setStyle('z-index', topz);
				//topElem = box;
				
			});
			
		});
		var url = new URI(window.location.href);
		if(url.get('fragment') != ''){
			//alert(url.get('fragment'));
			go2Box(url.get('fragment'));
		
		}
		
		
		
});

