var flash_informer = false;
var nb_interface_ready = false;

function InformJSCallBacksAreSet(){
	nb_interface_ready = true;
}

function InformNewsBlockJSisReady(){
	return flash_informer;
}

$(document).ready(function(){
	flash_informer = true;

	$('#mycarousel').jcarousel({'visible':7});
	$('#mycarousel_photolenta').jcarousel({visible:8});
	
	$('#mycarousel li.jcarousel_item').click(function(){
		var imgsrc = $(this).find('input.src').val();
		var img = '<img src="'+imgsrc+'" alt="" \/>';
		var descr_text = $(this).find('input.description').val();
		var descr = '<div id="big-photo-description">'+descr_text+'<\/div>';
		$('#big-photo').html(img+descr);
	});
	
	
	//menu width/css hack for pixel-by-pixel compare
	(function(){
		var lvl2_ul_width = 960;//$($('#topmenu_lvl2>ul')[0]).width();
		var lvl2_li_width = 0;
		jQuery.each($('#topmenu_lvl2>ul>li'), function(){
			lvl2_li_width += $(this).width();
		});
		
		var diff = lvl2_ul_width - lvl2_li_width - 5;
		if (window.checkOS && checkOS() == 'Macintosh') {
			diff -= 1;
		}
		var def_left_padding = parseInt($('#topmenu_lvl2>ul>li:eq(3) table a').css('padding-left'));
		var def_right_padding = parseInt($('#topmenu_lvl2>ul>li:eq(3) table a').css('padding-right'));
		var left_padding = (diff - diff % 2)/2 + def_left_padding + 3;
		if(isIE6 || isIE7){
			var right_padding = (diff - diff % 2)/2 + diff % 2 + def_right_padding + 3;
		//}else if(isIE7){
		//	var right_padding = (diff - diff % 2)/2 + diff % 2 + def_right_padding + 3;
		}else{
			var right_padding = (diff - diff % 2)/2 + diff % 2 + def_right_padding + 4;
		}
		$('#topmenu_lvl2>ul>li:eq(3) table a').css({'padding-left':left_padding});
		$('#topmenu_lvl2>ul>li:eq(3) table a').css({'padding-right':right_padding});
		
		/*** Выравниваем вертикальные разделяющие линии ***/
		var def_left_padding = parseInt($('#topmenu_lvl2>ul>li:eq(5) table a').css('padding-left'));
		var def_right_padding = parseInt($('#topmenu_lvl2>ul>li:eq(5) table a').css('padding-right'));
		$('#topmenu_lvl2>ul>li:eq(5) table a').css({'padding-left':def_left_padding-3});
		if(isIE6 || isIE7){
			$('#topmenu_lvl2>ul>li:eq(5) table a').css({'padding-right':def_right_padding-3});	
		//}else if(isIE7){
		//	$('#topmenu_lvl2>ul>li:eq(5) table a').css({'padding-right':def_right_padding-3});
		}else{
			$('#topmenu_lvl2>ul>li:eq(5) table a').css({'padding-right':def_right_padding-4});
		}
		
		
		var isStupidBrowser = isIE6 || isIE7;
		if (isStupidBrowser){
			//alert('stupid!');
			var lvl1_ul_width = 756;//$('#topmenu_lvl1>ul').width();
		}else{
			//alert('clevaa!');
			var lvl1_ul_width = 757;
			if (window.checkOS && checkOS() == 'Macintosh'){
				lvl1_ul_width = 749;
			}
		}
		var lvl1_li_width = 0;
		jQuery.each($('#topmenu_lvl1>ul>li'), function(){
			lvl1_li_width += $(this).width();
		});
		diff = lvl1_ul_width - lvl1_li_width - 4;
		
//		console.log(lvl1_ul_width);
//		console.log(lvl1_li_width);
//		console.log(diff);
		
		def_padding = parseInt($('#topmenu_lvl1>ul>li:eq(3) table a').css('padding-right'));
		//left_padding = Math.abs((diff - diff % 2)/2 + def_padding);
		//right_padding = Math.abs((diff - diff % 2)/2 + diff % 2 + def_padding);
		//$('#topmenu_lvl1>ul>li:eq(3) table a').css({'padding-left':left_padding});
		//$('#topmenu_lvl1>ul>li:eq(3) table a').css({'padding-left':left_padding});
		//$('#topmenu_lvl1>ul>li:eq(3) table a').css({'padding-right':right_padding});
		
		left_padding = (diff - diff % 2)/2 + def_padding;
		right_padding = (diff - diff % 2)/2 + diff % 2 + def_padding;
		//left_padding = right_padding = 5;
		$('#topmenu_lvl1>ul>li:eq(3) table a').css({'padding-left':left_padding});
		$('#topmenu_lvl1>ul>li:eq(3) table a').css({'padding-right':right_padding});
	})();
	
	// Calendar
	var active_tooltip = null;
	$('.event').mouseover(function(){
		active_tooltip = $('.description_block', $(this));
		active_tooltip.show();
	}).mousemove(function(event){
		active_tooltip.css({left:event.pageX+5, top:event.pageY+5});
	}).mouseout(function(){
		active_tooltip.hide();
	});
	
	$('.topmenu>ul>li').bind('mouseenter',function(){
		$('.submenu', $(this)).width($(this).width()-2);
		$('.submenu', $(this)).css('left','auto');
		$('.submenu', $(this)).show();
		$('>table', $(this)).addClass('act_menu');
		$('.bottom:not(.notjswidth)', $(this)).width($(this).width());
		//$('.bottom:not(.notjswidth)', $(this)).hide();
	}).bind('mouseleave',function(){
		$('.submenu', $(this)).hide();
		var a = $('>a', $(this));
		$('>table', $(this)).removeClass('act_menu');
	});
	
	var os = checkOS();
    var flash_ver = flashVersion();

    if (!flash_ver || os == 'UNIX' || (os == 'Mac' && $.browser.opera)) {
        $("#big_text").addClass("big_text_noflash");
        $("#small_text").addClass("small_text_noflash");
        $("#main_top_big").addClass("main_top_big_noflash");
    }
    else{
        if(typeof sIFR == "function"){
            sIFR.replaceElement("#big_text", "/site_media/sIFR-2.0.6/condens.swf", named({sColor:"#ffffff", sBgColor:"#9F3137", sWmode:"transparent"}));
            sIFR.replaceElement("#small_text", "/site_media/sIFR-2.0.6/condens.swf", named({sColor:"#ffffff", sFlashVars:"textalign=right", sBgColor:"#9F3137", sWmode:"transparent"}));
            sIFR.replaceElement("#main_top_big","/site_media/sIFR-2.0.6/condens.swf", named({sColor:"#ffffff", sBgColor:"#9F3137", sWmode:"transparent"}));
            sIFR.setup();
        }
    }
	
	
	/*=========== FANCY ============*/
	$(".fancy").fancybox({'overlayShow': true });
	$(".fancylinks a").fancybox({'overlayShow': true });
	$("#video_fadenews .fancylinks a").fancybox({overlayShow: true , frameWidth: 494, frameHeight: 377});
	$("#photolenta a").fancybox({'overlayShow': true});
	$("#video_news").fancybox({'overlayShow': true });

	/* ========== FADEBLOCK ======== */


	//захаченый jQuery.fn.fancybox вызывает эту функцию после своей .close
	jQuery.fn.fancybox._wrapper = function(){
		window.blackblock_undo();
		if (window._flowplaying){
			window._flowplaying.stopBuffering();
			window._flowplaying = null;
		}
	};
	
	jQuery.fn.fancybox._gwwrapper = function(){
		var flash = jQuery('#flash');
		var width = 741;//flash.width()-250+230;
		var height = 526; //flash.height()+100;
		var left = flash.offset().left+136;
		var top = flash.offset().top-45;
		//alert([flash.width(), flash.height()].join(' '));
		return [width, height, left, top];
	};
	
	jQuery('#fancy_outer').css({
		'z-index':512
	});

	window.blackblock = function(){
		var flash = jQuery('#flash');
		var bbb = jQuery('#bigblackblock');
		var offset = flash.offset();
		bbb.css({left:offset.left+250, top:offset.top, width: 513, height: 428});
		bbb.show();
	};		
	
	window.blackblock_undo = function (){
		jQuery('#bigblackblock').hide();
	};
	
	/*=========== SEARCH ===========*/
	var DelayedTask = function(fn, scope, args){
	    var id = null, d, t;
	
	    var call = function(){
	        var now = new Date().getTime();
	        if(now - t >= d){
	            clearInterval(id);
	            id = null;
	            fn.apply(scope, args || []);
	        }
	    };
		
	    this.delay = function(delay, newFn, newScope, newArgs){
	        if(id && delay != d){
	            this.cancel();
	        }
	        d = delay;
	        t = new Date().getTime();
	        fn = newFn || fn;
	        scope = newScope || scope;
	        args = newArgs || args;
	        if(!id){
	            id = setInterval(call, d);
	        }
	    };

	    this.cancel = function(){
	        if(id){
	            clearInterval(id);
	            id = null;
	        }
	    };
	};
	
	function f(){
		var english = /^\/en\//.test(location.pathname);
		var prefix = english ? "/en" : '';
		$.get(prefix + "/searchbox/", { query: $('#searchinput:text').val() },
		  function(data){
		  	$('#searchbox').empty();
			$('#searchbox').show();
			if (data.root.length === 0){
				$('#searchbox').append(english ? 'Your search did not match any documents' : 'По даному запросу ничего не найдено');
			}else{
				for(var i=0; i<data.root.length; i++){
					var model = data.root[i].model;
					$('#searchbox').append('<li class="model">'+model.name+'<//li>');
					for(var y=0; y<model.items.length; y++){
						var item = model.items[y];
						$('#searchbox').append('<li class="item" onclick="window.location=\''+item.link+'\'">'+item.name+'<\/li>');
					}
				}
				$('#searchbox LI').wrapAll("<ul><\/ul>");
				if (english){
					$('#searchbox').append('<a href="/en/search/?query='+$('#searchinput:text').val()+'">other results →<\/a>');
				}else{
					$('#searchbox').append('<a href="/search/?query='+$('#searchinput:text').val()+'">остальные результаты →<\/a>');
				}
			}
			
		  }, "json");
	}
	
	var task = new DelayedTask(f);
	$("#searchinput").bind("keyup", function(e) {
		task.delay(500);
	});
	
	$('#searchlink').bind("click", function(e){
		var prefix = /^\/en\//.test(location.pathname) ? '/en' : '';
		window.location=prefix+'/search/?query='+$('#searchinput:text').val();
	});
	
	$("HTML").bind("click", function(e) {
		$('#searchbox').hide();
		$('#searchbox').empty();
	});
	
	$("#accordion").accordion({
		autoHeight: false,
		header:'.accordion_header'
	});
	
    $('#regions_list_a').click(function(){
          $('#regions_list').toggle(0);
    });

    $('.region').click(function(e){
          var id = $(this).attr('id').split('_');
          var id_n = id[1];
          $('#id_0-organization_id').val(id_n);
		  $('#list_form').submit();
    });

    $('.city').click(function(e){
          var id = $(this).attr('id').split('_');
          var id_n = id[1];
          $('#fully_determined_city_name').show().html('<h5>Вы выбрали город: ' + $(this).attr('title') + '<\/h5>');
          $('#id_1-city_id').val(id_n);
          $("#id_1-city").val('');
          $("#new_city").hide();
          $('.as_link').show();
          $('.as_text').hide();
    });

    $("#id_1-city").bind("keyup", function(e) {
          $('#fully_determined_city_name').hide();
          $('#id_1-city_id').val('');
    });

    $("#create_city").click(function(e){
          $('#new_city').toggle(0);
          $('#fully_determined_city_name').hide();
          $('.as_link').hide();
          $('.as_text').show();
    });

    $("#create_school").click(function(e){
          $('#new_school').toggle(0);
          $('#id_2-school_id').val('');
          $('#fully_determined_school_name').hide();
          $('.as_link').hide();
          $('.as_text').show();                                                   
    });
	
    $("#create_uni").click(function(e){
          $('#new_uni').toggle(0);
          $('#id_2-uni_id').val('');
          $('#fully_determined_uni_name').hide();
          $('.as_link').hide();
          $('.as_text').show();                                                   
    });


     $("input[type='text']").addClass("input_with_bg");


     $(".event").click(function(e){
          window.location=$(this).children('a').attr('href');
     });
	 
	 
	 /******* Search participant ******/
	var okrugs = $('#selectOkrug');
	var regions = $('#selectRegion');
	var cities = $('#selectCity');
	var MOSCOW_ID = $('#MOSCOW_ID').val();
	var PITER_ID = $('#PITER_ID').val();
	var MOSCOW_REGION_ID = $('#MOSCOW_REGION_ID').val();
	var sel_school = $('#selectSchool');
	var sel_uni = $('#selectUni');
	
	var get, edu;
	if(sel_school.length){
		edu = sel_school;
		get = 'schools';
	}
	if(sel_uni.length){
		edu = sel_uni;
		get = 'uni';
	}
	
	
	function show_flexbox(okrugs, regions, cities, id){
		var sel_school = $('#selectSchool');
		var sel_uni = $('#selectUni');
		var edu = null;
		var get = null;
		var city_id = null;
		if(sel_school.length){
			edu = sel_school;
			get = 'schools';
		}
		if(sel_uni.length){
			edu = sel_uni;
			get = 'uni';
		}
		//console.log(cities.val());
		edu.empty();
		$('#selectSchoolUniWrapper').show();
		
		if(id){
			city_id = id;
		}else{
			city_id = cities.val();
		}
		
		edu.flexbox('/search_selectors/?get='+get+'&city='+city_id, {
			onSelect: function() {
				var id = this.getAttribute('hiddenValue');
				var org_id = regions.val();
				if (org_id === null){
					org_id = okrugs.val();
				}
				var edu_type = $('#edu_type').val();
				if ($(".radio_age").length){
					window.location = '/edu/'+edu_type+'/organization/'+org_id+'/edu_entry/'+id+'/sex/'+$(".radio_sex[checked]").val()+'/age/'+$(".radio_age[checked]").val()+'/';
				}else{
					window.location = '/edu/'+edu_type+'/organization/'+org_id+'/edu_entry/'+id+'/sex/'+$(".radio_sex[checked]").val()+'/';
				}
			}
		});
		
		//$('#selectSchoolUniWrapper').show();
	}
	
	okrugs.change(function(){
		edu.empty();
		$('#selectSchoolUniWrapper').hide();
		if (($(this).val() == MOSCOW_ID) || ($(this).val() == PITER_ID)){
			regions.hide();
			cities.hide();
			show_flexbox(okrugs, regions, cities, $(this).val());
		}else if (MOSCOW_REGION_ID == $(this).val()){
			regions.show();
			cities.hide();
		}else{
			regions.show();
			cities.show();
		}
	});
	
	regions.change(function(){
		edu.empty();
		$('#selectSchoolUniWrapper').hide();
		if(okrugs.val() != MOSCOW_REGION_ID){
			cities.show();
		}else{
			show_flexbox(okrugs, regions, cities, $(this).val());
		}
	});
	
	cities.change(function(){
		if ($('#selectCity:visible').length != 0){
			show_flexbox(okrugs, regions, cities);
		}
	});
	
	
	okrugs.selectChain({
		target: regions,
		url: '/search_selectors/',
		type: 'get',
		value: 'value',
		data: { ajax: true, get: "regions" }
	});
	
	regions.selectChain({
		target: cities,
		url: '/search_selectors/',
		type: 'get',
		value: 'value',
		data: { ajax: true, get: "cities" }
	});
	
	/* ABROAD (ZARUBEZHOM) */
	$('#abroad_select').change(function(){
		var url = $('#abroad_select option:selected').val();
		if (url && url != 'noclick'){
			location.href = url;
		}
	});
	/* EO ABROAD */
});

function select_school(id, step0){
    $('#fully_determined_school').val(id);
    $('#fully_determined_school_name').show().html('<h5>Вы выбрали школу: ' + $('#school_'+id).attr('title') + '<\/h5>');
    $('#id_'+step0+'-school_id').val(id);
    $("#new_school").hide();
    $('.as_link').show();
    $('.as_text').hide();
}

function select_uni(id, step0){
    $('#fully_determined_uni').val(id);
    $('#fully_determined_uni_name').show().html('<h5>Вы выбрали вуз: ' + $('#uni_'+id).attr('title') + '<\/h5>');                                                 
    $('#id_'+step0+'-uni_id').val(id);
    $("#new_uni").hide();
    $('.as_link').show();
    $('.as_text').hide();
}

function blackblock(){
	$('#bigblackblock').show();
}


jQuery(function( $ ){
	var max_width = 200;
	var score_width = 25;
	//var offset = max_width - MC_CELL_WIDTH;
	var $paneTarget = $('.blocks_wrapper');
	
	function resize_blocks(){
		jQuery.each($('.fullwidth'), function(){
			var width = Math.max($($(this).find('span')[0]).width(), $($(this).find('span')[1]).width()) + score_width;
			$(this).width(width);
		});
	}
	
	$(".blocks li:not(.fullwidth)").bind('mouseenter', function(){
		var el = $(this);
		var last = el.hasClass('last');
		var MC_CELL_WIDTH = 0;
		if(el.parent().hasClass('first')){
			MC_CELL_WIDTH = MC_CELL_WIDTH_F;
		}else{
			MC_CELL_WIDTH = MC_CELL_WIDTH_S;
		}
		
		$('.nohover', el).hide();
		$('.hover', el).show();

		var width = Math.max($($(el).find('span')[0]).width(), $($(el).find('span')[1]).width()) + score_width;
		var offset = width - MC_CELL_WIDTH;

		if(last){
			$paneTarget.stop().scrollTo("+="+offset, 800);
		}
		el.animate({width:width}, {duration:500, queue: false});
	});
	
	$(".blocks li:not(.fullwidth)").bind('mouseleave', function(){
		var el = $(this);
		var last = el.hasClass('last');
		var MC_CELL_WIDTH = 0;
		if(el.parent().hasClass('first')){
			MC_CELL_WIDTH = MC_CELL_WIDTH_F;
		}else{
			MC_CELL_WIDTH = MC_CELL_WIDTH_S;
		}

		$('.hover', el).hide();
		$('.nohover', el).show();
		
		if(last){
			$paneTarget.stop().scrollTo(0, 800);
		}
		el.animate({width:MC_CELL_WIDTH}, {duration:500, queue: false});
	});
	
	$.scrollTo.defaults.axis = 'xy';
	
	$('#matchcenter_trigger_s').click(function(){
		$('#matchcenter_trigger_f').removeClass('act');
		$(this).attr('class', 'act');
		$('.blocks').hide();
		$('.blocks.second').show();
		resize_blocks();
	});
	
	$('#matchcenter_trigger_f').click(function(){
		$('#matchcenter_trigger_s').removeClass('act');
		$(this).attr('class', 'act');
		$('.blocks').show();
		$('.blocks.second').hide();
		resize_blocks();
	});
	
	$(".blocks li").click(function(){
		//location.href = $(this).find('input').val();
		window.open($(this).find('input').val(), "MatchCenter", "menubar=no,width=1000,height=750,toolbar=no");
	});
	
	resize_blocks();
	
});