function initImageZoom(initial){
	var imgs = $('main').getElements(initial);
	if(imgs.length > 0){
		imgs.each(function(im){
			new Element('span').set('html', '<br />').inject(im);
			new ReMooz(im, {
				centered: true,
				origin: im.getElement('img'),
				dragging: false
			});
		});
	}
}

function show_login_form(initial, close, form){
	form.set('tween', {
		duration: 600,
		transition: Fx.Transitions.Quart.easeOut,
		link: 'chain',
		property: 'opacity'
	});

	form.get('tween').set(0);

	initial.addEvent('click', function(e, ffb){
		if(e){
			e.stop();
		}
		if(!u_logged_status && !ffb){
			if(form.hasClass('dn')){
				form.removeClass('dn');
				form.get('tween').start(1);
				initial.addClass('shown');
				if(initial.hasClass('ru')){
					initial.set('text', 'Авторизуйтесь, пожалуйста');
				}
				else{
					initial.set('text', 'Log in, please');
				}
			}
			else{
				form.get('tween').start(0).chain(function(){
					form.addClass('dn');
					initial.removeClass('shown');
					if(initial.hasClass('ru')){
						initial.set('text', 'Напишите комментарий');
					}
					else{
						initial.set('text', 'Leave a comment');
					}
				});
			}
		}

		if(ffb){
			initial.removeClass('shown');
			if(initial.hasClass('ru')){
				initial.set('text', 'Напишите комментарий');
			}
			else{
				initial.set('text', 'Leave a comment');
			}
		}
	});

	close.addEvent('click', function(e){
		e.stop();
		if(initial.hasClass('shown')){
			form.get('tween').start(0).chain(function(){
				form.addClass('dn');
				initial.removeClass('shown');
				if(initial.hasClass('ru')){
					initial.set('text', 'Напишите комментарий');
				}
				else{
					initial.set('text', 'Leave a comment');
				}
			});
		}
	});
}

function tabs(initials, tabs){
	var in_process = false;
	initials.each(function(initial){
		if(initial.hasClass('selected')){
			selected = initial;
		}
	});

	tabs.each(function(tab){
		tab.set('morph', {
			duration: 350,
			//transition: Fx.Transitions.Quad.easeIn,
			link: 'chain',
			onStart: function(){
				in_process = true;
			},
			onComplete: function(){
				in_process = false;
				if(tab.hasClass('selected')){
					tab.removeClass('selected').setStyles({'left': '-100%'});
				}
				else{
					tab.addClass('selected');
				}
			}
		});
		if(!tab.hasClass('selected')){
			tab.setStyles({
				'opacity': 0,
				'left': '-100%'
			}).removeClass('dn');
		}
	});

	initials.each(function(initial, i){
		initial.addEvent('click', function(e){
			e.stop();
			if(initial != selected){
				if(!in_process){
					var current_tab = tabs[initials.indexOf(selected)];
					current_tab.get('morph').start({
						'opacity': 0,
						'left': '100%'
					});
					(function(){tabs[i].get('morph').start({
						'opacity': 1,
						'left': 0
					})}).delay(150);

					initial.addClass('selected');
					selected.removeClass('selected');
					selected = initial;
				}
			}
		});
	});
}

function set_answer_listener(){
	var lnk = $('comments').getElements('div a.reply');
	lnk.each(function(el){
		el.addEvent('click', function(e){
			e.stop();
			var el_rel = el.getProperty('rel');
			var comment_id = el_rel.toString();
			comment_id = comment_id.substr(1);
			comment_id = parseInt(comment_id);
			addComment.moveForm(el_rel, comment_id, "respond", post_id);
		});
	});
}
function set_login_listener(){
	var scroll = new Fx.Scroll(window);
	var lnk = $('comments').getElements('div a.reply');
	lnk.each(function(el){
		el.addEvent('click', function(e){
			e.stop();
			$$('.show_comment_auth')[0].fireEvent('click', [e, false]);
			scroll.toBottom();
		});
	});
}

function add_author_classes(elements){
	elements.each(function(el){
		var link = el.getElement('a');
		if(link){
			if(link.getProperty('href').search('facebook') != -1){
				el.addClass('facebook');
			}
			else if (link.getProperty('href').search('twitter') != -1){
				el.addClass('twitter');
			}
		}
	});
}

window.addEvent('domready', function(){
	var deArticle = {
		'#main .menu': [['div','ang at',1]],
		'#main .incut': [['div','ang at',1],['div','ang ab',1]],
		'.blue p.link a': [['span','ang at',0],['span','ang ab',0]]
	};
	var deComments = {
		'.post': [['div','ang at',1],['div','ang ab',1]],
		'.answer': [['div','ang at',1],['div','ang ab',1]],
		'.trackback': [['div','ang at',1],['div','ang ab',1]]
	};
	injectDecors(deArticle);
	injectDecors(deComments);
	
	initImageZoom('a[rel*=lightbox]');
	//initImageZoom('a[class^=zoom]');

	if($$('.comment_auth').length > 0){
		tabs($$('.comment_auth .controls a'), $$('.comment_auth .tabs .tab'));
		show_login_form($$('.show_comment_auth')[0], $$('.comment_auth')[0].getElement('.close_auth_form'), $$('.comment_auth')[0]);
		var scroll = new Fx.Scroll(window);
	}
	if($$('#comments').length > 0){
		if(!u_logged_status){
			set_login_listener();
		}
		else{
			set_answer_listener();
		}
		if($('comments').getElements('.author').length > 0){
			add_author_classes($('comments').getElements('.author'));
		}
	}
})

