
function initMain() {

    // képek előtöltése
    var _images = new Array();

    _images = ['/images/discoImages/downloadButton.png',
               '/images/discoImages/lyricsBackButton.png',
               '/images/discoImages/lyricsDownButtonMouseOn.png',
               '/images/discoImages/lyricsUpButtonMouseOn.png',
               '/images/discoImages/lyricsBackButtonMouseOn.png',
               '/images/discoImages/lyricsButton.png',
               '/images/discoImages/lyricsDownButton.png',
               '/images/discoImages/lyricsUpButton.png',
               '/images/discoImages/speaker.png',
               '/images/mcs_btnDown.png',
               '/images/mcs_btnUp.png',
               '/images/mcsDraggerHover.png',
               '/images/mcsDragger.png',
               '/images/contactImages/bandland_icon.png',
               '/images/contactImages/facebook_icon.png',
               '/images/contactImages/iwiw_icon.png',
               '/images/contactImages/mymusic_icon.png',
               '/images/contactImages/myspace_icon.png',
               '/images/contactImages/twitter_icon.png',
               '/images/contactImages/watchThemAlso/bulcsu.jpg',
               '/images/contactImages/watchThemAlso/crealive.jpg',
               '/images/contactImages/watchThemAlso/emergenza.jpg',
               '/images/contactImages/watchThemAlso/hallgass.jpg',
               '/images/contactImages/watchThemAlso/innercut.jpg',
               '/images/contactImages/watchThemAlso/lafadoszo.jpg',
               '/images/contactImages/watchThemAlso/sz4p.gif',
               '/images/contactImages/watchThemAlso/utopia.jpg',
               '/uploads/middleBottomImages/1.png',
               '/uploads/middleBottomImages/2.png',
               '/uploads/middleBottomImages/3.png',
               '/uploads/middleBottomImages/4.png',
               '/uploads/middleBottomImages/5.png',
               '/uploads/middleBottomImages/6.png',
               '/uploads/middleBottomImages/7.png',
               '/uploads/middleBottomImages/8.png',
               '/uploads/middleBottomImages/9.png',
               '/uploads/middleBottomImages/10.png',
               '/uploads/middleBottomImages/11.png',
               '/uploads/middleBottomImages/12.png',
               '/uploads/middleBottomImages/13.png',
               '/uploads/middleBottomImages/14.png',
               '/uploads/middleBottomImages/15.png',
               '/uploads/middleBottomImages/16.png',
               '/uploads/middleBottomImages/17.png',
               '/uploads/middleBottomImages/18.png',
               '/uploads/middleBottomImages/19.png',
               '/uploads/middleBottomImages/20.png',
               '/uploads/middleBottomImages/21.png'
            ];

    $.loadImages(_images, function() {
    })

    // ha IE < 8
    if ( $.browser.msie ) {

         var ua = $.browser;
         if (ua.version < 7) {

            makeDiv('badIEContainer','badIEContainer','layoutBodyContainer');
            var badIeHtml = '<p>Valóban ezzel a régi Internet Explorer böngészővel szeretnéd megnézni az oldalt?</p>';
            badIeHtml+='<p>Kérlek ne tégy ilyet...</p>';
            badIeHtml+='<p>...inkább töltsd le Chrome böngészőt <a onfocus="blur()" id="badIELink" class="link" target="blank()" href="http://www.google.com/chrome/index.html?hl=hu&brand=CHMB&utm_campaign=hu&utm_source=hu-ha-emea-hu-sk&utm_medium=ha">innen</a></p>';
            $("#badIEContainer").html(badIeHtml);
        }
    }

    // letöltés kocka slider init
    initDownloadSlider();

    // a képek/videók inicializálása
    for (var i = 0; i < 3; i++) {

        for (var j = 0; j < 2; j++) {

            if (j == 0) var type = 'videoSlider';
            if (j == 1) var type = 'pictureSlider';

            $('#' + type + i).nivoSlider({
                effect:'random',
                pauseTime: 20000,
                directionNav: false,
                controlNav: false,
                keyboardNav: false,
                pauseOnHover: false
            });
        }
    }

    
}


function initDownloadSlider() {

    $("#downloadSlider").anythingSlider({
        height: 150,
        width: 300,
        buildArrows: false,
        resizeContents: false,
        buildNavigation: false,
        autoPlay: false,
        pauseOnHover: false,
        stopAtEnd: true,
        easing: 'swing',
        enableKeyboard: false
    });
}


/**
 * főoldali link ajax után elkészíti a slidert
 */
function makeSlider(content) {

    $("#middle").html(content);
    $("#slider").anythingSlider({
        height: 150,
        buildArrows: false,
        resizeContents: false,
        buildNavigation: false,
        forwardText: 'Következő',
        backText: 'Előző',
        autoPlay: false,
        pauseOnHover: false,
        stopAtEnd: true,
        easing: 'swing',
        enableKeyboard: false
    });
}



/**
 * beállítja az adott oldalhoz kapcsolódó slidert
 */
function initSlider(msg) {

    var controlJSON = $.parseJSON(msg);
    var numberOfSlides = controlJSON.numberOfSlides;

    setData('numberOfSlides',numberOfSlides);

    if (numberOfSlides > 1) showNextButton();
}


/**
 * nyelvváltás után odairányítjuk ahol volt
 */
function redirectAfterChangeLanguage(whichMenu) {
    
    var url = getURL('main/' + whichMenu);

    if (whichMenu == 'main') var currData = 'noLayout'; else currData = '';
    $.ajax({
        'url' : url,
        'type' : 'POST',
        'data' : 'currData=' + currData,
        'success' : function(msg) {

            makeSlider(msg);
        }
    })
}


/**
 * becsukja a bifWindow-t
 */
function closeBigWindow() {

    $("#bigWindow").animate({height:0}, 500, 'easeInOutExpo', function() {
        $(this).animate({width:0}, function() {
            resetBigWindow();

            // ellenőrzés: ez a szám szól-e éppen
            var playingSongId = parseInt(getData('playingSongId'));

            // ha szól-> player megjelenítése
            if ((playingSongId != undefined) && (playingSongId > 0)) showPlayer();

            setData('isBigWindowOpen',false);
        })
    });
}


/**
 * linkre kattintva hívódik meg -> ha nyitva van, becsukja a bigWindowt
 */
function closeBigWindowIfNeeded() {

    var isBigWindowOpen = getData('isBigWindowOpen');
    if (isBigWindowOpen) closeBigWindow();
}


/**
 * bigWindowt alaphelyzetbe állítja
 */
function resetBigWindow() {

    $("#bigWindow").css({
        width: 900,
        height: 500,
        display: 'none'
    })

    $("#bigWindow").empty();
}



/**
 * main windowt frissíti
 */
function refreshMainWindow(content,fromWhere) {

    $("#middleTop").html(content);
    $("#slider").anythingSlider({
        height: 150,
        buildArrows: false,
        resizeContents: false,
        buildNavigation: false,
        forwardText: 'Következő',
        backText: 'Előző',
        autoPlay: false,
        pauseOnHover: false,
        stopAtEnd: true,
        easing: 'swing'
    });

    if (fromWhere == 'videos') initVideos();
}


/**
 * középre igazítja a táblázatot
 */
function tableToCenter() {

    var tableWidth = $(".tableToCenter").width();
    var tableLeft = (900-tableWidth)/2;
    $(".tableToCenter").css({marginLeft:tableLeft});
}


/**
 * középre igazítja a discoSuccess táblázatot
 */
function musicTableToCenter() {

    var tableWidth = $(".tableToCenter").width();
    var tableLeft = (900-tableWidth)/2;
    $(".tableToCenter").css({marginLeft:(tableLeft - 35)});
}


function registrateTableToCenter() {

    var tableWidth = $(".tableToCenter").width();
    var tableLeft = (900-tableWidth)/2;
    $(".tableToCenter").css({marginLeft:(tableLeft - 20)});
}


/**
 * elrejti a disco azon ikonjait, amik nem engedélyezettek
 */
function hideElements() {

    $(".needToHide").hide('slow');
}


function initVideos() {

    showNextButton();
}


function hidePreviousButton() {

    $("#previousButton").hide();
}


function showPreviousButton() {

    $("#previousButton").show();
}


function hideNextButton() {

    $("#nextButton").hide();
}


function showNextButton() {

    $("#nextButton").show();
}


/**
 * visszaadja a textfield értékét
 */
function getTextfieldValue(textfieldId) {

    return $("#" + textfieldId).val();
}


function getURL(string) {

    var hostname = window.location.hostname;
    var port = window.location.port;

    var href = window.location.href;
    var isDev = href.search("frontend_dev");

    // ha a dev környezetben van
    if (isDev != -1) var url = 'http://' + hostname + ':' + port + '/frontend_dev.php/' + string;

    // ha a prod környezetben van
    else var url = 'http://' + hostname + ':' + port + '/' + string;

    return url;
}


/**
 * megállapítja, hogy dev környezetben van-e
 */
function isDevelopmentEnv() {

    var href = window.location.href;
    var isDev = href.search("frontend_dev");

    // ha a dev környezetben van
    if (isDev == -1) return true;

    // ha nem
    else return false;
}


/**
 * form error-t ír ki
 */
function showError(string) {

    var url = getURL('main/getLocalisedString');

    $.ajax({
        'url' : url,
        'type' : 'post',
        'data' : 'string=' + string,
        'success' : function(msg) {

            $(".errorBox").text(msg);
        }
    })
}



/**
 * regisztrációs form hibáját írja ki
 */
function showRegistrateError(json) {

    var nameError = json.nameError;
    var emailError = json.emailError;

    if (nameError) $(".errorBox").text(nameError);
    else if (emailError) $(".errorBox").text(emailError);
}



/**
 * sikeres validálás utáni köszönés képernyő
 */
function makeThanksScreen(fromWhere) {

    var url = getURL('bigWindow/thanksScreen');

    $.ajax({

        'url' : url,
        'type' : 'post',
        'data' : 'fromWhere=' + fromWhere,
        'success' : function(msg) {

            $("#bigWindow").html(msg);
        }
    });
}


function getNewCaptchaImage() {

    var result = isDevelopmentEnv();
    if (result) $('.captcha').attr({'src' : '/captcha?r=' + Math.random() + '&reload=1'});
    else $('.captcha').attr({'src' : '/frontend_dev.php/captcha?r=' + Math.random() + '&reload=1'});
}


/**
 * képekre kattintva
 */
function initPictures(msg) {

    $("#bodyContainer").append(msg);
    setData('picturesActive',true);

    $("a.group").fancybox({
        'transitionIn' : 'elastic',
        'transitionOut' : 'elastic',
        'speedIn' :  600,
        'speedOut' : 200,
        'overlayShow' :	false,
        'padding' : 2,
        'onClosed' : function() {

            clearPictures();
        }
    });

     $("#picture0").trigger('click');
}



/**
 * videókra kattintva
 */
function initVideos(msg) {

    $("#bigWindow").fadeIn('fast',function() {

        $(this).html(msg);
        setData('isBigWindowOpen',true);
        $("#youtube-player-container").tubeplayer("play");
    });
}



/**
 * kiegészíti a 'melyik a kedvenc számod szavazást'
 */
function completeVoteList(numberOfVotes) {

    var jsonArr = $.parseJSON(numberOfVotes);
    var numberOfVotesJSON = jsonArr.votesArr;
    var max_vote = jsonArr.max_vote;

    for (var i = 0; i < 12; i++) {

        // számokat tartalmazza
        var currNumberOfVotesDiv = "<td class='betterflyRed'>" + numberOfVotesJSON[i] +  "</td>";
        $('#voteRow' + i).append(currNumberOfVotesDiv);

        // csíkot tartalmazza
        var currLine = "<td><div id='voteLine" + i + "' class='voteLine'></div></td>";
        $('#voteRow' + i).append(currLine);
        
    }

    for (var i = 0; i < 12; i++) {

        var dividedVote = Math.floor((numberOfVotesJSON[i]/max_vote) * 100);
        $("#voteLine" + i).animate({width : dividedVote}, 1500, 'easeOutQuart');
    }
}


/**
 * regisztrációnál ellenőrzi, hogy van-e már ilyen email cím
 */
function checkEmail(email,name) {

    var url = getURL('main/checkRegistrateEmail');

    $.ajax({
        'url' : url,
        'data' : 'email=' + email + '&name=' + name,
        'success' : function(msg) {

            var json = $.parseJSON(msg);
            var result = json.result;

            // ha van már ilyen email cím
            if (!result) {

                hideWaitingGif();
                showError('Ezzel az email címmel már van regisztrált felhasználó!');
            }

            // ha nincs
            else {

                hideWaitingGif();
                makeThanksScreen('registrate');

                // email küldések

                var url = getURL('main/sendEmail');
                $.ajax({

                    'url' : url,
                    'data' : 'email=' + email + '&name=' + name
                })
            }
        }
    })
}


/**
 * inicializálja a lejátszót a discoBigwindow-nál
 */
function initPlayerForBigWindow(songid,mp3) {

    $("#hiddenPlayer" + songid).jPlayer({
        ready: function () {
            $(this).jPlayer("setMedia", {
                mp3: "/uploads/music/" + mp3
            })
        },
        ended: function() {

            // ha a bigWindow-n vagyunk
            if ($("#musicTable").length > 0) makeNewSong('next',true);

            // ha nem
            else makeNewSong('next');
        },
        swfPath: "/js"
    });
}


/**
 * törli a player container-t, ha van
 */
function resetPlayerContainer() {

    if ($("#playerContainer").length > 0) $("#playerContainer").remove();
    makeDiv('playerContainer','playerContainer','container');
}

/**
 * hidden playert csinál
 */
function makeNewHiddenPlayer(songId) {

    makeDiv('hiddenPlayer' + songId,'hiddenPlayer','playerContainer');
}

function startPlayer(songId) {

    // ellenőrzés: szól-e éppen másik szám
    var playingSongId = getData('playingSongId');

    // ha szól
    if ((playingSongId != undefined) && (playingSongId > 0)) {

        $("#hiddenPlayer" + playingSongId).jPlayer("stop");
        hideSpeaker(playingSongId);
    }
    $("#hiddenPlayer" + songId).jPlayer("play");
}


/**
 * mindenféle ellenőrzés nélkül elindítja a lejátszót
 */
function onlyStartPlayer(songId) {

    $("#hiddenPlayer" + songId).jPlayer("play");
}


/**
 * leállítja a spekart
 */
function stopPlayer(songId) {

    // ha a songId = unknown, discoBigWindow-ból hívtuk meg
    if (songId == 'unknown') {

        var playingSongId = parseInt(getData('playingSongId'));
        var songId = playingSongId;
        setData('playingSongId',0);
        hidePlayer();
    }

    $("#hiddenPlayer" + songId).jPlayer("stop");
}


/**
 * az adott id-ú helyen megjeleníti a hangszórót
 */
function showSpeaker(id) {

    setData('playingSongId',id);
    $("#speaker" + id).fadeIn('slow');
}


/**
 * az adott id-ú helyen megjeleníti a hangszórót
 */
function hideSpeaker(id) {

    setData('playingSongId',0);
    $("#speaker" + id).fadeOut('slow');
}



/**
 * megjeleníti a lejátszót
 */
function showPlayer() {

    var url = getURL('bigWindow/getSongData');
    var playingSongId = parseInt(getData('playingSongId'));

    $.ajax({
        'url' : url,
        'data' : 'songId=' + playingSongId,
        'success' : function(msg) {

            var songJson = $.parseJSON(msg);
            var title = songJson.title;

            $("#jp_playlist_1").text(title);
            $("#playerContainerForTemplate").animate({marginTop: 1}, 500, 'easeOutElastic');
        }
    })
}


/**
 * elrejti a lejátszót
 */
function hidePlayer() {

    $("#playerContainerForTemplate").animate({marginTop: -80}, 500, 'easeOutElastic');
}


/**
 * új számot rak be a lejátszóba
 */
function makeNewSong(direction,needToShowSpeaker) {

    var playingSongId = parseInt(getData('playingSongId'));
    var url = getURL('bigWindow/getSongDataFromAlbum');

    // következő/előző szám adatainak elkérése
    $.ajax({
        'url' : url,
        'data' : 'direction=' + direction + '&playingSongId=' + playingSongId,
        'success' : function(msg) {

            var songJson = $.parseJSON(msg);
            var songId = songJson.songId;
            var title = songJson.title;

            $("#jp_playlist_1").text(title);
            stopPlayer(playingSongId);
            startPlayer(songId);
            setData('playingSongId',songId);

            if (needToShowSpeaker) showSpeaker(songId);

            // most játszott szám lejátszásainak növelése
            incNumberOfPlays(songId);
        }
    });
}


/**
 * ellenőrzi, hogy tiltva vannak-e a gombok
 */
function checkDownloadSliderButtons() {

    var downloadButtonsEnabled = getData('downloadButtonsEnabled');
    if ((downloadButtonsEnabled == undefined) || (downloadButtonsEnabled == true)) return true;
    else return false;
}


/**
 * letiltja a gombokat
 */
function disableDownloadSliderButtons() {

    setData('downloadButtonsEnabled',false);
}


/**
 * engedélyezi a gombokat
 */
function enableDownloadSliderButtons() {

    setData('downloadButtonsEnabled',true);
}


/**
 * a downloadSlider szövegét cseréli
 */
function changeDownloadText(direction) {

    var numberOfDownloads = getData('numberOfDownloads');

    var current = $('#downloadSlider').data('AnythingSlider').currentPage;
    if (direction == 'prev') {

        current--;
        if (current == 0) current = numberOfDownloads;
    }
    if (direction == 'next') {

        current++;
        if (current > numberOfDownloads) current = 1;
    }

    var url = getURL('main/getTitleForDownloadImage');

    // az adott képhez tartozó felirat kikeresése
    $.ajax({
        'url' : url,
        'data' : 'current=' + current,
        'success' : function(msg) {

            var json = $.parseJSON(msg);
            var title = json.title;

            $("#downloadText").text(title);
            setTimeout("enableDownloadSliderButtons()",600);
        }
    });
}


/**
 * növeli a dal lejátszásainak számát
 */
function incNumberOfPlays(id) {

    var url = getURL('bigWindow/incNumberOfPlays');
    $.ajax({
        'url' : url,
        'data' : 'id=' + id,
        'success' : function(msg) {

            // do nothing
        }
    });
}


/**
 * törli a képeket
 */
function clearPictures() {

    $(".group").remove();
}


/**
 * visszaadja melyik radiobuttont jelölte be a felhasználó
 */
function getSelectedRadio() {

    var selectedRadioValue = $('input[type=radio]:checked').val();
    return selectedRadioValue;
}


/**
 * captcha képernyő a szavazáshoz
 */
function showVoteCaptchaScreen() {

    var url = getURL('bigWindow/voteCaptcha');
    $.ajax({
        'url' : url,
        'success' : function(msg) {

            $('#bigWindow').html(msg);
        }
    });
}


/**
 * ha kiskockában lévő videóra kattintott
 */
function showVideo(id) {

    var url = getURL('bigWindow/videos');
    $.ajax({
        'url' : url,
        'data' : 'id=' + id,
        'success' : function(msg) {

            openBigWindow(msg);
        }
    });
}



/**
 * ha kiskockában lévő képre kattintott
 */
function showPictureAlbum(id) {

    var url = getURL('bigWindow/pictures');
    $.ajax({
        'url' : url,
        'data' : 'id=' + id,
        'success' : function(msg) {

            initPictures(msg);
        }
    });
}


/**
 * captcha képernyőhöz az Enter gombnyomást rendeli hozzá
 */
function initCaptchaKeypress(fromWhere) {

    $('#captcha_captcha').focus();
    $('#captcha_captcha').keypress(function(event) {

        if (event.which == '13') {

            event.preventDefault();

            var downloadImageId = getData('downloadImageId');

            var url = getURL('bigWindow/' + fromWhere);
            $.ajax({
                'url' : url,
                'type' : 'POST',
                'data' : 'event=hitEnter&id=' + downloadImageId + '&captcha=' + getTextfieldValue('captcha_captcha') + '&csrf=' + getTextfieldValue('captcha__csrf_token'),
                'success' : function(data) {

                    clickedOnBigWindowCaptchaSubmitButton(data,fromWhere);
                }
            });
        }
    });
}


/**
 * a regisztrálok gomb enterre működése
 */
function initRegistrateKeypress() {

    $("#registrate_name").focus();
    $('#registrate_name').keypress(function(event) {

        if (event.which == '13') {

            event.preventDefault();

            var url = getURL('bigWindow/registrate');
            $.ajax({
                'url' : url,
                'type' : 'POST',
                'data' : 'event=hitEnter&name=' + getTextfieldValue('registrate_name') + '&email=' + getTextfieldValue('registrate_email') + '&csrf=' + getTextfieldValue('registrate__csrf_token'),
                'success' : function(data) {

                    clickedOnBigWindowRegistrateSubmitButton(data);
                }
            });
        }
    });
    $('#registrate_email').keypress(function(event) {

        if (event.which == '13') {

            event.preventDefault();

            var url = getURL('bigWindow/registrate');
            $.ajax({
                'url' : url,
                'type' : 'POST',
                'data' : 'event=hitEnter&name=' + getTextfieldValue('registrate_name') + '&email=' + getTextfieldValue('registrate_email') + '&csrf=' + getTextfieldValue('registrate__csrf_token'),
                'success' : function(data) {

                    clickedOnBigWindowRegistrateSubmitButton(data);
                }
            });
        }
    });
}


// youtube videó végén hívódik meg
function onytplayerStateChange(newState) {

    // ha vége a videónak
    if (newState == 2) {

        closeBigWindow();
    }
}


/**
 * megjeleníti a bigWindow waiting gif-jét
 */
function showWaitingGif() {

    $("#bigWindowWaitingGif").show();
}


/**
 * eltűnteti a bigWindow waiting gif-jét
 */
function hideWaitingGif() {

    $("#bigWindowWaitingGif").hide();
}


