var accordeonWidth = 301;
var accordeonPaddingLeft = 0;
var accordeonPaddingRight = 0;
var pageLoaded = false;
var contentLoading = false;

$(document).ready(function(){
	initAccordion(1);
	$(window).resize();
	//initContentSlider();
});

var accCurrN = 0, accNextN = -1, isChanging = false;
var accCurr = 0, accNext = 0;
var accTimer;
function initAccordion(first){
	if( $('#accordion').get(0) ){
		$('#accordion div.block').each(function(i){
			this.ind = i;
			
			$(this).mouseover( function(){
				if(isChanging) return;
				if(this.ind == accCurrN) return;
				
				accNextN = this.ind;
				
				var next = this;
				var curr = $('#accordion div.block').get(accCurrN);
				
				var currBox = $(curr).children('div.box');
				var nextBox = $(next).children('div.box');
				
				// set initial properties
				$(curr).removeClass('active');
				$(currBox).css({'visibility':'visible', 'width':accordeonWidth});
				$(nextBox).css({'visibility':'visible', 'width':1});
				
				isChanging = true;
				$(next).addClass('active');
				
				accCurr = currBox; accNext = nextBox;
				accTimer = setInterval(slideAcc,10);
			});
		});
	}
}

function slideAcc(){
	var offset = 10;
	if($.browser.mozilla && parseFloat($.browser.version) < 1.9) offset = 15;
	var cw = $(accCurr).width();
	var nw = $(accNext).width();
	if( cw > 1 && nw < accordeonWidth){
		accCurr.get(0).style.width = (cw - offset) + 'px';
		accNext.get(0).style.width = (nw + offset) + 'px';
	} else {
		$(accCurr).css({
			width:1,
			visibility:'hidden'
		});
		$(accNext).css({
			width:accordeonWidth,
			visibility:'visible'
		});
		clearInterval(accTimer);
		accCurrN = accNextN; accNextN = -1;
		isChanging = false;
	}
}


var contentWidth = 1000;
var linkClicked = null;
function initContentSlider(){
	// slide in effect
	var contentW = contentWidth;
	var contentH = $('#content').height();
	if (contentH < 340) contentH = 340; 
	var screenW = ($.browser.opera)? document.documentElement.clientWidth : $(document).width();
	
	var slider = $('#slider');
	slider.css({
		'position':'absolute',
		'left':screenW-5,
		'width':1,
		'visibility':'visible'
	});
	$('#content').height(contentH);
	//alert(contentH);
	
	contentLoading = true;
	
	var posX = parseInt( (screenW - contentW) / 2 );
	if (posX < 0) posX = 0;
	var widthSpeed = 500;
	var leftSpeed = (screenW - posX)/2;
	
	var widthOK = false;
	var leftOK = false;
	slider.animate({width:contentW},widthSpeed,'',function(){
		widthOK = true;
		if(!leftOK) return;
		slider.css({ 'position':'relative', 'left': 'auto' });
		contentLoading = false;
	});
	slider.animate({left:posX},leftSpeed,'',function(){
		leftOK = true;
		if(!widthOK) return;
		slider.css({ 'position':'relative', 'left': 'auto' });
		contentLoading = false;
	});

	// init links to slide out
	$('#header ul.menu a').click( slideOutContent );
	$('#header ul.subMenu a').click( slideOutContent );
	$('#header h1 a').click( slideOutContent );
	$('#about-film-links p a').click( slideOutContent );
	$('.block a').click( slideOutContent );
	$('ul.sitemap a').click( slideOutContent );
	$('div.trailerLink a').click( slideOutContent );
}

function slideOutContent(e){
	if(linkClicked == null){
		linkClicked = this;
		var contentW = contentWidth;
		var screenW = ($.browser.opera)? document.documentElement.clientWidth : $(window).width();
		var posX = parseInt( (screenW - contentW) / 2 );
		if (posX < 0) posX = 0;
		var slider = $('#slider');
		slider.css({
			'position':'absolute',
			'left':posX
		});
		
		contentLoading = true;
		
		slider.animate(
			{
				width:contentW,
				left:-1*(posX + contentW)
			}, 700, '',
			function(){
				$(linkClicked).click();
				contentLoading = false;
			}
		);
	
		return false;
	}
	
	window.location.href = this.href;
}

$(window).resize(function(){
	if(contentLoading) return;
	var contentH = $('#page').height();
	var screenH = ($.browser.opera)? document.documentElement.clientHeight : $(window).height();
	var speed = (!pageLoaded)? 1000 : 500;

	if(!pageLoaded){
		pageLoaded = true;
		var offset = (contentH < screenH)? parseInt((screenH - contentH)/2) : 0;
		$('#page').css({
			'marginTop': offset,
			'visibility': 'visible'
		});
		initContentSlider();
		return;
	}
	
	if(contentH < screenH){
		var offset = parseInt((screenH - contentH)/2);
		$('#page').animate({'marginTop': offset}, 500);
	} else {
		$('#page').animate({marginTop: 0}, speed);
	}
})