var bookOldOnload = window.onload;

window.onload = function()
{
    if (typeof bookOldOnload == 'function')
    {
         bookOldOnload();
    }

    window.bookInstance = new book();
    bookInstance.init();
}

book = function ()
{

}


book.prototype.init = function()
{
    if (this.isPlayerPopup())
    {
        this.resizePlayerPopup();
    }
    else
    {
        this.initPlayerPopupLink();
    }
}


book.prototype.isPlayerPopup = function()
{
    var box = document.getElementById('popupPlayerBox');
    if (box)
    {
        return true;
    }
    return false;
}

book.prototype.initPlayerPopupLink = function()
{
    var link = document.getElementById('playerPopupLink');
    if (!link)
    {
        return;
    }
    var script = this;
    link.onclick = function()
    {
        var url = link.href;

        var winName = script.getRandomPlayerPopupName();
        var largePlayer = !!(document.getElementById('largePlayer'));

    	var W = largePlayer ? 430 : 250;
    	var H = largePlayer ? 255 : 180;

    	var left = 0;
    	var top  = 0;

       	var popupPlayerWin = window.open(url, winName, "toolbar=0,scrollbars=0,resizable=1,width=" + W + ",height=" + H + " , top=" + top + ", left=" + left);

        return false;
    }

}
book.prototype.getRandomPlayerPopupName = function()
{
    var randStr = Math.random().toString();
    randStr = randStr.replace(/\D+/g, '');
    return 'player_popup'.concat(randStr);
}

book.prototype.resizePlayerPopup = function()
{

    var largePlayer = !!(document.getElementById('largePlayer'));

    var initW = (largePlayer) ? 425 : 250;
    var initH = (largePlayer) ? 255 : 150;

    var contentWidth = (largePlayer) ? 425 : 225;
    var contentHeight = (largePlayer) ? 255 : 106;


    window.resizeTo(initW, initH);

    var self = this;
    window.onresize = function()
    {
        var size = self.getPopupInnerSize();

        var xToAdd = initW - size[0];
        var yToAdd = initH - size[1];

        var newWidth = contentWidth + xToAdd;
        var newHeight = contentHeight + yToAdd;

        window.onresize = null;
        window.resizeTo(newWidth, newHeight);

        var left = Math.round((screen.width-newWidth)/2);
        var top = Math.round((screen.height-newHeight)/2);
        if (top < 0)
        {
            top = 0;
        }
        if (left < 0)
        {
            left = 0;
        }
        window.moveTo(left, top);
    }

}

book.prototype.getPopupInnerSize = function()
{
    var x,y;
    if (window.innerHeight) // all except Explorer
     {
       x = window.innerWidth;
       y = window.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight)
    {  // Explorer 6 Strict Mode
       x = document.documentElement.clientWidth;
       y = document.documentElement.clientHeight;
    }
    else if (document.body) // other Explorers
    {
       x = document.body.clientWidth;
       y = document.body.clientHeight;
    }
    var size = new Array(x, y);

    return size;
}

book.prototype.setPlayerPage = function( pageNumber )
{
    var mp3Links = document.getElementById('mp3LinksContainer');
    if (!mp3Links)
    {
        return;
    }

    var pages = mp3Links.getElementsByTagName('ol');
    for (var i=0; i<pages.length; i++)
    {
        var className = 'block '.concat( (i + 1 == pageNumber) ? 'activePage' : 'inactivePage' );
        pages[i].className = className;
    }

}

function setPage(pageNumber)
{
    bookInstance.setPlayerPage(pageNumber);
}


