var ply;
var snap_shown = 1;
// search box
var index_sel = 1;
var index_max;
var str_id;
var snapInt;
var search_key_down = 0;
var change_old_volume;
var change_old_mute;
var search_length = 0;

var $bar;
var $sms;
var $mail;
var $info;
var $popup;
var $record;

var bar_id;

var keep_alive_time = 60000;
var last_timestamp = 0;

function set_bar_program()
{
	$bar = $('#epg_bar_' + bar_id);
			
	$sms = $('#epg_sms_' + bar_id);
	$mail = $('#epg_mail_' + bar_id);
	$info = $('#epg_info_' + bar_id);
	$popup = $('#epg_popup_' + bar_id);
	$record = $('#epg_record_' + bar_id);
}

$(document).ready(function() 
{
	player_ready();
	last_timestamp = Math.round(((new Date()).getTime()-Date.UTC(1970,0,1))/1000);
	$('a.dropdown-toggle').click(function()
	{
		if ($(this).hasClass('focus'))
		{
			// trebuie inchisa
			$(this).removeClass('focus');
			$(this).next('div').hide();
		}
		else
		{
			//change_old_mute// trebuie deschisa
			$(this).addClass('focus');
			$(this).next('div').show();
		}
	});
});

function removeTimeouts()
{
	clearTimeout( playInt );
	clearTimeout( playInt2 );
}

function playerReady(obj) 
{
	if( obj['id'] == 'ply' )
	{
		ply = document.getElementById(obj['id']);
		ply.addModelListener("STATE", "state_changed");
	}
}
function state_changed(obj)
{
	if( obj.newstate == 'PAUSED' || obj.newstate == 'STOP' )
	{
		removeTimeouts();
		// show preview image
		ply.sendEvent('LOAD',{image:'videoplayer/preview.jpg'}); 
		
		// set history
		$.post(
			'sources/acts.php',
			{
				act: 'stop_history'
			} ,
			function ( data )
			{
				
			},
			'json'
		);
	}
		
	if( obj.newstate == 'PLAYING' || obj.newstate == 'START' || obj.newstate == 'BUFFERING' )
	{
		$.post( 	
			'sources/acts.php' , 
			{ 
				act: 'keep_alive'
			} , 
			function( data )
			{
				if( data.success )
				{
					removeTimeouts();
					playInt = setTimeout( 'keep_alive()', keep_alive_time );
					// update history
					$.post(
						'sources/acts.php',
						{
							act: 'start_history'
						} ,
						function ( data )
						{
							
						},
						'json'
					);
				}
				else
				{
					ply.sendEvent('STOP');
				}
			},
			'json'
		);
	}
}

function stop_play()
{
	ply.sendEvent('STOP');
}

function keep_alive()
{
	$.post( 	
		'sources/acts.php' , 
		{ 
			act: 'keep_alive'
		} , 
		function( data )
		{
			if( data.success )
			{
				removeTimeouts();
				playInt = setTimeout( 'keep_alive()', keep_alive_time );
			}
			else
			{
				ply.sendEvent("LOAD", {file:'',streamer:'',type:"rtmp"} );
				ply.sendEvent('STOP');
				$('#alerta-eroare').html( data.message );
				$('#alerta-eroare').slideDown( 1000 );
			}
		},
		'json'
	);
}

function vlc_keep_alive()
{
	$.post( 	
		'sources/acts.php' , 
		{ 
			act: 'keep_alive',
			player: 'vlc'
		} , 
		function( data )
		{
			if( data.success )
			{
				removeTimeouts();
				playInt2 = setTimeout( 'vlc_keep_alive()', keep_alive_time );
			}
			else
			{
				vlc_stop();
				$('#alerta-eroare').html( data.message );
				$('#alerta-eroare').slideDown( 1000 );
			}
		},
		'json'
	);
}

function get_stream( stream_id )
{
	str_id = stream_id;
	try
	{
		ply.sendEvent("STOP", "true");
	}
	catch(err){}
	$.post(
		'sources/acts.php' , 
		{ 
			act: 'get_stream',
			stream_id: stream_id , 
			timeout: 5000
		} , 
		function( data )
		{
			if( data.success )
			{

				$('#dbg_str_name').html( data.stream_name );

				// change epg
				$('#epg_list').html( data.epg_list );
				// change current ems
				$('#program_curent').html( data.program_selectat );
				if ( data.emisiune_curenta )
				{
					$('#emisiune_curenta').html( data.emisiune_curenta_trunc );
					$('#emisiune_curenta').attr( 'title', data.emisiune_curenta );
				}
				else
				{
					$('#emisiune_curenta').html( '...' );
				}
				// change fav if needed
				$('a.list-channel').removeClass('nowplaying');
				$('a.list-channel').find('em').hide();
				if ( $('#fav_' + data.chn_id ).find('a.list-channel').hasClass('list-channel') ) 
				{
					$('#fav_' + data.chn_id ).find('a.list-channel').addClass('nowplaying');
					$('#fav_' + data.chn_id ).find('a.list-channel').find('em').show();
				}
				
				player_ready();
				if ( ply == undefined )
				{
					ply = document.getElementById( 'ply' );
				}
				// change stream ...
				try
				{
					ply.sendEvent("LOAD", {file:data.stream_name,streamer:data.streamer,type:"rtmp"} );
					ply.sendEvent("PLAY", "true");
				}
				catch(err){}
				
				// set keepalive timeout
				removeTimeouts();
				playInt = setTimeout( 'keep_alive()', keep_alive_time );
			}
			else
			{
				try
				{
					ply.sendEvent('STOP');
				}
				catch(err){}
				$('#alerta-eroare').html( data.message );
				$('#alerta-eroare').slideDown( 1000 );
			}
		}, 
		'json'
	);
}

function clear_search()
{
	$('#search').val('');
	search_length = 0;
	$('#span-search').removeClass('hint');
    $('#hints-dropdown').hide();
	$('#search').removeClass('hint');
}

function player_ready()
{
	var new_timestamp = Math.round(((new Date()).getTime()-Date.UTC(1970,0,1))/1000);
	if( last_timestamp == 0 || last_timestamp + 3 < new_timestamp ) 
	{
		last_timestamp = new_timestamp;
		$('#vlc-mute').unbind('click');
		// mute / unmute VLC
		$('#vlc-mute').click(function()
		{
			vlc.audio.toggleMute();
			var done = 0;
			if ( $(this).hasClass('mute') || $(this).hasClass(' mute') ) 
			{
				$(this).removeClass( 'mute' );
				$(this).addClass( 'volume' );
	//			$(this).switchClass('mute', 'volume', 1);
				$(this).attr('title', 'Unmute');
				done = 1;
			}
			if ( ( $(this).hasClass('volume') || $(this).hasClass(' volume') ) && ( done == 0 ) )
			{
				$(this).removeClass( 'volume' );
				$(this).addClass( 'mute' );
	//			$(this).switchClass('volume', 'mute', 1);
				$(this).attr('title', 'Mute');
			}
			change_old_mute = vlc.audio.mute;
		});
		
		$('.vol-segment').unbind('click');
		// reglare volum VLC
		$('.vol-segment').click(function()
		{
			//alert('volume click!');
			rol = parseInt( $(this).attr('rol') );
			vlc.audio.mute = false;
			
			if (!$('#vlc-mute').hasClass('mute')) 
			{
				$('#vlc-mute').removeClass('volume');
				$('#vlc-mute').addClass('mute');
				$('#vlc-mute').attr('title', 'Mute');
			}
			
			if ( rol )
			{
				$('.vol-segment').removeClass('empty');
				$('.vol-segment').removeClass('full');
				for( i=1;i<=rol;i++ )
				{
					$('#vol-segment-' + i).addClass('full');
				}
				rol2 = rol + 1;
				if ( rol2 <= 7 )
				{
					for( i=rol2;i<=7;i++ )
					{
						$('#vol-segment-' + i).addClass('empty');
					}
				}
				
				// set volume
				new_volume = parseInt(200 / 7 * rol);
				
				vlc = getVLC("ply-vlc");
				vlc.audio.volume = new_volume;
			}
			change_old_mute = vlc.audio.mute;
			
		});
		
		// fullscreen VLC
		$('#vlc-fullscreen').click(function()
		{
			vlc = getVLC("ply-vlc");
			
			vlc.video.toggleFullscreen();
		})
		
		$('#search').click(function()
		{
			if ($('#search').val() != '' && $('#search').val() != 'Sari rapid la un program' )
			{
				$('#span-search').addClass('hint');
	        	$('#hints-dropdown').show();
			}
		});
		
		$('#search').blur(function()
		{
			$(this).val('Sari rapid la un program');
			search_length = 0;
			$('#span-search').removeClass('hint');
	        $('#hints-dropdown').hide();
			$('#search').removeClass('hint');
		});
		
		$('#search').unbind('keyup');
		$('#search').keyup(function(event) 
		{
			search_key_down = 1;
	        if ( $('#search' ).val() )
	        {
	        	// add class for search, show hints panel !
	        	$('#span-search').addClass('hint');
	        	$('#hints-dropdown').show();
	        }
	        else if ( $('#search').val() == '' || $('#search').val() == 'Sari rapid la un program' )
	        {
	        	// remove class from search, hide hints panel
	        	$('#span-search').removeClass('hint');
	        	$('#hints-dropdown').hide();
	        }
	        
	        // catch some keys
	        index_max = $("#h-dropdown>li").length - 1;
	        switch(event.keyCode) 
	        {
	            case 13:    // enter
		            if ( $('#hints-dropdown').is(':visible') )
		            {
		            	$('#search').val('');
						search_length = 0;
						$('#span-search').removeClass('hint');
		                $('#hints-dropdown').hide();
						$('#search').removeClass('hint');
						if ( $('#h-dropdown').attr('role') == 'vlc' ) vlc_get_stream($("#h-dropdown>li:eq(" + index_sel + ")").attr('id').substring(4));
						else get_stream($("#h-dropdown>li:eq(" + index_sel + ")").attr('id').substring(4));
						
						$('#search').trigger('blur');
		            }
	                // play it ...
	                break;
	            case 38:    // key up
	            	if ( index_sel == undefined ) index_sel = 0;
	            	$("#h-dropdown>li>a").removeClass('hover');
	                if ( index_sel > 0 )
	                {
	                	index_sel--;
	                }
	                else
	                {
	                	index_sel = index_max;
	                }
	                $("#h-dropdown>li:eq(" + index_sel + ") a").addClass('hover');
	                break;
	            case 40:    // key down
	            	if ( index_sel == undefined ) index_sel = -1;
	            	$("#h-dropdown>li>a").removeClass('hover');
	                if ( index_sel < index_max )
	                {
	                	index_sel++;
	                }
	                else
	                {
	                	index_sel = 0;
	                }
	                $("#h-dropdown>li:eq(" + index_sel + ") a").addClass('hover');
	                break;
				default:
					if ( $('#search').val().length != search_length )
					{
						search_length = $('#search').val().length;
						do_search();
					}
					break;
	        }
	    });
	    
	    // key up for favorites
	    $('*').keydown(function(event) 
		{
			// $("*").unbind('keydown');
			if ( $('#favorites_list').html() != '' )
			{
				code = parseInt(event.keyCode);
				//alert(code);
				if ( ( ( ( code > 47 && code < 58 ) || ( code > 95 && code < 106 )  ) && ( search_key_down == 0 ) ) || ( code == 33 || code == 34 ) )
				{
					if ( code == 48 || code == 96 ) // 0
					{
						$('#favorites_list>li:eq(9) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 49 || code == 97 ) // 1
					{
						$('#favorites_list>li:eq(0) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 50 || code == 98 ) // 2
					{
						$('#favorites_list>li:eq(1) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 51 || code == 99 ) // 3
					{
						$('#favorites_list>li:eq(2) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 52 || code == 100 ) // 4
					{
						$('#favorites_list>li:eq(3) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 53 || code == 101 ) // 5
					{
						$('#favorites_list>li:eq(4) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 54 || code == 102 ) // 6
					{
						$('#favorites_list>li:eq(5) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 55 || code == 103 ) // 7
					{
						$('#favorites_list>li:eq(6) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 56 || code == 104 ) // 8
					{
						$('#favorites_list>li:eq(7) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					if ( code == 57 || code == 105 ) // 9
					{
						$('#favorites_list>li:eq(8) a:eq(0)').click();
						$("*").unbind('keydown');
					}
					
					if ( code == 33 || code == 34 ) // page up
					{
						event.preventDefault();
						event.stopPropagation();					
						
						var all_fav = $( '#favorites_list>li' );
						var all_fav_number = all_fav.length;
						
						var elem = $('#favorites_list .nowplaying');
						if( elem.parent().attr('id') )
						{
							chn_selectat = elem.parent().attr('id').substring( 4 );
						}
						else
						{
							chn_selectat = 0;
						}
											
						if ( code == 33 )
						{
							$.post(
								'sources/acts.php',
								{
									act: 'fav_prev',
									chn_id: chn_selectat
								},
								function( data )
								{
									if( data.success )
									{
										$('#fav_' + data.channel + ' a:eq(0)').click();
										$("*").unbind('keydown');
									}
								},
								'json'
							);
						}
						
						if ( code == 34 )
						{
							$.post(
								'sources/acts.php',
								{
									act: 'fav_next',
									chn_id: chn_selectat
								},
								function( data )
								{
									if( data.success )
									{
										$('#fav_' + data.channel + ' a:eq(0)').click();
										$("*").unbind('keydown');
									}
								},
								'json'
							);
						}
					}

					/*
					
					if ( code == 33 )
					{
						$.post( 	
							'sources/acts.php' , 
							{ 
								act: 'prev_channel'
							} , 
							function( data )
							{
								if( data.success )
								{
									$('#chn_click_' + data.chn_id ).click();
								}
							},
							'json'
						);
					}
					if ( code == 34 )
					{
						$.post( 	
							'sources/acts.php' , 
							{ 
								act: 'next_channel'
							} , 
							function( data )
							{
								if( data.success )
								{
									$('#chn_click_' + data.chn_id ).click();
								}
							},
							'json'
						);
					}
					
					*/
					
					if ( code == 38 ) // volume up
					{
	//					try
	//					{
	//						ply.sendEvent('volume', ply.getConfig().volume + 10);
	//					}
	//					catch(err){}
	//					
	//					try
	//					{
	//						var max = 0;
	//						$('.vol-segment').each(function(name)
	//						{
	//							if ( ( parseInt($(this).attr('rol')) > max ) && ( $(this).hasClass('full') ) )
	//							{
	//								max = parseInt( $(this).attr('rol') );
	//							}
	//						});
	//						if ( max < 7 )
	//						{
	//							max++;
	//							$('.vol-segment').removeClass('empty');
	//							$('.vol-segment').removeClass('full');
	//							for( i=1;i<=max;i++ )
	//							{
	//								$('#vol-segment-' + i).addClass('full');
	//							}
	//							max2 = max + 1;
	//							if ( max2 <= 7 )
	//							{
	//								for( i=max2;i<=7;i++ )
	//								{
	//									$('#vol-segment-' + i).addClass('empty');
	//								}
	//							}
	//							
	//							// set volume
	//							new_volume = parseInt(200 / 7 * max);
	//							
	//							vlc = getVLC("ply-vlc");
	//							vlc.audio.volume = new_volume;
	//						}				
	//					}
	//					catch(err){}
					}
					if ( code == 40 ) // volume down
					{
	//					try
	//					{
	//						ply.sendEvent('volume', ply.getConfig().volume - 10);
	//					}
	//					catch(err){}
	//					
	//					try 
	//					{
	//						var max = 0;
	//						$('.vol-segment').each(function(name)
	//						{
	//							if ( ( parseInt($(this).attr('rol')) > max ) && ( $(this).hasClass('full') ) )
	//							{
	//								max = parseInt( $(this).attr('rol') );
	//							}
	//						});
	//						if ( max > 1 )
	//						{
	//							max--;
	//							$('.vol-segment').removeClass('empty');
	//							$('.vol-segment').removeClass('full');
	//							for( i=1;i<=max;i++ )
	//							{
	//								$('#vol-segment-' + i).addClass('full');
	//							}
	//							max2 = max + 1;
	//							if ( max2 <= 7 )
	//							{
	//								for( i=max2;i<=7;i++ )
	//								{
	//									$('#vol-segment-' + i).addClass('empty');
	//								}
	//							}
	//							
	//							// set volume
	//							new_volume = parseInt(200 / 7 * max);
	//							
	//							vlc = getVLC("ply-vlc");
	//							vlc.audio.volume = new_volume;
	//						}	
	//					}
	//					catch(err){}
					}
					$('.list-channel').unbind('click');
				}
			}
		});
	    
	//	$(function() {
	//		$('#favorites_list').sortable(
	//		{ 
	//			opacity: 0.8, 
	//			axis: 'y',
	//			handle : 'a.grabber', 
	//			items: 'li',
	//			
	//			update: function()
	//				{
	//					var orders = new String($('#favorites_list').sortable('toArray'));
	//					$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
	//					$.post(
	//						'sources/favs.php', 
	//						{ 
	//							action: 'update',
	//							order: orders
	//						}, 
	//						function( data )
	//						{
	//							$.unblockUI();
	//							if( data.success )
	//							{
	//								$('#favorites_list').html(data.favorite);
	//								player_ready();
	//							}
	//						},
	//						'json'
	//					);
	//				}
	//		})
	//	});
		
		$('a.fav').hover(
			function()
			{
				$('a.list-channel').removeClass('hover');
				$(this).prev('a').addClass('hover');
				if ( $(this).hasClass('faved') )
				{
					// apare remove faved
					$(this).removeClass('faved');
					$(this).addClass('removefave');
				}
				if ( $(this).hasClass('none') )
				{
					// apare remove faved
					$(this).addClass('removefave');
				}
			},
			function()
			{
				$('a.list-channel').removeClass('hover');
				
				if ( $(this).hasClass('removefave') )
				{
					// apare faved la mouseout
					$(this).removeClass('removefave');
					if ( !$(this).hasClass('none')) $(this).addClass('faved');
				}
			}
		);
		
		$('a.rec').hover(
			function()
			{
				$('a.list-channel').removeClass('hover');
				$(this).prev('a').addClass('hover');
				if ( $(this).hasClass('faved') )
				{
					// apare remove faved
					$(this).removeClass('faved');
					$(this).addClass('removefave');
				}
				if ( $(this).hasClass('none') )
				{
					// apare remove faved
					$(this).addClass('removefave');
				}
			},
			function()
			{
				$('a.list-channel').removeClass('hover');
				
				if ( $(this).hasClass('removefave') )
				{
					// apare faved la mouseout
					$(this).removeClass('removefave');
					if ( !$(this).hasClass('none')) $(this).addClass('faved');
				}
			}
		);
		
		$('a.list-channel').hover(
			function()
			{
				if( $(this).next().hasClass('fav') )
				{
					if ( $(this).next('a.fav').hasClass('faved') )
					{
						$(this).next('a.fav').removeClass('faved');
						$(this).next('a.fav').addClass('removefave');
					}
					if ( $(this).next('a.fav').hasClass('none') )
					{
						$(this).next('a.fav').addClass('removefave');
					}
				}
				else
				{
					if ( $(this).next('a.rec').hasClass('faved') )
					{
						$(this).next('a.rec').removeClass('faved');
						$(this).next('a.rec').addClass('removefave');
					}
					if ( $(this).next('a.rec').hasClass('none') )
					{
						$(this).next('a.rec').addClass('removefave');
					}
				}
			},
			function()
			{
				if( $(this).next().hasClass('fav') )
				{
					if ( $(this).next('a.fav').hasClass('removefave') )
					{
						$(this).next('a.fav').removeClass('removefave');
						if ( !$(this).next('a.fav').hasClass('none') ) $(this).next('a.fav').addClass('faved');
					}
				}
				else
				{
					if ( $(this).next('a.rec').hasClass('removefave') )
					{
						$(this).next('a.rec').removeClass('removefave');
						if ( !$(this).next('a.rec').hasClass('none') ) $(this).next('a.rec').addClass('faved');
					}
				}
			}
		)
		
		$('#channels_list li').hover(
			function()
			{
				str = $(this).attr('id').substring(4);
				$('#snapshot').hide();
				clearTimeout( snapInt );
				snapInt = setTimeout( "get_snap_pic( '" + str + "' )", 2000 );
			},
			function()
			{
				$('#snapshot').hide();
				clearTimeout( snapInt );
			}
			
		)
		
		$('#favorites_list li').hover(
			function()
			{
				if ( !$(this).hasClass('vocalnet') )
				{
					$(this).find('a.grabber').show();
					str = $(this).attr('id').substring(4);
					$('#snapshot').hide();
					
					clearTimeout( snapInt );
					snapInt = setTimeout( "get_snap_pic( '" + str + "' )", 2000 );
				}
			},
			function()
			{
				if ( !$(this).hasClass('vocalnet') )
				{
					clearTimeout( snapInt );
					$(this).find('a.grabber').hide();
					$('#snapshot').hide();
				}
			}
			
		)
		$('a.grabber').hover(
			function()
			{
				$(this).parent().find('a.list-channel').removeClass('hover');
				$(this).parent().find('a.list-channel').addClass('hover');
				if ( $(this).parent().find('a.fav').hasClass('faved') )
				{
					// apare remove faved
					$(this).parent().find('a.fav').removeClass('faved');
					$(this).parent().find('a.fav').addClass('removefave');
				}
				if ( $(this).parent().find('a.fav').hasClass('none') )
				{
					// apare remove faved
					$(this).parent().find('a.fav').addClass('removefave');
				}
			},
			function()
			{
				$(this).parent().find('a.list-channel').removeClass('hover');
				if ( $(this).parent().find('a.fav').hasClass('removefave') )
				{
					// apare faved la mouseout
					$(this).parent().find('a.fav').removeClass('removefave');
					if ( !$(this).parent().find('a.fav').hasClass('none') ) $(this).parent().find('a.fav').addClass('faved');
				}
			}
		)
		
		$('a.popup').unbind('hover');
		$('a.popup').hover(
			function()
			{
				bar_id = $(this).attr('id').substring(10);
				set_bar_program();
				
				$bar.addClass('hover');
				$info.addClass('hover');
				$popup.addClass('hover');
				if( $mail.hasClass('none') ) $mail.addClass('add');
				if( $mail.hasClass('checked') ) $mail.addClass('remove');
				
				if( $sms.hasClass('none') ) $sms.addClass('add');
				if( $sms.hasClass('checked') ) $sms.addClass('remove');
				
				if( $record.hasClass('none') ) $record.addClass('add');
				if( $record.hasClass('checked') ) $record.addClass('remove');
				if( $bar.hasClass('nowplaying') ) $info.removeClass('nowplaying');
			},
			function()
			{
				bar_id = $(this).attr('id').substring(10);
				set_bar_program();
				
				$bar.removeClass('hover');
				$info.removeClass('hover');
				$popup.removeClass('hover');
				if( $mail.hasClass('add') ) $mail.removeClass('add');
				if( $mail.hasClass('remove') ) $mail.addClass('checked');
				
				if( $sms.hasClass('add') ) $sms.removeClass('add');
				if( $sms.hasClass('remove') ) $sms.addClass('checked');
				
				if( $record.hasClass('add') ) $record.removeClass('add');
				if( $record.hasClass('remove') ) $record.addClass('checked');
				if( $bar.hasClass('nowplaying') ) $info.addClass('nowplaying');
			}
		)
		
		
		$('a.info').unbind('hover');
		$('a.info').hover(
			function()
			{
				bar_id = $(this).attr('id').substring(9);
				set_bar_program();
				
				$bar.addClass('hover');
				$popup.addClass('hover');
				$info.addClass('hover');
				if( $mail.hasClass('none') ) $mail.addClass('add');
				if( $mail.hasClass('checked') ) $mail.addClass('remove');
				if( $sms.hasClass('none') ) $sms.addClass('add');
				if( $sms.hasClass('checked') ) $sms.addClass('remove');
				if( $record.hasClass('none') ) $record.addClass('add');
				if( $record.hasClass('checked') ) $record.addClass('remove');
			},
			function()
			{
				bar_id = $(this).attr('id').substring(9);
				set_bar_program();
				
				$bar.removeClass('hover');
				$info.removeClass('hover');
				$popup.removeClass('hover');
				if( $mail.hasClass('add') ) $mail.removeClass('add');
				if( $mail.hasClass('remove') ) $mail.removeClass('remove');
				if( $sms.hasClass('add') ) $sms.removeClass('add');
				if( $sms.hasClass('remove') ) $sms.removeClass('remove');
				if( $record.hasClass('add') ) $record.removeClass('add');
				if( $record.hasClass('remove') ) $record.removeClass('remove');
			}
		)
		
		$('a.sms').unbind('hover');
		$('a.sms').hover(
			function()
			{
				bar_id = $(this).attr('id').substring(8);
				set_bar_program();
				
				$bar.addClass('hover');
				$info.addClass('hover');
				$popup.addClass('hover');
				if( $sms.hasClass('checked') ) $sms.addClass('remove');
				if( $sms.hasClass('none') ) $sms.addClass('add');
				if( $mail.hasClass('checked') ) $mail.addClass('remove');
				if( $mail.hasClass('none') ) $mail.addClass('add');
				if( $record.hasClass('checked') ) $record.addClass('remove');
				if( $record.hasClass('none') ) $record.addClass('add');
			},
			function()
			{
				bar_id = $(this).attr('id').substring(8);
				set_bar_program();
				
				$bar.removeClass('hover');
				$info.removeClass('hover');
				$popup.removeClass('hover');
				if( $sms.hasClass('add') ) $sms.removeClass('add');
				if( $sms.hasClass('remove') ) $sms.removeClass('remove');
				if( $mail.hasClass('add') ) $mail.removeClass('add');
				if( $mail.hasClass('remove') ) $mail.removeClass('remove');
				if( $record.hasClass('add') ) $record.removeClass('add');
				if( $record.hasClass('remove') ) $record.removeClass('remove');
			}
		)
		
		$('a.mail').unbind('hover');
		$('a.mail').hover(
			function()
			{
				bar_id = $(this).attr('id').substring(9);
				set_bar_program();
				
				$bar.addClass('hover');
				$info.addClass('hover');
				$popup.addClass('hover');
				if( $sms.hasClass('checked') ) $sms.addClass('remove');
				if( $sms.hasClass('none') ) $sms.addClass('add');
				if( $mail.hasClass('checked') ) $mail.addClass('remove');
				if( $mail.hasClass('none') ) $mail.addClass('add');
				if( $record.hasClass('checked') ) $record.addClass('remove');
				if( $record.hasClass('none') ) $record.addClass('add');
			},
			function()
			{
				bar_id = $(this).attr('id').substring(9);
				set_bar_program();
				
				$bar.removeClass('hover');
				$info.removeClass('hover');
				$popup.removeClass('hover');
				if( $sms.hasClass('add') ) $sms.removeClass('add');
				if( $sms.hasClass('remove') ) $sms.removeClass('remove');
				if( $mail.hasClass('add') ) $mail.removeClass('add');
				if( $mail.hasClass('remove') ) $mail.removeClass('remove');
				if( $record.hasClass('add') ) $record.removeClass('add');
				if( $record.hasClass('remove') ) $record.removeClass('remove');
			}
		)
		
		$('a.record').unbind('hover');
		$('a.record').hover(
			function()
			{
				bar_id = $(this).attr('id').substring(11);
				set_bar_program();
				
				$bar.addClass('hover');
				$info.addClass('hover');
				$popup.addClass('hover');
				if( $sms.hasClass('checked') ) $sms.addClass('remove');
				if( $sms.hasClass('none') ) $sms.addClass('add');
				if( $mail.hasClass('checked') ) $mail.addClass('remove');
				if( $mail.hasClass('none') ) $mail.addClass('add');
				if( $record.hasClass('checked') ) $record.addClass('remove');
				if( $record.hasClass('none') ) $record.addClass('add');
				if( $bar.hasClass('nowplaying') ) $info.removeClass('nowplaying');
			},
			function()
			{
				bar_id = $(this).attr('id').substring(11);
				set_bar_program();
				
				$bar.removeClass('hover');
				$info.removeClass('hover');
				$popup.removeClass('hover');
				if( $sms.hasClass('add') ) $sms.removeClass('add');
				if( $sms.hasClass('remove') ) $sms.removeClass('remove');
				if( $mail.hasClass('add') ) $mail.removeClass('add');
				if( $mail.hasClass('remove') ) $mail.removeClass('remove');
				if( $record.hasClass('add') ) $record.removeClass('add');
				if( $record.hasClass('remove') ) $record.removeClass('remove');
				if( $bar.hasClass('nowplaying') ) $info.addClass('nowplaying');
			}
		)
		
		$('a.show').unbind('hover');
		$('a.show').hover(
			function()
			{
				bar_id = $(this).attr('id').substring(8);
				set_bar_program();
				
				if( $sms.hasClass('checked') ) 
				{
					$sms.removeClass('checked');
					$sms.addClass('remove');
				}
				if( $sms.hasClass('none') ) $sms.addClass('add');
				
				if( $mail.hasClass('checked') ) 
				{
					$mail.removeClass('checked');
					$mail.addClass('remove');
				}
				if( $mail.hasClass('none') ) $mail.addClass('add');
				
				if( $record.hasClass('checked') ) 
				{
					$record.removeClass('checked');
					$record.addClass('remove');
				}
				if( $record.hasClass('none') ) $record.addClass('add');
				
				$info.addClass('hover');
				$popup.addClass('hover');
				if( $bar.hasClass('nowplaying') ) $info.removeClass('nowplaying');
			},
			function()
			{
				bar_id = $(this).attr('id').substring(8);
				set_bar_program();
				
				if( $sms.hasClass('remove') )
				{
					$sms.removeClass('remove');
					$sms.addClass('checked');
				}
				if( $sms.hasClass('add') ) $sms.removeClass('add');
				
				if( $mail.hasClass('remove') )
				{
					$mail.removeClass('remove');
					$mail.addClass('checked');
				}
				if( $mail.hasClass('add') ) $mail.removeClass('add');
				
				if( $record.hasClass('remove') )
				{
					$record.removeClass('remove');
					$record.addClass('checked');
				}
				if( $record.hasClass('add') ) $record.removeClass('add');
				
				
				$info.removeClass('hover');
				$popup.removeClass('hover');
				
				if( $bar.hasClass('nowplaying') ) $info.addClass('nowplaying');
			}
		)
		
		$(document).mousedown(click_outside_channel_list);
	}
}

function click_outside_channel_list(e)
{
	// cand face click pe altceva in afara de lista de favorite
	if ( (!$(e.target).is('a.dropdown-toggle')) && (!$(e.target).is('a.dropdown-toggle span')) && (!$(e.target).is('a.list-channel span')) && (!$(e.target).is('#channel-list-dropdown')) && (!$(e.target).is('#channel-list-dropdown ul')) && (!$(e.target).is('#channel-list-dropdown ul li a')) )
	{
		if ($('a.dropdown-toggle').hasClass('focus'))
		{
			// trebuie inchisa
			$('a.dropdown-toggle').removeClass('focus');
			$('a.dropdown-toggle').next('div').hide();
		}
	}
	
	if ( ( !$(e.target).is('#hints-dropdown') ) && ( !$(e.target).is('span-search') ) && ( !$(e.target).is('#hints-dropdown ul li a') ) || ( !$(e.target).is('#hints-dropdown ul li a span') ) )
	{
		$('#hints-dropdown').hide();
		$('#search').removeClass('hint');
	}
	else if ( $(e.target).is('#hints-dropdown ul li a em' ) )
	{
		$('#hints-dropdown').hide();
		$('#search').removeClass('hint');
	}
	
	if ( ( $(e.target).is('#hints-dropdown ul li a') ) || ( $(e.target).is('#hints-dropdown ul li a span') ) )
	{
		if ( $(e.target).parent().is('li') )
		{
			if ( $(e.target).parent().attr('role') == 'vlc') vlc_get_stream($(e.target).parent().attr('id').substring(4));
			else get_stream($(e.target).parent().attr('id').substring(4));
		}
		else
		if ( $(e.target).parent().parent().is('li') )
		{
			if ( $(e.target).parent().parent().attr('role') == 'vlc' ) vlc_get_stream($(e.target).parent().parent().attr('id').substring(4));
			else get_stream($(e.target).parent().parent().attr('id').substring(4));
		}
	}
}

function fav_move_up( pozitie )
{
	if ( pozitie > 1 && pozitie <= 10 )
	{
		$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
		$.post( 	
			'sources/favs.php' , 
			{ 
				action: 'move_up',
				pozitie: pozitie
			} , 
			function( data )
			{
				$.unblockUI();
				
				if( data.success )
				{
					$('#favorites_list').html(data.favorite);
					player_ready();
				}
				else
				{
					$('#fav-error').html( data.message );
					$('#fav-error').show();
				}
			}, 
			'json'
		);
	}
}

function fav_move_up_arab( pozitie )
{
	if ( pozitie > 1 && pozitie <= 10 )
	{
		$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
		$.post( 	
			'sources/favs_arab.php' , 
			{ 
				action: 'move_up',
				pozitie: pozitie
			} , 
			function( data )
			{
				$.unblockUI();
				
				if( data.success )
				{
					$('#favorites_list').html(data.favorite);
					player_ready();
				}
				else
				{
					$('#fav-error').html( data.message );
					$('#fav-error').show();
				}
			}, 
			'json'
		);
	}
}

function handle_fav( action, id, chn_id )
{
	$('#fav-error').hide();
	$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
	$.post( 	
		'sources/favs.php' , 
		{ 
			action: action,
			id: id,
			chn_id: chn_id
		} , 
		function( data )
		{
			$.unblockUI();
			
			if( data.success )
			{
				$('#channels_list').html(data.canale);
				$('#favorites_list').html(data.favorite);
				player_ready();
			}
			else
			{
				$('#fav-error').html( data.message );
				$('#fav-error').show();
				setTimeout( "$('#fav-error').slideUp()", 10000 );
			}
		}, 
		'json'
	);
}

function remove_record( id )
{
	$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
	$.post( 	
		'sources/acts.php' , 
		{ 
			act: 'remove_record',
			id: id
		} , 
		function( data )
		{
			$.unblockUI();
			
			if( data.success )
			{
				$('#channels_list').html(data.html);
				$('#dropdown-toggle').html('<span>&Icirc;nregistr&#259;rile mele (' + data.nr_canale + ')</span>');
				player_ready();
			}
		}, 
		'json'
	);
}

function handle_fav_arab( action, id, chn_id )
{
	$('#fav-error').hide();
	$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
	$.post( 	
		'sources/favs_arab.php' , 
		{ 
			action: action,
			id: id,
			chn_id: chn_id
		} , 
		function( data )
		{
			$.unblockUI();
			
			if( data.success )
			{
				$('#channels_list').html(data.canale);
				$('#favorites_list').html(data.favorite);
				player_ready();
			}
			else
			{
				$('#fav-error').html( data.message );
				$('#fav-error').show();
				setTimeout( "$('#fav-error').slideUp()", 10000 );
			}
		}, 
		'json'
	);
}

function handle_epg( alerta, id, chn_id )
{
	$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
	$.post(
		'sources/handle_epg.php' ,
		{
			action: alerta,
			id: id,
			chn_id: chn_id
		} ,
		function( data )
		{
			$.unblockUI();
			
			if ( data.success )
			{
				$('#epg_list').html(data.html);
				player_ready();
			}
			else
			{
				alert(data.message);
			}
		} ,
		'json'
	);
}
function handle_epg_program( alerta, id, chn_id )
{
	$.blockUI( { message: "<h2 class='ajax-loading'><p><img src='images/loader.gif' alt='' border='0'></p></h2>" } );
	$.post(
		'sources/acts.php' ,
		{
			act: 'handle_epg_program',
			action: alerta,
			id: id,
			chn_id: chn_id
		} ,
		function( data )
		{
			$.unblockUI();
			
			if ( data.success )
			{
				$('#epg_list').html(data.html);
				show_epg_prg();
				player_ready();
			}
			else
			{
				alert(data.message);
			}
		} ,
		'json'
	);
}

function show_snap( channel_id, chn_id )
{
	hide_snap();
	$.post(
		'sources/acts.php' ,
		{
			act: 'get_snap',
			id: chn_id
		},
		function( data )
		{
			if ( data.success )
			{
				$('#snapshot').html("<span class='img'><img src='snap/" + data.id + ".jpg' width='150' height='110' alt='' /></span>" + ( ( data.text ) ? "<span class='show'>" + data.text + "</span>":"" ) );
				$('#snapshot').show();
			}
			else
			{
				$('#snapshot').html("<span class='img'><img src='snap/default.jpg' width='150' height='110' alt='' /></span>");
				$('#snapshot').show();
			}
		},
		'json'
	);
}
function hide_snap()
{
	$('#snapshot').hide();
}
function do_search()
{
	value = $('#search').val();
	
	$.post(
		'sources/acts.php' ,
		{
			act: 'do_search',
			q: value
		},
		function( data )
		{
			if ( data.success )
			{
				$('#hints-dropdown').html( data.lista );
			}
			else
			{
				$('#hints-dropdown').html("<ul><li><a href='javascript:;' class='list-channel'><span style='font-style:italic;'>Nici un rezultat</span></a></li></ul>");
			}
		},
		'json'
	);
	var zIndexNumber = 1000;
	$('*').each(function() {
		$(this).css('zIndex', zIndexNumber);
		zIndexNumber -= 1;
	});
}
function get_snap_pic( str )
{
	$.post(
		'sources/acts.php' ,
		{
			act: 'get_snap',
			id: str
		},
		function( data )
		{
			if ( data.success )
			{
				$('#snapshot').html("<span class='img'><img src='snap/" + data.id + ".jpg' width='150' height='110' alt='' /></span>" + ( ( data.text ) ? "<span class='show'>" + data.text + "</span>":"" ));
				$('#snapshot').show();
			}
		},
		'json'
	);
	clearTimeout(snapInt);
}

function record_now_start()
{
	$.post(
		'sources/acts.php' ,
		{
			act: 'record_now'
		},
		function( data )
		{
			if ( data.success )
			{
				$('#record-alert').hide();
				$('#record-alert').html( data.message );
				$('#record-alert').slideDown();
				$('.start-rec').hide();
				$('.stop-rec').show();
			}
			else
			{
				$('#record-alert').hide();
				$('#record-alert').html( data.message );
				$('#record-alert').slideDown();
			}
		},
		'json'
	);
	clearTimeout(snapInt);
}

function record_now_stop()
{
	$.post(
		'sources/acts.php' ,
		{
			act: 'record_stop'
		},
		function( data )
		{
			if ( data.success )
			{
				$('#record-alert').hide();
				$('#record-alert').html( data.message );
				$('#record-alert').slideDown();
				$('.stop-rec').hide();
				$('.start-rec').show();
			}
			else
			{
				$('#record-alert').hide();
				$('#record-alert').html( data.message );
				$('#record-alert').slideDown();
			}
		},
		'json'
	);
	clearTimeout(snapInt);
}