function dump(obj) {
    var out = "";
    if(obj && typeof(obj) == "object"){
        for (var i in obj) {
            out += i + ": " + obj[i] + "\n";
        }
    } else {
        out = obj;
    }
    alert(out);
}

function getAbsolutePosition(el) {
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent) {
		var tmp = getAbsolutePosition(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}
$.fn.overlay=function() {
	var el=$(this);
	$('body').append('<div id="overlay"></div>');
	$('#overlay').click(function(){$('#overlay').remove(); $('div.popup_win').hide();});
	$('#overlay').show('slow');
	return this;
}

$.fn.overlay_black=function() {
	var el=$(this);
	$('body').append('<div id="overlay_black"></div>');
	$('#overlay_black').click(function(){$('#overlay_black').remove(); $('div.popup_win').hide();});
	$('#overlay_black').show('slow');
	return this;
}

/**
* Добавление в закладки
*/
function bookmarkthis(title,url) {
	if (window.sidebar) { // Firefox
		window.sidebar.addPanel(title, url, "");
	} else if (document.all) { // IE
		window.external.AddFavorite(url, title);
	} else if (window.opera && window.print) { // Opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	}
} 

/* */
focusInInput = false;
if (document.getElementsByTagName)
onload = function () 
{
	var e, i = 0;
	while (e = document.getElementsByTagName('INPUT')[i++]) {
		if (e.type == 'text' || e.type == 'search') e.onfocus = function () {focusInInput = true};
		if (e.type == 'text' || e.type == 'search') e.onblur = function () {focusInInput = false};
	}
	i = 0;
	while (e = document.getElementsByTagName('TEXTAREA')[i++]) {
		e.onfocus = function () {focusInInput = true};
		e.onblur = function () {focusInInput = false};
	}
};


var mayCard=function(a){
	this.parent=a.parent;
	this.el=a.el;
	this.card=a.card;
	this.cardPreview=a.cardPreview;
	this.clickedEl=null;
	this.opacityCan=true;
	this.hoverEl=null;
	this.nIcons=0;
	this.cardPreviewInWork=false;
	this.coord={x:0,y:0,xHover:0,yHover:0};
	this.classes={h:"hidden",header:"header",hShort:"historyShort"};
};

mayCard.prototype={
	init:function(){
		var a=this;
		if($.browser.msie){a.opacityCan=false;}
		$(window).bind("resize",function(){a.getParams();});
		$(a.cardPreview,a.parent).click(function(){a.clickedEl=a.hoverEl;a.getParams();a.card.removeClass(a.classes.h);});
		$(a.el,a.parent).hover(function(){
			a.hoverEl=$(this);
			a.getParamsHover();
			if(!a.cardPreviewInWork){
				a.cardPreviewInWork=true;
				a.cardPreview.removeClass(a.classes.h);
				if(!a.opacityCan){a.cardPreview.show();}
				if(a.opacityCan){
					a.cardPreview.css({opacity:0.01});
					a.cardPreviewInWork=true;
					a.cardPreview.animate({opacity:1},"fast",function(){a.cardPreviewInWork=false;});
				}
				else{a.cardPreviewInWork=false;}
			}
		},function(){});
		$(a.cardPreview,a.parent).hover(function(){},function(){
			if(!a.cardPreviewInWork){
				a.cardPreview.addClass(a.classes.h);
				a.cardPreviewInWork=false;
				if(!a.opacityCan){a.cardPreview.hide();}
			}
		});
		$(".closer",a.card).click(function(){a.card.addClass(a.classes.h);});
		/*a.showRandom();*/
	},
	showRandom:function(){
	var b=this;
	b.nIcons=$(b.el,b.parent).length;
	var a=Math.round(Math.random()*(b.nIcons-1));
	$(b.el,b.parent).each(function(c){
		if(a===c){b.clickedEl=$(this);b.getParams();b.card.removeClass(b.classes.h);}
		});
	},
	getParams:function(){
		var a=this;
		if(a.clickedEl!==null){
			a.coord.x=Math.round(a.clickedEl.offset().left-a.parent.offset().left);
			a.coord.y=Math.round(a.clickedEl.offset().top-a.parent.offset().top);
			$("a",a.card).attr({href:$("."+a.classes.header+" a",a.clickedEl).attr("href")});
			$("."+a.classes.header,a.card).html($("."+a.classes.header,a.clickedEl).html());
			$("."+a.classes.hShort,a.card).html($("."+a.classes.hShort,a.clickedEl).html());
			$("img",a.card).attr({src:$("img",a.clickedEl).attr("src"), title: $("img",a.clickedEl).attr("title"), alt: $("img",a.clickedEl).attr("alt")});
			a.move();
		}
	},
	getParamsHover:function(){
		var a=this;
		if(a.hoverEl!==null){
			a.coord.xHover=Math.round(a.hoverEl.offset().left-a.parent.offset().left);
			a.coord.yHover=Math.round(a.hoverEl.offset().top-a.parent.offset().top);
			$("img",a.cardPreview).attr({src:$("img",a.hoverEl).attr("src"), title: $("img",a.hoverEl).attr("title"), alt: $("img",a.hoverEl).attr("alt")});
			a.moveHover();
		}
	},
	move:function(){
		var a=this;
		a.card.css({"left":a.coord.x+"px","top":a.coord.y+"px"});
	},
	moveHover:function(){
		var a=this;
		a.cardPreview.css({"left":a.coord.xHover+"px","top":a.coord.yHover+"px"});
	}
};

$(document).ready(function(){
	
	/* history persons */
	if($("#faceIcons").length>0){
		var b=new mayCard({parent:$("#faceIcons"),el:"li",card:$("#card"),cardPreview:$("#cardPreview")});
		b.init();
	}
	
	/* #### persons carusel #### */
	if (('.persons_carusel').length)
	{
		$('.persons_carusel').jcarousel({wrap: 'circular', auto: 5, scroll: 1});
		$('.persons_carusel').css({visibility: 'visible'});
	}
	
	// #### TOP MENU ##### 
	$count_items_menu = $('#top_menu td').size();
	$('#top_menu td').eq($count_items_menu-1).addClass('rt');
	
	$('#top_menu td').hover(
	  function () {
		$(this).addClass('hover');
		$(this).find('div.sub_menu').show();
	  }, 
	  function () {
		$(this).removeClass('hover');
		$(this).find('div.sub_menu').hide();
	  }
	);
	
	/* #### блок новостей на главной #### */
	/*$('#news_main .news_content:first').show();
	$('#news_main .line_vkladki ul li:first').addClass('active');*/
	$('#news_main .line_vkladki ul li').click(function(){
		$(this).siblings().removeClass('active').end().addClass('active');
		$('#news_main .news_content').hide().eq($('#news_main .line_vkladki ul li').index(this)).show();
		return false;
	});
	
	/* */
	$('#main_slide_news .nm_left .news_detail:first').show();
	$('#main_slide_news .nm_right ul li').hover(
		function () {
			$(this).parent('ul').find('li').removeClass('active');
			$(this).addClass('active');
			$('#main_slide_news .nm_left .news_detail').hide();
			$('#main_slide_news .nm_left .news_detail').eq($('#main_slide_news .nm_right ul li').index($(this))).show();
		},
		function () {}
	); 
	
	/* кнопка Нравится */
	$('.like_btns .button').hover(
	  function () {
		$(this).find('a.main_link').addClass('active');
		$(this).find('.pop_like').show();
	  },
	  function () {
		$(this).find('a.main_link').removeClass('active');
		$(this).find('.pop_like').hide();
	  }
	);
	
	$(window).load(function(){
		/* кнопка одноклассников */
		ODKL.init();
		/* список публикаций */
		//$count_pub = Math.floor($('.list_publications').width()/($('.list_publications .item').width()+25));
		$height_list_pub = 0;
		$('.list_publications .block .item').each(function() {
			//if ($('.list_publications .block .item').index($(this))<=$count_pub-1) {
				if ($(this).height()>$height_list_pub) {
					$height_list_pub = $(this).height();
				}
			//}
		});
		$('.list_publications').height($height_list_pub);
	});
	
	/* ### публикации на главной ### */
	pm_interval = 0;
	$pm_time = 7000;
	$pm_current = 0;
	$pm_size = $('#pub_main .lf_list ul li').size();
	
	$('#pub_main .lf_list ul li').hover(
		function () {
			clearInterval(pm_interval);
			$('#pub_main .lf_list ul li').removeClass('b_active');
			$('#pub_main .lf_list ul li').removeClass('r_active');
			var $current = $('#pub_main .lf_list ul li').index($(this));
			$pm_current = $current;
			if (($current % 2) == 0) {
				$(this).addClass('b_active');
				$('#pub_main').removeClass('pub_main_red');
				$('#pub_main').addClass('pub_main_blue');
			} else {
				$(this).addClass('r_active');
				$('#pub_main').addClass('pub_main_red');
				$('#pub_main').removeClass('pub_main_blue');
			}
			$('#pub_main .rt_image img').removeClass('active').eq($current).addClass('active');;
			$('#pub_main .rt_image .link_to_all').hide().eq($current).show();
		},
		function () {
			pm_interval = setInterval(pm_next, $pm_time);
		}
	); 
	
	function pm_next() {
		$('#pub_main .lf_list ul li').eq($pm_current).removeClass('b_active').removeClass('r_active');
		$('#pub_main .rt_image img').eq($pm_current).removeClass('active');
		$('#pub_main .rt_image .link_to_all').eq($pm_current).hide();
		if ($pm_current>=($pm_size-1)) {
			$pm_current = 0;
		} else {
			$pm_current++;
		}
		if (($pm_current % 2) == 0) {
			$('#pub_main .lf_list ul li').eq($pm_current).addClass('b_active');
			$('#pub_main').removeClass('pub_main_red').addClass('pub_main_blue');
		} else {
			$('#pub_main .lf_list ul li').eq($pm_current).addClass('r_active');
			$('#pub_main').addClass('pub_main_red').removeClass('pub_main_blue');
		}
		$('#pub_main .rt_image img').eq($pm_current).addClass('active');
		$('#pub_main .rt_image .link_to_all').eq($pm_current).show();
	}
	pm_interval = setInterval(pm_next, $pm_time);
	
	/* ### side-блок - переключение вкладок ### */
	$('.side_items_vkl .line_vkl ul li').click(function(){
		$(this).siblings().removeClass('active').end().addClass('active');
		$('.side_items_vkl .tabs').hide().eq($('.side_items_vkl .line_vkl ul li').index(this)).show();
		return false;
	});
	
	/* ### side-блок - подсвечивание при наведении ### */
	$('.side_pre_img .blue_brd').hover(
		function () {
			$(this).addClass('blue_lba');
		},
		function () {
			$(this).removeClass('blue_lba');
		}
	); 
	
	$('.side_pre_img .red_brd').hover(
		function () {
			$(this).addClass('red_lba');
		},
		function () {
			$(this).removeClass('red_lba');
		}
	); 
	
	/*  вкладки на странице карты */
	/*$('.list_vkladki li').click(function(){
		$(this).siblings().removeClass('active').end().addClass('active');
		$('.under_menu').removeClass('um_active').eq($('.list_vkladki li').index(this)).addClass('um_active');
		return false;
	});*/
	
	/* pages */
	
	/*$(function() {
		var previous = $('div.pages .prev');
		if(previous.length) {
			
			if (!previous.find('span').length){
				previous.prepend('<span>&#8592; Ctrl</span>');
				$(document).bind('keydown', function(e)
				{
					if (window.e) event = window.e;
					if (e.ctrlKey && !focusInInput)
					{
						switch (e.keyCode ? e.keyCode : e.which ? e.which : null){
							case 0x25:
								document.location = $('div.pages .prev a').attr('href');
								break;
						}
					return false;
					}
				});
			}
		}
		var next = $('div.pages .next');
		if(next.length) {
			if (!next.find('span').length){
				next.append('<span>Ctrl &#8594;</span>');
				$(document).bind('keydown', function(e) 
				{
					if (window.e) event = window.e;
					if (e.ctrlKey && !focusInInput)
					{
						switch (e.keyCode ? e.keyCode : e.which ? e.which : null){
							case 0x27:
								document.location = $('div.pages .next a').attr('href');
								break;
						}
						return false;
					}
				});
			}
		}
	});*/
	
	/* */
	$('.popup .close').click(function(){
		$(this).parents('.popup').hide();
		return false;
	});
	
	$('.line_vkladki .about a').click(function(){
		$('#pp-about-map').show().centering(1,1);
		return false;
	});
	
	/* #### UPDATE 24.03.2011 ##### */
	$('.popup .close').click(function(){
		$(this).parents('.popup').hide();
		return false;
	});
	
	$('.line_vkladki .about a').click(function(){
		$('#pp-about-map').show().centering(1,1);
		return false;
	});
	
	/* */
	$('div.top_line .auth_line a.enter').click(function(){
		var pos = $(this).position();
		$('#reg_win').overlay_black().show().css({left: pos.left-218, top: pos.top+20});
		return false;
	});
	
	$('div.popup_win a.close').click(function(){
		$(this).parents('div.popup_win').hide();
		$('div#overlay').remove();
		$('div#overlay_black').remove();
		return false;
	});
	
	$('#header .line_tabs a').click(function(){
		$(this).siblings().removeClass('active').end().addClass('active');
		$(this).parent().parent().find('.tab_block').hide().eq($(this).parent().find('a').index(this)).show();
		return false;
	});
	
	/* */
	$('a.lightview').lightBox({
		//fixedNavigation:true,
		txtImage: 'Фото',
		txtOf: 'из',
		txtPrev: ' Назад',
		txtNext: ' Вперед'
	});
	
	/* table data */
	$('table.tbl-data tbody tr').hover(
	function()
	{
		$(this).addClass('tr_hover');
	},
	function()
	{
		$(this).removeClass('tr_hover');
	});
	
    $("a.link_anchor").click(function () {
      elementClick = $(this).attr("href");
      destination = $(elementClick).offset().top;
      $("html, body").animate({ scrollTop: destination}, 1000 );
      return false;
    });
	
});

