// Set up root Club3 namespace
var Club3 = Club3 || {};

// Set up properties
Club3.appServer = null;
Club3.debug = false;

/**
 * Get the address of the Club3 application server
 */
Club3.getAppServer = function() {
	if(!Club3.appServer) {
		var pageUrl = document.location.toString();
		
		// Old mappings which are no longer used.
		// If they are still used, feel free to reinstate them.
		// Be sure to commit the change.
		// 	webServer: 'abc.local',
		// 	appServer: 'http://club3.abc.local/'
		// 	webServer: 'abc.ifyoucanimagine',
		// 	appServer: 'http://club3.ifyoucanimagine.com/'
		// 	webServer: 'jemimalocal.abc.net.au',
		// 	appServer: 'http://club3local.abc.net.au/'
		// 	webServer: 'jemima.abc.net.au',
		// 	appServer: 'http://club3dev.abc.net.au/'
		
		var appServerMap = [{
				webServer: 'nmdev.abc.net.au',
				appServer: 'http://club3dev.abc.net.au/'
			}, {
				webServer: 'bigbird',
				appServer: 'http://snuffleupagus.local.abc.net.au/'
		}];
		
		var noAppServers = appServerMap.length;
		for(var i = 0; i++; i < noAppServers)
		{
			var appServerMapping = appServerMap[i];
			if(pageUrl.indexOf(appServerMapping.webServer)) {
				Club3.appServer = appServerMapping.appServer;
				break; // exit for loop
			}
		}
		
		// If the app server wasn't found, use the default.
		if(!Club3.appServer) {
			Club3.appServer = "http://club3.abc.net.au/"
		}
	}
	
	return Club3.appServer;
};

/**
 * Log a message (if Club3.debug is set to true, that is)
 */
Club3.log = function() {
	if(Club3.debug) {
		if(console && typeof console == "object"
				&& console.log && typeof console.log == "function"
				&& console.log.apply && typeof console.log.apply == "function") {
			console.log.apply(console, arguments);
		}
	}
};


// Set up aliases
Club3.getApplicationServer = Club3.getAppServer;
Club3.getServer = Club3.getAppServer;

var serverAddress = document.location.toString();
var server = Club3.getAppServer();
var imageBase = "/abc3/uploads/theme_assets/";

var defaultTheme = {};
var isLoggedIn = false;
defaultTheme.themeLogo = "f35cb40560e41a0955f88fd6f4628f6a2a81bf75.png";
defaultTheme.themeTile = "Concentrics.jpg";
defaultTheme.themeAlert = "mail-alert-01.swf";
defaultTheme.themeGraphic = "";
defaultTheme.themeGraphicPosition = "";
var currentPage = {};

function displayNewMail(swfAddress, id, unreadCount){
	var params = {};
	params.wmode = "transparent";
	var attributes = {};
	var flashvars = {};
	flashvars.messages = unreadCount;
	swfobject.embedSWF(swfAddress, id, 260, 290, "9.0.0", false, flashvars, params, attributes);
}


function openContentCommentWindow(options, windowId){
	$("#abc3-dialog-comment").dialog('close');
	$('#modalIframeId').hide();
	$('#abc3-dialog-comment').dialog('option', 'title', 'COMMENT');
	$("#abc3-dialog-comment").load("/abc3/includes/popups/content-comment.html");
	
	$("#abc3-dialog-comment").bind("dialogclose", function(event, ui){
		$('#modalIframeId').show();
	});
	$("#abc3-dialog-comment").dialog('open');
}

function postContentComment(currentPage,comment){
	$.getJSON(server + "member/postComment?callback=?", {
		comment : comment,
		pageId: currentPage.id,
		pageTitle: currentPage.title,
		format: currentPage.format
	}, function(json) {
		if(json.success){
			var content = unescape(json.success);
			$.jGrowl(content, {
				beforeClose : function(e, m) {
					$("#abc3-dialog-comment").dialog("close");
				}
			});
		}else{
			var content = unescape(json.error);
			$.jGrowl(content);
		}
	});
}

function deleteMessage(element) {
	$.getJSON(server + "messagedelete.json?callback=?", {
		messageId : $(element).attr('rel')
	}, function(json) {
		var content = unescape(json.success);
		$.jGrowl(content, {
			beforeClose : function(e, m) {
				$(element).parent().parent().fadeOut().remove();
			}
		});
	});
}

function deleteFavourite(element) {
	$.getJSON(server + "removefavourite.json?callback=?", {
		favouriteId : $(element).attr('rel')
	}, function(json) {
		var content = unescape(json.success);
		$.jGrowl(content, {
			beforeClose : function(e, m) {
				$(element).parent().parent().fadeOut().remove();
			}
		});
	});
}
	
function addFavourite(options){
	
	if (isLoggedIn) {
		$.getJSON(server + "addfavourite.json?callback=?", {
			id: options.id,
			thumb: options.thumb,
			title: options.title,
			format: options.format
		}, function(json){
			//updateMyFavourites();
			$.jGrowl(unescape(json.success));
			updateUserOptions(options.elementId,options.id,options.format);
		});
	}
}

function addFavouriteGame(options){
	
	if (isLoggedIn) {
		$.getJSON(server + "addfavourite.json?callback=?", {
			id: options.id,
			thumb: options.thumb,
			title: options.title,
			format: options.format
		}, function(json){
			//updateMyFavourites();
			$.jGrowl(unescape(json.success));
			updateUserOptions(options.elementId,options.id,options.format);
		});
	}
}


function getSwfById(swfId) {
	return ($.browser.msie) ? window[swfId] : document[swfId];
}



function updateUserOptions(id, storyId, format){
	if (isLoggedIn) {
		$.getJSON(server + "member/userOptionsJSON?callback=?", {
			id: storyId,
			format: format
		}, function(json){
			var content = unescape(json.success);
			$(id).html(content);
		});
	}
}

function updateGameSharingOptions(id, storyId, format){
	//if (isLoggedIn) {
		$.getJSON(server + "member/gameSharingOptionsJSON?callback=?", {
			id: storyId,
			format: format
		}, function(json){
			
			var content = unescape(json.success);
			$(id).html(content);
		});
	//}
}


/**
 * too copy over
 */
function updateUserOptionsArticle(id, storyId, format, print){
	if (isLoggedIn) {
		$.getJSON(server + "member/userOptionsJSON?callback=?", {
			id: storyId,
			format: format,
			print: true
		}, function(json){
			
			var content = unescape(json.success);
			$(id).html(content);
		});
	}
}

function showRecommendToFriend(options){
	if (isLoggedIn) {
		currentPage = options;
		showMemberProfile = recommendToFriend;
		openAllFriends();
	}else{
		openLoginDialog();
	}
	
}

function recommendToFriend(friend){
	sendRecommendation(friend);
}

function sendRecommendation(friend){
	if (isLoggedIn) {
		$.getJSON(server + "checkthisout.json?callback=?", {
			friend:friend,
			id: currentPage.id,
			thumb: currentPage.thumb,
			title: currentPage.title,
			format: currentPage.format
		}, function(json){
			//updateMyFavourites();
			$.jGrowl(unescape(json.success),{
				beforeClose: function(){
					$("#abc3-dialog-message").dialog('close');
					$("#modalIframeId").show();
				}
			});
		});
	}
}



$(document).ready(function(){
	
	//jQuery.jGrowl.defaults.position = 'center';
	jQuery.jGrowl.defaults.life = 750;
	//$('.rounded-button').corners("10px");
    themeLogo = readCookie("themeLogo");
	themeTile = readCookie("themeTile");
	themeGraphic = readCookie("themeGraphic");
	themeGraphicPosition = readCookie("themeGraphicPosition");
	themeAlert = readCookie("themeAlert");
		themeLogo = (!themeLogo) ? defaultTheme.themeLogo : themeLogo;
		themeTile = (!themeTile) ? defaultTheme.themeTile : themeTile;
		themeAlert = (!themeAlert) ? defaultTheme.themeAlert : themeAlert;
		themeGraphic = (!themeGraphic) ? defaultTheme.themeGraphic : themeGraphic;
		themeGraphicPosition = (!themeGraphicPosition) ? defaultTheme.themeGraphicPosition : themeGraphicPosition;
	
	
	updateThemeTile(themeTile);
	updateThemeAlert(themeAlert);
	updateThemeLogo(themeLogo);
	updateThemeGraphic(themeGraphic);
	updateThemeGraphicPosition(themeGraphicPosition);
	
    
    $("#abc3-dialog-message").dialog({
        autoOpen: false,
        modal: true,
        height: "auto",
        width: "800px",
        draggable: false,
        resizable: false,
		position: 'top',
        overlay: {
            opacity: 0.8,
            background: "black"
        },
        close: onCloseDialogMessage

    });
    
    $("#abc3-dialog-profile").dialog({
        autoOpen: false,
        modal: true,
        width: "300px",
        height: "auto",
        draggable: false,
        resizable: false,
		position: 'top',
        overlay: {
            opacity: 0.8,
            background: "black"
        },
        close: onCloseDialogProfile
    });
	
	$("#abc3-dialog-comment").dialog({
        autoOpen: false,
        modal: true,
        width: "400px",
        height: "auto",
        draggable: false,
        resizable: false,
		position: 'top',
        overlay: {
            opacity: 0.8,
            background: "black"
        },
        close: onCloseDialogComment
    });
	
	//setCookie
	//if (isLoggedIn) {
		updateMyProfile();
	//}
	//checkUpdates();


	
});

function checkUpdates(){
	$.getJSON(server + "updates/getUpdatesJSON?callback=?", {
    }, function(json){
    	var content = unescape(json.success);
        $("#abc3-hosts-feeds-area").html(content);
    });
}

function clearThemeCookies(){
	eraseCookie("themeLogo");
	eraseCookie("themeTile");
	eraseCookie("themeAlert");
	eraseCookie("themeGraphic");
	eraseCookie("themeGraphicPosition");
}

function onCloseDialogMessage(){
	$("#abc3-dialog-message").empty();
	showMemberProfile = myShowProfile;
	
}
function onCloseDialogProfile(){
	$("#abc3-dialog-profile").empty();
}
function onCloseDialogComment(){
	$("#abc3-dialog-comment").empty();
}
function openLoginDialog(){
	var redirect = window.location.href;
    $("#abc3-dialog-profile").dialog('close');
	$('#abc3-dialog-profile').dialog('option', 'title', 'LOGIN');
    $("#abc3-dialog-profile").load("/abc3/includes/popups/login.html",function(){
		$("#abc3-dialog-profile > iframe").attr("src", server+"login?successLocation="+redirect);
	});
    $("#abc3-dialog-profile").dialog('open');
	
}

function openCustomiseThis(){
	if (isLoggedIn) {
		openMyInterests();
	}else{
		openLoginDialog();
	}
}

function openYourPicks(){
	$("#abc3-dialog-message").dialog('close');
	$('#abc3-dialog-message').dialog('option', 'title', 'YOUR PICKS');
    $("#abc3-dialog-message").load("/abc3/includes/popups/abc3_your_picks.html");
    $("#abc3-dialog-message").dialog('open');
}

function logout(){
	clearThemeCookies();
    $.getJSON(server + "logout?callback=?", {
    }, function(json){
        document.location.href = "/abc3";
    });
}

function setThemeLogo(logo){
	var logoArray = logo.split('/');
	if(logoArray){
		var themeLogo = logoArray[logoArray.length-1];
	}else{
		themeLogo = logo;
	}
	updateThemeLogo(themeLogo);
	$.getJSON(server + "member/setThemeLogo?callback=?", {
		logo: themeLogo
	}, function(json){
		var content = unescape(json.success);
		$.jGrowl(unescape(json.success));
	});
	
}

function updateThemeLogo(logo){
	$this = $('#abc3-branding > img');
	$this.attr('src', imageBase+'theme_logos/'+logo);
	$this.attr('width', 232);
	$this.attr('height', 250);
	createCookie('themeLogo', logo, 365);
}

function setThemeTile(tile){
	var tileArray = tile.split('/');
	if(tileArray){
		var themeTile = tileArray[tileArray.length-1];
	}else{
		themeTile = tile;
	}
	updateThemeTile(themeTile);
	$.getJSON(server + "member/setThemeTile?callback=?", {
		tile: themeTile
	}, function(json){
		var content = unescape(json.success);
		$.jGrowl(unescape(json.success));
	});
}

function updateThemeTile(tile){

	$('body').css('background-image', 'url('+imageBase+'theme_tiles/'+tile+')');
	createCookie('themeTile', tile, 365);
}
function setThemeAlert(alert){
	var alertArray = alert.split('/');
	if(alertArray){
		var themeAlert = alertArray[alertArray.length-1];
	}else{
		themeAlert = alert;
	}
	updateThemeAlert(themeAlert);
	$.getJSON(server + "member/setThemeAlert?callback=?", {
		alert: themeAlert
	}, function(json){
		var content = unescape(json.success);
		$.jGrowl(unescape(json.success));
	});
}

function updateThemeAlert(alert){
	themeAlert = alert;
	createCookie('themeAlert', alert, 365);
}

function setThemeGraphic(graphic){
	var graphicArray = graphic.split('/');
	if(graphicArray){
		var themeGraphic = graphicArray[graphicArray.length-1];
	}else{
		themeGraphic = graphic;
	}
	updateThemeGraphic(themeGraphic);
	$.getJSON(server + "member/setThemeGraphic?callback=?", {
		graphic: themeGraphic
	}, function(json){
		var content = unescape(json.success);
		$.jGrowl(unescape(json.success));
	});
}

function updateThemeGraphic(graphic){

	if(graphic){
		$('#abc3-theme-graphic-layer').html('<img src="'+imageBase+"theme_graphics/"+graphic+'" />');
		createCookie('themeGraphic', graphic, 365);
	}
}

function setThemeGenres(interests){
	$.getJSON(server + "member/setInterests?callback=?", {
		interests: interests.toString()
	}, function(json){
		var content = unescape(json.success);
	});
}

function setThemeGraphicPosition(position){
	updateThemeGraphicPosition(position);
	$.getJSON(server + "member/setThemeGraphicPosition?callback=?", {
		position: position
	}, function(json){
		var content = unescape(json.success);
		$.jGrowl(unescape(json.success));
	});
}

function updateThemeGraphicPosition(position){

	switch(position){
		case 'TL':
			$('#abc3-theme-graphic-layer').removeClass();
			$('#abc3-theme-graphic-layer').addClass('TL');
		break;
		case 'TR':
			$('#abc3-theme-graphic-layer').removeClass();
			$('#abc3-theme-graphic-layer').addClass('TR');
		break;
		case 'BL':
			$('#abc3-theme-graphic-layer').removeClass();
			$('#abc3-theme-graphic-layer').addClass('BL');
		break;
		case 'BR':
			$('#abc3-theme-graphic-layer').removeClass();
			$('#abc3-theme-graphic-layer').addClass('BR');
		break;
		default:
			break;
	}
	createCookie('themeGraphicPosition', position, 365);
}



function openMemberProfileWindow(){
    //hideVideoPlayer();
}

function closeMemberProfileWindow(){
    if (!$("#abc3-dialog-message").dialog('isOpen')) {
        //showVideoPlayer();
    }
}

function openMessageWindow(){
    //hideVideoPlayer();
}

function closeMessageWindow(){
    if (!$("#abc3-dialog-profile").dialog('isOpen')) {
        //showVideoPlayer();
    }
}

function openThemeChooserWindow(){
    //hideVideoPlayer();
}

function closeThemeChooserWindow(){
    //showVideoPlayer();
}

function showMessageBuilder(friend){
    $("#abc3-dialog-message").dialog('close');
    $("#abc3-dialog-message").empty();
	$('#abc3-dialog-message').dialog('option', 'title', 'SEND A MESSAGE');
	$("#abc3-dialog-message").dialog('open');
    $.getJSON(server + "messagebuilder/showMessageBuilderJSON?callback=?", {
        friend: friend
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").append(content);
    });
}

function showStatusBuilder(){
    $("#abc3-dialog-message").dialog('close');
    $("#abc3-dialog-message").empty();
	$('#abc3-dialog-message').dialog('option', 'title', 'UPDATE YOUR STATUS');
	$("#abc3-dialog-message").dialog('open');
    $.getJSON(server + "statusbuilder/showStatusBuilderJSON?callback=?", function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").html(content);
		
    });
}

function readFriendRequest(messageId){
	$("#abc3-dialog-profile").empty();
	$('#abc3-dialog-profile').dialog('option', 'title', 'PROFILE');
    $("#abc3-dialog-profile").dialog('open');
    $.getJSON(server + "message/readFriendRequestJSON?callback=?", {
        messageId: messageId
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-profile").html(content);
		updateMyMessages();
    });
    
}

/**
 * Read server action has gone. Replace
 */
function readRecommendation(element){
    var messageId = jQuery(element).attr("id");
    /*
    $.getJSON(server + "message/readRecommendationJSON?callback=?", {
            messageId: messageId
        });
    */
    jQuery(element).find("a").click();
}

function deleteMessage(element) {
	$.getJSON(server + "messagedelete.json?callback=?", {
		messageId : $(element).attr('rel')
	}, function(json) {
		var content = unescape(json.success);
		$.jGrowl(content, {
			beforeClose : function(e, m) {
				$(element).parent().parent().fadeOut().remove();
			}
		});
	});
}

function reportMessage(element) {
	$.getJSON(server + "messagereport.json?callback=?", {
		messageId : $(element).attr('rel')
	}, function(json) {
		var content = unescape(json.success);
		$.jGrowl(content, {
			beforeClose : function(e, m) {
			$(element).parent().parent().fadeOut().remove();
			}
		});
	});
}

function reportMessageClose(id) {
	$.getJSON(server + "messagereport.json?callback=?", {
		messageId : id
	}, function(json) {
		var content = unescape(json.success);
		$.jGrowl(content, {
			beforeClose : function(e, m) {
			$("#abc3-dialog-message").dialog('close');
			}
		});
	});
}

function readMessage(messageId){
    $("#abc3-dialog-message").empty();
	$("#abc3-dialog-message").dialog('open');
    $.getJSON(server + "message/readMessageJSON?callback=?", {
        messageId: messageId
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").html(content);
        updateMyMessages();
    });
    
}

function readFun(messageId){
	 $("#abc3-dialog-profile").empty();
	$('#abc3-dialog-profile').dialog('option', 'title', 'PROFILE');
    $("#abc3-dialog-profile").dialog('open');
   
    $.getJSON(server + "message/readFunMessageJSON?callback=?", {
        messageId: messageId
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-profile").html(content);
		updateMyMessages();
    });
    
}

function showAvatarCreator(){
    $("#abc3-dialog-message").dialog('open');
    $("#abc3-dialog-message").empty();
	$('#abc3-dialog-message').dialog('option', 'title', 'YOUR CHARACTER');
    $("#abc3-dialog-message").load("/abc3/includes/popups/avatar-creator.html");
    
}

function openThemeChooser(){
    $("#abc3-dialog-message").dialog('open');
    $('#abc3-dialog-message').dialog('option', 'title', 'CUSTOMISE YOUR SITE');
    $("#abc3-dialog-message").empty();
    showThemeChooser(1);
}

function showThemeChooser(page){
	$("#abc3-dialog-message").load('/abc3/includes/popups/loader-dark.html',
    function(){$.getJSON(server + "themebuilder/showThemeBuilderJSON?callback=?", {
        page: page
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").html(content);
    });});
}

/**
 * too copy over
 */
function openMyInterests(){
	$("#abc3-dialog-message").empty();
    $("#abc3-dialog-message").dialog('open');
    $('#abc3-dialog-message').dialog('option', 'title', 'I HEART');
    
    showMyInterests(1);
}

function showMyInterests(page){
	
	$("#abc3-dialog-message").load('/abc3/includes/popups/loader-dark.html',
    function(){$.getJSON(server + "themebuilder/showMyInterestsJSON?callback=?", {}, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").html(content);
    });});
}


function openInbox(){
	$("#abc3-dialog-message").empty();
	
    $("#abc3-dialog-message").dialog('open');
    $('#abc3-dialog-message').dialog('option', 'title', 'INBOX');
    showInbox("all", 1);
}

function showInbox(filter, page){
	$("#abc3-dialog-message").load('/abc3/includes/popups/loader-dark.html',function(){
    $.getJSON(server + "message/inboxJSON?callback=?", {
        filter: filter,
        page: page
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").html(content);
    });});
}

function openAllFriends(){
    $("#abc3-dialog-message").empty();
	
	$('#modalIframeId').hide();

	$("#abc3-dialog-message").bind("dialogclose", function(event, ui){
		$('#modalIframeId').show();
	});
	
    $("#abc3-dialog-message").dialog('open');
    $('#abc3-dialog-message').dialog('option', 'title', 'MY FRIENDS');
    showAllFriends('all',1,'');
}

function showAllFriends(filter, page, search){
    $("#abc3-dialog-message").empty();
    $("#abc3-dialog-message").load('/abc3/includes/popups/loader-dark.html',function(){
    $.getJSON(server + "friend/allFriendsJSON?callback=?", {
        filter: filter,
        page: page,
        search: search
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").html(content);
    });});
}

/*better solution here*/
function showMemberProfile(profile){
	if (isLoggedIn) {
		$("#abc3-dialog-profile").empty();
		
		$("#abc3-dialog-profile").dialog('open');
		$('#abc3-dialog-profile').dialog('option', 'title', 'PROFILE');
		$("#abc3-dialog-profile").load('/abc3/includes/popups/loader-dark.html',function(){$.getJSON(server + "member/showProfileJSON?callback=?", {
			profile: profile
		}, function(json){
			var content = unescape(json.success);
			$("#abc3-dialog-profile").html(content);
		});});
	}else{
		openLoginDialog();
	}
}
var myShowProfile = showMemberProfile;
/*better solution here*/


function openFindFriends(){
    $("#abc3-dialog-message").empty();
    $("#abc3-dialog-message").dialog('open');
    $('#abc3-dialog-message').dialog('option', 'title', 'FIND FRIENDS');
    showFindFriends("all", 1, "");
}

function showFindFriends(filter, page, search){
    $("#abc3-dialog-message").empty();
    $("#abc3-dialog-message").load('/abc3/includes/popups/loader-dark.html',function(){
    	$.getJSON(server + "friend/findFriendsJSON?callback=?", {
        filter: filter,
        page: page,
        search: search
    }, function(json){
        var content = unescape(json.success);
        $("#abc3-dialog-message").html(content);
    });});
}


function postFriendRequest(id){
    showUserToolsLoader();
    $.getJSON(server + 'friend/sendFriendRequest?callback=?', {
        friend: id
    }, function(json){
        showUserToolsInfo(json.success,function(){
        	showFindFriends("", 1, "");
        }); //add callback
    }); // POST to /some/script.php
}

function postAcceptFriendRequest(friend){
    showUserToolsLoader();
    $.getJSON(server + 'friend/accept?callback=?', {
        friend: friend
    }, function(json){
        updateMyMessages();
        showUserToolsInfo(json.success);
    }); // POST to /some/script.php
}


function postDeclineFriendRequest(id){
    showUserToolsLoader();
    $.getJSON(server + 'friend/decline?callback=?', {
        friend: id
    }, function(data){
        updateMyMessages();
        showUserToolsInfo(data.sucess);
    }); // POST to /some/script.php
}

function postBlockFriendRequest(id){
    showUserToolsLoader();
    $.getJSON(server + 'friend/blocak?callback=?', {
        friend: id
    }, function(data){
        showUserToolsInfo(data.sucess);
    }); // POST to /some/script.php
}


function postRemoveFriend(id){
    showUserToolsLoader();
    $.getJSON(server + 'friend/remove?callback=?', {
        friend: id
    }, function(data){
        updateMyFriends();
        updateMyMessages();
        showUserToolsInfo(data.success);
    }); // POST to /some/script.php
}

function showUserToolsLoader(){
    $("#user-profile-options").empty();
    $("#user-profile-options").load("/abc3/includes/popups/loader-dark.html");
}

function showUserToolsInfo(info,callback){
	$.jGrowl(info, {
    	beforeClose: function(e,m) {
			$("#abc3-dialog-profile").dialog('close');
			if(callback!=undefined){
				callback();
			}
       		
    	}
	});
}

function postSlimeFriend(id){
    showUserToolsLoader();
    $.getJSON(server + 'message/slime?callback=?', {
        friend: id
    }, function(data){
        showUserToolsInfo(data.success);
    }); // POST to /some/script.php
}

function postMuteFriend(id){
    showUserToolsLoader();
    $.getJSON(server + 'friend/mute?callback=?', {
        friend: id
    }, function(data){
        showUserToolsInfo(data.success);
        //updateMyFriends();
    }); // POST to /some/script.php
}

function postUnMuteFriend(id){
    showUserToolsLoader();
    $.getJSON(server + 'friend/unMute?callback=?', {
        friend: id
    }, function(data){
        showUserToolsInfo(data.success);
        //updateMyFriends();
    }); // POST to /some/script.php
}

function updateAvatar(avatar){
	//TODO avatar to go to profile
	updateMyProfile();
	$("#abc3-dialog-message").dialog('close');
}

function postUpdateMood(id){
    $.getJSON(server + 'member/setMood?callback=?', {
        mood: id
    }, function(data){
        //Callback
    }); // POST to /some/script.php
}

function updateMyFriends(){
    if (isLoggedIn) {
        $.getJSON(server + "friend/topFriendsJSON?callback=?", function(json){
            var content = unescape(json.success);
            $("#abc3-club3-widget-friends").html(content);
        });
    }
}

function openFavourites(){
	$("#abc3-dialog-message").empty();
    $("#abc3-dialog-message").dialog('open');
    $('#abc3-dialog-message').dialog('option', 'title', 'My Favourites');
    showFavourites(1);
}

function showFavourites(page){
	$("#abc3-dialog-message").load('/abc3/includes/popups/loader-dark.html',
		function(){
			$.getJSON(server + "favourites/favouritesJSON?callback=?",
				{page: page},
				function(json){
			        var content = unescape(json.success);
			        $("#abc3-dialog-message").html(content);
			    });
	    }
	);
    return false;
}


function openAwards(filter){

	$("#abc3-dialog-comment").empty();
	$('#abc3-dialog-comment').dialog('option', 'title', 'MY AWARDS');
	$("#abc3-dialog-comment").load('/abc3/includes/popups/club3/my-awards.html');
    $("#abc3-dialog-comment").dialog('open');
    
    return false;
}

/**
 * template here to modify to use tmpl.
 */
function updateMyProfile(){
    $.getJSON(server + "home.json?callback=?", function(json){

        if(json.response.code<3000){
            //var data = eval("("+json.success+")");
            $("#abc3-club3-content").load('/abc3/includes/popups/club3/myprofile.html', function(){
                parseProfileTemplate(json.response.success);
             });
        }else if(json.response.code==4003){
        	$("#abc3-club3-content").load("/abc3/includes/popups/club3/club3.html");
        }else if(json.error){
        	$("#abc3-club3-content").load("/abc3/includes/popups/club3/maintenance.html");
        }else{
        	$("#abc3-club3-content").load("/abc3/includes/popups/club3/maintenance.html");
        }
    });
}



function updateMyMessages(){
	if (isLoggedIn) {
        $.getJSON(server + "checkmessages.json?callback=?", function(json){
			//change this to parsejson
            var content = eval("("+unescape(json.success)+")");
			if (content.unread != "logout") {
				$("#abc3-club3-unread-message-count").html(content.unread);
				if (content.newmail) {
					$('#abc3-club3-content').append('<div id="abc3-club3-newmail"></div>');
					var swfToLoad = themeAlert;
					//add theme bot
					displayNewMail("/abc3/uploads/theme_assets/theme_notifications/swf/" + swfToLoad, "abc3-club3-newmail", "<?=count($inbox)?>");
				}
			}
			else {
				isLoggedIn = false;
				clearThemeCookies();
				updateMyProfile();
			}
        });
    }
}

function closeMe(){
	$("#abc3-club3-newmail").empty();
	$("#abc3-club3-newmail").remove();
}
				
function loadProfileData(){
    //$('body').css("visibility","visible");
    //$('body').fadeTo(1,0);
    var url = $("meta[name='DC.Identifier.URL']").attr("content");
    $.getJSON(server + "member/getProfileDataJSON?callback=?", {
        url: url
    }, function(json){
        var content = unescape(json.success);
        $("head").append(content);
        //$('body').fadeIn(300);
    });
}

function checkMessages(){
    updateMyMessages();
}



function displayMyAvatar(id, size, avatar, mood, trick){
	var params = {};
	params.wmode = "opaque";
	var attributes = {};
	var flashvars = {};
	flashvars.avatar = encodeURIComponent(avatar);

	flashvars.mood = mood;
	if(trick){
		flashvars.trick = trick;	
	}
	swfobject.embedSWF("/abc3/swf/avatar/avatarAppMember.swf", id, size, size, "9.0.0", false, flashvars, params, attributes);
}

function displayAvatar(id, size, avatar, avtatarId, mood, trick){
	var params = {};
	params.wmode = "opaque";
	var attributes = {};
	var flashvars = {};
	flashvars.avatar = encodeURIComponent(avatar);
	flashvars.avatarId = avtatarId;
	flashvars.mood = mood;
	if(trick){
		flashvars.trick = trick;	
	}
	swfobject.embedSWF("/abc3/swf/avatar/avatarApp.swf", id, size, size, "9.0.0", false, flashvars, params, attributes);
}


function displayAvatarCreator(id, width, height){
	var params = {};
	var attributes = {};
	var flashvars = {};
	flashvars.server = server;
	swfobject.embedSWF("/abc3/swf/avatar/avatarCreator.swf", id, width, height, "9.0.0", false, flashvars, params, attributes);
}


function displayMemberAvatar(id, size, avtatarId, mood, trick){
	var params = {};
	params.wmode = "opaque";
	var attributes = {};
	var flashvars = {};
	flashvars.avatarId = avtatarId;
	flashvars.mood = mood;
	if(trick){
		flashvars.trick = trick;	
	}
	swfobject.embedSWF("/abc3/swf/avatar/avatarAppUID.swf", id, size, size, "9.0.0", false, flashvars, params, attributes);
}

var communityCheckTimer = setInterval("checkMessages()", 600000);


