﻿var scrollActual = 0;
function upViewer() {
    if (isUpPushed) {
        scrollActual = scrollActual - 10;

        if (scrollActual < 0) scrollActual = 0;
        viewer.scrollTop = scrollActual;
    }
}

function downViewer() {
    if (isDownPushed) {
        scrollActual = scrollActual + 10;
        viewer.scrollTop = scrollActual;
    }
}

var isUpPushed = 0;
function upClicked() {
    isUpPushed = 1;
    upViewer();
}

function upReleased() {
    isUpPushed = 0;
}

var isDownPushed = 0;
function downClicked() {
    isDownPushed = 1;
    downViewer();
}

function downReleased() {
    isDownPushed = 0;
}

function downOut() {
    downReleased();
}

function upOut() {
    upReleased();
}

var actualOrder = -1;
var divImager;
function createImager() {
    divImager = document.createElement("div");
    divImager.className = 'divImager';
    divImager.id = 'imager';

    var divImage = document.createElement("div");
    divImage.className = 'divImage';
    divImage.id = 'image';

    divImager.appendChild(divImage);
        var aClose = document.createElement("a");
        aClose.href = 'javascript:closeViewer();'
        aClose.innerText = 'Cerrar la ventana';
        divImage.appendChild(aClose);
        
        var actualImage = document.createElement("img");
        actualImage.id = 'actualImage';
        actualImage.style.height = '200px';
        actualImage.style.width = '250px';
        divImage.appendChild(actualImage);
        
        var divTexto = document.createElement("div");
        divTexto.id = 'texto';
        divImage.appendChild(divTexto);
        
        var aBack = document.createElement("a");
        aBack.href = 'javascript:backViewer();'
        aBack.innerText = ' << Anterior ';
        divImage.appendChild(aBack);
        
        var aDown = document.createElement("a");
        aDown.href = 'javascript:nextViewer();'
        aDown.innerText = '- Siguiente >> ';
        divImage.appendChild(aDown);

        setImagerReference();
        
}


function showSlider(order) {
    if (showed == 0) {
       // createImager();
        showed = 1;
    }
    actualOrder = order;
    moveSlider();
}

function moveSlider() {
    var b = BrowserDetect;

    if (b.browser == 'Explorer') {
        if (b.version == 8) moveSliderIE8();
        else moveSliderIE7();
    }
    else
        if (b.browser == 'Firefox') {
        moveSliderFirefox();
    }
    else
        if (b.browser == 'Chrome') {
        moveSliderChrome();
    }
    else
        moveSliderIE8();
    
}

function moveSliderIE8() {
    document.getElementById("imager").style.display = 'inline';
    //    divVisor.style.display = 'block';

    if (actualOrder > images.length - 1)
        actualOrder = 0;
    if (actualOrder < 0)
        actualOrder = images.length - 1;

    var o = document.getElementById("image").children[1];
    o.src = images[actualOrder];

    var t = document.getElementById("image").children[2];
    t.innerText = texts[actualOrder];

    document.getElementById("imager").style.height = 400;
    document.getElementById("imager").style.width = 400;
    var Element = document.getElementById("imager");
    Element.style.position = 'absolute';
    objh = parseFloat(Element.style.height) / 2;
    objw = parseFloat(Element.style.width) / 2;
    Element.style.top = (document.documentElement.offsetHeight / 2) + document.documentElement.scrollTop - objh + 'px';
    Element.style.left = (document.documentElement.offsetWidth / 2) + document.documentElement.scrollLeft - objw + 'px';

    document.getElementById("image").style.height = o.height + 50;
    document.getElementById("image").style.width = o.width;

    document.getElementById("image").style.position = 'absolute';
    document.getElementById("image").style.left = (document.getElementById("imager").clientWidth / 2 - document.getElementById("image").clientWidth / 2);
    document.getElementById("image").style.top = (document.getElementById("imager").clientHeight / 2 - document.getElementById("image").clientHeight / 2);
}

function moveSliderIE7() {
    document.getElementById("imager").style.display = 'inline';
    //    divVisor.style.display = 'block';

    if (actualOrder > images.length - 1)
        actualOrder = 0;
    if (actualOrder < 0)
        actualOrder = images.length - 1;

    var o = document.getElementById("image").children[1];
    o.src = images[actualOrder];

    var t = document.getElementById("image").children[2];
    t.innerText = texts[actualOrder];

    document.getElementById("imager").style.height = 400;
    document.getElementById("imager").style.width = 400;
    var Element = document.getElementById("imager");
    Element.style.position = 'absolute';
    objh = parseFloat(Element.style.height) / 2;
    objw = parseFloat(Element.style.width) / 2;
    Element.style.top = (document.documentElement.offsetHeight / 2) + document.documentElement.scrollTop - objh + 'px';
    Element.style.left = (document.documentElement.offsetWidth / 2) + document.documentElement.scrollLeft - objw + 'px';

    document.getElementById("image").style.height = o.height + 50;
    document.getElementById("image").style.width = o.width;

    document.getElementById("image").style.position = 'absolute';
    document.getElementById("image").style.left = (document.getElementById("imager").clientWidth / 2 - document.getElementById("image").clientWidth / 2);
    document.getElementById("image").style.top = (document.getElementById("imager").clientHeight / 2 - document.getElementById("image").clientHeight / 2);
}

function moveSliderFirefox() {

    document.getElementById("imager").style.display = 'inline';


    if (actualOrder > images.length - 1)
        actualOrder = 0;
    if (actualOrder < 0)
        actualOrder = images.length - 1;

    var o = document.getElementById("image").childNodes[3];
//    for(i=0;i<document.getElementById("image").childNodes.length;i++)
//    {
//        alert(document.getElementById("image").childNodes[i]);
//    }
    o.src = images[actualOrder];

    var t = document.getElementById("texto"); //.childNodes[5];
    t.firstChild.nodeValue = texts[actualOrder];

    document.getElementById("imager").style.height = 400 + 'px';
    document.getElementById("imager").style.width = 400 + 'px';
    var Element = document.getElementById("imager");
    Element.style.position = 'absolute';
    objh = parseFloat(Element.style.height) / 2;
    objw = parseFloat(Element.style.width) / 2;
    Element.style.top = (screen.height / 2) + document.documentElement.scrollTop - objh + 'px';
    Element.style.left = (screen.width / 2) + document.documentElement.scrollLeft - objw + 'px';

    document.getElementById("image").style.height = o.height + 50 + 'px';
    document.getElementById("image").style.width = o.width + 'px';


    document.getElementById("image").style.position = 'absolute';
    document.getElementById("image").style.left = (document.getElementById("imager").clientWidth / 2 - document.getElementById("image").clientWidth / 2) + 'px';
    document.getElementById("image").style.top = (document.getElementById("imager").clientHeight / 2 - document.getElementById("image").clientHeight / 2) + 'px';
}

function moveSliderChrome() {
    document.getElementById("imager").style.display = 'inline';
    //    divVisor.style.display = 'block';

    if (actualOrder > images.length - 1)
        actualOrder = 0;
    if (actualOrder < 0)
        actualOrder = images.length - 1;

    var o = document.getElementById("image").children[1];
    o.src = images[actualOrder];

    var t = document.getElementById("image").children[2];
    t.innerText = texts[actualOrder];

    document.getElementById("imager").style.height = 400 + 'px';
    document.getElementById("imager").style.width = 400 + 'px';
    var Element = document.getElementById("imager");
    Element.style.position = 'absolute';
    objh = parseFloat(Element.style.height) / 2;
    objw = parseFloat(Element.style.width) / 2;
    Element.style.top = (screen.height / 2) + document.body.scrollTop - objh + 'px';
    Element.style.left = (screen.width / 2) + document.body.scrollLeft - objw + 'px';

    document.getElementById("image").style.height = o.height + 50 + 'px';
    document.getElementById("image").style.width = o.width + 'px';


    document.getElementById("image").style.position = 'absolute';
    document.getElementById("image").style.left = (document.getElementById("imager").clientWidth / 2 - document.getElementById("image").clientWidth / 2)  + 'px';
    document.getElementById("image").style.top = (document.getElementById("imager").clientHeight / 2 - document.getElementById("image").clientHeight / 2) + 'px';
}



function closeViewer() {
    document.getElementById("imager").style.display = 'none';
    actualOrder = -1;
}

function backViewer() {
    showSlider(actualOrder - 1);
}

function nextViewer() {
    showSlider(actualOrder + 1);
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent)
        while (1) {
        curleft += obj.offsetLeft;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent)
        while (1) {
        curtop += obj.offsetTop;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}
