// static values used in javascript code
var g_contentType_json                      = "application/json; charset=utf-8";
var g_contentType_form                      = "application/x-www-form-urlencoded";
var g_dataType_json                         = "json";
var g_dataType_html                         = "html";
var g_dataType_text                         = "text";
var g_method_get                            = "get";
var g_method_post                           = "post";

var g_dragDropGroup_trackUpload             = 'dragDropGroup_trackUpload';
var g_dragDropGroup_trackDownload           = 'dragDropGroup_trackDownload';

var g_dragDropGroup_trackToPlaylist         = 'dragDropGroup_trackToPlaylist';
var g_dragDropGroup_playlistUpload          = 'dragDropGroup_playlistUpload';
var g_dragDropGroup_playlistDownload        = 'dragDropGroup_playlistDownload';
var g_dragDropGroup_playlistInternal        = 'dragDropGroup_playlistInternal';

var g_dragDropGroup_playlistEntryUpload     = 'dragDropGroup_playlistEntryUpload';
var g_dragDropGroup_playlistEntryDownload   = 'dragDropGroup_playlistEntryDownload';

var g_dragDropGroup_chartDownload           = 'dragDropGroup_chartDownload';
var g_dragDropGroup_chartEntryDownload      = 'dragDropGroup_chartEntryDownload';

var g_dragDropGroup_playerInternal          = 'dragDropGroup_playerInternal';

var g_gridPageSize                          = 100;
var g_gridScrollOffset                      = 13;

var g_tracksGrid_defaultSortField           = 'artist';
var g_cloudUploadsGrid_defaultSortField     = 'devicename';
var g_cloudDownloadsGrid_defaultSortField   = 'devicename';
var g_deviceUploadsGrid_defaultSortField    = 'position';
var g_deviceDownloadsGrid_defaultSortField  = 'position';
var g_playlistsGrid_defaultSortField        = "createdat";
var g_playlistGrid_defaultSortField         = "position";
var g_playerGrid_defaultSortField           = "position";

var g_extJsGrid_propertyNameArtist          = "artist";
var g_extJsGrid_propertyNameAlbum           = "album";
var g_extJsGrid_propertyNameGenre           = "genre";
var g_extJsGrid_propertyNamePlay            = "play";
var g_extJsGrid_propertyNamePosition        = "position";

var g_extjsGrid_defaultSortDirection        = 'ASC';

var g_extJsGrid_dataTypeFileHash            = 'filehash';
var g_extJsGrid_dataTypeClientTrack         = "clienttrack";
var g_extJsGrid_dataTypeClientDeviceFile    = "clientdevicefile";
var g_extJsGrid_dataTypeTrack               = 'track';
var g_extJsGrid_dataTypePlaylist            = 'playlist';
var g_extJsGrid_dataTypePlaylistEntry       = 'playlistentry';
var g_extJsGrid_dataTypeChart               = 'chart';
var g_extJsGrid_dataTypeChartEntry          = 'chartentry';

var g_extJsGrid_gridTypeUpload              = "upload";
var g_extJsGrid_gridTypeDownload            = "download";

var g_searchField_all                       = 'all';

var g_highUserPriorityDefault               = 200;
var g_lowUserPriorityDefault                = 100;
var g_userActionByProductPriorityDefault    = 50;
var g_highPriorityDefault                   = 10;
var g_lowPriorityDefault                    = 1;
var g_removeFromQueuePriority               = 0;

var g_httpStatusCode_badrequest             = 400;
var g_httpStatusCode_unauthorised           = 401;
var g_httpStatusCode_forbidden              = 403;
var g_httpStatusCode_internalservererror    = 500;


var g_playerWindowWidth                     = 550;
var g_playerWindowHeight                    = 515;

var g_minColumnWidth = 25;
var g_menuItemHeight = 22;

var g_cloud_deviceId                        = 0;
var g_default_xPOPropertyId                 = -1;

var g_elementAnimationTime_milliseconds                 = 200;
var g_windowClosePollTime_milliseconds                  = 200;
var g_retrieveDeviceInfoDataPollingTime_milliseconds    = 10000;
var g_imageFlashTime_milliseconds                       = 750;
var g_ajaxTimeout_milliseconds                          = 120000;
var g_adRotatorPeriod_milliseconds                      = 20000;
var g_tooltipDelayTime_milliseconds                     = 500;
var g_pageTransitionTime_milliseconds                   = 500;
var g_overlayFadeDuration_milliseconds                  = 200;
var g_checkLocationChangeInterval_milliseconds          = 100;

// tab transition overlay
var g_overlayOpacity                        = .70;
var g_overlayOpacityLight                   = .50;

var g_trackStatusEnum_uploaded              = 1;

// content panel display modes
var g_contentPanelDisplayMode_list          = "list";
var g_contentPanelDisplayMode_single        = "single";

var g_loadMaskVisible_default               = true;
var g_dragDropHighlightType_row             = "row";
var g_dragDropHighlightType_betweenRows     = "betweenrows";

// these must match the values in Psonar.Web.UI.Application.Classes.ViewSettings.TabPanelTypeEnum
var g_singleGrid                            = "SingleGrid";
var g_masterDetailGrids                     = "MasterDetailGrids";
var g_infoDetailGrids                       = "InfoDetailGrids";
var g_twinHorizontalGrids                   = "TwinHorizontalGrids";
var g_form                                  = "Form";
var g_none                                  = "None";

// player
var g_playerInitialVolumePercent = 60;

// drag & drop in lists
var g_positionQualifierEnum_start       = 0;
var g_positionQualifierEnum_afterEntry  = 1;
var g_positionQualifierEnum_end         = 2;

// non-static globals used in javascript code
var g_loginUrl;
var g_setTooltipHiddenAsyncUrl;
var g_setDialogHiddenAsyncUrl;
var g_devicesPanelUserControlAsyncUrl;
var g_addToStreamAsyncUrl;
var g_updateStreamAsyncUrl;
var g_setUploadPriorityAsyncUrl;
var g_setDownloadPriorityAsyncUrl;
var g_addToPlaylistAsyncUrl;
var g_updatePlaylistAsyncUrl;
var g_playerTracksAsyncUrl;
var g_playerTrackReferralUrl;
var g_streamTrackDataAsyncUrl;
var g_mostRecentBlogItemAsyncUrl;
var g_twitterConnectRequestUrl;
var g_twitterSendTwitterAccountConnectedStatusUpdateAsyncUrl;
var g_twitterStatusUpdateUserControlAsyncUrl;
var g_facebookWallPostUserControlAsyncUrl;

var g_playerUrl;
var g_userId;
var g_streamingToken;
var g_currentTrackId = null; // must be initialized to null

// social networking
var g_twitterPopup                      = null;
var g_facebookPopup                     = null;
var g_twitterPopup_checkClosedInterval  = null;
var g_facebookPopup_checkClosedInterval = null;
var g_twitterConnect_success            = false;
var g_facebookConnect_success           = false;

var g_facebookApiKey;
var g_facebookApiNextUrl;
var g_facebookApiCancelUrl;

var g_twitterStatusUpdateCharsRemainingNoTrack      = 132;
var g_twitterStatusUpdateCharsRemainingWithTrack    = 65;


// custom events
var g_customEvent_contentPanelHelper_displayPanelContent                = "contentPanelHelper_displayPanelContent";

var g_customEvent_gridContentPanelHelper_rowClick                       = "gridContentPanelHelper_rowClick";
var g_customEvent_gridContentPanelHelper_rowDblClick                    = "gridContentPanelHelper_rowDblClick";
var g_customEvent_gridContentPanelHelper_emptySpaceClick                = "gridContentPanelHelper_emptySpaceClick";
var g_customEvent_gridContentPanelHelper_emptySpaceDblClick             = "gridContentPanelHelper_emptySpaceDblClick";

var g_customEvent_clientDevicesPanelHelper_deviceSelected               = "clientDevicesPanelHelper_deviceSelected";

var g_customEvent_genericDeviceContentPanelHelper_notifyDrop            = "genericDeviceContentPanelHelper_notifyDrop";
var g_customEvent_genericDeviceContentPanelHelper_playlistChangesSaved  = "genericDeviceContentPanelHelper_playlistChangesSaved";

var g_customEvent_playerContentPanelHelper_initiatePlay                 = "playerContentPanelHelper_initiatePlay";

var g_customEvent_navPanelCenterHelper_displayPanelContent              = "navPanelCenterHelper_displayPanelContent";
var g_customEvent_navSearchHelper_searchInitiated                       = "navSearchHelper_searchInitiated";
var g_customEvent_navSearchHelper_resetInitiated                        = "navSearchHelper_resetInitiated";

var g_customEvent_playlistEntryGrid_changesSaved                        = "playlistEntryGrid_changesSaved";


// timer ids / flags, etc.
var g_checkLocationChange_intervalId    = -1;
var g_ignoreNextLocationChange          = false;

// custom event arguments
var g_panelTypeTab      = "tab";
var g_panelTypeAdHoc    = "adhoc";

// adhoc panel ids
var g_adHocPanel_info       = "info";
var g_adHocPanel_welcome    = "welcome";
var g_adHocPanel_account    = "account";
var g_adHocPanel_http404    = "http404";


// streaming access types
var g_streamingAccessType_full      = "full";
var g_streamingAccessType_sample    = "sample";
var g_streamingAccessType_none      = "none";

// referral url parameter values
var g_referralUrlParameterValue_buy  = "buy";
var g_referralUrlParameterValue_more = "more";

// tab ids
var g_musicTab_info       = "Info";
var g_musicTab_transfers  = "Transfers";
var g_musicTab_playlist   = "Playlist";

// key codes
var g_keyCode_delete    = 46;
var g_keyCode_a         = 65;