var myriadpro = { src: 'http://' + document.domain + '/workspace/front/myriadpro.swf'};
sIFR.activate(myriadpro);

$(function(){
	var current_page = 1;
	var goto_page;
	var seek_in_progress = false;
		
	$('.blocks:nth-child(1)').show();
	
	$('.blocks').width($(window).width());
	
	$(window).bind('resize', function(){
		$('.blocks').width($(window).width());
		scroll.seekTo(scroll.getIndex(), 0);
	});
	
	var preview = $('.preview_overlay').overlay({
		api: true,
		mask: '#000',
		fixed: false,
		closeOnClick: false
	});
	
	initMap();
	
	var scroll = $('.scrollable').scrollable({
		api: true,
		keyboard: false,
		next: '',
		prev: '',
		onSeek: function(){
			if(this.getIndex() == goto_page - 1){
				current_page = goto_page;
				seek_in_progress = false;
			}
			if(this.getIndex() == 3){
				initMap();
			}
		}
	});
	
	var preview_gallery = $('.preview').scrollable({
		api: true,
		keyboard: false,
		next: '.controls.right',
		prev: '.controls.left'
	});
	
	init_flash();
	
	$('a.active').live('click', function(e){
		e.preventDefault();
	});
		
	$('[page]:not(.active)').live('click', function(e){
		e.preventDefault();
		if(seek_in_progress == false){
			seek_in_progress = true;			
			goto_page = parseInt($(this).attr('page'));
			
			for(var i = 1; i <= $('.blocks').length; i++){
				if(i != current_page && i != goto_page){
					$('.blocks:nth-child(' + i + ')').hide();
					scroll.seekTo(scroll.getIndex(), 0);
				}
			}

			hide_overlay();
			
			$('[page]').removeClass('active');
			$(this).addClass('active');
			
			if($(this).attr('page') == 1){
				$('.lion').animate({
					opacity: 0
				});
			}else{
				$('.lion').delay(500).animate({
					opacity: 1
				});
			}
			
			$('.blocks:nth-child(' + goto_page + ')').show();
			if(goto_page == 2){
				sIFR.replace(myriadpro, {selector: '.about_us p', wmode: 'transparent', css: '.sIFR-root {color: #ffffff;}'});
			}
			scroll.seekTo(scroll.getIndex(), 0).seekTo(goto_page - 1, 'slow');
		}
	});
	
	$('[position]').live('click', function(){
		preview.load();
		preview_gallery.seekTo(parseInt($(this).attr('position')), 1);
	});
	
	$('.brick').live('mouseenter', function(){
        $(this).children('.play_button').show().css('opacity', '1');
    });
    
    $('.brick').live('mouseleave', function(){
        $(this).children('.play_button').animate({
			opacity: 0
		}, 'fast', function(){
			$(this).hide();
		});
    });
	
	$('.brick').live('click', function(){
		if(language == 'en'){
			var link = 'http://' + document.domain + '/json/' + $(this).attr('id') + '/?language=en';
		}else{
			var link = 'http://' + document.domain + '/json/' + $(this).attr('id') + '/';
		}
		
		show_overlay();
		
		var link = 'http://' + document.domain + '/json/' + $(this).attr('id') + '/';

		$.getJSON(link, function(data){
			$('.loader_overlay').animate({
				opacity: 0
			}, function(){
				$(this).hide();
				$('#player').show();
			});
			
			$('#json_title').html(data.title);
			$('#json_category').html(data.category);
			$('#json_description .inside').html(data.description.replace(/\$/g, '&quot;').replace(/&lt;/g, '<').replace(/&gt;/g, '>'));
			
			if(data.gallery.length > 0){
				$('.gallery_prev').show();
				$('.gallery_next').show();
				$('.gallery').show();
			}else{
				$('.gallery_prev').hide();
				$('.gallery_next').hide();
				$('.gallery').hide();
			}
			
			for(var i = 0; i <= data.gallery.length - 1; i++){
				$('#json_gallery').append('<img src="http://' + document.domain + '/image/2/40/40/5' + data.gallery[i]  + '" alt="" position="' + i + '">');
				$('#json_gallery_big').append('<div class="float" style="width: 870px; text-align: center;"><img src="http://' + document.domain + '/image/2/0/550/5' + data.gallery[i]  + '" alt=""></div>');
			}
			
			var gallery = $('.gallery').scrollable({
				api: true,
				keyboard: false,
				next: '.gallery_next',
				prev: '.gallery_prev'
			});
			
			var preview_gallery = $('.preview').scrollable({
				api: true,
				keyboard: false,
				circular: true,
				next: '.controls.right',
				prev: '.controls.left'
			});
			
			flowplayer("player", {src: 'http://' + document.domain + '/workspace/front/flowplayer-3.2.5.swf', wmode: 'transparent'}, {
				clip:{
					url: data.video,
					autoPlay: false, 
					autoBuffering: true
				}
			});
			
			$('.description').show().animate({
				opacity: 1,
				right: '-240px'
			}, function(){
				//$('.description .text').jScrollPane();
				$('.description .text').jScrollPane({verticalDragMinHeight: 9, verticalDragMaxHeight: 9});
			});
			
		});
	});
	
	$('[page = 1]').bind('click', function(){
		$('.overlay .close').trigger('click');
		$('.container .close').trigger('click');
	});
	
	$('#form').bind('submit', function(e){
		$('.invalid').removeClass('invalid');
		
		$('[validate]').each(function(){
			switch($(this).attr('validate')){
				case 'empty':
					if ($(this).val() == ''){
						$(this).parent('div').addClass('invalid');
					}
				break;
				case 'email':
					var rexp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
					if(!(rexp.test($(this).val()))){
						$(this).parent('div').addClass('invalid');
					}
				break;
			}
		});
		
		if($('.invalid').length > 0){
			e.preventDefault();
			$('.hint').show();
		}else{
			$(this).submit();
		}
	});
	
	$('.overlay .close').bind('click', function(){
		hide_overlay();		
	});
	
	$('.container .close').bind('click', function(){
		$('.container').animate({
			opacity: 0
		}, function(){
			$(this).hide();
			$('.flash').show().animate({
				opacity: 1
			});
		});
	});
});
	
function init_flash(){
	var swfVersionStr = '9.0.124';
	var xiSwfUrlStr = 'playerProductInstall.swf';
	var flashvars = {};
	if(language == 'en'){
		flashvars.xmlPath = 'http://' + document.domain + '/menu-xml/?language=en';
	}else{
		flashvars.xmlPath = 'http://' + document.domain + '/menu-xml/';
	}
	flashvars.assetsPath = 'http://' + document.domain + '/workspace/front/assets/assets.swf';
	flashvars.startDelay = 1000; //1000
	flashvars.fadeDuration = 1000; //1000
	flashvars.growthDuration = 1000; //1000
	flashvars.clickHandlerName = "load_blocks";			
	flashvars.showDuration = 1000; //1000
	flashvars.showInterval = 500;
	flashvars.showTextDelay = 500; //500	
	var params = {};
	params.wmode = "opaque";
	params.quality = "high";
	params.bgcolor = "#000000";
	params.allowscriptaccess = "always";
	params.allowfullscreen = "false";
	var attributes = {};
	attributes.id = "Pride";
	attributes.name = "Pride";
	attributes.align = "middle";
	attributes.wmode = "opaque";
	attributes.allowscriptaccess = "always";
	swfobject.embedSWF('http://' + document.domain + '/workspace/front/Pride.swf', 'flashContent', '770', '375', swfVersionStr, xiSwfUrlStr, flashvars, params, attributes);
	swfobject.createCSS('#flashContent', 'display: block; text-align: left;');
}

function load_blocks(id){
	if (language == 'en') {
		var link = 'http://' + document.domain + '/blocks/' + id + '/?language=en';
	}
	else
	
	{
		var link = 'http://' + document.domain + '/blocks/' + id + '/';
	}
		
	$('.flash').animate({
		opacity: 0
	}, function(){
		$(this).hide();
		$('.loader').show().animate({
			opacity: 1
		});
	});
	
	$.getJSON(link, function(data){
		$('.container .items').empty();
		
		$('.title_cat').attr('style',"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+data.category+"', sizingMethod='crop'); background: url("+data.category+") no-repeat; _background: none;");
	
		$('.loader').animate({
			opacity: 0
		}, function(){
			$(this).hide();
			$('.container').show().animate({
				opacity: 1
			}, function(){
				for(var i = 1; i <= $('.items .box .brick img').length; i++){
					$('.items .box .brick:nth-child(' + i + ') img').delay(i * 500).animate({
						opacity: 1
					});
				}
			});
			
		});
		
		for(var j = 0; j <= Math.floor(data.blocks.length / 6 - 0.0001); j++){
			$('.container .items').append('<div class="box"></div>');
			for(var i = j * 6; i <= (j * 6) + 5; i++){
				if(i >= data.blocks.length){
					break;
				}
				$('.container .items .box:nth-child(' + (j + 1) + ')').append('<div id="' + data.blocks[i][0] + '" class="brick"><img src="http://' + document.domain + '/image/2/220/165/5' + data.blocks[i][1] + '"><div class="play_button"></div></div>');
			}
		}
		
		var container = $('.container').scrollable({
			api: true,
			keyboard: true,
			next: '.next',
			prev: '.prev',
			onSeek: function(){
				if(this.getIndex() + 1 == this.getSize()){
					$('.next').addClass('disabled');
				}else{
					$('.next').removeClass('disabled');
				}
				if(this.getIndex() == 0){
					$('.prev').addClass('disabled');
				}else{
					$('.prev').removeClass('disabled');
				}
			}
		});
		
		container.seekTo(0, 0);
		
		if(container.getSize() == 1){
			$('.next').hide();
			$('.prev').hide();
		}else{
			$('.next').show();
			$('.prev').show();
		}

	});
}

function show_overlay(){
	//$('.description .text').jScrollPane();
	$('.loader_overlay').show().css('opacity', '1');
	$('.overlay').show().animate({
		opacity: 1
	});
}

function hide_overlay(){
	$('#player').hide();
	flowplayer.pause;
	$('.description').animate({
		opacity: 0,
		right: '0px'
	}, function(){
		$(this).hide();
		$('#json_title').empty();
		$('#json_category').empty();
		$('#json_description .inside').empty();
		$('#json_gallery').empty();
		$('#player').empty();
		$('#json_gallery_big').empty();
	});
	$('.overlay').animate({
		opacity: 0
	}, function(){
		$(this).hide();
	});
}

function initMap(){
	
	
	var center = new google.maps.LatLng(Lat, Lng);
	
	var myOptions = {
		scrollwheel: false,
		zoom: 14,
		center: center,
		disableDefaultUI: true,
		navigationControl: false,
		scaleControl: false,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	
	var map = new google.maps.Map($("#map_canvas").get(0), myOptions);
	
	var marker = new google.maps.Marker({
		position: center,
		map: map,
		title: "Телекомпания Прайд (нажмите для приближения)"
	});
	
	google.maps.event.addListener(marker, 'click', function(){
		map.setZoom(16);
	});
}
