function getParentElement(parent, name) {
	if (name.toLowerCase() == parent.nodeName.toLowerCase()) {
		return parent;

	} else if (parent.parentNode) {
		return getParentElement(parent.parentNode, name);

	} else {
		return false;
	}
}

function menuHover(ele, hover) {
	var borderEle = document.getElementById(ele.getAttribute('id') + '-border');
	if (borderEle) {
		var className = '';
		var classNames = ele.className.split(' ');

		for (var i = 0; i < classNames.length; i++) {
			if ('hover' != classNames[i]) {
				if ('' != className) className += ' ';
				className += classNames[i];
			}
		}

		if (hover) {
			if ('' != className) className += ' ';
			className += 'hover';
		}

		ele.className = className;
		borderEle.className = className;
	}
}

function cssHover(ele, ruleName, hover) {
	var onOver = '' == ruleName ? 'hover' : ruleName + '_hover';
	var existClassNames = ele.className.split(' ');
	var classNames = new Array();

	for (var i = 0; i < existClassNames.length; i++) {
		if (existClassNames[i] != onOver) {
			classNames.push(existClassNames[i]);
		}
	}

	if (hover) {
		classNames.push(onOver);
	}

	ele.className = classNames.join(' ');
}

/*** Buttons
*********************************************************/
function pushButton(button) {
	clickButton(button, true);
}

function releaseButton(button) {
	window.setTimeout(function() { clickButton(button, false); }, 80);
}

function clickButton(button, push) {
	var children = button.getElementsByTagName('div');
	for (var i = 0; i < children.length; i++) {
		if ('button' == children[i].className) {
			children[i].style.display = push ? 'none' : 'block';
			break;
		}
	}
}

function purchase(url) {
	window.open(url);
}


/*** Forms
*********************************************************/
var formBlocks = new Array(
	'share_form'
);

function shareThis() {
	turnFormBlockOn('share_form');
}

function turnFormBlockOn(name) {
	var i = 0;
	var block = null;
	for (i = 0; i < formBlocks.length; i++) {
		block = $(formBlocks[i]);
		if (block) block.setStyle('display', 'none');
	}

	var open = $(name);
	if (open) {
		open.fade('hide');
		open.setStyle('display', 'block');
		open.fade('in');
	}
}


/*** Random logo
*********************************************************/
var logos = new Array(
	new Image(249, 60),
	new Image(253, 63),
	new Image(253, 62),
	new Image(253, 61)
);

logos[0].src = '/f/images/inner-logo-1.jpg';
logos[1].src = '/f/images/inner-logo-2.jpg';
logos[2].src = '/f/images/inner-logo-3.jpg';
logos[3].src = '/f/images/inner-logo-4.jpg';

function getInnerLogo() {
	var html = '';
	var i = Math.round(Math.random() * logos.length);
	if (i >= logos.length) i = logos.length - 1;

	if (logos[i]) {
		var logo = logos[i];
		html += '<img alt="Russia!"';
		html += ' src="' + logo.src + '"';

		if (logo.width) {
			html += ' width="' + logo.width + '"';
		}

		if (logo.height) {
			html += ' height="' + logo.height + '"';
		}

		html += ' />';

	} else {
		html = '<img src="/f/images/inner-logo-1.jpg" alt="Russia!" width="249" height="60" />';
	}

	document.write(html);
}


/*** Gallery
*********************************************************/
function clickGallery(i) {
	var widthNormal = 18;
	var heightNormal = 300;
	var h = galleryImages[i][1];
	var w = galleryImages[i][0];
	var item = galleryIllus[i];
	var o = {};
	var descr = item.getElements('div')[0];
	if (descr) h += descr.getSize().y + 30;

	o[i] = {
		width: [item.getStyle('width').toInt(), w],
		height: [item.getStyle('height').toInt(), h]
	}

	item.setStyle('margin-top', '-' + Math.round((galleryImages[i][1] - heightNormal) / 2) + 'px');

	galleryIllus.each(function(other, j) {
		var illu = other.getElements('img')[0];

		if (i != j) {
			other.setStyle('margin-top', '0');
			other.setStyle('width', widthNormal + 'px');
			other.setStyle('height', heightNormal + 'px');
			if (illu) illu.removeEvents('click');

		} else if (illu) {
			var next = i + 1 < galleryIllus.length ? i + 1 : 0;
			illu.addEvent('click', function(event) { clickGallery(next); event.stopPropagation(); });
		}
	});

	galleryIllusFx.start(o);
}

function initGallery() {
	galleryIllus = $$('#gallery-images li');

	galleryIllusFx = new Fx.Elements(
		galleryIllus,
		{wait: false, duration: 700, transition: Fx.Transitions.Sine.easeOut}
	);

	galleryIllus.each(function(item, i) {
		item.addEvent('click', function(event) { clickGallery(i); });
	});

	clickGallery(0);
}


/*** Video
*********************************************************/
var playedVideo = new Array();

function hasPlayed(videoId) {
	for (var i = 0; i < playedVideo.length; i++) {
		if (videoId == playedVideo[i]) {
			return true;
		}
	}
	return false;
}

function isPlaying(videoId) {
	if (!hasPlayed(videoId)) {
		var r = new Request({method: 'post', url: '/ajax_video.php'});
		r.send('action=count&i=' + videoId);
		playedVideo.push(videoId);
	}
}

function countVideoLoading(videoId) {
	var r = new Request({method: 'post', url: '/ajax_video.php'});
	r.send('action=count_loading&i=' + videoId);
}
