// main.js
Ext.Ajax.on('requestexception', function(){
	var body = Ext.getBody();
	var m=body.mask('Connection Error', 'body-mask');
	
	body.child('div.body-mask').on('click',function(){
		body.unmask();
	});
});

Ext.onReady(function(){
	Ext.QuickTips.init();

//	var header = new app.header({
//		margins: '5 5 5 5'
//	});
	var header = new app.header();
	var login = new app.login();
	var footer = new app.footer({
		
		margins: '0 5 0 5',
		height: 100,
		minSize: 50,
		maxSize: 150,
		collapsible: true,
		split: true,
		collapseMode:'mini'
	});
	var playlist = new app.playlist({
		margins: '0 5 0 0',
		width : 200,
		minSize: 150,
		maxSize: 250,
		collapsible: true,
		split: true,
		collapseMode:'mini'
	});
	var userinfo = new app.userinfo();
	var player = new app.player();
	var menus = new app.menus({
		margins: '0 5 0 5'
	});
	var status = new app.status({
		region: 'south',
		margins: '0 5 5 5'
		
		
		
	});
	var tabs = new app.tabs();
	var viewport = new Ext.Viewport({
		layout: 'border',
		items:[status,{
			region: 'center',
			layout: 'border',
			border : false,
			items:[ footer,playlist,{
				region: 'north',
				layout: 'border',
				height : 47,
				margins: '5 5 5 5',
				border : false,
				items:[header,login]
			},{
				
				region: 'center',
				layout: 'border',
				border : false,
				
				items:[menus,tabs,{
					region: 'north',
					layout: 'border',
					height : 80,
					margins: '0 0 5 5',
					items : [player,userinfo]
				}]
			}]
		}]
		/**/
	});
	
	var showListFromArtists=function (artists_id,artistName){
		var grid = new app.grid.sound({
			PPanel : tabs,
			closable :true,
			autoDestroy: true,
			title : artistName+ " -н дуунууд"
		});
		grid.addFilterParam('artist_id',artists_id);
		tabs.add(grid);
		tabs.setActiveTab(tabs.items.getCount()-1);
	};
	var showListFromAlbums = function(album_id,albumName){
		var grid = new app.grid.sound({
			PPanel : tabs,
			closable :true,
			autoDestroy: true,
			title : albumName+ " цомог"
		});
		grid.addFilterParam('album_id',album_id);
		tabs.add(grid);
		tabs.setActiveTab(tabs.items.getCount()-1);
	};
	playlist.on('pl_play',function(sound_id,playL_id){
		player.play(sound_id,playL_id);
	});
	
	player.on('play_finish',function(sound_id,playL_id){
		playlist.playFinish(sound_id,playL_id);
		//console.log('finish');
	});
	player.on('showListFromArtists',showListFromArtists);
	player.on('showListFromAlbums',showListFromAlbums);
	player.on('play_begin',function(sound_id,playL_id){
		playlist.pushActive(sound_id,playL_id);
	});
	
	// -- menus
	menus.on('menu_change2select',function(id,type){
		tabs.listTab.addFilterParam('ftype',type);
		tabs.listTab.addFilterParam('fid',id,true);
	});
	
	// -- tabs
	tabs.on('soundPlay',function(sid){
		player.tmpPlay(sid);
	});
	tabs.on('addPlayList',function(sid){
		playlist.addSound(sid);
	});
	tabs.on('showListFromArtists',showListFromArtists);
	tabs.on('showListFromAlbums',showListFromAlbums);
	tabs.on('showAlbumsFromArtists',function(artists_id,artistName){
		var grid = new app.grid.album({
			PPanel : tabs,
			closable :true,
			autoDestroy: true,
			title : artistName+ " -н цомгууд"
		});
		grid.addFilterParam('artist_id',artists_id);
		tabs.add(grid);
		tabs.setActiveTab(tabs.items.getCount()-1);
	});
	
	status.on('mouseenter',function(){
		if(footer.collapsed){
			footer.expand();
		}
	});
	
	
	
	
	
	
	
	
});

