//////////////////////////////////////////////////////////////////////////
// Закодированный редирект                                              //
//////////////////////////////////////////////////////////////////////////

function encoded_redirect( base64_encoded_url )
{
	eval(Base64.decode("ZG9jdW1lbnQubG9jYXRpb249") + "'" + Base64.decode(base64_encoded_url) + "'");
}

//////////////////////////////////////////////////////////////////////////
// Добавление и удалние обработчиков событий                            //
//////////////////////////////////////////////////////////////////////////

// Добавление обработчика события

function add_event_handler( element, event_name, handler )
{
	var handler_function = handler;
    
	if ( element.addEventListener )
	{
		element.addEventListener(event_name, handler_function, false);
	}
	
	else if ( element.attachEvent )
	{
		handler_function = function()
		{
			handler(window.event);
        }
        
        element.attachEvent("on" + event_name, handler_function);
	}
	
	else
	{
		throw new Error("Невозможно зарегистрировать обработчик события.");
	}
    
	return { "element": element, "event_name": event_name, "handler": handler_function };
}

// Удаление обработчика события

function remove_event_handler( event_handler )
{
	var element = event_handler.element;
    
	if ( element.removeEventListener )
	{
		element.removeEventListener(event_handler.event_name, event_handler.handler, false);
	}
	
	else if ( element.detachEvent )
	{
		element.detachEvent("on" + event_handler.event_name, event_handler.handler);
	}
}