$(document).ready(function(){
	$('html, body').addClass('JS').removeClass('NOJS');
	$('.b-search').find('.b-search-fld').focusout();
})

$(window).resize(function() {
	
});

$(window).load(function() { 
	placeUserPanel();
});

$(function(){
	$('.b-showhide').click(function(){
		var targetObjectId = $(this).attr('show');
		var targetObjectClass = $(this).attr('show_class');
		if(targetObjectId){
			var targets = $('#'+targetObjectId);
		} else if(targetObjectClass){
			var targets = $('.'+targetObjectClass);
		} else {
			var targets = $(this).next();	
		};
		if(targets.length > 0){
			targets.each(function(){
				if($(this).hasClass('b-js_hidden')){
					$(this).removeClass('b-js_hidden').hide().slideDown('fast', function() {});
				} else {
					$(this).slideUp('fast', function() {
						$(this).addClass('b-js_hidden')
					});
				};
			})
		};
		return false;
	});
})

$(function(){
	$('.b-showcut').click(function(){
		$(this)
			.hide('fast')
			.next().show('slow');
		return false;
	});
})

function testForm(s_id){
	var formFields = $(s_id + ' *[required]');
	var submitForm = $(s_id + ' input[type=submit]');
	var bShowSubmit = 1;
	formFields.each(function(){
		if(!$(this).val()){
			bShowSubmit = 0;
		};
	});
	if(bShowSubmit){
		submitForm.removeAttr('disabled');
	} else {
		submitForm.attr('disabled','disabled');
	};
};

function sF(){
	$('.btn_submit').each(function(){
		$(this)
			.val('Секундочку...')
			.addClass('btn_wait')
			.attr({'disabled':'disabled'})
			
	})
}

function trimFields(targetForm){
	if(targetForm){
		var targetObjects = $(targetForm).find('input[type=text], input.b-fld_text')
	} else {
		var targetObjects = $('input[type=text], input.b-fld_text')
	}
	$(targetObjects).each(function(){
		$(this).val(trim($(this).val()))
	})
	return true;
}

function trim(str) {
	charlist = ' \\s\\xA0\\n\\t';
	var re = new RegExp('^[' + charlist + ']+|[' + charlist + ']+$', 'g');
	return str.replace(re, '');
}


$(function(){
	$('dl.tabs_vertical dt.tab_dynamic span').click(function(){
		if($(this).parent().hasClass('selected')) {
			$(this).parent()
				.removeClass('selected')
				.next('dd').removeClass('selected').end();
			
		} else {
			$(this).parent()
				.addClass('selected')
				.next('dd').addClass('selected').end();
		}
	});
})

$(function(){
	$('dl.tabs_horizontal dt.tab').click(function(){
		$(this)
			.siblings().removeClass('selected').end()
			.next('dd.tab').andSelf().addClass('selected');
	});
})

function getCookie(name) {
	var matches = document.cookie.match(new RegExp(
	  "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
	))
	return matches ? decodeURIComponent(matches[1]) : undefined 
}

function setCookie(name, value, props) {
	props = props || {}
	var exp = props.expires
	if (typeof exp == "number" && exp) {
		var d = new Date()
		d.setTime(d.getTime() + exp*1000)
		exp = props.expires = d
	}
	if(exp && exp.toUTCString) { props.expires = exp.toUTCString() }

	value = encodeURIComponent(value)
	var updatedCookie = name + "=" + value
	for(var propName in props){
		updatedCookie += "; " + propName
		var propValue = props[propName]
		if(propValue !== true){ updatedCookie += "=" + propValue }
	}
	document.cookie = updatedCookie
}

function deleteCookie(name) {
	setCookie(name, null, { expires: -1 })
}

function placeUserPanel(){
	var params = getCookie('auth.current_user');
	if(params){
		var str = params.split(';'),
		sUserName = str[0], iUserId = str[1];
		$('#b-user_panel').find('.username').html(sUserName).end().show();
	} else {
		$('#b-user_panel').find('.username').html('%username%').end().hide();
	};
}

$(function() {
	var backgroundheight = 80;
	var backgroundwidth = 250;
	var logoheight = 30;
	var logowidth = 170;
	var offset_y = (backgroundheight-logoheight) * Math.random();
 	var offset_x = (backgroundwidth-logowidth) * Math.random();
	function scrollbackground() {
		// decrease the offset by 1, or if its less than 1 increase it by
		// the background height minus 1
   		// offset_y = (offset_y < 1) ? offset_y + (backgroundheight - 1) : offset_y - 1;
   		offset_x = (offset_x < 1) ? offset_x + (backgroundwidth - 1) : offset_x - 1;
   		$(".b-logo").css("background-position", "-" + offset_x + "px -" + offset_y + "px");
   		setTimeout(function() {
			scrollbackground();
			}, 50
		);
   	}
	scrollbackground();
})

function updatePresentationList(iEventId,iDefaultFile){
	var sPath = '/r/current_slide/'+iEventId+'.txt?r='+Math.random()*1000000;
	$.get(sPath, function(data){
		if(parseFloat(data) <= 0){
			data = iDefaultFile;
		};
		var activeItem = '#slide_'+data;
		var iCurrentSLide = $('#b-presentation li.selected').attr('slide_id');
		$(activeItem)
			.siblings().removeClass('selected').end()
			.addClass('selected');
		if(data != iCurrentSLide){
			scrollPresentationList();
		};
	});
}
	
$(document).ready(
	function(){
		scrollPresentationList();
	}
)

function scrollPresentationList(){
	if($('#b-presentation').length > 0){
		var liScroll = $('#b-presentation li.selected').prevAll().length;
		var liWidth = $('#b-presentation li').width();
		liScroll = liScroll*liWidth;
	};
	$('#b-presentation .l-event-presentation-gallery').animate({scrollLeft: liScroll + 'px'}, 1000);
}

$(function(){
	$('#b-comments_reload').click(function(){
		var params = $(this).attr('params');
		if (!params) return;
		var str = params.split(';'),
		eventId = str[0], eventCommentsPage = str[1];
		$(this).find('i').css('background-position','-16px 0');
 		loadComments(eventId,eventCommentsPage);
		return false;
	});	
})


function loadComments(iEventId,iPage){
	var sPath = '/r/get_event_comments/?event='+iEventId+'&page='+iPage+'&rnd='+Math.random()*1000000;
	$('#b-comments')
	 	.children('.b-comments-waiting').html('').hide().end()
		.load(sPath, function() {
			$('#b-comments_reload i').css('background-position','0 0');
			$('#b-comments .b-comments_scroller .b-scroller-page').click(function(){
				var iPage = $(this)
					.addClass('b-scroller-page_selected')
					.siblings().removeClass('b-scroller-page_selected').end()
					.attr('page');
				loadComments(iEventId,iPage);
				iPage = parseInt(iPage);
				var iNextPage = iPage+1;
				var iPrevPage = iPage-1;
				var iPages = $('#b-comments .b-comments_scroller .b-scroller-page').length;
				if(iPage > 1){
					$('#b-comments .b-comments_scroller .b-scroller-arrow_prev').attr({'href':'','page':iPrevPage}).removeClass('b-scroller-arrow_disabled');
				} else {
					$('#b-comments .b-comments_scroller .b-scroller-arrow_prev').attr('href','').addClass('b-scroller-arrow_disabled');
				};
				if(iNextPage <= iPages){
					$('#b-comments .b-comments_scroller .b-scroller-arrow_next').attr({'href':'','page':iNextPage}).removeClass('b-scroller-arrow_disabled');
				} else {
					$('#b-comments .b-comments_scroller .b-scroller-arrow_next').attr('href','').addClass('b-scroller-arrow_disabled');
				};
				return false;
			});
			$('#b-comments .b-comments_scroller .b-scroller-arrow').click(function(){
				var iPage = $(this).attr('page');
				$('#b-comments .b-comments_scroller .b-scroller-page[page="'+iPage+'"]').click();
				return false;
			});
			return false;
		}).end()
	 return false;
}

function correctFormHeight(){
	var iframe = $('#fr_comments', parent.document.body);
	$(window).load(function() { 
	 	iframe.height($('.l-comment_form').height());
	});
}

function checkTranslationStatus(startTimeDifference,finishTimeDifference,sNextTranslation,bIsRecord){
	var seconds = startTimeDifference % 60;
	var minutes = Math.floor((startTimeDifference - seconds)/60%60);
	var hours = Math.floor(((startTimeDifference - seconds)/60-minutes)/60%24);
	var days = Math.floor((((startTimeDifference - seconds)/60-minutes)/60-hours)/24);
	var startTime = ' дней: ' + days  + ', часов: '+  hours  + ', минут: '+ minutes  + ', секунд: '+ seconds;
	if(startTimeDifference > 0){
		$('#b-video-info').html('До начала трансляции: ' + startTime);
	} else if(finishTimeDifference <= 0){
		if(sNextTranslation){
			var sMessage = 'Эта трансляция окончена. Вы можете перейти к <a href="'+sNextTranslation+'">следующей трансляции</a>'
		} else {
			var sMessage = 'Трансляция окончена.'
		};
		if(!bIsRecord){
			$f().stop();
			$('#player').remove();
			$('#b-video-info').html(sMessage).css('color','red');
		}
	} else {
		$('#b-video-info').html('Трансляция началась. Если вы не видите плеер, пожалуйста, обновите страницу').css('color','red');
		if(startTimeDifference == 0){
			playerInit();
			if(!bIsRecord){
				$f().play();
			};
		}
	};
	if(startTimeDifference >= 0 || finishTimeDifference >= 0){
		setTimeout(function(){
			checkTranslationStatus(startTimeDifference-1,finishTimeDifference-1, sNextTranslation, bIsRecord);
		}, 1000);
	}
}


