var anchor = '';
var pageLoaded = false;

		$(document).ready(function() {
			$("a.jsposter").fancybox({
				'titleShow'				: false,
				'padding'				: 10,
				'hideOnContentClick'	: true,
				'overlayShow'			: false
			});
			$("a[rel=example_group]").fancybox({
				'transitionIn'		: 'none',
				'transitionOut'		: 'none',
				'titleShow'			: false,
				'padding'			: 5,
				'hideOnContentClick': true,
				'overlayShow'		: false
			});
			
			$(".vivodakter").fancybox({
				'padding' 		: 0,
				'type'      	: 'iframe',
				'autoDimensions': false,
				'scrolling'		: 'no',
				'width'			: 530,
				'height'		: 500,
				'overlayShow'	: false
			});

			$(".kaksmotret").fancybox({
				'padding' 		: 0,
				'type'      	: 'iframe',
				'autoDimensions': false,
				'scrolling'		: 'no',
				'width'			: 530,
				'height'		: 350,
				'overlayShow'	: false
			});

			$(".showepisode").fancybox({
				'padding' 		: 0,
				'type'      	: 'iframe',
				'autoDimensions': false,
				'scrolling'		: 'no',
				'width'			: 600,
				'height'		: 700,
				'overlayShow'	: false
			});

			pageLoaded = true;
		});



var trans = [];
var snart = [];
for (var i = 0x410; i <= 0x44F; i++)
{
	trans[i] = i - 0x350; // А-Яа-я
	snart[i-0x350] = i;
}
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё
snart[0xA8] = 0x401;
snart[0xB8] = 0x451;

function m_escape(str)
{
	var ret = [];
	for (var i = 0; i < str.length; i++)
	{
		var n = str.charCodeAt(i);
		if (typeof trans[n] != 'undefined')
			n = trans[n];
		if (n <= 0xFF)
			ret.push(n);
	}
	return escape(String.fromCharCode.apply(null, ret));
}

function m_unescape(str)
{
	var ret = [];
	str = unescape(str);
	for (var i = 0; i < str.length; i++)
	{
		var n = str.charCodeAt(i);
		if (typeof snart[n] != 'undefined')
			n = snart[n];
		ret.push(n);
	}
	return String.fromCharCode.apply(null, ret);
}

var mod = "";
var site_url = "";
var curuser = 0;

var isGecko = navigator.userAgent.toLowerCase().indexOf("gecko") != -1;

var curEditingComment = -1;

function showZNRating(rating)
{
	var total_rating = rating;
	var star_width = total_rating * 17;
	$('#raiting_votes').width(star_width);
}

function voteZNVRating(film_id, rating)
{
	showZNRating(rating);

	var total_rating = rating;
	var star_width = total_rating * 17 ;

	$('#raiting').hover(function() {
		$('#raiting_votes, #raiting_hover').toggle();
	},
	function() {
		$('#raiting_votes, #raiting_hover').toggle();
	});
	var margin_doc = $("#raiting").offset();
	$("#raiting").mousemove(function(e) {
		var width_votes = e.pageX - margin_doc.left;
		if (width_votes == 0) width_votes = 1 ;
		user_votes = Math.ceil(width_votes/17);  
		$('#raiting_hover').width(user_votes*17);
	});
	$('#raiting').click(function() {
		$('#raiting_info img').toggle();

		var callback = function(content)
		{
			if (content.length > 0)
			{
				var rat = content.split('|||');
				if (isGecko)
				{
					document.getElementById("film_znv_rating").textContent = rat[0];
					document.getElementById("film_znv_votes").textContent = "("+rat[1]+")";
				}
				else
				{
					document.getElementById("film_znv_rating").innerText = rat[0];
					document.getElementById("film_znv_votes").innerText = "("+rat[1]+")";
				}

				$('#raiting_info img').toggle();

				total_rating = rat[0];
				star_width = total_rating * 17;
				$('#raiting_votes').width(star_width);
			}
		}

		$('#raiting_votes, #raiting_hover').toggle();
		$('#raiting').unbind("click mouseenter mouseleave mousemove");

		xhr.option.url = '';
		xhr.get('/aj_votefilm_zn&film_id='+film_id+'&vote='+user_votes, callback);
	});
}

function trim(str, charlist)
{
	charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
	var re = new RegExp('^[' + charlist + ']+|[' + charlist + ']+$', 'g');
	return str.replace(re, '');
}

function insertAfter(curNode, newNode, refNode)
{
	if (refNode.nextSibling)
		return curNode.insertBefore(newNode, refNode.nextSibling);
	else
		return curNode.appendChild(newNode);
}

if (document.getElementsByClassName == undefined)
{
	document.getElementsByClassName = function(cl)
	{
		var retnode = [];
		var myclass = new RegExp('\\b'+cl+'\\b');
		var elem = this.getElementsByTagName('*');
		for (var i = 0; i < elem.length; i++)
		{
			var classes = elem[i].className;
			if (myclass.test(classes))
			{
				retnode.push(elem[i]);
			}
		}
		return retnode;
	}
}

function doSearchFilms(str, search_in_descr)
{
	if (str.length < 3 || str.length > 40)
	{
		document.getElementById('founded_films').innerHTML="<div class='error'>Минимум 3 символа!</div>";
		return 1;
	}

	document.getElementById('founded_films').innerHTML="<div class='progress'>&nbsp;</div>";
	
	var callback = function(content)
	{
		var objContent = document.getElementById('founded_films');
		objContent.innerHTML = content;
	}

	xhr.option.url = '';
	xhr.get('/aj_search&type=film&str='+m_escape(str)+'&search_in_descr='+search_in_descr, callback);
}

function searchFilms(str, search_in_descr)
{
	anchor = window.location.hash = "#search_"+m_escape(str);
	doSearchFilms(str, search_in_descr);
}

function doSearchPeople(str)
{
	if (str.length < 3 || str.length > 30)
	{
		document.getElementById('founded_actors').innerHTML="<div class='error'>Минимум 3 символа!</div>";
		return 1;
	}

	document.getElementById('founded_actors').innerHTML="<div class='progress'>&nbsp;</div>";
	
	var callback = function(content)
	{
		var objContent = document.getElementById('founded_actors');
		objContent.innerHTML = content;
	}

	xhr.option.url = '';
	xhr.get('/aj_search&type=people&str='+m_escape(str), callback);
}

function searchPeople(str)
{
	anchor = window.location.hash = "#psearch_"+m_escape(str);
	doSearchPeople(str);
}

function doMinipoisk(genre, country, year, rating, page, from_page)
{
	if (mod != 'main')
	{
		document.location ="/main&ms_genre="+genre+"&ms_country="+country+"&ms_year="+year+"&ms_rating="+rating;
	}
	else
	{
		if (document.getElementById('minipoisk_genre') != null)
		{
			document.getElementById('minipoisk_genre').disabled = true;
			document.getElementById('minipoisk_country').disabled = true;
			document.getElementById('minipoisk_year').disabled = true;
			document.getElementById('minipoisk_rating').disabled = true;
		}

		var callback = function(content)
		{
			var result = content.split('|||');

			if (document.getElementById('main_block_minipoisk') != null)
				document.getElementById('main_block_minipoisk').innerHTML = result[0];

			document.getElementById('main_catalog_num').innerHTML = result[1];
			document.getElementById('main_catalog').innerHTML = result[2];
			document.getElementById('filter_films_count').innerHTML = result[3];

			if (from_page == 1)
				window.scrollTo(0,0);
		}

		document.getElementById('main_catalog').innerHTML = "<div class='preload'><img src='http://znvideo.ru/templates/znvideo/img/ajax-loader.gif' alt=''></div>";

		xhr.option.url = '';
		xhr.get('/aj_main&ms_genre='+genre+'&ms_country='+country+'&ms_year='+year+'&ms_rating='+rating+'&page='+page, callback);
	}
}

function onMinipoisk(genre, country, year, rating, page, from_page)
{
	doMinipoisk(genre, country, year, rating, page, from_page);
	anchor = window.location.hash = '#catalog_'+genre+'_'+country+'_'+year+'_'+rating+'_'+page;
}

function addToBookMarks(type, film_id, elem)
{
	var callback = function(content)
	{
		if (isGecko)
			elem.textContent = content;
		else
			elem.innerText = content;

		if (type == 'full')
			elem.onclick = function() { delFromBookMarks(film_id, elem); }
	}

	xhr.option.url = '';
	xhr.get('/aj_bookmarks&type='+type+'&action=add&bookmark='+film_id, callback);
}

function delFromBookMarks(film_id, elem)
{
	if (confirm_delete_bookmark)
	{
		if (!confirm('Вы уверены?'))
			return;
	}

	var callback = function(content)
	{
		if (isGecko)
			elem.textContent = content;
		else
			elem.innerText = content;

		elem.onclick = function() { addToBookMarks('full', film_id, elem); }
	}

	xhr.option.url = '';
	xhr.get('/aj_bookmarks&type=full&action=del&bookmark='+film_id, callback);
}

function bookmarksPageDel(bookmark, page)
{
	if (bookmark != 0 && confirm_delete_bookmark)
	{
		if (!confirm('Вы уверены?'))
			return;
	}

	var callback = function(content)
	{
		var objContent = document.getElementById('bookmarks_page');
		objContent.innerHTML = content;
	}

	xhr.option.url = '';
	var q = '/aj_bookmarks&type=page&page='+page;
	if (bookmark > 0)
		q = q + '&action=del&bookmark='+bookmark;

	xhr.get(q, callback);
}

function setSettings(sett, val)
{
	var callback = function(content)
	{
		$("#"+sett+"_notif").css('opacity', 1);

		var objContent = document.getElementById(sett+'_notif');
		if (isGecko)
			objContent.textContent = content;
		else
			objContent.innerText = content;

		$("#"+sett+"_notif").stop().animate( {opacity: 0}, 2000);
	}

	xhr.option.url = '';
	xhr.get('/aj_settings&sett='+sett+'&value='+val, callback);
}

function comments(film_id, page, comm_added)
{
	document.getElementById('add_comment_text').disabled = true;
	document.getElementById('send_comment').disabled = true;

	var callback = function(content)
	{
		document.getElementById('film_comments').innerHTML = content;

		document.getElementById('add_comment_text').disabled = false;
		document.getElementById('send_comment').disabled = false;
	}

	xhr.option.url = '';

	if (comm_added == 1)
	{
		var txt = document.getElementById('add_comment_text').value;
		document.getElementById('add_comment_text').value = "";
		xhr.post('/aj_comments&action=get&film_id='+film_id, "text="+m_escape(txt), callback);
	}
	else
		xhr.get('/aj_comments&action=get&film_id='+film_id+'&page='+page, callback);
}

function procSmiles(str, text_to_smile)
{
	var smlimg = ["smile1.gif","smile1.gif","grin.gif","grin.gif","tongue.gif","tongue.gif","tongue.gif","tongue.gif","wink.gif","wink.gif","noexpression.gif","confused.gif","sad.gif","sad.gif","cry.gif","cry.gif",
		"ohmy.gif","clown.gif","cool1.gif"];
	var smlcode = [":)",":-)",":D",":-D",":P",":-P",":Р",":-Р",";-)",";)",":-|",":-/",":-(",":(",":'-(",":'(",":-O",":o)","8-)"];

	if (text_to_smile == 1)
	{
		for (var j = 0; j < smlimg.length; j++)
			str = str.split(smlcode[j]).join("<img src=\""+site_url+"ZNCms/img/smiles/"+smlimg[j]+"\">");
	}
	else
	{
		for (var j = 0; j < smlimg.length; j++)
			str = str.split("<img src=\""+site_url+"ZNCms/img/smiles/"+smlimg[j]+"\">").join(smlcode[j]);
	}

	return str;
}

function cancelEditComment(com_id)
{
	if (com_id == -1)
		return;
	var tel = document.getElementById('com_oright_'+com_id);
	tel.innerHTML = tel.mytmp;
	curEditingComment = -1;
}

function saveComment(com_id)
{
	var el = document.getElementById('com_oright_'+com_id);
	var txt = document.getElementById('save_comment_'+com_id).value;

	var tval = trim(txt, " \r\n\t");
	if (tval.length < 1)
	{
		cancelEditComment(curEditingComment);
		return;
	}

	var callback = function(content)
	{
		if (content == "not found")
		{
			var str = "<div class='error'>Отзыв с таким ID не найден.<br>Возможно, он был удалён.</div>";
			el.innerHTML = str;
			el.mytmp = str;
		}
		else
		{
			var t = content.split("||%dlm%||");

			el.innerHTML = t[2];
			el.mytmp = t[2];

			if (t[3] == 1)
			{
				var edd = document.getElementById('moder_'+com_id);
				if (edd == null)
				{
					var div = document.createElement("div");
					div.setAttribute('id', 'moder_'+com_id);
					div.setAttribute('class', 'moder');
					div.innerHTML = "<span id='com_moderated_"+com_id+"'>Отредактировал: "+t[0]+", "+t[1]+"</span>";
					document.getElementById('otz_m_'+com_id).insertBefore(div, document.getElementById('otz_m_date_'+com_id));
				}
			}
		}
	}

	xhr.option.url = '';
	xhr.post('/aj_comments&action=edit&com_id='+com_id, "text="+m_escape(txt), callback);
}

function editComment(com_id)
{
	cancelEditComment(curEditingComment);

	var el = document.getElementById('com_oright_'+com_id);

	inner = el.innerHTML;
	inner = inner.split("<BR>").join("\n");
	inner = inner.split("<br>").join("\n");
	inner = inner.split("<br />").join("\n");
	inner = inner.split("<BR />").join("\n");
	inner = inner.split("<span style=\"background-color: yellow;\">").join("");
	inner = inner.split("</span>").join("");

	inner = procSmiles(inner, 2);

	el.mytmp = el.innerHTML;
	curEditingComment = com_id;
	el.innerHTML = "<textarea id='save_comment_"+com_id+"' class='textkom' style='height:"+el.clientHeight+"px'>"+inner+"</textarea><div class='bottom'><img src='http://znvideo.ru/templates/znvideo/img/save_min.png' onClick='saveComment("+com_id+");'><img src='http://znvideo.ru/templates/znvideo/img/cancel_min.png' onClick='cancelEditComment("+com_id+");'></div>";
}

function deleteComment(com_id, from, is_ajax)
{
	var callback = function(content)
	{
		if (is_ajax == 1)
			document.getElementById(from).innerHTML = content;
		else
			document.location = document.location;
	}

	xhr.option.url = '';
	xhr.post('/aj_comments&action=del&from='+from, 'com_id='+com_id, callback);
}

function deleteFilm(film_id)
{
	var callback = function(content)
	{
		document.getElementById('del_result').innerHTML = content;
		document.getElementById('back_link').style.display = "block";
	}

	xhr.option.url = '';
	xhr.post('/aj_delete', 'film_id='+film_id, callback);
}

function procShowBlock(el, cldiv, block, show)
{
	if (show == 0)
	{
		el.style.display = 'none';
		cldiv.className = 'sver';
		cldiv.onclick = function() { showBlock(cldiv, block, 1); }
	}
	else
	{
		el.style.display = 'block';
		cldiv.className = 'razv';
		cldiv.onclick = function() { showBlock(cldiv, block, 0); }
	}
}

function showBlock(cldiv, block, show)
{
	if (curuser == 1)
	{
		var callback = function(content)
		{
			var el = document.getElementById('main_block_'+block);
			if (el == null)
			{
				var div = document.createElement("div");
				div.setAttribute('id', 'main_block_'+block);
				div.setAttribute('class', 'text');
				div.innerHTML = content;
				insertAfter(document.getElementById('main_blocks'), div, document.getElementById('block_header_'+block));
				el = div;
			}

			procShowBlock(el, cldiv, block, show);
		}

		xhr.option.url = '';
		xhr.get('/aj_blocks&act=show&block='+block+'&show='+show, callback);
	}
	else
	{
		var el = document.getElementById('main_block_'+block);
		procShowBlock(el, cldiv, block, show);
	}
}

function procMoveBlock(block, where)
{
	var head = document.getElementById('block_header_'+block);
	var data = document.getElementById('main_block_'+block);
	var bl = head.parentNode;

	var els = new Array();
	var j = 0, iid = 0;
	for (var i = 0; i < bl.childNodes.length; i++)
	{
		if (bl.childNodes[i].nodeType != 1)
			continue;

		var tid = ''+bl.childNodes[i].id;
		if (tid.length < 1)
			continue;

		els[j] = bl.childNodes[i];
		if (els[j] == head)
			iid = j;
		j++;
	}

	if (where == 1)
	{
		var k = 0;
		for (k = iid - 1; k >= 0; k--)
		{
			var tid = ''+els[k].id;
			if (tid.indexOf('block_header_') != -1)
				break;
		}

		if (k >= 0)
		{
			var nhead = head.cloneNode(true);
			bl.removeChild(head);
			bl.insertBefore(nhead, els[k]);

			if (data != null)
			{
				var ndata = data.cloneNode(true);
				bl.removeChild(data);
				bl.insertBefore(ndata, els[k]);
			}
		}
	}
	else if (where == -1)
	{
		var k = 0;
		var kk = 0;
		for (k = iid + 1; k < j; k++)
		{
			var tid = ''+els[k].id;
			if (tid.indexOf('block_header_') != -1)
			{
				kk++;
				if (kk >= 2)
					break;
			}
		}

		if (k <= j)
		{
			var nhead = head.cloneNode(true);
			bl.removeChild(head);

			if (data != null)
			{
				var ndata = data.cloneNode(true);
				bl.removeChild(data);
			}

			if (k == j)
			{
				bl.appendChild(nhead);
				if (data != null)
					bl.appendChild(ndata);
			}
			else
			{
				bl.insertBefore(nhead, els[k]);
				if (data != null)
					bl.insertBefore(ndata, els[k]);
			}
		}
	}
	
}

function moveBlock(block, where)
{
	if (curuser == 1)
	{
		var callback = function(content)
		{
			procMoveBlock(block, where);
		}

		xhr.option.url = '';
		xhr.get('/aj_blocks&act=move&block='+block+'&where='+where, callback);
	}
	else
	{
		procMoveBlock(block, where);
	}
}

function opinions(user_id, page)
{
	var callback = function(content)
	{
		document.getElementById('user_opinions').innerHTML = content;
	}

	xhr.option.url = '';
	xhr.get('/aj_opinions&user_id='+user_id+'&page='+page, callback);
}

function filmEditScreenClick(node)
{
	if (node.checked)
		node.parentNode.className = "sel";
	else
		node.parentNode.className = "nosel";
}

function findNoCensured()
{
	var cens = ["хуй","хуе","хуя","хуё","бля","пизд","ебан","ёбан","еба","ебе","ебё","сука","муда","муди"];

	var cnt = 0;

	var els = document.getElementsByClassName("oright");
	for(var i = 0; i < els.length; i++)
	{
		var fnd = 0;
		var el = els[i];
		var ih = el.innerHTML;

		for (var j = 0; j < cens.length; j++)
		{
			var sih = ""+ih;
			if (sih.toLowerCase().indexOf(cens[j].toLowerCase()) != -1)
			{
				ih = ih.replace(new RegExp(cens[j],'gi'), "<span style='background-color: yellow;'>"+cens[j]+"</span>");
				els[i].innerHTML = ih;
				fnd = 1;
			}
		}

		if (fnd == 1)
			cnt++;
	}

	if (cnt > 0)
	{
		document.getElementById("cens_find").innerHTML = "[Найти нецензурные выражения] (найдено в "+cnt+" отзывах)";
	}
}


function oprosVote(opros_id, answer)
{
	var callback = function(content)
	{
		if (content.length > 0)
		{
			var t = content.split("|||");
			document.getElementById('opros_'+opros_id+'_yes_cnt').innerHTML = t[0];
			document.getElementById('opros_'+opros_id+'_no_cnt').innerHTML = t[1];

			document.getElementById('opros_'+opros_id+'_yes_vote').style.display = 'none';
			document.getElementById('opros_'+opros_id+'_no_vote').style.display = 'none';
		}
	}

	xhr.option.url = '';
	xhr.post('/aj_oprosi&opros_id='+opros_id, 'answer='+answer, callback);
}

function reparseFilm(film_id)
{
	var callback = function(content)
	{
		document.location = '/admin_films&action=edit&fid='+film_id;
	}

	xhr.option.url = '';
	xhr.post('/aj_reparse', 'fid='+film_id, callback);
}


// Подсказки title
function simple_tooltip(target_items, name){
 $(target_items).each(function(i){
		$("body").append("<div class='"+name+"' id='"+name+i+"'><p>"+$(this).attr('title')+"</p></div>");
		var my_tooltip = $("#"+name+i);

		if($(this).attr("title") != "" && $(this).attr("title") != "undefined" ){

		$(this).removeAttr("title").mouseover(function(){
					my_tooltip.css({opacity:1, display:"none"}).fadeIn(400);
		}).mousemove(function(kmouse){
				var border_top = $(window).scrollTop();
				var border_right = $(window).width();
				var left_pos;
				var top_pos;
				var offset = 15;
				if(border_right - (offset *2) >= my_tooltip.width() + kmouse.pageX){
					left_pos = kmouse.pageX+offset;
					} else{
					left_pos = border_right-my_tooltip.width()-offset;
					}

				if(border_top + (offset *2)>= kmouse.pageY - my_tooltip.height()){
					top_pos = border_top +offset;
					} else{
					top_pos = kmouse.pageY-my_tooltip.height()-offset;
					}

				my_tooltip.css({left:left_pos, top:top_pos});
		}).mouseout(function(){
				my_tooltip.css({left:"-9999px"});
		});

		}

	});
}

$(document).ready(function(){
	 simple_tooltip(".aa","tooltip");
});
// Подсказки title END





jQuery("miganie").click(function () {
	    jQuery(this).switchClass("green", "red", 1000);
	});


setInterval(function()
{
	if (!pageLoaded)
		return;

	var hash = window.location.hash;
	if (hash.length > 0)
	{
		if (anchor != hash)
		{
			var arr = hash.replace(/#/, '').split('_');

			switch (arr[0])
			{
				case 'search':
					var str = m_unescape(arr[1]);
					doSearchFilms(str, 0);
					document.getElementById('search_film_str').value = str;
					anchor = hash;
					break;

				case 'psearch':
					var str = m_unescape(arr[1]);
					doSearchPeople(str);
					document.getElementById('search_people_str').value = str;
					anchor = hash;
					break;

				case 'catalog':
					doMinipoisk(arr[1], arr[2], arr[3], arr[4], arr[5], 0);
					anchor = hash;
					break;
			}
		}
	}
	else if (anchor.length > 0)
	{
		if (window.location == site_url)
			doMinipoisk(0, 0, 0, 0, 1, 0);

		anchor = '';
	}

}, 100);

function showHideSeason(cont, id)
{
	var nd = document.getElementById("p_cont_"+id);
	if (nd.style.display == 'none')
	{
		nd.style.display = 'block';
		cont.style.backgroundImage = 'url('+site_url+'templates/znvideo/img/minus2.png)';
	}
	else
	{
		nd.style.display = 'none';
		cont.style.backgroundImage = 'url('+site_url+'templates/znvideo/img/plus2.png)';
	}
}

function bodyload()
{
	window.ZNApi.init({key:'54e502652c3019a9a23f712cff472bcb', jquery: false});
}

