
		var Panel = new Object();
		
		Panel.Settings = {
			
		}
		
		
		Panel.ToggleSubscriptionButton = function(JSON) {
			
		}
		
		Panel.ToggleHotlistButton = function(HotPointer) {
			
		}
		
		//////////////////////////////////////////////////////////////////////
		////////////////////////                       ///////////////////////
		////////////////////////    MEMBER OPTIONS     ///////////////////////
		////////////////////////                       ///////////////////////
		////////////////////////                       ///////////////////////
		//////////////////////////////////////////////////////////////////////
		//////////////////////////////////////////////////////////////////////
		
		
		Panel.MemberOptions = {
			Settings : {
				Info : {}
			}
		}
		
		Panel.MemberOptions.Success = function() {
			AnimatedOverlay.LoadByContent('<div class="warning_color bold center error_pos">Thanks. Your request has been accepted.</div>', 'animated_overlay_style_main');
		}
		
		Panel.MemberOptions.NotLogged = function() {
			AnimatedOverlay.LoadByContent('<div class="warning_color bold center error_pos">In order to use the Members Options you must have registered for an account and be logged in. Please Sign Up or Login and try again.</div>', 'animated_overlay_style_small');
		}
		
		Panel.MemberOptions.Error = function() {
			AnimatedOverlay.LoadByContent('<div class="warning_color bold center error_pos">Sorry there has been a system error.</div>', 'animated_overlay_style_main');
		}
		
		Panel.MemberOptions.ShowInfo = function(sContent, sCloseCallback) {
			AnimatedOverlay.LoadByContent(sContent, null, sCloseCallback);
		}

		Panel.MemberOptions.ProcessCallbackConnect = function(JSON) {
			switch(JSON.returnCode) {
				case 0:
					Panel.MemberOptions.Success();
					break;
				case -2:
					Panel.MemberOptions.NotLogged();
					break;
				default:
					Panel.MemberOptions.Error();
			}
		}
		
		//below not changed
		
		Panel.MemberOptions.ProcessShoutSubscription = function(responseObject, Data) {
			var returnCode = (responseObject == null || typeof(responseObject.returnCode) == 'undefined') ? -10 : responseObject.returnCode;
			switch(returnCode) {
				case 1:

					Data.Data.SMSSubscriptions.Shouts.IsSubscribed = !Data.Data.SMSSubscriptions.Shouts.IsSubscribed;
					
					//if(Data.Data.SMSSubscriptions.Shouts.IsSubscribed)
						//MainGrid.AddToHotlist(Panel.Current);
					
					if(Data.Data.SMSSubscriptions.Shouts.IsSubscribed) {
						$('panel_shouts_subscribe').innerHTML  = 'Unsubscribe from shouts';
					} else {
						$('panel_shouts_subscribe').innerHTML  = 'Subscribe to his shouts';
					}
					
					Options.SetData(Data, true);
					
					Panel.MemberOptions.Success();
					break;
				case -2:
					Panel.MemberOptions.NotLogged();
					break;
				default:
					Panel.MemberOptions.Error();
			}
		}
		
		Panel.MemberOptions.SMS = {};
		
		Panel.MemberOptions.SMS.ShowInfo = function(sContent) {
			$('sms_send_form_info_display').innerHTML = sContent;
			Element.hide('sms_send_form_display');
			Element.show('sms_send_form_info');
		}
		
		Panel.MemberOptions.SMS.HideInfo = function() {
			Element.hide('sms_send_form_info');
			Element.show('sms_send_form_display');
		}
		
		Panel.MemberOptions.ShowSMSChatSend = function() {
			AnimatedOverlay.ShowById('sms_send_form', 'animated_overlay_style_main');
		}
		
		Panel.MemberOptions.LoadSMSChatSend = function() {
			AnimatedOverlay.LoadById('sms_send_form', 'animated_overlay_style_small');
		}
		
		Panel.MemberOptions.ProcessSMSChatSend = function(JSON) {
			switch(JSON.returnCode) {
				case 5:
					Panel.MemberOptions.SMS.ShowInfo($('sms_chat_info_cust').innerHTML);
					break;
				case -5:
					Panel.MemberOptions.SMS.ShowInfo($('sms_no_wallet_points').innerHTML);
					break;
				case 101:
				case 1:
					Panel.MemberOptions.Success();
					break;
				case 103:
				case 104:
					Panel.MemberOptions.SMS.ShowInfo($('sms_invalid_mobile_number').innerHTML);
					break;
				case 109:
					Panel.MemberOptions.SMS.ShowInfo($('sms_user_not_available').innerHTML);
					break;
				default:
					Panel.MemberOptions.Error();
			}
		}
		
		Panel.MemberOptions.PlayVideo = function() {
			AnimatedOverlay.ShowById('video_content', 'animated_overlay_style_small');
		}
		
		Panel.MemberOptions.PlayAudio = function() {
			AnimatedOverlay.ShowById('audio_content', 'animated_overlay_style_small');
		}
		
		Panel.MemberOptions.ProcessDescriptionOrder = function(responseObject) {
			var returnCode = (responseObject == null || typeof(responseObject.returnCode) == 'undefined') ? -10 : responseObject.returnCode;
			switch(returnCode) {
				case 1:
					Panel.MemberOptions.Success();
					break;
				case -2:
					Panel.MemberOptions.NotLogged();
					break;
				default:
					Panel.MemberOptions.Error();
			}
		}
		
		
		//////////////////////////////////////////////////////////////////////
		////////////////////////                       ///////////////////////
		////////////////////////    MEMBER OPTIONS     ///////////////////////
		////////////////////////        END            ///////////////////////
		////////////////////////                       ///////////////////////
		//////////////////////////////////////////////////////////////////////
		//////////////////////////////////////////////////////////////////////
		////////////////////////                       ///////////////////////
		////////////////////////    TABS OPTIONS       ///////////////////////
		////////////////////////                       ///////////////////////
		////////////////////////                       ///////////////////////
		//////////////////////////////////////////////////////////////////////
		//////////////////////////////////////////////////////////////////////
		
		Panel.Tabs = new Object();
		
		Panel.Tabs.Activate = function(key) {
			Panel.Tabs.SwitchTabClass('Image', 0);
			Panel.Tabs.SwitchTabClass('Audio', 0);
			Panel.Tabs.SwitchTabClass('Video', 0);
			Panel.Tabs.SwitchTabClass(key, 1);
			Panel.Tabs.SwitchContainer('Audio', 0);
			Panel.Tabs.SwitchContainer('Video', 0);
			Panel.Tabs.SwitchContainer(key, 1);
			Panel.Tabs.LoadMovie(key);
		}
		
		Panel.Tabs.SwitchTabClass = function(key, state) {
			var obj = $(Panel.Settings.Tabs[key+'Id']);
			if(obj.className.toString() == key+Panel.Settings.Tabs.UnavailableClass) return;
			
			obj.className = (state) ? key+Panel.Settings.Tabs.ActiveClass
									: key+Panel.Settings.Tabs.AvailableClass;
		}
		
		Panel.Tabs.SwitchContainer = function(key, state) {
			var obj = $(Panel.Settings.Tabs[key+'ContainerId']);
			obj.style.display = (state) ? 'block'
										: 'none';
		}
		
		Panel.Tabs.Initialize = function(JSON) {
			with (Panel.Settings.Tabs) {
				$(ImageId).className = 'Image'+AvailableClass;
				$(ImageId).onclick = function(){
					Panel.Tabs.Activate('Image');
				}
				if(JSON.HasAudio == 1) {
					$(AudioId).className = 'Audio'+AvailableClass;
					$(AudioId).onclick = function() {
						Panel.Tabs.Activate('Audio');
					}
				} else {
					$(AudioId).className = 'Audio'+UnavailableClass;
					$(AudioId).onclick = function() {
						return false;
					}
				}
				if(JSON.HasVideo == 1) {
					$(VideoId).className = 'Video'+AvailableClass;
					$(VideoId).onclick = function() {
						Panel.Tabs.Activate('Video');
					}
				} else {
					$(VideoId).className = 'Video'+UnavailableClass;
					$(VideoId).onclick = function() {
						return false;
					}
				}
			}
			Panel.Tabs.Activate('Image');
		}
		
		Panel.Tabs.LoadMovie = function(key) {
			if(key == 'Image') return;
			
			var MovieId = MainGrid.GetData(Panel.Current).FMN.Descriptions[key]
			
			var Movie = Panel.Settings.Tabs.SourceBasePath+MovieId+Panel.Settings.Tabs[key+'Extension'];
			AFL_JS.ViewController.MediaPlayer.Initialize($(Panel.Settings.Tabs[key+'PlayerContainerId']), Movie, 250, 250);
		}
		
		AFL_JS.ViewController.Panel = Panel;