/* 
This function adds events to window.onload functions without overwriting them.   
If no window.onload function exists it still works. 
This function must be loaded after the existing window.onload function. 
If it is loaded first the window.onload function will be overwritten by another script. 
*/  
  
function addLoadEvent(func) {  
     var oldonload = window.onload;  
     if (typeof window.onload != 'function') {  
         window.onload = func;  
     } else {  
         window.onload = function() {  
             if (oldonload) {  
                 oldonload();  
             }  
             func();  
         }  
     }  
} 

addLoadEvent(function() {  
    Set_Full_Page('aheader', 'acontent_top', 'afooter');  
});  
window.onresize = function(){ 
//      Set_Full_Page('header', 'content_top', 'footer');
};

function Set_Full_Page(header, main, footer){
  
if($(header) && $(main) && $(footer))
{
    
  var dim = document.viewport.getDimensions();
  var mypageheight = parseInt($(header).getHeight()+$(main).getHeight()+$(footer).getHeight());
  /*$('seged').show();
  $('seged').innerHTML = "Header: "+$(header).getHeight();
  $('seged').innerHTML += "<br />Main: "+$(main).getHeight();
  $('seged').innerHTML += "<br />Footer: "+$(footer).getHeight();
  $('seged').innerHTML += "<br />ossz:"+mypageheight;
  $('seged').innerHTML += "<br />Képernyő mérete:"+dim.height; */ 
  var newheight = parseInt(dim.height-($(header).getHeight()+$(footer).getHeight()));
  //$('seged').innerHTML += "<br />Main új mérete:"+newheight;
  if(mypageheight<dim.height) 
  $(main).style.height = (newheight-49)+'px';
}
}

// # Page Scroll
var PageScrollMove;
var PageScrollCounterTop;
var PageScrollDifferent;
var PageScrollDifferent2;
var PageScrollFinish;
var PageScrollStart;
var PageScrollStep = 1;  // Aktualis mozgas merteke
var PageScrolloldtop = -1;  
var PageScrolln = 0;  // Gyorsulas
var PSStepStep = 1;    // Gyorsulas merteke
var PSMaxSpeed = 300;  // Max sebesseg
var PSDistance = 100;  // A felvezeto ill. leallo tav

function Set_Scroll(id){
  var myLayer = $(id);
  PageScrollCounterTop = document.viewport.getScrollOffsets().top;
  PageScrollStart = PageScrollCounterTop;
  pos = Position.cumulativeOffset(myLayer);
  PageScrollFinish = pos[1];
  PageScrollDifferent = parseInt((PageScrollCounterTop-PageScrollFinish)/2)+PageScrollFinish;
  PageScrollDifferent2 = Math.abs(parseInt((PageScrollDifferent-PageScrollFinish)/2));
  if(PageScrollCounterTop < PageScrollFinish)PageScrollMove = true;  // az oldal felfele mozgasa, scroll lefele azaz top erteke novekszik
  else PageScrollMove = false;
  Slide_Page();
}
function Slide_Page(){
  AktTop = document.viewport.getScrollOffsets().top;
  // Ugras lefele
  if(PageScrollMove){
    // Gyorsulas
    if(PageScrollCounterTop < PageScrollDifferent){
      // A megtett resze a tavnak  
      elapsed = Math.abs(PageScrollStart-AktTop);      
      // Noveles: 
      // * Nem eri el a max sebesseget
      // * A gyorsito reszen van
      // * A gyorsito resz kisebb mint a tav 1/4-e
      if(PageScrollStep < PSMaxSpeed && elapsed < PSDistance && elapsed < PageScrollDifferent2){
        PageScrollStep += Math.floor(Math.pow(2, PageScrolln));
        if(PageScrolln<90)PageScrolln += PSStepStep;
      }
    }
    // Lassulas
    else{    
      remains = Math.abs(PageScrollFinish-AktTop); // Hatralevo resze a tavnak      
      if(PageScrollStep > 2 && (remains/2) < PageScrollStep){
        PageScrollStep = Math.floor(remains/2)-1;
      }
    }
  }
  // Ugras felfele
  else{
    // Gyorsulas
    if(PageScrollCounterTop > PageScrollDifferent){
      // A megtett resze a tavnak  
      elapsed = Math.abs(PageScrollStart-AktTop);      
      // Noveles: 
      // * Nem eri el a max sebesseget
      // * A gyorsito reszen van
      // * A gyorsito resz kisebb mint a tav 1/4-e
      if(PageScrollStep < PSMaxSpeed && elapsed < PSDistance && elapsed < PageScrollDifferent2){
        PageScrollStep += Math.floor(Math.pow(2, PageScrolln));
        if(PageScrolln<90)PageScrolln += PSStepStep;
      }
    }
    // Lassulas
    else{    
      remains = Math.abs(PageScrollFinish-AktTop); // Hatralevo resze a tavnak      
      if(PageScrollStep > 2 && (remains/2) < PageScrollStep){
        PageScrollStep = Math.floor(remains/2)-1;
      }
    }
  }
  
  if(PageScrolloldtop != AktTop){    
    if(PageScrollMove)PageScrollCounterTop += PageScrollStep;
    else if(PageScrollCounterTop > PageScrollStep)PageScrollCounterTop -= PageScrollStep;
    PageScrolloldtop = AktTop;
    window.scrollTo(0, PageScrollCounterTop);
    if(PageScrollCounterTop < (PageScrollFinish - PageScrollStep) || PageScrollCounterTop > (PageScrollFinish+ PageScrollStep)){    
      setTimeout("Slide_Page()", 50);
    }
    else{
      PageScrolloldtop = -1;
      // alert("MyStop: " + PageScrollCounterTop);
      PageScrolln=0;
      PageScrollStep = 1;
    }
  }
  else{
    PageScrolloldtop = -1;
    // alert("System: " + PageScrollCounterTop);
    PageScrolln=0;
    PageScrollStep = 1;  
  }
}
// # End - Page Scroll

var AktivCatMenu = 0;
function Set_Display_OR(div, a){
    // alert(a.checked);
    if( mydiv = $(div) ){
        if(mydiv.style.display == 'none'){
            // $(a).innerHTML = ' &#150; '
            mydiv.style.display = '';
            
            if(AktivCatMenu && (AktivCatMenu != div)){
                if(isaktmenu = $(AktivCatMenu)){
                    $GoNone = true;
                    var node = $(a);
                    node = node.parentNode;
                    while(
                        (node = node.parentNode) &&
                        (node.id != 'cat_0')){    
                            if(node.id == AktivCatMenu){$GoNone = false;break;}
                    }
                    if($GoNone)isaktmenu.style.display = 'none';
                    // if(!$GoNone)alert('bent van');
                }
                AktivCatMenu = div;
            }
        }
        else{
            // $(a).innerHTML = ' + '
            mydiv.style.display = 'none';
        }
    }
}

// a div poziciojara ugrik
function jumptodiv(id)
{
  var myLayer = $(id);
  pos = Position.cumulativeOffset(myLayer);
  PageScrollFinish = pos[1];
  window.scrollTo(0, PageScrollFinish-20); 
}



function strip_tags(html){
 
    //PROCESS STRING
    if(arguments.length < 3) {
      html=html.replace(/<\/?(?!\!)[^>]*>/gi, '');
    } else {
      var allowed = arguments[1];
      var specified = eval("["+arguments[2]+"]");
      if(allowed){
        var regex='</?(?!(' + specified.join('|') + '))\b[^>]*>';
        html=html.replace(new RegExp(regex, 'gi'), '');
      } else{
        var regex='</?(' + specified.join('|') + ')\b[^>]*>';
        html=html.replace(new RegExp(regex, 'gi'), '');
      }
    }
 
    //CHANGE NAME TO CLEAN JUST BECAUSE 
    var clean_string = html;
 
    //RETURN THE CLEAN STRING
    return clean_string;

}

function na_preload_img()
{ 
  var img_list = na_preload_img.arguments;
  if (document.preloadlist == null) 
    document.preloadlist = new Array();
  var top = document.preloadlist.length;
  for (var i=0; i < img_list.length-1; i++) {
    document.preloadlist[top+i] = new Image;
    document.preloadlist[top+i].src = img_list[i+1];
  } 
}

function na_change_img_src(name, nsdoc, rpath, preload)
{ 
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img) {
    img.altsrc = img.src;
    img.src    = rpath;
  } 
}

function na_restore_img_src(name, nsdoc)
{
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img && img.altsrc) {
    img.src    = img.altsrc;
    img.altsrc = null;
  } 
}
