var homeClass = {
    gridSize : 72,
    interactions : undefined, // oggetto ritornato dalla presenceClass FMS + DB
    
    init : function() {
    	
        // Disabilita il buttone destro del mouse
        $(document)[0].oncontextmenu = function() {
            return false;
        };
    	
        // BODY STOP DROP IMAGE //////////////////////////
        if (($.client.os == "Windows" && $.client.browser == "Safari") || ($.client.browser == "Opera") || ($.browser.msie && $.browser.version < 8)) {
            $(document, 'body').change(function(e) {
                stopPropagationFunction(e);
            });
        }else{
            $('body').attr({
                'ondrop': 'stopPropagationFunction(event);',
                'ondragenter': 'stopPropagationFunction(event);',
                'ondragover': 'stopPropagationFunction(event);'
            });
        }
	
        // PRESENZA //////////////////////////
        var presence_options = {
            flashContainer : '#presence',
            JSclass : 'presenceFlashInterface.',
            app     : 'presence',
            room    : 'main'
        };
        
        presenceClass.init(me,trackID,fms,presence_options);

       
        // HEADER ////////////////////////////
        $('#headercontent').load('/global/contents/header/header.html', function() {
            headerClass.init();
        });

        // FOOTER ////////////////////////////
        $('#footercontent').load('/global/contents/footer/footer.html', function() {
            footerClass.init();
        });

        // POINTS ////////////////////////////


        // MAINGRID /////////////////////////
        maingridClass.init('#maincontent', me.settings.navigation.filter.sex, this.gridSize);

        // DROPBOX //////////////////////////
        dropboxClass.init();
        $('#dropbox').bind('change', function(event, value){
            $.trace(value);
        });
        
        $('#contentbody').setChildrenEqualHeight();
        this._resizeMaincontent();


        // ***********************************************************
        // ***********************************************************
        // ***********************************************************
        // LISTENERS /////////////////////////////////////////
        // ***********************************************************
        // ***********************************************************
        // ***********************************************************


        // PRESENCE LISTENERS ///////////////////////////////////////////

        $(presenceClass.flashContainer).bind('RTM_evt', function(event)
        {
            console.log('RTM evt:',event.rtm);
        //headerClass.newNotification(event.rtm);
        }).bind('RTM_act', function(event)
        {
            var action = event.rtm.data.val;
            var session = event.rtm.data.data;
            console.log('RTM "act":',action, session);
            switch(action)
            {
                case "initSession":
                    // AMF -> FMS ha restituito i dati di interaction e points
                    homeClass.onFMSSInitSession(session);
                    break;
            }
        }).bind('onlineSync', function(event){
            //console.log('onlineSync',event.changeList);
            for (var el in event.changeList) {
                var elem = event.changeList[el];
                var id = elem.name;
                var action = elem.code;
                var oldVal = elem.oldValue;
                var newVal = elem.newVal;
                //console.log("elemento:",id,"azione:",action,"oldVal:",oldVal,"newVal:",newVal);

                switch(action){
                    case 'clear':
                        // mi sono connesso allo SO la prima volta oppure tutte le proprietà delle SO sono state cancellate
                        //console.log("mi sono connesso allo SO la prima volta oppure tutte le proprietà delle SO sono state cancellate");
                        break;

                    case 'delete':
                        // la proprietà col nome 'id' è stato rimossa dallo SO
                        break;

                    case 'change':
                        // qualcuno ha cambiato lo SO ed è arrivata la notifica
                        if(oldVal){
                        // l'elemento è stato modificato in una sua proprietà
                        }else{
                        // l'elemento è stato aggiunto allo SO
                        }
                        break;

                    case 'reject':
                        // non sono riuscito a cambiare lo SO, intanto un altro l'ha cambiato
                        break;

                    case 'success':
                        // ho modificato lo SO
                        break;
                }
            }
        }).bind('notificationSync', function(event){
            // lo SO è pronto! non mi serve più il bind
            $(presenceClass.flashContainer).unbind('notificationSync');
            notificationClass.init(presenceClass.get_notificationSO());
        });

        // NOTIFICATION LISTENER ///////////////////////
        $(notificationClass.tplReference).live('showlist',function(event,group){
            homeClass.showGrouplist('notifications',group);
            presenceClass.clear_notification(group);
        });

        // POINTS LISTENER ////////////////////////////////////
        // tutti gli eventi che aggiungono o tolgono punti devono essere ascoltati qui

        // reload
        $('#maingrid').live('reload',function(){
            pointsClass.sum('browse');
        });
        // end POINS LISTENER /////////////////////////////////

        // GROUPLIST LISTENER //////////
        $(grouplistClass.tplReference).live('resize',function(){
            homeClass._resize();
        });

        $(window).resize(function() {
            // attendo 1/4 di secondo prima di scatenare l'evento resize
            // così aumentano le prestazioni di rendering
            clearTimeout(this.id);
            this.id = setTimeout('homeClass._resize()', 150);
        });  
    },
    onFMSSInitSession : function(session){
//        // HEADER ////////////////////////////
//        $('#headercontent').load('/global/contents/header/header.html', function() {
//            headerClass.init();
//        });
//
//        // FOOTER ////////////////////////////
//        $('#footercontent').load('/global/contents/footer/footer.html', function() {
//            footerClass.init();
//        });
//
//        // POINTS ////////////////////////////
//        $('#pointscontainer').load(pointsClass.tplURL, function() {
//            pointsClass.init(session.points);
//        });
//
//        // MAINGRID /////////////////////////
//        maingridClass.init('#maincontent', me.settings.navigation.filter.sex, this.gridSize);
//
//        // DROPBOX //////////////////////////
//        dropboxClass.init();
//        $('#dropbox').bind('change', function(event, value){
//            $.trace(value);
//        });
//
//        // INTERACTIONS /////////////////////////////////////
//        this.interactions = session.interactions;
//        $.getScript("/global/components/navigation/dropdownmenu/lists.js", function(){
//            tplClass.loadOnce(listsmenuClass.datasource,listsmenuClass.tplURL,$("#mymenu #a_lista").parent());
//            homeClass.toggleListsMenu();
//            listsmenuClass.init(this.interactions);
//        });
//
//        $('#contentbody').setChildrenEqualHeight();
//        this._resizeMaincontent();
    },
    // ***********************************************************
    // ***********************************************************
    // ***********************************************************
    // METODI PRINCIPALI /////////////////////////////////////////
    // ***********************************************************
    // ***********************************************************
    // ***********************************************************
    
    toggleFilterMenu : function(){
        if(typeof filtermenuClass==='undefined'){
            $.getScript("/global/components/navigation/dropdownmenu/filter.js",function(){
                tplClass.loadOnce(filtermenuClass.datasource,filtermenuClass.tplURL,$("#mainmenu #a_filtro").parent());
                filtermenuClass.init();
            });
        }else{
            tplClass.loadOnce(filtermenuClass.datasource,filtermenuClass.tplURL,$("#mainmenu #a_filtro").parent());
            filtermenuClass.init();
        }
  
        $("#filtermenu").toggle();
    	
        $("#mainmenu #a_filtro").hover().parent().mouseover(function(){
            $("#filtermenu").css('display','block');
        });
        $("#mainmenu #a_filtro").parent().mouseout(function(){
            $("#filtermenu").css('display','none');
        });

    },
    toggleGamesMenu : function(){
        if(typeof gamesmenuClass==='undefined'){
            $.getScript("/global/components/navigation/dropdownmenu/games.js",function(){
                tplClass.loadOnce(gamesmenuClass.datasource,gamesmenuClass.tplURL,$("#mainmenu #a_giochi").parent());
                gamesmenuClass.init();
            });
        }
        $("#gamesmenu").toggle();
    	
        $("#mainmenu #a_giochi").hover().parent().mouseover(function(){
            $("#gamesmenu").css('display','block');
        });
        $("#mainmenu #a_giochi").parent().mouseout(function(){
            $("#gamesmenu").css('display','none');
        });
    	
    },
    toggleListsMenu : function(){

        if(typeof listsmenuClass==='undefined') return;

        $("#listsmenu").toggle();
    	
        $("#mymenu #a_lista").hover().parent().mouseover(function(){
            $("#listsmenu").css('display','block');
        });
    	
        $("#mymenu #a_lista").parent().mouseout(function(){
            $("#listsmenu").css('display','none');
        });
    },
    toggleAccountMenu : function(){
        if(typeof accountmenuClass==='undefined'){
            $.getScript("/global/components/navigation/dropdownmenu/account.js",function(){
                tplClass.loadOnce(accountmenuClass.datasource,accountmenuClass.tplURL,$("#mymenu #a_account").parent());
                accountmenuClass.init();
            });
        }
       
        $("#accountmenu").toggle();
        
        $("#mymenu #a_account").hover().parent().mouseover(function(){
            $("#accountmenu").css('display','block');
        });
        $("#mymenu #a_account").parent().mouseout(function(){
            $("#accountmenu").css('display','none');
        });

    },
    toggleProfileMenu : function(){
        if(typeof profilemenuClass==='undefined'){
            $.getScript("/global/components/navigation/dropdownmenu/profile.js",function(){
                tplClass.loadOnce(profilemenuClass.datasource,profilemenuClass.tplURL,$("#mymenu #a_profilo").parent());
                profilemenuClass.init();
            });
        }
        $("#profilemenu").toggle();
    	
        $("#mymenu #a_profilo").hover().parent().mouseover(function(){
            $("#profilemenu").css('display','block');
        });
        $("#mymenu #a_profilo").parent().mouseout(function(){
            $("#profilemenu").css('display','none');
        });
    	
    },
    toggleProfile : function(){
        //prendo i miei dati del json
        var galleries,account,profile;
        $.getJSON('/profile/me/json', function(data) {
            if(data.success){
                galleries = data.galleries;
                account = data.account;
                profile = data.profile;
            }

            if($('#profileContainer').length==0){
                $('body').append('<div id="profileContainer"></div>');
            }
            
            $('#profileContainer').load('global/contents/profile/profile.html', function() {
                profileClass.init(account.id);
            });
            
        });

    //$("#profilecontent").toggle();
    },
    toggleChattone : function(){
        $('#chattone').remove();
        if($.browser.msie ){ //&& chatFlash == undefined
            $.getScript("/global/js/libs/flashembed.js");
        }
        var room = 'piazza';
        var app = 'boxpix_chat';
        var fms = '//fms01.aironsvr.com';
        var menutype = 'chattone'; //messenger, chattone
        
        $('#chatcontent').append('<div id="chattone"></div>');
        $("#chattone").css({
            'position':	'absolute',
            'left':		'0',
            'top':		'0',
            'right':	'0',
            'bottom':	'0',
            'background': '#333 url(/global/img/handle_h.png) no-repeat right'
        });
        
        $('#chatcontent #chattone').load('/global/components/chat/chat.html', function() {
            $.trace('---'+me.id);
            chatClass.init(me, menutype, room, app, fms);
        });
      
        $("#chatcontent").toggle().resize();
        
        if($('#chatcontent').css('display') =='none'){
    		
    		
            if (jQuery.browser.msie) {
                removeFlaskLeakInIE('flashChat');
            }
    		
            $('#flashChat').attr({
                'data': '',
                'src': '',
                'height': '0px',
                'width': '0px'
            });
            $('#flashChat').remove();
            $('#flashChat').css({
                'visibility': 'hidden'
            });
            $('#chatFlash_cont').empty();
            chatFlash = undefined;
        }else{
            $('#chat').css({
                height: $('#chatcontent').height()
            });
            $('#history_container').css({
                height: $('#chat_main_container').height()
            });
            $('#chatcontent').resizable({
                maxWidth: 720,
                minWidth: 360,
                grid: 72
            });
        }
        homeClass._resize();
    },
    showGrouplist : function(source,group){
        // source  = notifications, interactions, ...
        // group = friends, like, visits, ...
        
        switch(source){
            case "notifications":
                var notifications = presenceClass.get_notificationSO();
                var itemsArray = notifications[group];
                break;
            case "interactions":
                itemsArray = homeClass.interactions[group];
                break;
        }
        // recupero i dati utenti per generare la lista e
        // se source = notifications cancello la notifica dallo SO
        if(call && call.readystate != 4) call.abort();
        var call = $.post('/profile/basicinfo', {ids:$.toJSON(itemsArray)}, function(reponse) {
            console.log('initgrouplist',reponse);
            if(reponse.success){
                tplClass.loadOnce(grouplistClass.datasource,grouplistClass.tplURL,$("#grouplistcontent"));
                $("#grouplistcontent").show();
                grouplistClass.init(reponse.data, group, me.settings.navigation.order_list, me.settings.navigation.show_list);
                homeClass._resize();
                // se la lista è di una notifica vado a cancellarla
                notificationClass.remove(group);
            }
        });

        
    },
    hideGrouplist : function(){
        $("#grouplistcontent").hide();
        homeClass._resize();
    },
    toggleZapping : function(){
        var self = this;
        if(typeof zappingClass==='undefined'){
            $.getScript("/global/contents/zapping/zapping.js",function(){
                $.getScript("/global/components/video/videos.js",function(){
                    $.getScript("/global/components/video/jquery.videomodule.js",function(){
                        tplClass.load(zappingClass.datasource,zappingClass.tplURL,"body");
                        $.mask();
                        zappingClass.init(me);
                        $("#zapping").show();
                    });
                });
            });         
        }else{
            $("#zapping").remove();
            tplClass.load(zappingClass.datasource,zappingClass.tplURL,"body");
            zappingClass.init(me);
            $("#zapping").show();
        }
    },
    togglePalco : function(){
        var self = this;
        if(typeof palcoClass==='undefined'){
            $.getScript("/global/contents/palco/palco.js",function(){
                tplClass.load(palcoClass.datasource,palcoClass.tplURL,"body");
                $.mask();
                palcoClass.init();
                $("#palco").show();
            });         
        }else{
            $("#palco").remove();
            tplClass.load(palcoClass.datasource,palcoClass.tplURL,"body");
            $.mask();
            palcoClass.init();
            $("#palco").show();
        }
    },
    showSignup : function(){
        var self=this;
        //carico gli script solo se non gia caricati
        if(typeof signupClass==='undefined'){
            $.getScript("/global/form/account/signup.js",function(){
                $.getScript("/global/js/functions/regularexpression.js",function(){
                    $.getScript("http://connect.facebook.net/en_US/all.js",function(){
                        self.facebookInit();
                        tplClass.load(signupClass.datasource,signupClass.tplURL,"body");
                        $.mask();
                        signupClass.init();                       
                        $("#formsignup").show();
                        $(signupClass.tplReference+ " #email").focus();
                    });
                });
            });
        //$.getScript("/global/js/libs/jquery.autocomplete.pack.js");
        }else{
            $("#formsignup").remove();
            delete signupClass;
            this.showSignup();
        }
    	
    },
    showChangePassword : function(){
        var self=this;
        //carico gli script solo se non gia caricati
        if(typeof changePasswordClass==='undefined'){
            $.getScript("/global/js/libs/tpl.js",function(){
                $.getScript("/global/js/functions/regularexpression.js",function(){
                    $.getScript("/global/form/account/changepassword.js",function(){
                        tplClass.load(changePasswordClass.datasource,changePasswordClass.tplURL,"body");
                        $.mask();
                        changePasswordClass.init();                       
                        $("#formchangepassword").show();
                    });
                });
            });
        }else{
            $("#formchangepassword").remove();
            delete changePasswordClass;
            this.showChangePassword();
        }
    	
    },  
    showLogin : function(defaultUsername){
        var self=this;
        //carico gli script solo se non gia caricati
        if(typeof loginClass==='undefined'){
            $.getScript("/global/form/account/login.js",function(){
                $.getScript("http://connect.facebook.net/en_US/all.js",function(){
                    self.facebookInit();
                    tplClass.load(loginClass.datasource,loginClass.tplURL,"body");
                    $.mask();
                    loginClass.init(defaultUsername);                    
                    $("#formlogin").show();
                    $(loginClass.tplReference+ " #email").focus();
                });
            });
    		  
        }else{ 
            $("#formlogin").remove();
            delete loginClass;
            this.showLogin(defaultUsername);
        }
    },
    showTermsAndConditions : function(){
        //carico gli script solo se non gia caricati
        if(typeof termsandconditionsClass==='undefined'){
            $.getScript("/global/contents/termsandconditions/termsandconditions.js",function(){
                tplClass.loadOnce(termsandconditionsClass.datasource,termsandconditionsClass.tplURL,"body");
                termsandconditionsClass.init();
            });
        };
        $("#termsandconditions").toggle();
    },
    showWelcome : function(name,email){
        //carico gli script solo se non gia caricati
        if(typeof welcomeClass==='undefined'){   
            $.getScript("/global/form/account/welcome.js",function(){
                $.trace("Welcome!");
                tplClass.load(welcomeClass.datasource,welcomeClass.tplURL,"body");
                $.mask();
                welcomeClass.init(name,email);               
                $("#formwelcome").show();
            });
            
        }else{
            $("#formwelcome").remove();
            delete welcomeClass;
            this.showWelcome(name,email);
        }
       
    },
    showAlbum:function(){
        if(typeof albumListClass==="undefined"){
            $.getScript("/global/contents/album/listalbum.js",function(){
                $.trace("listAlbum!");
                tplClass.load(listAlbumClass.datasource,listAlbumClass.tplURL,"body");
                $.mask();
                listAlbumClass.init();              
                $("#listalbum").show();
            });
        }else{
            //$("#listalbum").remove();
            delete listAlbumClass;
            this.showAlbum();
        }
    },
    showNewAlbum:function(_galleryInfo){
        if(typeof newAlbumClass==="undefined"){
            $.getScript("/global/contents/album/newalbum.js",function(){
                $.trace("newAlbum!");
                tplClass.load(newAlbumClass.datasource,newAlbumClass.tplURL,"body");
                $.mask();
                newAlbumClass.init(_galleryInfo);                
                $("#newalbum").show();
            });
        }else{
            $("#newalbum").remove();
            delete newAlbumClass;
            this.showAlbum();
        }
    },
    showPhotoItem:function(_idItem,_key,_galleries){
        if(typeof photoItemClass==="undefined"){
            $.getScript("/global/contents/photoitem/photoitem.js",function(){
                $.trace("photoitem!");
                tplClass.load(photoItemClass.datasource,photoItemClass.tplURL,"body");
                $.mask();
                photoItemClass.init(_idItem,_key,_galleries);              
                $("#photoitem").show();
            });
        }else{
            tplClass.load(photoItemClass.datasource,photoItemClass.tplURL,"body");
            $.mask();
            photoItemClass.init(_idItem,_key,_galleries);          
            $("#photoitem").show();
        }
    },
    showPhotoList:function(_key){
        if(typeof photoListClass==="undefined"){
            $.getScript("/global/contents/photolist/photolist.js",function(){
                $.trace("photoList!");
                tplClass.load(photoListClass.datasource,photoListClass.tplURL,"body");
                $.mask();
                photoListClass.init(_key,me.galleries);               
                $("#photolist").show();
            });
        }else{
            tplClass.load(photoListClass.datasource,photoListClass.tplURL,"body");
            $.mask();
            photoListClass.init(_key,me.galleries);            
            $("#photolist").show();
        }
    },
    showItemDetails:function(_item){
        if(typeof itemDetailsClass==="undefined"){
            $.getScript("/global/contents/photouploader/itemdetails/itemdetails.js",function(){
                $.trace("itemdetails!");
                tplClass.load(itemDetailsClass.datasource,itemDetailsClass.tplURL,"body");
                $.mask();
                itemDetailsClass.init(_item);
                $("#itemdetails").show();
            });
        }else{
            $("#itemdetails").remove();
            delete itemDetailsClass;
            this.showItemDetails(_item);
        }
    },
    showRequirePassword:function(_callback){
        $.mask();
        $.trace("requirepassword!");
        tplClass.load(requirePasswordClass.datasource,requirePasswordClass.tplURL,"body");
        requirePasswordClass.init(_callback);
        $("#requirepassword").show();
    },
    showSettingAccount : function(){		
        if(!me.hasVerifiedPassword){
            this.showRequirePassword(this.showSettingAccount);
            me.hasVerifiedPassword=false;
            return;
        }else{
            if(typeof settingAccountClass==="undefined"){
                $.getScript("/global/form/settings/settingaccount.js",function(){
                    $.trace("settingaccount!");
                    tplClass.load(settingAccountClass.datasource,settingAccountClass.tplURL,"body");
                    $.mask();
                    settingAccountClass.init();                  
                    $("#settingaccount").show();
                });
            }else{
                $("#settingaccount").remove();
                delete settingAccountClass;
                this.showSettingAccount();
            }
        }
    },
    showSettingPrivacy : function(){		
        if(!me.hasVerifiedPassword){
            this.showRequirePassword(this.showSettingPrivacy);
            me.hasVerifiedPassword=false;
            return;
        }else{
            if(typeof settingPrivacyClass==="undefined"){
                $.getScript("/global/form/settings/settingprivacy.js",function(){
                    $.trace("settingprivacy!");
                    tplClass.load(settingPrivacyClass.datasource,settingPrivacyClass.tplURL,"body");
                    $.mask();
                    settingPrivacyClass.init();                  
                    $("#settingprivacy").show();
                });
            }else{
                $("#settingprivacy").remove();
                delete settingPrivacyClass;
                this.showSettingPrivacy();
            }
        }	
    },
    showSettingProfile:function(){
    	
        if(!me.hasVerifiedPassword){
            this.showRequirePassword(this.showSettingAccount);
            return;
        }else{
            if(typeof settingProfileClass==="undefined"){

                $.getScript("/global/form/settings/settingprofile.js",function(){
                    $.trace("settingProfile!");
                    tplClass.load(settingProfileClass.datasource,settingProfileClass.tplURL,"body");
                    $.mask();
                    settingProfileClass.init();
                    $("#settingprofile").show();
                });
            }else{
                $("#settingprofile").remove();
                delete settingProfileClass;
                this.showSettingProfile();
            }
        }
    },
    showForgotPassword : function(){
        //carico gli script solo se non gia caricati
        if(typeof forgotpasswordClass==='undefined'){
            $.getScript("/global/form/account/forgotpassword.js",function(){
                //aggiungo il div
                tplClass.loadOnce(forgotpasswordClass.datasource,forgotpasswordClass.tplURL,"body");
                $.mask();
                forgotpasswordClass.init();
                $("#formforgotpassword").show();
            });
            
        }else{
            $("#formforgotpassword").show();
            $.mask();
        }
        
    },
    showCompleteProfile:function(title){
        if(typeof completeprofileClass==='undefined'){
            $.getScript("/global/form/profile/completeprofile.js",function(){
                tplClass.load(completeprofileClass.datasource,completeprofileClass.tplURL,"body");
                $.mask();
                completeprofileClass.init(title);
                $("#completeprofile").show();
            });
    		
        }else{
            $("#completeprofile").remove();
            delete completeprofileClass;
            this.showCompleteProfile(title);
        }
  
    },
    //********* ADMIN *********//
    showAdminGalleryList:function(accountid){
        if(typeof adminGalleryListClass==="undefined"){
            $.getScript("/global/admin/gallerylist/gallerylist.js",function(){
                //$.trace("admingallerylist!");
                tplClass.loadOnce(adminGalleryListClass.datasource,adminGalleryListClass.tplURL,"body");
                adminGalleryListClass.init(accountid);
                $("#admingallerylist").show();
            });
        }else{
            $('#admingallerylist').remove();
            $('#adminphotolist').remove();
            tplClass.load(adminGalleryListClass.datasource,adminGalleryListClass.tplURL,"body");
            adminGalleryListClass.init(accountid);
            $("#admingallerylist").show();
        }
    },
    showAdminPhotoList:function(key,accountid){
        if(typeof adminPhotoListClass==="undefined"){
            $.getScript("/global/admin/photolist/photolist.js",function(){
                $('#adminphotolist').remove();
                tplClass.loadOnce(adminPhotoListClass.datasource,adminPhotoListClass.tplURL,"body");
                adminPhotoListClass.init(key,accountid);
                $("#adminphotolist").show();
            });
        }else{
            $('#adminphotolist').remove();
            tplClass.load(adminPhotoListClass.datasource,adminPhotoListClass.tplURL,"body");
            adminPhotoListClass.init(key,accountid);
            $("#adminphotolist").show();
        }
    },
    //********* GAMES *********//
    showGameMemory:function(){
        if(typeof memoryGamesClass==="undefined"){
            $.getScript("/global/contents/games/memory.js",function(){
                $('#memory').remove();
                tplClass.loadOnce(memoryGamesClass.datasource,memoryGamesClass.tplURL,"body");
                $.mask();
                memoryGamesClass.init();
                $("#memory").show();
            });
        }else{
            $('#memory').remove();
            tplClass.load(memoryGamesClass.datasource,memoryGamesClass.tplURL,"body");
            $.mask();
            memoryGamesClass.init();
            $("#memory").show();
            
        }
    },
    showGameClone:function(){
        if(typeof cloneGamesClass==="undefined"){
            $.getScript("/global/contents/games/clone.js",function(){
                $('#clone').remove();
                tplClass.loadOnce(cloneGamesClass.datasource,cloneGamesClass.tplURL,"body");
                $.mask();
                cloneGamesClass.init();
                $("#clone").show();
            });
        }else{
            $('#clone').remove();
            tplClass.load(cloneGamesClass.datasource,cloneGamesClass.tplURL,"body");
            $.mask();
            cloneGamesClass.init();
            $("#clone").show();

        }
    },
    showGameWally:function(){
        if(typeof wallyGamesClass==="undefined"){
            $.getScript("/global/contents/games/wally.js",function(){
                $('#wally').remove();
                tplClass.loadOnce(wallyGamesClass.datasource,wallyGamesClass.tplURL,"body");
                $.mask();
                wallyGamesClass.init();
                $("#wally").show();
            });
        }else{
            $('#wally').remove();
            tplClass.load(wallyGamesClass.datasource,wallyGamesClass.tplURL,"body");
            $.mask();
            wallyGamesClass.init();
            $("#wally").show();
        }
    },
    showGameHunt:function(){
        if(typeof huntGamesClass==="undefined"){
            $.getScript("/global/contents/games/hunt.js",function(){
                $('#hunt').remove();
                tplClass.loadOnce(huntGamesClass.datasource,huntGamesClass.tplURL,"body");
                $.mask();
                huntGamesClass.init();
                $("#hunt").show();
                
            });
        }else{
            $('#hunt').remove();
            tplClass.load(huntGamesClass.datasource,huntGamesClass.tplURL,"body");
            $.mask();
            huntGamesClass.init();
            $("#hunt").show();
        }
    },
    logout : function(){
        $.post("/account/logout", function(data) {
            document.location.reload(true);
        });
    	
    },
    ////////////////////////////////////////////////////////////
    _resize : function(){
        $('#contentbody').setChildrenEqualHeight();
        this._resizeMaincontent();
    },
    _resizeMaincontent : function () {
        var brothersWidth = 0;
        var parentWidth = $('#contentbody').width();
        $('#contentbody').children().each(function(index, child) {
            if($(child).attr('id') != 'maincontent' && $(child).css('display') != 'none'){
                brothersWidth += $(child).width();
            }
        });
        $('#maincontent').css({
            left: brothersWidth,
            width: (parentWidth - brothersWidth)
        });
        maingridClass.resize();
    },
    facebookInit:function(){
        FB.init({
            appId:"102988699738342",
            cookie:true,
            status:true, 
            xfbml:true ,
            oauth:true,
            channelUrl : "/channel.html"
        });
    }
    
};
function removeFlaskLeakInIE(id) { 
    var obj = document.getElementById(id);
    if (obj) {
        for (var i in obj) {
            if (typeof obj[i] == "function") {
                obj[i] = null;
            }
        }
        obj.parentNode.removeChild(obj);
    } 
}

