var setup_player = function(confs) {
	if (!confs.id) {
		return;
	}

	var videoReader = audioReader = '/common/player/reader.php';

	var videoConfs = {
		image: '/common/player/default-video.jpg',
		provider: 'http',
		'http.startparam': 'start',
		width: 480,
		height: 270,
		autostart: false,
		controlbar: {
			position: 'over',
			idlehide: true
		},
		modes: [{
			type: 'html5'
		}, {
			type: 'flash',
			src: '/common/player/player.swf'
		}]
	};

	var audioConfs = {
		image: '/common/player/default-audio.jpg',
		provider: 'audio',
		streamer: audioReader,
		width: 480,
		height: 24,
		autostart: false,
		controlbar: {
			position: 'bottom',
			idlehide: false
		},
		modes: [{
			type: 'html5'
		}, {
			type: 'flash',
			src: '/common/player/player.swf'
		}]
	};

	switch (confs.type) {
		case 'audio':
			applyObject(audioConfs, confs);
			jwplayer(confs.id).setup(audioConfs);
		break;

		case 'video':
			if (confs.related) {
				applyObject(videoConfs, {
					plugins: {
						'/common/player/plugins/related/related.js': {
							file: confs.related,
							heading: ' ',
							oncomplete: true,
							onclick: 'link',
							usedock: false
						}
					}
				});
			}

			applyObject(confs, {
				file: [
					videoReader,
					'?file=',
					confs.file,
					'&/.',
					confs.file.split('.').pop()
				].join('')
			});

			applyObject(videoConfs, confs);

			jwplayer(confs.id).setup(videoConfs);
		break;
	}
};

var applyObject = function(target, source) {
	for (var key in source) {
		if (source.hasOwnProperty(key)) {
			target[key] = source[key];
		}
	}
};
