function pageload(hash) 
{
        if(hash) {
                if(needUpdateFromHash == false)
                    {
                        needUpdateFromHash = true;
                        return;
                    }
                
                if(hash == "!")
                {
                    if($("#messageContainer:visible").length == 0)
                    {
                        $("#search").hide();
                        $("#messageContainer").show();
                    }
                    if($("#personal:visible").length == 0)
                    {
                        $(".field_right").find("div:visible").hide();
                        $("#personal").show();
                    }

                    return;
                }
                
                hashArray = hash.split("/");

                var type = (hashArray['0']) ? hashArray['0'] : hash;

                switch (type)
                {
                    case "users":
                        showUserFromHash(hashArray['1']);
                        break;
                    case "mail":
                        showMailFromHash();
                        break;
                    case "games":
                        showGamesFromHash(hashArray['1']);
                        break;
                    case "rating":
                        showSubscribersStatsFromHash();
                        break;
                    case "record":
                        showDetailRecordFromHash(hashArray['1'], hashArray['2']);
                        break;
                    case "subscribe":
                        showSubscriptionsFromHash(hashArray['1']);
                        break;
                    case "message":
                        sendMessageFromHash(hashArray['1']);
                        break;
                    case "photo":
                        if(hashArray['2'])
                            showAlbum(hashArray['2'],0,hashArray['1'],hashArray['3']);
                        else 
                            showPhotoFromHash(hashArray['1']);
                        break;
                    case "gift":
                        sendGiftFromHash(hashArray['1']);
                        break;
                    case "sendgift":
                        sendGiftForm(hashArray['1'],hashArray['2']);
                        break;
                    case "inwork":
                        showWorkWindow();
                        break;
                    case "pay":
                    case "edit":
                        act = (hashArray['1']) ? hashArray['1'] : "pay";
                        privateInfoFromHash(act);
                        break;
                    case "friends":
                        var page =  (hashArray['2']) ?  hashArray['2'] : "0";
                        showFriendsFromHash(hashArray['1'], page);
                        break;
                    case "news":
                        showNewsFromHash(hashArray['1']);
                        break;
                }

        } else {
                // start page
        }
}

	$(document).ready(function(){
		$.history.init(pageload);
	});

