var siteAjaxUrl = '/ajax.php';

function start(m){
    var menu = (m == undefined) ? 'main' : m;
    //setTimeout(function(){generateSite(menu);},6000);
    generateSite(menu);
}
function site_restart(){
    generateSite('main');
}
function site_clear(){
    Effect.Fade('navbar');
    Effect.Fade('aktkonc');
    Effect.Fade('social_wrapper');
    Effect.Fade('newep');
    Effect.Fade('bigcont');
}
function hideMain(){
    $('lemezinfo').hide();
    new Effect.BlindUp('bigcont',{ queue: 'end' });
    Effect.Appear('newep');
    Effect.Appear('social_wrapper');
}

function generateSite(menu){
    frontAppear();
    generateContent(menu);    
}

function frontAppear(){
    $('navbar').hide();
    $('aktkonc').hide();
    $('social_wrapper').hide();
    $('newep').hide();
    $('bigcont').hide();
    $('navbar').style.zIndex = 1;;
    $('aktkonc').style.zIndex = 1;;
    $('social_wrapper').style.zIndex = 1;;
    $('newep').style.zIndex = 1;;
    $('bigcont').style.zIndex = 1;;    
    Effect.Appear('navbar');
    Effect.Appear('aktkonc');
    Effect.Appear('social_wrapper');
    Effect.Appear('newep');
    //Effect.Appear('bigcont');
}

function generateContent(menu,ki){
    $('lemezinfo').hide();
    var data = {act: 'getContent', menu: menu, ki: ki};
    new Ajax.Request(siteAjaxUrl,{
        onSuccess: function(response){
            var valasz = response.responseText.evalJSON();
            
            setMETA(menu, valasz.cim, valasz.desc);
            
            if(menu != 'main'){
                if($('newep').style.display != 'none') Effect.Fade('newep');
                if($('social_wrapper').style.display != 'none') Effect.Fade('social_wrapper');
                
                
                if(menu == 'tagok' && ki != undefined){
                    //$('main').show();
                    var t = setTimeout(function(){setSiteContent(valasz,'main');},1000);
                    new Effect.BlindUp('main',{ queue: { position: 'end', scope: 'tagok' } });
                    new Effect.BlindDown('main',{ queue: { position: 'end', scope: 'tagok' } });
                }
                else{
                    var t = setTimeout(function(){setSiteContent(valasz,'bigcont');},1000);
                    new Effect.BlindUp('bigcont',{ queue: 'end' });
                    new Effect.BlindDown('bigcont',{ queue: 'end' });
                }
                /* kiszedtem,mert ettől volt a tartalom divek alján egy kis ugrás, de így is ok minden, remélem így is marad */
                //var tm = setTimeout(function(){magassagBeallit();},2400);
                /*különböző alaloldalak viselkedése miatt beletett ifek*/
                var scElements = new Array('koncertek','foto','sajtofotok','sajtomegjelenesek');                
                if(menu in oc(scElements)){
                    var z = setTimeout(function(){Scroller.reset('container')},2500);
                }
                if(menu == 'hirek'){
                    var z = setTimeout(function(){Scroller.reset('hircontainer')},2500);
                }
                if(valasz.sc != undefined){
                    eval(valasz.sc);
                    var to = 2000;
                    lajkok.each(function(e){
                        setTimeout(function(){FB.XFBML.parse($(e));},to);
                        to += 200;
                    });
                }
                if(menu == 'koncertek' && ki != undefined){
                    window.location.hash = ki;
                }
            }            
        },
        method: 'post',
        parameters: data
    });    
    return false;
}

function setSiteContent(valasz,div){    
    $(div).innerHTML = valasz.tartalom;
}

function setMETA(menu, cim, desc){
    document.title = cim;    
    initMeta('description',desc);    
    History.pushState({state:1}, cim, "/"+menu)
}

function initMeta(meta,value){
    $('description').content = value;
}

function showTag(min,ki){
    generateContent('tagok',ki);
}

function showLemez(id){
    var data = {act: 'showLemez', id: id};
    new Ajax.Request(siteAjaxUrl,{
        onSuccess: function(response){
            var valasz = response.responseText.evalJSON();
            $('lemezinfo').innerHTML = valasz.text;
            $('lemezinfo').show();
            $('lemezinfo').center();
        },
        method: 'post',
        parameters: data
    });
}

function showKoncert(id){
    var data = {act: 'showKoncert', id: id};
    new Ajax.Request(siteAjaxUrl,{
        onSuccess: function(response){
            var valasz = response.responseText.evalJSON();
            $('lemezinfo').innerHTML = valasz.text;
            $('lemezinfo').show();
            $('lemezinfo').center();
        },
        method: 'post',
        parameters: data
    });
}

function magassagBeallit(){    
    var m = $('container').offsetHeight;
    if(m > 422) m = 422;
    $('container').style.height = m + 'px';    
}

function oc(a){
  var o = {};
  for(var i=0;i<a.length;i++)
  {
    o[a[i]]='';
  }
  return o;
}

function lapoz(dir){
    if(dir == 'next'){
        var ujOld = parseInt($('oldal').value) + 1;
    }
    if(dir == 'prev'){
        var ujOld = parseInt($('oldal').value) - 1;
    }
    if(ujOld == 0) $('prevlink').hide();
    if(ujOld == 25) $('nextlink').hide();
    if(ujOld > 0) $('prevlink').show();
    if(ujOld < 25) $('nextlink').show();
    $('oldal').value = ujOld;
    getHirek(ujOld);
}

function getHirek(oldal){
    var data = {act: 'getHirek', oldal: oldal};
    new Ajax.Request(siteAjaxUrl,{
        onSuccess: function(response){
            var valasz = response.responseText.evalJSON();
            $('hircontainer').innerHTML = valasz.text;
            var z = setTimeout(function(){Scroller.reset('hircontainer')},500);
            
            if(oldal == 0){
                eval(valasz.sc);
                var to = 2000;
                lajkok.each(function(e){
                    setTimeout(function(){FB.XFBML.parse($(e));},to);
                    to += 100;
                });
            }
        },
        method:'post',
        parameters: data
    });
}

ElementExtensions = {
        center: function ( element, limitX, limitY )
        {
            element = $(element);
            
            var elementDims = element.getDimensions();
            var viewPort = document.viewport.getDimensions();
            var offsets = document.viewport.getScrollOffsets();
            var centerX = viewPort.width / 2 + offsets.left - elementDims.width / 2;
            var centerY = viewPort.height / 2 + offsets.top - elementDims.height / 2;
            if ( limitX && centerX < limitX )
            {
                centerX = parseInt(limitX);
            }
            if ( limitY && centerY < limitY )
            {
                centerY = parseInt(limitY);
            }
            
            element.setStyle( { position: 'absolute', top: Math.floor(centerY) + 'px', left: Math.floor(centerX) + 'px' } );
            
            return element;            
        }
    }
Element.addMethods(ElementExtensions);
