
YAHOO.namespace('podium.app');

YAHOO.podium.app.MediaPanels = function() {
	this.init();
}

YAHOO.podium.app.MediaPanels.REL_PREFIX = 'media';

YAHOO.podium.app.MediaPanels.BODY_WIDTH_OFFSET = 30; // body padding: 15px 15px 15px 15px 

YAHOO.podium.app.MediaPanels.prototype = {
	
	clickHandler: function (e, args) {
		this.openPanel(args);
	},
	
	onHide: function (e, args) {
		this.panel.setHeader('');
		this.panel.setBody('');
		this.panel.setFooter('');
	},
	
	openPanel: function (params) {
		
		var type = params[1];
		var width = params[2] - 0;
		var height = params[3] - 0;
		var src = params[4];
		var extras = params[5];
		
		switch (type) {
			case 'photo':
				
				this.panel.cfg.setProperty('width', width + YAHOO.podium.app.MediaPanels.BODY_WIDTH_OFFSET + 'px');
				this.panel.setBody('<img src="' + src + '" width="' + width + '" height="' + height + '" alt="" />');
				
			break;
			case 'video':
				
				var newWidth = width + YAHOO.podium.app.MediaPanels.BODY_WIDTH_OFFSET;
				
				// IE 6 bugfix
				if (YAHOO.env.ua.ie == 6) {
					newWidth -= 1;
				}
				
				this.panel.cfg.setProperty('width', newWidth + 'px');
				this.panel.setBody('<div class="media-video" id="media-video"></div>');
				
				var so = new SWFObject(src, 'media-video-flash', width, height, '9', '#FFFFFF');
				so.addParam("wmode", "opaque");
				if (extras) {
					for (key in extras) {
						so.addParam(key, extras[key]);
					}
				}
				so.write('media-video');
				
			break;
		}
		
		this.panel.show();
	},
	
	init: function () {
		
		var els = YAHOO.util.Dom.getElementsBy(
			function (el) {
				return el.rel.indexOf(YAHOO.podium.app.MediaPanels.REL_PREFIX) == 0;
			}, 'a'
		);
		
		if (els.length > 0) {
			
			var params, extras;
			
			for (var i = 0, l = els.length; i < l, el = els[i]; i++) {
				params = el.rel.split(';');
				if (params[5]) {
					extras = params[5].split(',');
					params[5] = {};
					for (key in extras) {
						params[5][extras[key].substr(0, extras[key].indexOf('='))] = extras[key].substr(extras[key].indexOf('=') + 1);
					}
				} else {
					params[5] = null;
				}
				YAHOO.util.Event.on(el, 'click', this.clickHandler, params, this);
			}
			
			// create error dialog
			this.panel = new YAHOO.widget.Panel('media-panel', 
				{
					fixedcenter: true,
					visible: false,
					width: '456px',
					underlay: 'none',
					modal: true
				}
			);
			this.panel.render();
			this.panel.hideEvent.subscribe(this.onHide, this, true);
			
		}
		
	}
	
};


YAHOO.podium.app.Tooltips = function() {
	this.init();
}

YAHOO.podium.app.Tooltips.prototype = {
	init: function () {
		
		var els = YAHOO.util.Dom.getElementsByClassName('tt-context');
		
		for (var i = 0, l = els.length; i < l, el = els[i]; i++) {
			new YAHOO.widget.Tooltip(
				'tt' + Math.random().toString().substr(2,7), 
				{
					context: el,
					underlay: 'shadow'
				}
			); 
		}
		
	}
}

YAHOO.util.Event.onDOMReady(
	function () {
		
		new YAHOO.podium.app.MediaPanels();
		new YAHOO.podium.app.Tooltips();
		
	}
);

function noLink () 
{
	alert( "Сайт в разработке.\nСпасибо за проявленный интерес. Ждите открытия сайта в ближайшие дни." );
	window.open( "index-intro.html", "Группа Подиум и Серега", "width=500,height=670,toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=no,status=no" );
}

function LoadTrack(src, name, duration)
{
	var srcTrack = encodeURI(src);
	var nameTrack = encodeURI(name);
	var so = new SWFObject('/flash/mplayer.swf?src='+srcTrack+'&name='+nameTrack+'&duration='+duration+'', 'player-flash', 270, 82, '9');
		so.addParam("wmode", "transparent");
		so.write('player');
}