$(document).ready (function() {
	// подкладываем пиктограммки "поиск-жж-енг."
	//$('.ico_nav').addClass('ico_nav_replaced');
	//$('.ico_nav a').each(function() {this.innerHTML = '';});
	$('.afisha_calendar .performance').each ( function() {
			/*
			if ( $(this).hasClass('performance_sold_out') ||  $(this).parents('.date_past').length > 0) {
				var title = $(this).find('a')[0].title;
				$(this.parentNode).click( function() {
						alert(title);
				});
				return;
			}*/
			var show_id = this.id.replace(/[^\d]+/, '');
			$(this.parentNode).css({cursor:'pointer'});
			/*
			$(this.parentNode).click( function() {
					loadModule('afisha.tickets@show_id:'+show_id, false, initPerformanceDateSelector);
			});*/
			$(this.parentNode).hover (
				function() { $(this).addClass('date_hover');}, 
				function() { $(this).removeClass('date_hover');}
			);
			addTicketsHandler(this.parentNode, show_id);
	});
	$('.performance_spot .links a').each( function() {
			addTicketsHandler(this, this.getAttribute('rel'));
	});
	
	$('.menu_flash_container').each( function () {
		var l = this;
		var movie = this.rel;
		var c_section_code = $(l).parents('li')[0].className.match(/^[^\s]+/);
		var style_default = {
				width:75,
				height:75,
				top:'46px',
				left:'25px'
		};
		var styles = {
			about: {
				left:'-5px'
			},
			repertoire: {
				top:'-15px',
				left:'40px'
			},
			contacts: {
				left:'40px'
			}
		}
		
		var style = style_default;
		if (styles[c_section_code]) {
			for (var i  in styles[c_section_code]) {
				style[i] = styles[c_section_code][i]; 
			}
		}
		setTimeout( function() {
				$(l).parents('li').append(
					'<div class="flash_wrapper f_' + c_section_code + '">' +
						'<object width="' + style.width + '" height="' + style.height + '" type="application/x-shockwave-flash" data="' + movie +'" id="flash" style="visibility: visible;">' +
							'<param name="menu" value="false" />' + 
							'<param name="quality" value="high" />' +
							//'<param name="wmode" value="opaque"/>' +
							'<param name="wmode" value="transparent"/>' +
							'<param name="allowscriptaccess" value="sameDomain" />' +
						'</object>' +
					'</div>'
			);
			
			$(l).parents('li').find('.flash_wrapper').css(style_default).css(style);
			
		}, 100);
	});
	
	initPerformanceDateSelector();
});

function addTicketsHandler(link, show_id) {
	$(link).click( function() {
			loadModule('afisha.tickets@show_id:'+show_id, false, initPerformanceDateSelector);
	});
}

function initPerformanceDateSelector() {
	$('#tickets_form').each( function() {
			if (!this.PDS) {
				this.PDS = new performanceDateSelector();
				this.PDS.init();
				if ($(this).parents('#data_block').length > 0) {
					$(this).submit( function() {
							$(this).find(':submit').each(function() {
								this.disabled = 'disabled';
								this.setAttribute('disabled', 'disabled');
								this.value = 'Пожалуйста, подождите...';
							});
							loadModule('afisha.tickets', false, initPerformanceDateSelector, $(this).serialize());
							return false;
					});
				}
			}
	});
}

var performanceDateSelector  = function() {
	var _base = this;
	this.values = {};
	this.init = function () {
		var default_performance = $('#inp_date_tickets_form')[0].value;
		$('#inp_date_tickets_form option').each ( function() {
				_base.values [ this.value ] = {
					performance: this.className.replace(/show_/, ''),
					label: this.innerHTML
				}
				this.parentNode.removeChild(this);
		});
		$('#inp_performance_id_tickets_form').change ( function() {
				var cp = this.value;
				_base.render(cp);
		});
		_base.render( $('#inp_performance_id_tickets_form')[0].value );
		$('#inp_date_tickets_form')[0].value = default_performance;
	}
	this.render = function(performance_id) {
		$('#inp_date_tickets_form option').each ( function() { this.parentNode.removeChild(this)});
		for (var i in _base.values) {
			var v = _base.values[i];
			if (v.performance == performance_id) {
				var inp = $('#inp_date_tickets_form')[0];
				var opt = inp.appendChild(document.createElement('option'));
				opt.innerHTML = v.label;
				opt.setAttribute('value', i);
			}
		}
	}
}

/*
function showBlock(block_id, data, title) {
	block_id = block_id || 'data_block';
	var b = $('#'+block_id)[0];
	if (!b) {
		b = document.body.appendChild(document.createElement('div'));
		b.innerHTML = '<div class="block_header"><span class="block_title"></span><span class="close_block">&times;</span></div><div class="block_data"></div>';
		$(b).find('.close_block').click( function () {closeBlock(b);});
		b.id = block_id;
		var overlay = document.body.appendChild(document.createElement('div'));
		overlay.innerHTML = '<div id="block_overlay"></div>';
	}
	var overlay = $('#block_overlay');
	overlay.css( {
			zIndex:666,
			background:'#000',
			position:'absolute',
			opacity:'0.6',
			top:'0px',
			left:'0px',
			width:'100%',
			display:'block',
			height: $('.top_wrapper').height() + 'px'
	});
	overlay.click( function() {
			closeBlock(b);
	})
	
	
	$(b).find('.block_data').html(data);
	if (!title && $(b).find('.block_data .block_title').length > 0) {
		var inner_title = $(b).find('.block_data .block_title')[0];
		title = inner_title.innerHTML;
		inner_title.parentNode.removeChild(inner_title);
	}
	$(b).find('.block_title').html(title);
	$(b).addClass('block_active');
	var block_offset = $('body').width() / 2 - $(b).width() / 2;
	var block_height = 400;
	var data_height =  $(b).find('.block_data').height() + 50;
	if ( data_height <= $(b).height() || data_height <= block_height) {
		block_height =  data_height;
	}
	//document.title = data_height + '/' + $(b).height(); 
	$(b).css({left:block_offset +'px', height:block_height + 'px'});
}

function closeBlock(block_node) {
	$(block_node).css({left:'-10000px'});
	$('#block_overlay').css({
			display:'none'
	});
}
*/

/** BLOCKS **/


var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera')  > -1);
var isIE = (!isOpera && ua.indexOf('msie') > -1);

function getDocumentHeight() {
  return Math.max(document.compatMode != 'CSS1Compat' ? document.body.scrollHeight : document.documentElement.scrollHeight, getViewportHeight());
}

function getViewportHeight() {
  return ((document.compatMode || isIE) && !isOpera) ? (document.compatMode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight : (document.parentWindow || document.defaultView).innerHeight;
}


function showBlock(block_id, data, title) {
	if (!title) {
		title = '&nbsp;';
	}
	block_id = block_id || 'data_block';
	var b = $('#'+block_id)[0];
	if (!b) {
		$('body').append(
			'<div id="'+block_id+'" class="popup_block">' +
				'<div class="block_header"><span class="block_title"></span><span class="close_block">&times;</span></div>' +
				'<div class="block_data"></div>' +
			'</div>' +
			'<div><div id="block_overlay"></div></div>'
		);
		b = $('#'+block_id)[0];
		$(b).find('.close_block').click( function () {closeBlock(b);});
	}
	var overlay = $('#block_overlay');
	overlay.css( {
			zIndex:666,
			background:'#000',
			position:'absolute',
			opacity:'0.6',
			top:'0px',
			left:'0px',
			width:'100%',
			display:'block',
			height: $(document).height() + 'px'
	});
	overlay.click( function() {
			closeBlock(b);
	})
	
	
	$(b).find('.block_data').html(data);
	if (!title && $(b).find('.block_data .block_title').length > 0) {
		var inner_title = $(b).find('.block_data .block_title')[0];
		title = inner_title.innerHTML;
		inner_title.parentNode.removeChild(inner_title);
	}
	$(b).find('.block_title').html(title);
	$(b).addClass('block_active');
	
	var viewport_height = $('body').height();
	var max_height = viewport_height - 25;
	if ($(b).height() > max_height){
		$(b).css({height: max_height+'px'});
		$(b).find('.block_data').css({height: (max_height - 30) + 'px', overflow:'auto'}); 
	}
	
	var left_offset = $('body').width() / 2 - $(b).width() / 2;
	var top_margin = $(b).height() / 2 * -1;
	var top_offset = $(document).scrollTop() + ($('body').height() / 2);
	$(b).css({
		left:left_offset +'px',  
		top: top_margin + 'px',
		marginTop: top_offset + 'px',
		position:'absolute',
		display:'block',
		zIndex:700
	});
}

function closeBlock(block_node) {
	$(block_node).css({left:'-10000px',display:'none'});
	$('#block_overlay').css({
			display:'none'
	});
}


function loadModule(url, target_node_id, callback, post_data) {
	url = '/module/' + url + '/';
	$.ajax({
		type: post_data ? 'POST' : 'GET',
		url: url,
		dataType: 'html',
		data: post_data,
		success: function(data) {
			/*
			var target = $('#' + target_node_id);
			if (target.length > 0) {
				target[0].innerHTML = '';
			}
			document.title = 'SSDGH' + target_node_id + ' - ' + target.length ;
			*/
			showBlock(target_node_id, data);
			if (typeof(callback) == 'function') {
				callback();
			}
		}
	});
}


var krymovYears = function (c) {
	var _base = this;
	this.c = c;
	
	this.Init = function() {
		
	}
}

