﻿/**
 * Namespace the application
 * @namespace SB
 */
if (!SB) var SB = {};
else if (SB && typeof (SB) != "object") throw new Error("SB is not an Object type");

/**
 * Constructs Main objects
 * @class Main - is a Singleton
 * @constructor
 * @namespace SB
 */

SB.Main = (function ($) {

    // PRIVATE ATTRIBUTES. ONLY PRIVELEGED METHODS MAY VIEW/EDIT/INVOKE
    var _that = {};

    // PRIVATE MEMBERS. ONLY PRIVELEGED METHODS MAY VIEW/EDIT/INVOKE.

    //RETURN OBJECT LITERAL.
    return {
        // PUBLIC ATTRIBUTES ANYONE MAY READ/WRITE.
        NAME: "Application initialize module",
        VERSION: 1.0,

        // PUBLIC MEMBERS ANYONE MAY READ/WRITE. (MAY BE OVERRIDEN).
        // PUBLIC METHOD THAT INITIALIZES MAIN APP.
        init: function () {
            this.loadInits();
        },


        /**
        * Run all the init methods
        */
        loadInits: function () {
            for (var func in this) {
                if (typeof this[func] == 'function' && func.substr(0, 4) == 'init' && func != 'init') {
                    this[func]();
                }
            }
        },


        //LANDING PAGE
        initLandingPage: function () {
            if (!$('.landingPage').length) {
                return false;
            }
            SB.UI.TabsSite('tabsLadingPage', 'anchorLadingPage');
            SB.UI.initFancyBox();

            SB.UI.selectLanguage();
        },


        // METHOD THAT INIT MENU AND SUBMENU MOUSEOVER AND MOUSEOUT
        initMenu: function () {
            if (!$('.contentTop').length) {
                return false;
            }


            SB.HEADER.initOverMenu();
        },

        // INIT FOOTER - OPENNING ANCHOR LINKS, AND FACEBOOK LINK, AND CLOSET, WATERMARK ON INPUT OF NEWSLETTER.
        initFooter: function () {
            if (!$('.wrapperFooter').length) {
                return false;
            }

            $('.contentSitesUnicer li:first').css('padding-left', '0px');

            if ($('.userPannelTabs').length) {
                SB.FOOTER.initFooterLinksAndFacebookOpenning('userPannelTabs', 'listNav', 'panel0', 'truelink');
            }

            if ($('.socialMedia').length) {
                SB.FOOTER.initFooterLinksAndFacebookOpenning('socialMedia', 'listTabs', 'facebookIcon', 'trueSocialLink');
            }

            /*CLOSE FOOTER ON EVENT CLICK ON DIV MAIN CONTENT*/
            $('.main').click(function () {
                SB.FOOTER.InitCloseFooter('.userPannelTabs .tabNavigation');
                SB.FOOTER.InitCloseFooter('.socialMedia .tabSocialMedia');
            });

            /*CLOSE FOOTER ON EVENT CLICK ON DIV SITEWITHOUTFOOTER */
            $('.siteWithoutFooter').click(function () {
                SB.FOOTER.InitCloseFooter('.userPannelTabs .tabNavigation');
                SB.FOOTER.InitCloseFooter('.socialMedia .tabSocialMedia');
            })

            if ($.browser.msie && $.browser.version == "6.0") {
                $(window).scroll(function () {
                    var position = $('.footer').position();
                    $('.footer').css('PositionBottom', 0);
                });
            }

            //WATERMARK ON INPUT NEWSLETTER

            if (!$('label.overlabel').length) {
                return false;
            }

            $("label.overlabel").overlabel();

            if ($('.contentSiteMap .link li a').hasClass('haveChilds')) {
                $('.contentSiteMap .link li a.haveChilds').prev().removeClass('arrow').addClass('arrow-selected')
            }
        },

        //CALCULATE THE WITH OF THE TITLE SECTION TO PUT THE REST OF THE BG
        initDinamicTabs: function () {
            if (!$('.tabSectionPage').length) {
                return false;
            }
            SB.UI.DinamicTabs();
        },


        //CREATE THE TABS FROM CONTENT SECTION
        initTabsContent: function () {
            if (!$('.contentTab').length) {
                return false;
            }
            SB.UI.TabsSite('tabsSocialMedia', 'navigationSocialMedia'); //CREATE THE TABS FOR SOCIAL MEDIA ON THE SIDE BAR OF THE SUPER BOCK SUPER ROCK

        },

        //CREATE THE TABS FROM CONTENT SECTION
        initTabsSideBar: function () {
            if (!$('.moduleColSearch').length) {
                return false;
            }
            SB.UI.TabsSite('contentColSearch-1', 'navColSearch-1'); //CREATE THE TABS FOR THE FILM PREMIERE OF THE WEEK
        },

        //INIT THE SLIDESHOW WITH THUMBS
        initSlideShowThumbs: function () {
            if (!$('.contentListItems').length) {
                return false;
            }
            SB.UI.initSlideShowThumbs();
        },

        //INIT THE CALENDAR EVENT
        initCalendarEvent: function () {
            if (!$('#slideshowEvent').length) {
                return false;
            }
            $('.slide:first-child').show();
            SB.UI.CalendarEvent();
            SB.UI.ShowEventCalendar();
        },

        // INIT EQUAL HEIGTH TO THE COLUMS
        initEqualHeight: function () {

            if ($('.main').length) {
                SB.UI.EqualHeight($(".colum")); //when checking for biggestHeight is done set that height to all the elements 
            }

            if ($('.columBand').length) {
                SB.UI.EqualHeight($(".columBand")); //when checking for biggestHeight is done set that height to all the elements 
            }

            if ($('.contentFlashSection').length) {
                SB.UI.EqualHeight($(".colum")); //when checking for biggestHeight is done set that height to all the elements 
            }

        },

        // INIT CUSTOM BUTTON PARTICIPATE AREA
        initCustomButton: function () {
            if (!$('.hobbyWrapper').length) {
                return false;
            }
            SB.UI.initWrapButton();
        },


        // INIT EQUAL HEIGTH TO THE AREA COLUM BAND
        initSlideShowYoutube: function () {
            if (!$('.youtubeSlide').length) {
                return false;
            }
            SB.UI.InitSlideShowWithYoutubeVideos();

        },

        // INIT RATING MUSIC ON SIDEBAR
        initRatingMusicSideBar: function () {
            if (!$('.vote').length) {
                return false;
            }
            SB.UI.RatingStarList();
        },

        // INIT MOVIE RATING
        initMovieRating: function () {
            if (!$('.movieRating').length) {
                return false;
            }
            SB.UI.MovieRating();
        },

        // INIT ACCORDION
        initAccordion: function () {
            if (!$('.customAcc').length) {
                return false;
            }
            SB.UI.initAccordion();
        },

        // INIT ACCORDION
        initVideoBand: function () {
            if (!$('.listVideos').length) {
                return false;
            }
            SB.UI.showVideoDetailBand();
        },

        initGalleryImages: function () {
            if (!$('#imageGallery').length) {
                return false;
            }

            SB.UI.InitGalleryImages();

            $('div.contentGallery').css('display', 'block');
            $('ul.thumbs li:nth-child(4n)').css('margin-right', '0px');
            iThumbaLength = $('.thumbs li ').length;
        },

        initLogin: function () {
            if (!$('a.linkLogin').length) {
                return false;
            }
            SB.UI.InitLogin();
        },

        initPartnerLogin: function () {
            if (!$('a.partnerLogin').length) {
                return false;
            }
            SB.UI.initPartnerLogin();
        },

        initLogoutAndRegister: function () {
            if (!$('.loggedLinks').length) {
                return false;
            }
            SB.UI.initWhenLogged();
        },

        initContestMechanics: function () {
            if (!$('.tabFormParticipate').length) {
                return false;
            }
            $('.tabFormParticipate a').click(function () {
                $('a.linkLogin').trigger('click');
            })
        },

        initPopinMail: function () {
            if (!$('.popinMail').length) {
                return false;
            }
            SB.UI.initPopinMail();
        },

        initHobbyMovie: function () {
            if (!$('.hobbyMovie').length) {
                return false;
            }
            SB.UI.TabsSite('contentColHobby-1', 'navColHobby-1')
            SB.UI.TabsSite('namesWinners', 'navWinners-1')
            SB.UI.participateHobby();
        },

        initHobbyMusic: function () {
            if (!$('.hobbyMusic').length) {
                return false;
            }
            SB.UI.TabsSite('contentColHobby-2', 'navColHobby-2')
            SB.UI.TabsSite('namesWinners', 'navWinners-1')
            SB.UI.participateHobby();
        },

        initResultsPaginationCinemaSection: function () {
            if (!$('div#pagerStyle9').length) {
                return false;
            }
            SB.UI.cinemaResultsPagination();
        },

        initfnUserContest: function () {
            if (!$('input.inputBordeaux').length || (!$('input.buttonRed1').length) || (!$('input.buttonWhite1').length)) {
                return false;
            }
            SB.UI.fnUserContest();
        },


        initTabPagination: function () {
            if (!$('.moduleTabPagination').length) {
                return false;
            }
            SB.UI.initTabPagination();
        },

        initMovieComment: function () {
            if (!$('.addComment').length) {
                return false;
            }
            SB.UI.initMovieComment();
        },

        initLabelDefaultValue: function () {
            if (!$('.sendFormContent').length) {
                return false;
            }
            SB.UI.initLabelDefaultValue('textarea');
        },

        initCustomPartnersRadio: function () {
            if (!$('.participateMovie').length) {
                return false;
            }
            SB.UI.CustomPartnersRadio();
        },

        initOurImageTemplate: function () {
            if (!$('.sbPerfilFBArea').length) {
                return false;
            } else {
                $('.sbPerfilFBArea').parents('.main').css('overflow', 'visible');
            }
        },


        initFlashAreaContainer: function () {
            if ($('#flashAreaContainer').length) {
                iframeName = $('#flashAreaContainer').find('iframe').attr('name');

                nameEntraNaOnda = 'Entra na Onda do Ver\xE3o';
                nameSurfFest = 'Surf Fest 2011';

                if (iframeName == nameEntraNaOnda) {
                    $('#flashAreaContainer').css('padding-top', '20px');
                }
                if (iframeName == nameSurfFest) {
                    $('#flashAreaContainer').css('padding-top', '0px');
                }
            }



            if ($('.mainForFlash').length) {
                getCoordinates(570, 520);

                iHeightWindow = $(window).height();
                iHeightFooter = $('.footer').height();
                iHeightHeader = $('.header').height();

                iHeightFlash = iHeightWindow - iHeightFooter - iHeightHeader;

                setTimeout(function () {
                    $('#Main').attr('height', iHeightFlash);
                    $('#Main').css('height', iHeightFlash + 'px');
                }, 1000);

                $(window).resize(function () {
                    iHeightWindow = $(window).height();
                    iHeightFooter = $('.footer').height();
                    iHeightHeader = $('.header').height();

                    iHeightFlash = iHeightWindow - iHeightFooter - iHeightHeader;

                    $('#Main').attr('height', iHeightFlash);

                    $('#Main').css('height', iHeightFlash + 'px');

                });


                $('.flash').mouseleave(function () {
                    encolheFlash();
                });
            }
        },

        initErrorPage: function () {
            if (!$('.errorPage').length) {
                return false;
            }

            if ($('div').hasClass('errorPage')) {
                $('.headerContainer').css('height', '200px')
                $('.innerPageFooter').hide();
                footerPage = $('.innerPageFooter').html();
                html = "<div class='innerPageFooter'>" + footerPage + "</div>"
                $('.errorContent').after(html)
            }
        },

        initVideoClips: function () {

            if (!$('.videoClipsDetail').length) {
                return false;
            }

            $('.videoClipsDetail').next('.lineSpacer').hide();

        },

        initLineUpExtendBoard: function () {
            if (!$('.contentSideBar').length) {
                return false;
            }

            if ($('.contentSideBar').children().hasClass('lineupExtendedBoardTemplate')) {
                $('#containerCenter .articleDetail').css({ 'border-right': '1px solid #4a4a4a', 'margin-left': '29px' });
            }
        },

//        initSlideFade: function () {
//            if (!$('#wowslider-container').length) {
//                return false;
//            }
//            SB.UI.initSlideFade();

//        },

        initSlideWithNavigation: function () {
            if (!$('#supersize').length) {
                return false;
            }
            SB.UI.initSlideWithNavigation();
        },

        initPaginatorCommentList: function () {
            if ($('div.commentCinemaWrap div#pagerStyle8').length) {
                return false;
            }
            SB.UI.initPaginatorCommentList();
        },

        initCustomInputFile: function () {
            SB.UI.initCustomInputFile();
        },

        initSerculturService: function () {
            if ($('.sidebarDropdown').length) {
                // Inits either the "cinema" dropdowns and the "jantar e sair" dropdowns !!!
                SB.UI.initSercultur();
            }
        },

        //DJTOUR
        initEqualHeightDjtour: function () {
            if (!$('.siteDjTour').length) {
                return false;
            }
            $('.main').css({ 'position': 'static', 'width': '100%', 'overflow': 'auto' });
            $('.innerPageFooter').css({ 'width': '980px', 'overflow': 'hidden', 'margin-left': 'auto', 'margin-right': 'auto' });
            SB.UI.EqualHeight($(".columDjTour"));
            SB.UI.EqualHeight($(".columTextDjTour"));
        },

        initCustomTabs: function () {
            if (!$('.rowBioTabs').length) {
                return false;
            }
            SB.DJT.initCustomTabs();
        },

        initFormInput: function () {
            if (!$('.colInput').length) {
                return false;
            }
            SB.UI.initLabelDefaultValue();
        },

        initLinkContest: function () {
            if (!$('.linkDropArrow').length) {
                return false;
            }
            SB.DJT.initLinkContest();
        },

        initLinkNext: function () {
            if (!$('#linkNext1').length) {
                return false;
            }
            SB.DJT.initLinkNext1();
        },

        initArticleDetail: function () {
            if (!$('.djGallery').length) {
                return false;
            }
            window.setTimeout(function () {
                $(".columDjTour").removeAttr('style');
                SB.UI.EqualHeight($(".columDjTour"));
            }, 1000);
        },

        initRadioPartnersPage: function () {
            if (!$('.containerQuestions').length) {
                return false;
            }
            CustomRadio.init();
        },

        //OUR IMAGE IS YOURS
        initSlideShow: function () {
            if (!$('.sbPerfilFBArea').length) {
                return false;
            }
            setInterval("SB.OI.slideSwitch();", 2500);
            SB.OI.slideShowNav();
        },

        initNavigationPage: function () {
            if (!$('.sbPerfilFBArea').length) {
                return false;
            }
            SB.OI.animateNavigation('anchor');
            $('.spacer:first').hide();
            SB.OI.initFancyBox();
        },

        //BAND IN A VAN
        initHobbyBabInAVan: function () {
            if (!$('.siteVan').length) {
                return false;
            }
            SB.BIAV.initMainHobby();
        },

        //SBSA

        initRunCodeBeforeAnyEventBindingViaJquery: function () {
            SB.UI.RunCodeBeforeAnyEventBindingViaJquery();
        },

        initMainSBSA: function () {
            if (!$('.sbsa').length) {
                return false;
            }

            SB.SA.initMain();
            SB.UI.TabsSite('containerTabsParticipation', 'tabsParticipation'); // create tabs on my account area

            $('#cities').selectbox();
            $('#experienceList').selectbox();

            $('#seeAllParticipationsSms').selectbox();

            sElSelected = $('#experienceList_input').attr('value');
            $('#totalParticipation em').text(sElSelected);

            SB.ACCOUNT.ChangeExperienceDataParticipations();

            //*call xml (sbsa-winners.xml) to insert the winners content*//
            SB.XML.ReadXmlWinner();
            SB.XML.changeExperienceWinner();

            /***SUPER ADEPTOS - A MINHA CONTA***/
            if ($('#IsLogged').val() == 'false') {
                $('#tabsParticipation').hide();
                $('#containerTabsParticipation').hide();
                $('#imgAccessLogin').show();
                $('.listExperiencesMyAccount').hide();
            } else {
                $('#tabsParticipation').show();
                $('#containerTabsParticipation').show();
                $('#imgAccessLogin').hide();
                $('.listExperiencesMyAccount').show();

            }
            /***END SUPER ADEPTOS - A MINHA CONTA***/

        },

        initResizeWindow: function () {
            if (!$('.sbsa').length) {
                return false;
            }
            SB.SA.initResize();
        },

        initPressEnter: function () {
            if (!$('.sbsa').length) {
                return false;
            }

            SB.SA.keyPressEnter();
        },


        initValidateUser: function () {
            if (!$('.participate').length) {
                return false;
            }
            $('.participate').click(function () {
                var logged = $('#IsLogged');

                if ($('#IsLogged').val() == 'false') {
                    $('#contentLinkParticipate').show();
                    $('#contentWriteText').hide();
                }
                else {
                    $('#contentLinkParticipate').hide();
                    $('#contentWriteText').show();
                }

            });



            if (!$('.participate2').length) {
                return false;
            }
            $('.participate2').click(function () {
                var logged = $('#IsLogged');


                if ($('#IsLogged').val() == 'false') {
                    $('#contentLinkParticipate').show();
                    $('#contentWriteText').hide();

                }
                else {
                    $('#contentLinkParticipate').hide();
                    $('#contentWriteText').show();
                }


            });


        }

    };
} (jQuery));                                                                                                        // THE PARENS HERE CAUSE THE ANONYMOUS FUNCTION TO EXECUTE AND RETURN.

// ON DOM READY INIT APPLICATION.
jQuery(document).ready(function () {

    //THE APP MAIN MODULE CODE HAS ALREADY EXECUTED, SO WE CAN ACCESS THE INIT METHOD IMMEDIATELY.
    SB.Main.init();
});
