$announces = {
	init: function(onLoad){
		$announces.bgNext = $('<div id="announce-bg-next"></div>');
		//$announces.bgPrev = $('<div id="announce-bg-prev"></div>');
		$announces.info = $('<div id="announce-info"><div><div></div><div></div></div></div>');
		$announces.linkShowAnn = $('#show-announce');
		$announces.linkHideAnn = $('<a href="javascript:void(0)" id="hide-announce"></a>');
		$announces.info.content = $announces.info.children('div').children('div:eq(0)');
		$announces.info.contentNext = $announces.info.children('div').children('div:eq(1)');
		$announces.info.contentNext.css({left:'100%'});
		$announces.info.append($announces.linkHideAnn);
		
		
		$('div.wrapper')
			.prepend($announces.bgNext)
			.prepend($announces.bgPrev)
			.prepend($announces.info);
			
		$announces.linkShowAnn.click($announces.showAnnounce);
		$announces.linkHideAnn.click($announces.hideAnnounce);
		
		$announces.bg = $('#announce-bg')
			.css({opacity:0, display:'inline'});
			
		$announces.nextLink = $('#header a.next');
		$announces.prevLink = $('#header a.prev');
		
		var img = new Image();
		img.src = $announces.bg.attr('style')
				.replace(/.*url\("?|"?\).*/ig,'');
		
		if (img.complete) {$announces.bg.animate({opacity:1}); }
		else img.onload = function(){ $announces.bg.animate({opacity:1});}
		
		$announces.getFromServer({
			id: 0, 
			callback: function(announce){
				$announces.setInfo(announce, $announces.info.content);
                                if (onLoad) onLoad();
			}
		});
	},
	
	activateLink: function(link){
		var division = link.is('.next');
		var id = link.attr('rel').replace(/^announce f/ig,'') 
		link.css({opacity:0, display:'inline'});
		$announces.getFromServer({
			id: id,
			callback: function(announce){
				var img = new Image();
				img.src = announce.bg;	
				link.text(announce.T);
				var a = function(){
					link.animate({
						opacity:1
					}, 800, function(){
						link.unbind('click').click(function(){
							link.unbind('click');
							$announces.setBackground($announces[id], division);
						});
					});
					var css = {
						opacity: 1,
						left: division ? '100%' : '-100%',
						'background-image': 'url('+this.src+')'
					}					
					
					//if (division) 
					$announces.bgNext.css(css)
					//else $announces.bgPrev.css(css)
					
					//console.log(this.src);
				};	
				if (img.complete) a.apply(img)
				else img.onload = a;
				
			}			
		});
	},
	// Получить информацию об анонсе с сервера
	getFromServer: function(o){
		if ($announces[o.id]!=undefined) {
			if (o.callback) o.callback.apply(null, [$announces[o.id]])
			//console.log('cashe');
		} else {
			$.getJSON('/ajax_open/getAnnounce?id='+(o.id||'0'), function(json){
				$announces[json.id]=json;
				//console.log(json);
				if (o.callback) o.callback(json);
			});
		}
	},
	
	setBackground: function(announce, division){
		$announces.nextLink.attr('rel','announce f'+announce.nid).animate({opacity:0},500,function(){$announces.activateLink($(this))});
		//if (announce.pid != -1)
                $announces.prevLink.attr('rel','announce f'+announce.pid).animate({opacity:0},500,function(){$announces.activateLink($(this))});
                $announces.setInfo(announce, $announces.info.contentNext);
		$announces.info.content.find('.trailer').addClass('hidden');
		if (announce.night) {
			console.log(announce);
			$('.night').show();
		} else {
			$('.night').hide();
		}
		$announces.bgNext.css({
			left: division ? '100%' : '-100%'
		,	backgroundImage: 'url('+announce.bg+')'
		});
		$announces.bg.animate({left: division ? '-100%' : '100%'},'normal');
		$announces.bgNext.animate({left: '0%'}, 'normal', function(){
			$announces.bg.css({
				backgroundImage: $announces.bgNext.css('background-image'),
				left: 0
			});
			$announces.bgNext.css({
				left: division ? '100%' : '-100%'
			});
		});

		$announces.info.contentNext.css({left: division ? '100%' : '-100%'});			
		$announces.info.content.animate({left: division ? '-100%' : '100%'}, 'normal');
		
		$announces.info.contentNext.animate({left:'0%'}, 'normal', function(){
			$announces.info.content.html($announces.info.contentNext.html()).css({left:'0%'});
			$announces.info.contentNext.css({left:'100%'});
			if ($today.isHidden) $announces.info.find('.trailer').removeClass('hidden');
		});
	},
	
	showAnnounce: function(){
		$today.toggle();
		$announces.linkShowAnn.fadeOut();
		$announces.linkHideAnn.fadeIn();

		var css = {top: -$announces.info.height(),opacity:0,display:'block'};
		var anim = {top: '100px',opacity: 1};
		
		if ($.browser.msie && $.browser.version[0]<9) {
			css = {top: -$announces.info.height()}
			anim = {top: '100px'};
		}
		$announces.info.css(css);
		
		$announces.info.animate(anim, 'normal', function(){
			$announces.info.find('.trailer').removeClass('hidden');
		});
	},
	
	hideAnnounce: function(){
		$today.toggle();
		$announces.info.find('.trailer').addClass('hidden');
		$announces.linkShowAnn.fadeIn();
		$announces.linkHideAnn.fadeOut();
		
		var anim = {top: $announces.info.height(),opacity: 0};
			
		if ($.browser.msie && $.browser.version[0]<9) {
			anim = {top: -$announces.info.height()};
		}
		
		$announces.info.animate(anim, 'normal', function(){
			$announces.info.css({
				display:'none'
			});
		});
	},
	
	setInfo: function(announce, info){
		info = (info || $announces.info.contentNext);
		info.attr('id', 'ann'+announce.id);
                if (announce.night){
                    info.html('');                    
                    info.append('<div id="night"></div');

                    for (var i in announce.movies){
                        var str = announce.movies[i];
                        info.children('#night').append((
                                '<div class="ann">'+
                                        '<h2>'+ str.T+'</h2>'+
                                        '<div class="trailer hidden">'+
                                                '<div id="trailer'+announce.id+i+'" class="trailer"></div>'+
                                        '</div>'+
                                        '<dl>'+
                                                '<dt>Страна, год:</dt>'+
                                                '<dd>'+str.c+'</dd>'+
                                                '<dt>Жанр:</dt>'+
                                                '<dd>'+str.j+'</dd>'+
                                                '<dt>В главных ролях:</dt>'+
                                                '<dd>'+str.acs+'</dd>'+
                                                '<dt>Режисер:</dt>'+
                                                '<dd>'+str.dr+'</dd>'+
                                                '<dt>Сценарий:</dt>'+
                                                '<dd>'+str.sc+'</dd>'+
                                                '<dt>Премьера:</dt>'+
                                                '<dd>'+ str.pr+'</dd>'+
                                                '<dt>Продолжительность:</dt>'+
                                                '<dd>'+str.len+' мин.</dd>'+
                                        '</dl>'+
                                        '<div class="description">'+str.D+'</div>'+
                                '</div>')
                        .template(announce));
                        if (str.tr != ''){
													  //console.log(swfobject);
                            swfobject.embedSWF(str.tr, 'trailer'+announce.id+i, '403', '241', '9.0.0', 'expressInstall.swf');
                        }else{
                            $('#trailer'+announce.id+i).parent().append('<img src="/static/images/default/announce.jpg" alt="poster">');
                            $('#trailer'+announce.id+i).remove();
                        }
                    };
                    //$("#night").scroll();
                    //$('#boxnightprosc').addClass("scrl");
										//$('#boxnightprosc').find("#panel").css('height', '39em');
                }else{ 
                    /*if ($("#night").length){
                        $("#night").teardown();
                    }*/
                    info.html((
                            '<div class="ann">'+
                                    '<h2><a href="/movie/<% fid %>"><% T %></a></h2>'+
                                    '<div class="trailer hidden">'+
                                            '<div id="trailer<% id %>" class="trailer"></div>'+
                                    '</div>'+
                                    '<dl>'+
                                            '<dt>Страна, год:</dt>'+
                                            '<dd><% c %></dd>'+
                                            '<dt>Жанр:</dt>'+
                                            '<dd><% j %></dd>'+
                                            '<dt>В главных ролях:</dt>'+
                                            '<dd><% acs %></dd>'+
                                            '<dt>Режисер:</dt>'+
                                            '<dd><% dr %></dd>'+
                                            '<dt>Сценарий:</dt>'+
                                            '<dd><% sc %></dd>'+
                                            '<dt>Премьера:</dt>'+
                                            '<dd><% pr %></dd>'+
                                            '<dt>Продолжительность:</dt>'+
                                            '<dd><% len %> мин.</dd>'+
                                    '</dl>'+
                                    '<div class="description"><% D %></div>'+
                            '</div>')
                    .template(announce));
                    if (announce.tr != ''){
                        swfobject.embedSWF(announce.tr, 'trailer'+announce.id, '403', '241', '9.0.0', 'expressInstall.swf');
                    }else{
                        $('#trailer'+announce.id).parent().append('<img src="/static/images/default/announce.jpg" alt="poster">');
                        $('#trailer'+announce.id).remove();
                    }
                }
	}

		//сохраним этот способ потомкам:$announces.bgNext.css({zIndex:2});$announces.bgNext.stop(true,false);$announces.bgNext.animate({opacity:1},800,function(){var img=new Image();img.src=announce.bg;img.onload=function(){$announces.bg.css({zIndex:1,backgroundImage:'url('+this.src+')'});$announces.bgNext.animate({opacity:0});}});

}
		

