var _EDICAO     = false;
var $slider      = null;
var $sub_slider  = null;
var $_COLS       = null;
var $_MAIN_MENU  = null;
var $_BAND_MENU  = null;
var $_SUB_MENUS  = null;


function getFlashMovie(movieName) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}

function playSongJs( n ){
	$('html').animate({
		scrollTop: 0
	}, 500);
	getFlashMovie('music').playSongJs( n );
}


function moveBackground(bg_pos){
	$('body').stop().animate({
		backgroundPosition: bg_pos + 'px 160px'
	},650);

	$('#header').stop().animate({
		backgroundPosition: -Math.round(bg_pos/2) + 'px 0px'
	},1000);

}


function moveSlider( $a ){
	switch( $a.attr('hash') ){
		case '#prev':
			var index = $_COLS.index( $_COLS.filter('.selected') ) ;
			if( index > 0 ){
				$('.next', '#nav').show();
				if( ( index - 1) <= 0 ){
					$('.prev', '#nav').hide();
				}

				var $now = $_COLS.eq( index );
				var $prv = $_COLS.eq( index - 1 );

				var $s = $slider;
				var x = $s.data('targetX');
				var w = $prv.width() + 30;
				$s.data('targetX', x + w ).stop().animate( {'left' : x + w }, 350);

				var bg_pos =  - Math.round( (x+w) / 3 );
				moveBackground(bg_pos);


				$now.removeClass('selected').closest('.area').data('link').removeClass('selected');
				var $prv_area = $prv.addClass('selected').closest('.area').data('link').addClass('selected');

				if($prv_area.attr('hash') == '#slide/agenda'){
					$prv_area.click();
				}
				else{
					$('body').scrollTo( 0 , 500 );
				}


				if( $now.children('.menu').length ){
					$now.children('.menu').find('a.selected').first().removeClass('selected');
					$prv.children('.menu').find('a').first().click();
				}
			}
			else{
				$('.prev', '#nav').hide();
			}
		break;

		case '#next':
			var index = $_COLS.index( $_COLS.filter('.selected') ) ;
			if( $_COLS[ index + 1 ] ){
				$('.prev', '#nav').show();
				if( !$_COLS[ index + 2 ] ){
					$('.next', '#nav').hide();
				}
				var $now = $_COLS.eq( index );
				var $nxt = $_COLS.eq( index + 1 );

				var $s = $slider;
				var x = $s.data('targetX');
				var w = $now.width() + 30;
				$s.data('targetX',x-w).stop().animate( {'left' : x-w}, 350);

				var bg_pos =  Math.round( (x-w) / 3 );
				moveBackground(bg_pos);

				$now.removeClass('selected').closest('.area').data('link').removeClass('selected');
				var $nxt_area = $nxt.addClass('selected').closest('.area').data('link').addClass('selected');

				if($nxt_area.attr('hash') == '#slide/agenda'){
					$nxt_area.click();
				}
				else{
					$('body').scrollTo( 0 , 500 );
				}

				if( $now.children('.menu').length ){
					$now.children('.menu').find('a.selected').first().removeClass('selected');
					$nxt.children('.menu').find('a').first().click();
				}
			}
			else{
				$('.next', '#nav').hide();
			}
		break;
	}

}

function chavedosom(){

	$_MAIN_MENU = $('#main_menu a');
	$_BAND_MENU = $('#bands_menu a');
	$_SUB_MENUS = $('#slider .menu');
	$slider     = $('#slider').data('targetX',0);
	$_COLS      = $('.col, .agenda, .banda');

	var largura_total = 0;

	/* Sub_slider - 1 no main, tantos quantas bandas nas bandas */
	$_COLS.each( function(){
		var $c = $(this);
		largura_total += $c.width() + 30;
	});

	largura_total+=60;
	$slider.css({ 'width' : largura_total + 'px' });
	$_COLS.first().addClass('selected');

	/* Play Song  */
	$('a.playSong').bind('click', function(e){
		var $a = $(e.target);

		var n = $a.attr('data-n');

		playSongJs( n );

		e.preventDefault();
		return false;
	});

	/* Navigation */
	$('#nav a').bind('click', function(e){
		var $a = $(e.target);

		moveSlider( $a );

		e.preventDefault();
		return false;
	});

	/* INI Menus Principais */
	$_MAIN_MENU.each( function(){
		var $a = $(this);
		var id = $a.attr('hash').split('/')[1];
		var $area = $('#area_' + id);

		if( $area.length ){
			var x = $area.position().left;
			$a.data('posX', x).data('col', $area);
			$area.data('link', $a);
		}
	});

	/* Click main menu */
	$_MAIN_MENU.click( function(e){
		var $a = $(this);
		if( !$a.data('col') == false ){
			var $area = $a.data('col');

			e.preventDefault();

			var x = $a.data('posX');
			$slider.data('targetX',-x).stop().animate( {'left' : -x}, 330);

			var bg_pos =  - Math.round( x / 3 );
			moveBackground(bg_pos);


			var $col_sel = $_COLS.filter('.selected').removeClass('selected');

			if( $col_sel.is('#area_agenda') ){
				$col_sel.data('link').removeClass('selected');
			}
			else{
				$col_sel.closest('.area').data('link').removeClass('selected');
			}

			if( $area.is('#area_agenda') ){
				$area.addClass('selected');
				$('body').scrollTo( $area.find('.month_block.selected').first() , 500 );
			}
			else{
				$area.children('.col').first().addClass('selected');
			}

			if( $area.is('#area_inicio') ){
				$('.prev', '#nav').hide();
			}
			else{
				$('.prev', '#nav').show();
			}


			$a.addClass('selected');
			return false;
		}
	});
	/* END Menus Principais */

	if( $_SUB_MENUS.length ){

		/* INI MENUS BANDAS */
		$_BAND_MENU.each( function( i ){
			var $a = $(this);
			var id = $a.attr('hash').split('/')[1];
			var $area = $('#banda_' + id);
			var $sl = $area.children('.sub_slider');

			var settings = {
				'area' : $area,
				'left' : -$area.position().left
			};

			$a.data('settings',settings);
			$area.data('link', $a);
		});

		/* Click band menu */
		$_BAND_MENU.click( function(e){
			var $a = $(this);
			var $settings = $a.data('settings');

			var $prev_all = $a.closest('li').prevAll().find('a');
			var $next_all = $a.closest('li').nextAll().find('a');

			if( $prev_all.length > 0 ){
				$('.prev', '#nav').show();
			}
			else{
				$('.prev', '#nav').hide();
			}

			if( $next_all.length > 0 ){
				$('.next', '#nav').show();
			}
			else{
				$('.next', '#nav').hide();
			}

/*
			$prev_all.each( function(){
				 Retornar sub_slide para posicao 0
			});

			$next_all.each( function(){
				Retornar sub_slide para posicao 0
			});
*/
			var x = $settings.left;
			$slider.data('targetX', x).stop().animate( {'left' : x}, 330);
			var bg_pos =  Math.round( x / 3 );
			moveBackground(bg_pos);

			$_COLS.filter('.selected').removeClass('selected').data('link').removeClass('selected');

			$a.addClass('selected');
			$_SUB_MENUS.find('a.selected').removeClass('selected');
			$settings.area.addClass('selected').children('.menu').find('a').first().addClass('selected').click();
		});
		/* END MENUS BANDAS */



		/* INI Sub menu ( Bio, angenda, site, etc )*/
		$_SUB_MENUS.each( function(){
			var $this_sub = $(this);

			var $as = $this_sub.find('a'); /* Links dos sub menus */

			var $areas = $this_sub.closest('.banda').children('.sub_slider').children('.sub_area');
			var $sub_slider = $this_sub.closest('.banda').children('.sub_slider');

			var l = $as.length;
			for( i = 0; i < l; i++ ){

				var $sub_area = $areas.eq(i);
				var $link = $as.eq(i);

				$sub_area.data('link', $link );

				/* ON CLICK NUM LINK DE SUB AREA */
				$link.data('sub_area', $sub_area ).click(function(e){
					var $a = $(this),
						$sub_area = $a.data('sub_area');
					if( $a.data('sub_area') ){
						if( $sub_area.is('.agenda_banda') ){
							var $month_blocks = $sub_area.find('.month_block');
							if( $month_blocks.length == 0){
								$sub_slider.scrollTo( $sub_area, 750 );
							}
							else if( $month_blocks.filter('.future').length>0 ){
								$sub_slider.scrollTo( $month_blocks.filter('.future').first(), 750 );
							}
							else{
								$sub_slider.scrollTo( $month_blocks.last(), 750 );
							}
						}else{
							$sub_slider.scrollTo( $a.data('sub_area'), 750 );
						}
						$_SUB_MENUS.find('a.selected').removeClass('selected');


						var x = $this_sub.closest('.area').data('link').addClass('selected').data('settings').left;
						$slider.data('targetX', x).stop().animate( {'left' : x}, 330);

						$_COLS.filter('.selected').removeClass('selected').closest('.area').data('link').removeClass('selected');
						$a.addClass('selected').data('sub_area').addClass('selected').closest('.area').addClass('selected').data('link').addClass('selected');
					}
					e.preventDefault();
					return false;
				});
			}
		});
	}

	$_AGENDA = $('#area_agenda');
	$_AGENDA.find('a').click( function(e){
		var $a = $( e.target );
		var $month = $a.closest('.month_block');
		if( !$month.is('.selected') ){

			var $sel = $_AGENDA.children('.selected');

			$sel.children('.month').animate({
				'height' : '60px'
			}).find('h3').animate({
				'paddingTop' : '0'
			});

			$sel.children('.events').slideUp( function(){
				$sel.removeClass('selected');

				$month.find('.month').animate({
					'height': '110px'
				}).find('h3').animate({
					'paddingTop':'24px'
				}, function(){
					$month.addClass('selected');
					$('body').scrollTo( $month, 500 );
				});

				$month.children('.events').slideDown();
			});
		}

		e.preventDefault();
		return false;
	});

	var $main_agenda_now = $_AGENDA.find('.month_block.clickme').first();
	if( $main_agenda_now.length == 1){
		$main_agenda_now.addClass('selected');
	}
	else{
		$_AGENDA.find('.month_block').last().addClass('selected');
	}


	if( document.location.hash != '' ){
		var h = document.location.hash;

		var $click_aqui = $_MAIN_MENU.filter( function(){
			return $(this).attr('hash') == h;
		}).click();

		if( $click_aqui.length == 0){
			$_BAND_MENU.filter( function(){
				return $(this).attr('hash') == h;
			}).click();
		}
	}

	if( _EDICAO ){

		$('body').bind( 'click', genericClicksDelegator);

		$(".gallery a").click( function(e){
			e.preventDefault();
			return false;
		});

		$(".gallery").sortable({ update: updateOrdem });
		$(".gallery").disableSelection();

		$JT = $("#editTextWindow");
		if( $JT.length ){
			$(".htmlText, .simpleText").click( callTextBox );
			$JT.submit( janelaTextoDefaultSubmit );
		}

		$JI = $("#editImageWindow");
		if( $JI.length ){
			$(".uploadedImg").dblclick( callImageBox );
			$JI.submit( janelaImagemDefaultSubmit );
		}

		$JA = $("#editAgendaWindow");
		if( $JA.length ){
			$(".editEvent").click( callAgendaBox );

			$JA.find('input[name=data]').datepicker({
				inline: true,
				dateFormat: 'yy-mm-dd'
			});

			$JA.submit( janelaAgendaDefaultSubmit );
		}

		$JN = $("#editNoticiaWindow");
		if( $JN.length ){
			$(".newsDate").click( callNoticiaBox );

			$JN.find('input[name=data]').datepicker({
				inline: true,
				dateFormat: 'yy-mm-dd'
			});

			$JN.submit( janelaNoticiaDefaultSubmit );
		}

		$JF = $("#editFicheiroWindow");
		if( $JF.length ){
			$("#area_privada a.uploadFile").click( callFicheiroBox );
			$JF.submit( janelaFicheiroDefaultSubmit );
		}

	}
	else{
		$(".gallery a").fancybox();

		$(".video a").click(function() {
			$.fancybox({
					'padding'		: 0,
					'autoScale'		: false,
					'transitionIn'	: 'none',
					'transitionOut'	: 'none',
					'title'			: this.title,
					'width'		: 680,
					'height'		: 495,
					'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
					'type'			: 'swf',
					'swf'			: {
					   	 'wmode'		: 'transparent',
						'allowfullscreen'	: 'true'
					}
				});

			return false;
		});

	}






}


