//
var on_ready_callbacks = new Array();
var on_page_change_callbacks = new Array();

//
function carga_paginas(nid) {
    $.get("/init_visor/"  + nid, null, inicializa_response);
}
//
function inicializa_response(data) {
    var result = Drupal.parseJson(data);
    var movie = myGetElement("visor");
        movie.setReadingZoom(result['zoom']);

	movie.setParams(result['steps'],0,result['interval']);		
	movie.inicializa(result['size'], result['response'], result['tips']);
	
	// Esto debe sustituir a gotoFirstPage() */
	execute_on_mpdvisor_ready_callbacks();
	gotoFirstPage();    
}
//
function print(message) {
    alert(message);
}
//
function setPageElementsSize() {
    h_win = $(window).height();
    h_banner = $("#wrapper_banners").height();
    h_lower_tabs = $("#mpdvisor_contenido_pestanas").height();
    h_left_html = $("#mpdvisor_pagina_html").height(h_win - h_banner - h_lower_tabs);
    t_lower_tabs = $("#mpdvisor_contenido_pestanas").position().top;
    t_left_toolbar = $("#menu_pastillas").position().top;
    if ($.browser.msie) $("#mpdvisor_pagina_flash").css("top", 0);
    H = h_win - h_banner - h_lower_tabs;
    $("#mpdvisor_pagina").height(H);
    $("#mpdvisor_pagina_flash").height(H);
    $('#mpdvisor_flash_proyector').height(H);
    delta = 53;
    $(".mpdvisor_fondo_central").css("height", H - t_left_toolbar - delta);
    $('#mpdvisor_fondo_central_edipo').css('height',parseInt($('.mpdvisor_fondo_central').css('height').substring(0,$('.mpdvisor_fondo_central').css('height').length - 2)) - 120);
}
//
function ocultar() {
    $('#wrapper_banners').hide();
    $('#mpdvisor_contenido_pestanas').hide();
    $('#mpdvisor_pagina_html').hide();
    $("#mpdvisor_pagina").height($(window).height());
    $('#mpdvisor_pagina_flash').height($(window).height());
    $('#mpdvisor_flash_proyector').height($(window).height());
    $('#mpdvisor_pagina_flash').css("margin-left", "0px");
    // result = pageTracker._trackEvent('Visor', 'Evento de Pruebas', 'HW');
}
//
function mostrar() {
    cerrar_pest_inferiores(); // evita que al volver al modo hojeo, se hagan los calculos tomando en cuenta las pestañas inferiores desplegadas
    $('#mpdvisor_pagina_flash').css("margin-left", "240px");
    $('#wrapper_banners').show();
    $('#mpdvisor_pagina_html').show();
    $("#mpdvisor_pagina").css("z-index", "100");
    $('#mpdvisor_contenido_pestanas').show();
    setPageElementsSize();
}
//
function myGetElement(id) {
    return ($.browser.msie) ? window[id] : document[id];
}
//
function getSize() {
    var version = parseInt(navigator.appVersion);
    var obj = new Object();
    if (version > 3) {
        if (($.browser.msie)) {
            obj.height = document.body.offsetHeight;
            obj.width = document.body.offsetWidth;
        } else {
            obj.height = window.innerHeight;
            obj.width = window.innerWidth;
        }
    }
    return obj;
}
// TODO: esta función debe hacerse de tal manera que las pestañas se pasen en un
// array de settings
function cerrar_pest_inferiores() {
    ocultacapa('mpdvisor_pestanas_seccion1');
    ocultacapa('mpdvisor_pestanas_seccion2');
    ocultacapa('mpdvisor_cerrar_pestanas');
    pestanaoff('seccion1');
    pestanaoff('seccion2');
}
//
function goto_page(page) {
    a = myGetElement("visor");
    a.gotoVisorPage(page);
}
//
function mediaClick(id) {
    $.getJSON('/medianode/' + id, {}, function(data) {
        var url = data['url'];
        var index = url.indexOf('page')
        if (index == 0) {
            var page = url.substr(7);
            goto_page(page);
        } else {
            window.open(url);
        }
    });
}
// Función que debe ser llamada desde el swf del visor para notificar un evento de cambio de página.
function cambio_pagina(page) {
    execute_on_mpdvisor_page_change_callbacks(page);
}
//
function carga_medias(nid) {
    $.get("/medialinks/list_page/" + nid, null, medias_response);
}
//
function medias_response(data) {
    var result = Drupal.parseJson(data);
    var tmpBook = result['response'];
}
// Función registra los callbacks para el evento on_ready del visor
function register_on_mpdvisor_ready_callback(callback) {
    on_ready_callbacks[on_ready_callbacks.length] = callback;
}
// Función que ejecuta los callbacks registrados para el evento on_ready del visor
function execute_on_mpdvisor_ready_callbacks() {
    for (i = 0; i < on_ready_callbacks.length; i++) {
        callback = on_ready_callbacks[i];
        callback();
    }
}
//Función registra los callbacks para el evento on_page_change del visor
function register_on_mpdvisor_page_change_callback(callback) {
    on_page_change_callbacks[on_page_change_callbacks.length] = callback;
}
// Función que ejecuta los callbacks registrados para el evento on_page_change del visor
function execute_on_mpdvisor_page_change_callbacks(page) {
    for (i = 0; i < on_page_change_callbacks.length; i++) {
        callback = on_page_change_callbacks[i];
        callback(page);
    }
}
//
function openWindow(url, width, height) {
    window.open(url, '_blank', "toolbar=0,status=0,resizable=1,width=" + width
            + ",height=" + height);
}
