
Ka.Messages = {
    Common:{
		    HELP:'Help',
			ajaxError:'There was an issue processing your request. Please try again later.',
			flagCommentAsInappropriate:'Flagging notifies the ($siteName) webmaster of inappropriate content. If you believe this content violates the <a href="($tosHref)">Terms of Service</a>, please write a short description why. Thank you.',
			inAppropriateUserFlaggingConfirm:'Flagging notifies the ($siteName) webmaster of inappropriate content. If you believe this profile violates the <a href="($tosHref)">Terms of Service</a>, please write a short description why. Thank you.',
			EMAILHELPERTEXT:'Please enter comma-separated, valid email address and/or usernames.',
			PLZENTERSUBJECT:'Please enter a subject.',
			PLZENTERMSG:'Please enter a message.',
			TITLE:'Please enter a title.',
			REQFIELD:'This field is required',
			ONLYMEMBERS:'Sorry, you can only message up to 20 members at once.',
			PLEASESELECTAFILE:'Please select a file.',
			OKBUTTONCOLORPIKER:'OK',
			CANCELBUTTONCOLORPIKER:'Cancel',
			CHARACTERSLEFT:'Characters left: ($count) (limit ($count2))',
			SECONDS:'($count) seconds ago',
			BASIC:'basic',
			ADVANCED:'advanced',
			MBDISCUSSIONVALIDATIONMSG:'Your discussion title must be between 3 and 100 characters.',
			MBFORUMVALIDATIONMSG:'Your forum title must be between 3 and 100 characters.',
			MORETHANONCE:'"($tagName)" tag appeared more than once',
			APPENDTOCONFIRMATIONMSG:'<strong>It may take a few minutes for your changes to appear on ($siteName).</strong>',
			RETRY: '',
			SEARCH_TOO_SHORT: 'Please enter a search term containing at least two characters.',
			ADD_TO_SET:'Add to Set',		
			SELECT_SET_BELOW:'Select a set(s) below or <a href="($setLink)"> create a new set.</a>'
	},		
	EV: {
		VERIFICATION_POPUP: '',
		VERIFICATION_REQUIRED: '',
		CONFIRMATION_SENT: '',
		CONFIRMATION_SEND_ERROR: '',
		EMAIL_NOT_YET_VERIFIED: ''
	},
	CustomPages:{
		ADD_TO_FAVORITE: 'Add to favorites',
		REMOVE_FROM_FAVORITE: 'Remove from favorites',
		ADD_ADMINTAGS_HELPER: 'add admin tags',
		ADD_TAGS_HELPER: 'add tags',
		JUST_NOW: 'just now',
		COMMENT_FLAGGED: 'flagged',

		RATINGS_COUNT: '($count) Ratings',
		
		EMAIL_SENT: 'Sent!',
		EMAIL_EMAIL_TO_MORE: 'Email to more friends!',
		
		EMAIL_FAILED: 'Send failed!',
		EMAIL_TRY_AGAIN: 'Try again.',
		
		THANKS_FOR_VOTE: 'Thanks for the vote!',
		
		RATING_COUNT: '($count) Rating'
	},
	
	Uploader: {
		STATUS_PENDING: '',
		STATUS_UPLOADING: ' Uploading...',
		STATUS_COMPLETE: 'Complete.',
		STATUS_ERROR: 'Failed',
		STATUS_INVALID: 'Invalid',
		
		REMOVE_FROM_QUEUE: 'Remove from queue>',
		PERCENTAGE: '<strong>($percentage)%</strong> Complete!',
		
		IMAGES_SELECT: '<span class="button">Select Photos</span>',
		IMAGES_FILE_DESC: 'Images',
			
		VIDEOS_SELECT: '<span class="button">Select Videos</span>',
		VIDEOS_FILE_DESC: 'Videos',
			
		AUDIOS_SELECT: '<span class="button">Select Audio Tracks</span>',
		AUDIOS_FILE_DESC: 'Audio Tracks',
		
		ADD_DESCRIPTION: 'Description:',
		ADD_TITLE: 'Title',
		
		STEP_1_NAVIGATE_CONFIRM: 'You have ($fileCount) files queued that have not yet been uploaded.',
		STEP_2_NAVIGATE_CONFIRM: 'Are you sure you want to leave this page? You have unsaved changes.',
		
		UPLOAD_SUCCESS: '($fileCount) files uploaded successfully. You can edit the details below.',
		ERROR_QUEUE_LIMIT_EXCEEDED: 'You have selected too many files.',
		ERROR_FILE_EXCEEDS_SIZE_LIMIT: 'This file is too large.',
		
		PHOTO_USE_LABEL: 'This image is:',
		PHOTO_USE_REGULAR: 'A regular photo',
		PHOTO_USE_PORTRAIT: 'My profile photo',
		PHOTO_USE_THEME: 'A profile theme image'
	},
	MediaSets: {
		NAVIGATE_CONFIRM: "You have unsaved changes",
		ADD_TO_SET_POPUP_CONFIRM: 'This media was added to the set "($setLink)"',
		SOURCE_ITEM_COUNT: "($count) items",
		SOURCE_SELECTED_COUNT: "($count) selected",
		NAVIGATE_CONFIRM: "You have unsaved changes",
		ENTER_KEYWORDS: "enter keywords",
		ADDED_TO_LIST: "This item has been added to the list already.",
		CONTAIN_ATLEAST_ONE_ITEM: "Your set must contain at least one item",
		ENTER_COUNTS_CHARACTERS: "Please enter at least ($count) characters.",
		ENTER_MORE_THEN_COUNTS_CHARACTERS: "Please enter no more than ($count) characters.",
		NO_PREVIOUS_SET:'You have no previously created sets.',
		CREATE_A_NEW_SET:'Create a new set'		
	},
	
	MyMedia: {
			CONFIRM_DELETE_MEDIA_SET:   "Are you sure you want to delete this media set?",
			CONFIRM_DELETE_MEDIA_BLOG:  "Are you sure you want to delete this article post?",
			CONFIRM_DELETE_MEDIA_AUDIO: "Are you sure you want to delete this audio track?",
			CONFIRM_DELETE_MEDIA_PHOTO: "Are you sure you want to delete this photo?",
			CONFIRM_DELETE_MEDIA_VIDEO: "Are you sure you want to delete this video?"
			
	},
	
	GroupPage:{
			JOINGROUP:'join this group',
			LEAVEGROUP:'leave this group',
			LOGINTOJOINGROUP:'log in to join this group',
			COMMENTONGROUPHERE:'Comment on ($groupName) here.',
			THANKSFORGRPREQ:'Thank you for your group request',
			SENDINGREQ:'Sending request...',
			JOINGROUPMSG:'Welcome to ($groupName).',
			LFETGROUPMSG:'You have left ($groupName).',
			VIEWALL:'View All',
			FLAGASINAPP:'Flag',
			COMMENTEDON:'($userName),($dateStamp)',
			REFRESHURL:'Taking you to your my group page... (if this does not work, <a href="($displayManageClubsURL)">click here</a>.)',
			BLOGTEXTMAXLENGTH:'Sorry, it looks like this blog post is too long for our system! We only allow up to 40,000 characters per post. Try breaking it up into several smaller article posts.',
			GROUPFLAGGINGTHANKSFORHELP:'The ($siteName) staff has been notified. Thanks for helping us maintain the ($siteName) community.',
			GROUPPAGESTATSAFTERFLAGGING:'This page is flagged for review.',
			MUSTLOGINTOCOMMENT:'You must <a class="ka_memberAction" href="($loginURL)">log in</a> or <a href="($joinURL)">join</a> to enter messages.',
			MUSTJOINTOCOMMENT:'You must <a href="($joinGroupURL)">join the group</a> to enter messages',
			SENDBUTTON:'Send'
	},		
	
	MediaComments:{
			COMMOENTDELETE:'Are you sure you want to delete this comment? It cannot be undone.',
			COMMENTISFRIEND:'($userName) is your friend.',
			COMMENTSFLAGGED:'flagged',
			COMMENTSINAPPSEND:'Send',
			COMMENTSINAPPCANCEL:'Cancel',
			ENTERAVALIDURL:'Please enter a valid URL, like \'www.example.com\'.',
			COMMENTALREADYAFAN:'Already a fan'
	},		
	
	JoinPage:{
			EMAILPLEASE:'Please enter a valid email address.',
			USERNAME:'Please enter a username. Your username may only contain letters, numbers, and underscores.',
			PASSWORD:'Please enter a password.',
			PASSWORDCONFIRM:'Your passwords must match exactly.',
			DOBMONTH:'Please enter a month.',
			DOBDAY:'Please enter a day.',
			DOBYEAR:'Please enter a year.',
			SECURITY_TEXT:'Security text cannot be empty.',
			TERMSOFSERVICE:'You must accept the Terms of Service.',
			ERRORLOGINPAGE:'Please enter a valid username or email address and your password.',
			ERRORUSERLOGINPAGE:'Please enter a valid username.',
			AGEERROR:'You must be at least 13 years old to join.',
			AGEERRORCOPPA:'In a previous attempt to join, you stated that you were younger.'
	},
	
	MyHome:{
			MYFRIENDSACTIVITY:'Loading your friends\' activities.'
	},		
	
	
	ProfilePage:{
			PROFILEPAGEFLAGGED:'flagged',
			PROFILEPAGEERRORMSG:'The subject needs to be between 2 and 50 letters long.',
			SELECT:'select',
			PAGINATIONLINKCOMMENT:'Comments',
			PAGINATIONLINKNEXT:'Next',
			SHOWALL:'show all',
			MESSAVE_BOARD_POSTED: '<a href="($mbHref)">($messageTitle)</a>, ($timeStamp), Posts:($count)',
			SETITEMS: '($count) Items'
	},		
	
	PlayPage:{
			AFTERFLAGGING:'This page is flagged for review.',
			SENT:'Sent!',
			EMAILTOFRIENDS:'Email to more friends!',
			EMAIL:'Email to Friends',
			EMAILFAILED:'Send failed!',
			TRYAGAIN:'Try again.',
			SENDING:'Sending...',
			ADDTOFAV:'Add to Favorites',
			REMOVEFROMFAV:'Remove from Favorites',
			GIGGYACANCELPOST:'Cancel post on another network or blog',
			GIGGYAADDTONET:'Post on another network or blog',
			INAPPFLAG:'Flag',
			MORE:'more',
			LESS:'less',
			TAGSERRORMSG1:'Tags can only include letters and numbers',
			TAGSERRORMSG2:'Tags cannot be longer than 30 characters',
			THANKSFORTHEVOTE:'Thanks for the vote!',
			RATING:'($count) Rating',
			RATINGS:'($count) Ratings',
			EMAILADDR:'Please enter your email address.',
			ADDTAGS:'add tags',
			ADDADMINTAGS:'add admin tags',
			COMMENTADDEDON:'($userName), ($dateStamp)',
			HIDE:'hide',
			CHOOSEFILE:'Please choose a file.',
			ENTERVALLIDUSPORTALCODE:'Please enter a valid US postal code',
			ENTERVALLIDCANADIANPORTALCODE:'Please enter a valid Canadian postal code',
			PLEASEENTERBLOGTEXT:'Article text is required for creating a text blog',
			UPLOADINGFILES:'Uploading File(s)',
			CANCELUPLOAD:'cancel upload',
			CONFERMABORT:'Are you sure you want to abort the upload?',
			UPLOADINGWAIT:'Please choose a file.',
			BEGINNINGUPLOAD:'Beginning upload. Please wait.',
			UNABLETOUPLOAD:'Some files were unable to upload.<br />',
			ERRORSREPORTED:'errors reported:',
			ERRORREPORTED:'error reported:',
			UPLOADFAILED:'Upload failed',
			TRANSFERCOMPLETED:'Transfer completed:',
			FINALIZING:'finalizing',
			TASKSUBMITTED:'',
			BYTESTOUPLOAD:'Total bytes to upload:',
			TRANSFERRINGFILE:'Transferring file:',
			BYTESTRANSFERRED:'Transferred ($count) bytes',
			MEDIASTARS:'($count) Stars',
			MEDIAVIEWS:'($count) Views',
			TAGALREADYEXISTS:'"($tagName)" tag already exists',
			MEDIAFLAGGINGTHANKSFORHELP:'The ($siteName) staff has been notified. Thanks for helping us maintain the ($siteName) community.',
			READMORE:'read more',
			FILECOUNT:'File ($currentFileCount) of ($totalFileCount)',
			VIEWALLPP:'View All',
			LATESTBY:'By <a href="($kpHref)">($userName)</a>',
			TAGSBEGINWITHSINGLEQUOTE:'Tags cannot begin with single quote character',
			TAGSCONTAINSINGLEQUOTE:'Tags cannot contain only single quote character',
			TAGSMORETHENONEWORD:'Tags within quotes must contain more than one word',
			DELETECONFIRMMESSAGE:'Are you sure you want to delete this? It cannot be undone.'
	},		
	
	InappFlag:{
			SENDINAPPRO:'Send',
			CANCELINAPPRO:'Cancel',
			SITENAMEUPGRADED:'<strong>($siteName) is being upgraded!</strong><br /> Please try again in half an hour.',
			COMMENTSHASBEENSUBMITTED:'Your comment has been submitted to the site administrators for approval. Thanks for the comment!',
			CLOSEOPENQUOTES:'Please close the open quotes',
			BYAFORMERMEMBER:'By a former member ',
			YOURCOMMENTSHASBEENSUBMITTED:'Your comment has been submitted to the site administrators for approval.  Thanks for the comment!',
			ENTERATLEAST:'Enter at least ($count) characters.',
			FLAGASINAPPROPRIATE:'flag',
			ATLEAST4CHARACTERS:'Your message text must include at least 4 characters.',
			PLAYPAGECOMMENTSFLAGGED:'flagged',
			GROUPPAGECOMMENTSFLAGGED:'flagged'
	},		
	
	MessageBoards:{
			CANCELARRANGEMENT:'cancel',
			CANCELARRANGEMENTTITLE:'Click to cancel arrangement',
			CLICKTOREARRANGETITLE: 'Click to rearrange forums',
			DELETEDISCUSSION: 'Are you sure you want to delete this discussion and it\'s contents? This action cannot be undone.',
			DELETEREPLY: 'Are you sure you want to delete this reply? This action cannot be undone.',
			DISABLE: 'Disable',
			DISABLEDDISCUSSION: 'Disabled Discussion',
			DISABLEDDISCUSSIONS: 'Disabled Discussions',
			DISABLEDFORUM: 'Disabled Forum',
			DISABLEDFORUMS: 'Disabled Forums',
			DISABLEDREPLIES: 'Disabled Replies',
			DISABLETHISDISCUSSION: 'Disable this discussion',
			DISABLETHISFORUM: 'Disable this forum',
			DISABLETHISREPLY: 'Disable this reply',
			DRAGDROPMESSAGE:'Drag and drop forum items to your heart\'s content.',
			EMPTYENABLEDFORUMVIEW: 'Looks like you don\'t have any active forums. Why not <a href="($createOneHref)" title="Click to create a new forum">create one</a>?', 
			EMPTYDISABLEDFORUMVIEW: 'There are no disabled forums.', 
			EMPTYENABLEDDISCUSSIONVIEW: 'There are no active discussions. Why not <a href="($startDiscussionHref)" class="ka_memberAction">start one?</a>', 
			EMPTYDISABLEDDISCUSSIONVIEW: 'There are no disabled discussions.', 
	   		EMPTYENABLEDREPLYVIEW: 'Be the first to <a href="($replyHref)" class="ka_memberAction">reply</a>!', 
			EMPTYDISABLEDREPLYVIEW: 'There are no disabled replies.', 
			ENABLE: 'Enable',
			ENABLETHISDISCUSSION: 'Enable this discussion',
			ENABLETHISFORUM: 'Enable this forum',
			ENABLETHISREPLY: 'Enable this reply',
			FORUM: 'Forum',
			ISYOURFRIEND: '($userName) is your friend',
			LASTREPLY: 'Last Reply',
			LATESTACTIVITY: 'Latest Activity',
			MOVEFORUMDOWN: 'Move forum down',
			MOVEFORUMUP: 'Move forum up',
			PIN: 'pin',
			PINDISCUSSIONTITLE: 'Pin this discussion',
			REORDERBUTTON:'Reorder',
			SAVEARRANGEMENT:'I\'m Done!',
			SAVEARRANGEMENTTITLE:'Click to save arrangement',
			SEND:'Send',
			OK:'OK',
			UNPIN:'unpin',	
			FLAGGED:'Flagged',
			AJAXERRORINMB:'There was an issue processing your request. Please try again later.',
			MEMBERISYOURFAN:'($userName) is your fan',
			ALREADYAFAN:'Already a fan',
			YOURDISCUSSIONHASBEENDISABLED:'The discussion has been disabled and moved to the last page.',
			DISCUSSIONUNDO:'[undo]',
			UNPINDISCUSSIONTITLE: 'Unpin this discussion',
			YOURDISCUSSIONHASBEENPINNED:'The discussion has been pinned and moved to the first page.',
			YOURREPLYHASBEENDISABLED:'The reply has been disabled and moved to the last page.'
	},
	
	Profile: {
			DELETECOMMENTCONFIRM: 'Are you sure you want to delete this comment?',
			DELETELINK: 'Delete',
			POSTCOMMENT: 'post'
	},
	
	TinyMceEditor:{
			COUNTOFCOUNTIMAGES:'($count) of ($count1) images',
			COUNTOFCOUNTVIDEOS:'($count) of ($count1) videos',
			PREVIOUS:'prev',
			NEXT:'next',
			REFRESH:'Refresh',
			MYPHOTO:'My Photos',
			MYVIDEOS:'My Videos',
			EXTERNALMEDIA:'From the Web',
			TITLEBYUSERNAME:' by ($userName)',
			VIDEOSBYUSERNAME:'Show all videos by ($userName)',
			INSERT:'insert',
			CANCEL:'cancel',
			APPROVED:'Approved',
			PENDING:'Pending ',
			REJECTED:'Rejected',
			COMMENTPENDINGAWAITINGAPPROVAL:'This comment is pending and awaiting approval.',
			PHOTOPENDINGAVAILABLESOON:'This photo is pending and should be available soon.',
			PHOTOPENDINGAWAITINGAPPROVAL:'This photo is pending and awaiting approval.',
			PHOTOREJECTEDPLEASETRYANOTHER:'Sorry this photo has been rejected. Please try another.',
			PHOTOPROCESSINGORMISSINGCANNOTBEUSED:'This photo is processing or missing and cannot be used.',
			DONOTHAVEAPPROVEDPHOTOINOURSYSTEM:'You currently do not have any approved photos in our system. Please <a href="($addMediaPage)">upload</a> a photo first.',
			DONOTHAVEAPPROVEDVIDEOINOURSYSTEM:'You currently do not have any approved video in our system. Please <a href="($addMediaPage)">upload</a> a video first.',
			VIDEOISPENDINGANDSHOULDBEAVAILABLESOON:'This video is pending and should be available soon.',
			VIDEOISPENDINGANDAWAITINGAPPROVAL:'This video is pending and awaiting approval.',
			VIDEOREJECTEDPLEASETRYANOTHER:'Sorry this video has been rejected. Please try another.',
			VIDEOPROCESSINGORMISSINGCANNOTBEUSED:'This video is processing or missing and cannot be used.',
			KICKMEDIABUTTONTITLE:'Insert or upload media',	
			ENTERAKEYWORD:'enter a keyword',
			PHOTOMISSINGTITLE:'Photo Missing',
			SELECTIMAGESIZE:'Select an image size:',
			SMALL:'small',
			MEDIUM:'medium',
			LARGE:'large',
			LEFT:'left',
			CENTER:'center',
			RIGHT:'right',
			SELECTIMAGEPOS:'Select image position:',
			PHOTOREJECTED:'Photo Rejected',
			PHOTOPENDING:'Photo Pending',
			VIDEOREJECTED:'Video Rejected',
			VIDEOPENDING:'Video Pending',
			VIDEOMISSING:'Video Missing',
			NORESULTSFROMSEARCH:'Your search returned no results.',
			SEARCHEXTMEDIA:'',
			UPLOAD:'Upload',
			CLOSEWARNING:'It looks like you\'ve left the parent page. This window will close in 5 seconds.',
			REFRESHTHUMBNAIL:'refresh thumbnails'
	},		
	addProp: function(prop,val){this[prop]=val;},
	replaceTokens: function(string, variables) {
		try {
		    for(obj in variables){
		        string = string.replace(new RegExp("\\(\\$" + obj + "\\)","g"), variables[obj]); 
		    }
	    } catch(ex) {}
	    return string;
	}
};