function Player (sName) {

	var videoplayer = null;

	var name = sName;

	this.CurrentPlayerItem = 1;

	this.itemClicked = false;

	this.selectItem = function (iIndex) {
		jQuery('#' + name + '_current').val(iIndex);
		this.setVideoPlayerToContainer('_' + iIndex)
		this.setSelectedItemProperty(iIndex);
		this.CurrentPlayerItem = iIndex;
	}

	var setIconsOpenClose = function (iIndex) {

		var setArrow = function (sType) {
			var sClose = (sType == 'close') ? 'open' : 'close';
			jQuery('#onflash-ico-' + sClose).fadeOut();
			jQuery('#onflash-ico-' + sType).fadeIn();
		}

		if (jQuery('#' + name + '_info_' + iIndex).length && jQuery('#' + name + '_info_' + iIndex).val()) {
			var info = jQuery('#' + name + '_info_' + iIndex);
			if (info.val() == 'hide') {
				jQuery('#onflash-ico-open').fadeOut();
				jQuery('#onflash-ico-open').fadeOut();
			} else if (info.val() == 'arrow') {
				setArrow('open');
			} else if (info.val() == 'visible') {
				setArrow('close');
			}
			jQuery('#flash-section').css('display', (info.val() == 'visible') ? 'block' : 'none');
		} else {
			jQuery('#flash-section').css('display', 'none');
			setArrow('open');
		}
	}


	this.setSelectedItemProperty = function (iIndex) {
		jQuery('#' + name + '_item_' + this.CurrentPlayerItem).removeClass('selected');
		jQuery('#' + name + '_item_' + iIndex).addClass('selected');

		jQuery('#flash-section').remove();

		var sTitle = jQuery('#' + name + '_name_' + iIndex).val();
		if (sTitle && jQuery('#' + name + '_link_' + iIndex).val()) {
			sTitle = '<a href="' + jQuery('#' + name + '_link_' + iIndex).val() + '">' + sTitle + '</a>';
		}
		var sDate = jQuery('#' + name + '_date_' + iIndex).val();
		if (sDate) {
			sDate = '<span class="k-section-date"><span>' + sDate + '</span></span>';
			if (sTitle) {
				sTitle = sTitle + ' ' + sDate;
			} else {
				sTitle = sDate;
			}
		}
		if (sTitle) {
			sTitle = '<h4 class="k-section-title">' + sTitle + '</h4>';
		} else {
			sTitle = '';
		}
		var sText = '';
		if (jQuery('#' + name + '_description_' + iIndex).val()) {
			sText = '<div class="k-section-content">' + jQuery('#' + name + '_description_' + iIndex).val() + '</div>';
		}
		jQuery('#' + name).append('<div id="flash-section" class="k-section scale" style="display: block;">' +
			sTitle + sText + '</div>');

		setIconsOpenClose(iIndex);

	}

	this.setVideoPlayerToContainer = function (postfix) {
		var fl_ver = 9;
		if (jQuery.browser.msie && parseInt(jQuery.browser.version) == 7) {
			fl_ver = 8;
		}
		if (videoplayer) {
			delete videoplayer;
			jQuery('#' + name).html();
		}
		var splayer = "/js/player.swf";
		if (jQuery('#' + name + '_is_youtube' + postfix).length) {
			splayer = jQuery('#' + name + '_file' + postfix).val();
		}
		if (jQuery('#' + name + '_is_gallery' + postfix).length) {
			splayer = "/js/slider.swf";
		}
		videoplayer = new SWFObject(
			splayer,
			name + '_player',
			jQuery('#' + name + '_width').val(),
			jQuery('#' + name + '_height').val(),
			fl_ver
		);

		var flashvars = null;
		if (jQuery('#' + name + '_is_gallery' + postfix).length) {
			var i = 1;
			videoplayer.addVariable('delay', '10');
			while (jQuery('#' + name + '_image' + postfix + '_' + i).length) {
				videoplayer.addVariable('link' + i, jQuery('#' + name + '_image' + postfix + '_' + i).val());
				i = i + 1;
			}
		} else if (!jQuery('#' + name + '_is_youtube' + postfix).length) {
			videoplayer.addVariable('file', jQuery('#' + name + '_file' + postfix).val());
	    	if (jQuery('#' + name + '_controlbar').val() == 'none') {
	    		videoplayer.addVariable('controlbar', 'none');
	    	}
			if (jQuery('#' + name + '_preview' + postfix).length) {
				videoplayer.addVariable('skin', '/js/modieusslim.swf');
				videoplayer.addVariable('stretching', 'fill');   
				videoplayer.addVariable('controlbar.position', 'over');  
                videoplayer.addVariable('plugins', 'gapro-1');  
                videoplayer.addVariable('gapro.accountid', 'UA-4239883-30');  
                videoplayer.addVariable('gapro.trackstarts', 'true');  
                videoplayer.addVariable('gapro.trackpercentage', 'true');  
                videoplayer.addVariable('gapro.tracktime', 'true');  
                videoplayer.addVariable('gapro.idstring', '||mediaid||-||title||');  

				videoplayer.addVariable('image', jQuery('#' + name + '_preview' + postfix).val());
			}
		}
		if (flashvars) {
			videoplayer.addParam("flashvars", flashvars);
		}
		videoplayer.addParam("allowfullscreen", "true");
		videoplayer.addParam("allowscriptaccess", "always");
		videoplayer.addParam("wmode", "opaque");
		videoplayer.write(name);


		var setArrow = function (sType) {
			var sClose = (sType == 'close') ? 'open' : 'close';
			jQuery('#onflash-ico-' + sClose).fadeOut();
			jQuery('#onflash-ico-' + sType).fadeIn();
		}

		if (sName == 'mplayer') {

			jQuery('#' + sName).prepend('<a id="onflash-ico-open" class="onflash-ico onflash-ico-open crop" title="открыть" href="JavaScript:void(0);">открыть</a><a id="onflash-ico-close" class="onflash-ico onflash-ico-close crop" title="закрыть" href="JavaScript:void(0);">закрыть</a>');

			setIconsOpenClose(1);

			jQuery('#onflash-ico-open').click(function(e)
			{
				jQuery('#flash-section').slideDown('slow');
				jQuery(this).hide();
				jQuery('#onflash-ico-close').show();
				e.preventDefault();
			});
			jQuery('#onflash-ico-close').click(function(e)
				{
					jQuery('#flash-section').slideUp('slow');
					jQuery(this).hide();
					jQuery('#onflash-ico-open').show();
					e.preventDefault();
				});
		}

	}

	if (jQuery('#' + sName + '_autochange').length) {
		setTimeout(function () {
			changeGalleryItem(name);
			}, jQuery('#' + sName + '_autochange').val() * 1000);
	}


}

var players = new Array();

var playersDropChange = false;

jQuery(document).ready(function () {
	jQuery('input[name="modul_player_names[]"]').each(function () {
		players[jQuery(this).val()] = new Player(jQuery(this).val());
		players[jQuery(this).val()].setVideoPlayerToContainer('_1');
		players[jQuery(this).val()].setSelectedItemProperty(1);
	});
});

function selectGallaryItem (iIndex, sPlayerId) {
	if (!players[sPlayerId]) {
		return;
	}
	players[sPlayerId].itemClicked = true;
	if (iIndex != players[sPlayerId].CurrentPlayerItem) {
		jQuery('#' + sPlayerId + '_item_' + iIndex + ' > div ').removeAttr('rel');
		players[sPlayerId].selectItem(iIndex);
	}
}

function DropChangeForPlayers (bDrop) {
	playersDropChange = true;
}

function changeGalleryItem (sPlayerId) {
	if (!players[sPlayerId].itemClicked && !playersDropChange) {
		var iCurrent = players[sPlayerId].CurrentPlayerItem + 1;
		if (iCurrent > jQuery('#' + sPlayerId + '_count').val()) {
			iCurrent = 1;
		}
		players[sPlayerId].selectItem(iCurrent);
		setTimeout(function () {
			changeGalleryItem(sPlayerId);
			}, jQuery('#' + sPlayerId + '_autochange').val() * 1000);
	}
}

function playerReady(thePlayer) {
	var player = document.getElementById(thePlayer.id);
	player.addModelListener('STATE', 'stateMonitor');
}

function stateMonitor(obj) {
	if(obj.newstate == 'PLAYING') {
		DropChangeForPlayers();
	}
}

