/**
    Ponte JavaScript OnLoad Service
    
    OnLoad eventeket tárolja egy tombben, majd sorban meghivja oket
*/

ponte.Services.LoadService = 
{
    onload_events : new Array(),    //  az eventeket tarolja
    
    /**
    @function_name  -   fuggveny neve (vagy maga a fuggveny)
    @error_handler  -   ha hiba van a fuggvény hivasa kozben, ezt a fuggvenyt hivja meg, ha nincs megadva elnyeli a hibat!
    */
    addLoadEvent : function (function_name, error_handler)
    {
        this.onload_events.push(function_name, ((error_handler==undefined)?this.baseErrorHandler:error_handler));
    }
    ,
    //  ha nincs megadva error_handler ez hivodik meg
    baseErrorHandler : function(error)
    {   
        alert(error);
    }
    ,
    //  sorba meghivja a tombben talalhato fuggvenyeket
    callEvents : function()
    {
        for(f=0; f<ponte.Services.LoadService.onload_events.length; f+=2)
        {
            try
            {
                ponte.Services.LoadService.onload_events[f]();
            }
            catch(e)
            {
                ponte.Services.LoadService.onload_events[f+1](e);
            }
        }
    }
}

//  Ne definialjuk felul!!
//  operahoz
if(window.opera)
{
    document.addEventListener("DOMContentLoaded", ponte.Services.LoadService.callEvents, false);
}
else    //  minden mas
{
    window.onload=function()
    {
        ponte.Services.LoadService.callEvents();
    }
}

