// JavaScript Document
var req;
var _divarray = new Array();
var _screenArray = new Array();

var popupdisplay;
var ytplayer;

var isresizable = false;
var maximgheight = 0;

window.onscroll = positionWindow;
window.onresize = positionWindow;

function getcontent(mydiv, myheight) {
    var no;
    var doesexist = false;

    for (no = 0; no < _divarray.length; no++) {
        if (_divarray[no][1] == mydiv.getElementsByTagName('div')[1].id) {
            doesexist = true; break;
        }
    }

    mydiv.style.cursor = "pointer";
    mydiv.getElementsByTagName('div')[1].style.height = "0px";
    mydiv.getElementsByTagName('div')[1].style.display = "block";

    if (!doesexist) {
        _divarray.push([mydiv.getElementsByTagName('div')[1], mydiv.getElementsByTagName('div')[1].id, 0, myheight, "down"]);
    } else {
        if (_divarray[no][4] == "down") {
            _divarray[no][4] = "up";
        } else { _divarray[no][4] = "down"; }
    }

    if (_divarray[no][4] == "down") {
        if (mydiv.getElementsByTagName('img')[0].src.substr(mydiv.getElementsByTagName('img')[0].src.length - 11, 11) == "-expand.png") {
            mydiv.getElementsByTagName('img')[0].src = mydiv.getElementsByTagName('img')[0].src.substr(0, mydiv.getElementsByTagName('img')[0].src.length - 11) + ".png";
        }
    } else {
        if (mydiv.getElementsByTagName('img')[0].src.substr(mydiv.getElementsByTagName('img')[0].src.length - 11, 11) == "-bottom.png") {
            mydiv.getElementsByTagName('img')[0].src = mydiv.getElementsByTagName('img')[0].src.substr(0, mydiv.getElementsByTagName('img')[0].src.length - 4) + "-expand.png";
        }
    }

    setanimation(no);
}

function setanimation(myid) {
    if (myid < _divarray.length) {
        var valeur = ((1.06 - (_divarray[myid][0].offsetHeight / _divarray[myid][3])) * 18);

        if (_divarray[myid][4] == "down") {
            _divarray[myid][2] = _divarray[myid][2] + valeur;
            if (_divarray[myid][2] > _divarray[myid][3]) { _divarray[myid][2] = _divarray[myid][3]; }
            _divarray[myid][0].style.height = _divarray[myid][2] + "px";
            if (_divarray[myid][0].offsetHeight < _divarray[myid][3]) { setTimeout("setanimation(" + myid + ")", 15); }
        } else {
            _divarray[myid][2] = _divarray[myid][2] - valeur;
            if (_divarray[myid][2] < 0) { _divarray[myid][2] = 0; }
            _divarray[myid][0].style.height = _divarray[myid][2] + "px";
            if (_divarray[myid][0].offsetHeight > 0) { setTimeout("setanimation(" + myid + ")", 15); }
        }
    }
}


function buttonover(mybutton) {
    mybutton.style.background = "url(button-generic-over.png) no-repeat";
}
function buttonout(mybutton) {
    mybutton.style.background = "url(button-generic.png) no-repeat";
}
function popmenu(myitem) {
    document.getElementById('popup').style.top = (327 + myitem.offsetTop) + "px";
    document.getElementById('popup').style.display = "block";
}
function popoutmenu() {
    document.getElementById('popup').style.display = "none";
}

function onclicklink(mydiv) {
    if (mydiv != undefined) {
        window.location.href = mydiv.getElementsByTagName('a')[0];
    }
}

//function loadStatusFile(url) {
//    if (window.XMLHttpRequest) { // Non-IE browsers 
//        req = new XMLHttpRequest();
//        req.onreadystatechange = targetDiv;

//        try {
//            req.open("GET", url, true);
//        } catch (e) {
//            document.getElementById("message").innerHTML = "Problem: " + e;
//        }
//        req.send(null);
//    } else if (window.ActiveXObject) { // IE 
//        req = new ActiveXObject("Microsoft.XMLHTTP");

//        if (req) {
//            req.onreadystatechange = targetDiv;
//            req.open("GET", url, true);
//            req.send();
//        }
//    }
//}

function targetDiv() {
    if (req.readyState == 4) {
        if (req.status == 200) {
            document.getElementById("updatesdiv").innerHTML = req.responseText;
        } else {
            document.getElementById("updatesdiv").innerHTML = "Problem: " + req.statusText;
        }
    }
}

function fillScreen() {
    var filter = document.getElementById("filter");
    var winHeight = document.body.clientHeight;

    if (window.innerHeight) {
        if (winHeight < window.innerHeight) {
            winHeight = window.innerHeight - 10;
        }
    } else {
        if (winHeight < document.documentElement.clientHeight) {
            winHeight = document.documentElement.clientHeight - 10;
        }
    }

    filter.style.position = "absolute";
    filter.style.left = "0px";
    filter.style.top = "0px";
    filter.style.width = document.body.clientWidth + "px";
    filter.style.height = winHeight + 10 + "px";
    filter.style.display = "block";
}

function positionWindow(thispopup) {
    if (typeof thispopup == 'string') { popupdisplay = thispopup; }

    if (popupdisplay != undefined) {
        var my_popup = document.getElementById(popupdisplay).style;
        var winposcroll = 0;

        var my_popup_object = document.getElementById(popupdisplay);
        var target_height;


        if (my_popup.display == 'block') {
            if (window.pageYOffset != undefined) {
                if (isresizable && my_popup_object.getElementsByTagName('img')[0]) {
                    if (maximgheight > 0) {
                        if ((window.innerHeight - 250) < maximgheight) {
                            target_height = window.innerHeight - 250;
                        } else {
                            target_height = maximgheight;
                        }
                    } else {
                        target_height = window.innerHeight - 250;
                    }
                    if (target_height < 400) { target_height = 400; }
                    my_popup_object.getElementsByTagName('img')[0].style.height = target_height + "px";
                    my_popup.width = my_popup.width.substr(0, my_popup.width.length - 2) * (target_height / my_popup_object.offsetHeight) + "px";
                    my_popup.height = my_popup_object.getElementsByTagName('img')[0].style.height;
                }
                winposcroll = window.pageYOffset;
                my_popup.top = (window.innerHeight / 2) + window.pageYOffset - (document.getElementById(popupdisplay).offsetHeight / 2) + "px";
                my_popup.left = (document.body.clientWidth / 2) - (document.getElementById(popupdisplay).offsetWidth / 2) + "px";
            }
            else {
                if (isresizable && my_popup_object.getElementsByTagName('img')[0]) {
                    if (maximgheight > 0) {
                        if ((document.documentElement.clientHeight - 250) < maximgheight) {
                            target_height = document.documentElement.clientHeight - 250;
                        } else {
                            target_height = maximgheight;
                        }
                    } else {
                        target_height = document.documentElement.clientHeight - 250;
                    }
                    if (target_height < 400) { target_height = 400; }
                    my_popup_object.getElementsByTagName('img')[0].style.height = target_height + "px";
                    my_popup.width = my_popup.width.substr(0, my_popup.width.length - 2) * (target_height / my_popup_object.offsetHeight) + "px";
                    my_popup.height = my_popup_object.getElementsByTagName('img')[0].style.height;
                }
                winposcroll = document.documentElement.scrollTop;
                my_popup.top = (document.documentElement.clientHeight / 2) + document.documentElement.scrollTop - (document.getElementById(popupdisplay).offsetHeight / 2) + "px";
                my_popup.left = (document.body.clientWidth / 2) - (document.getElementById(popupdisplay).offsetWidth / 2) + "px";
            }

            fillScreen();
        }
    }
}



function movescreens(myid, isleft, myControl, steps) {
    var doesexist = false;
    var oldpos;
    var no;
    var maxscreenshots;

    if (steps == undefined) { steps = 1; }

    for (no = 0; no < _screenArray.length; no++) { if (_screenArray[no][1] == myid) { doesexist = true; break; } }
    if (!doesexist) {
        _screenArray.push([document.getElementById(myid), myid, 0, null, isleft, 0, 0]);
        _screenArray[no][0].style.position = "relative";
        if (_screenArray[no][0].style.left.length == 0) { _screenArray[no][0].style.left = 0; } else {
            if (_screenArray[no][0].getElementsByTagName('td')[0].offsetWidth > 0) {
                _screenArray[no][2] = _screenArray[no][0].offsetLeft / _screenArray[no][0].getElementsByTagName('td')[0].offsetWidth;
            } else {
                _screenArray[no][2] = 0;
            }
        }
    }

    oldpos = _screenArray[no][2];

    maxscreenshots = (_screenArray[no][0].offsetWidth / _screenArray[no][0].getElementsByTagName('td')[0].offsetWidth) - (_screenArray[no][0].parentNode.offsetWidth / _screenArray[no][0].getElementsByTagName('td')[0].offsetWidth);
    maxscreenshots = Math.round(maxscreenshots);

    if (isleft) {
        if (_screenArray[no][2] > 0) { _screenArray[no][2] = _screenArray[no][2] - steps; }
    } else {
        if (_screenArray[no][2] < maxscreenshots) { _screenArray[no][2] = _screenArray[no][2] + steps; }
    }

    if (myControl != undefined) {
        var mymax = false;
        var imagenameA, imagenameB, imagepath;

        if (_screenArray[no][2] <= 0 || _screenArray[no][2] >= maxscreenshots) { mymax = true; }
        if (mymax && _screenArray[no][2] <= 0) { isleft = true; }

        imagenameA = myControl.getElementsByTagName('img')[0].src.split('/');
        imagenameA = imagenameA[imagenameA.length - 1].substr(0, imagenameA[imagenameA.length - 1].length - 4);

        imagenameB = myControl.getElementsByTagName('img')[1].src.split('/');
        imagenameB = imagenameB[imagenameB.length - 1].substr(0, imagenameB[imagenameB.length - 1].length - 4);

        imagepath = myControl.getElementsByTagName('img')[0].src;
        imagepath = myControl.getElementsByTagName('img')[0].src.substr(0, imagepath.length - imagenameA.length - 4);

        if (mymax) {
            if (isleft) {
                if (imagenameA.substr(imagenameA.length - 2) != '_G') {
                    myControl.getElementsByTagName('img')[0].src = imagepath + imagenameA + "_G.png";
                }
            } else {
                if (imagenameB.substr(imagenameB.length - 2) != '_G') {
                    myControl.getElementsByTagName('img')[1].src = imagepath + imagenameB + "_G.png";
                }
            }
        } else {
            if (imagenameA.substr(imagenameA.length - 2) == '_G') {
                myControl.getElementsByTagName('img')[0].src = imagepath + imagenameA.substr(0, imagenameA.length - 2) + ".png";
            }
            if (imagenameB.substr(imagenameB.length - 2) == '_G') {
                myControl.getElementsByTagName('img')[1].src = imagepath + imagenameB.substr(0, imagenameB.length - 2) + ".png";
            }
        }
    }

    if (oldpos != _screenArray[no][2]) {
        _screenArray[no][4] = isleft;
        _screenArray[no][5] = document.getElementById(myid).offsetLeft; //distance to move object
        setanimationslide(no);
        return true;
    } else {
        return false;
    }
}

function setanimationslide(myid) {
    var valeur = (1 - ((_screenArray[myid][0].offsetLeft - _screenArray[myid][5]) / ((-(_screenArray[myid][0].getElementsByTagName('td')[0].offsetWidth) * _screenArray[myid][2]) - _screenArray[myid][5]))) * 8;

    if (_screenArray[myid][4]) { _screenArray[myid][6] = _screenArray[myid][6] + valeur; } else { _screenArray[myid][6] = _screenArray[myid][6] - valeur; }
    _screenArray[myid][0].style.left = _screenArray[myid][6] + "px";

    if (_screenArray[myid][4]) {
        if (_screenArray[myid][0].offsetLeft < (-(_screenArray[myid][0].getElementsByTagName('td')[0].offsetWidth) * _screenArray[myid][2])) { setTimeout("setanimationslide(" + myid + ")", 15); }
    } else {
        if (_screenArray[myid][0].offsetLeft > (-(_screenArray[myid][0].getElementsByTagName('td')[0].offsetWidth) * _screenArray[myid][2])) { setTimeout("setanimationslide(" + myid + ")", 15); }
    }
}

function getscreen(myid, thispopup) {
    document.getElementById(thispopup).style.display = "block";
    var imagename = document.getElementById(myid).src.substr(0, document.getElementById(myid).src.length - 4);
    var extension = document.getElementById(myid).src.substr(document.getElementById(myid).src.length - 4, document.getElementById(myid).src.length);
    document.getElementById(thispopup).innerHTML = '<img src="' + imagename + '_large' + extension + '" alt="" id="largescreenshot"  />';

    displaypopup(thispopup);
    positionWindow(thispopup);
}

function displaypopup(thispopup) {
    document.getElementById(thispopup).style.display = "block";

    positionWindow(thispopup);
    fillScreen();
}

function zoomover(myid) {
    var doesexist = false;
    var valeur = ((1.05 - (document.getElementById(myid).offsetWidth / 115)) * 5);

    document.getElementById(myid).style.cursor = "pointer";

    for (no = 0; no < _screenArray.length; no++) { if (_screenArray[no][1] == myid) { doesexist = true; break; } }
    if (!doesexist) { _screenArray.push([document.getElementById(myid), myid, document.getElementById(myid).offsetWidth, null]); }

    clearTimeout(_screenArray[no][3]);

    _screenArray[no][2] = _screenArray[no][2] + valeur;
    _screenArray[no][0].style.width = _screenArray[no][2] + "px";

    if (document.getElementById(myid).offsetWidth < 115) { _screenArray[no][3] = setTimeout("zoomover('" + myid + "')", 15); }
}

function zoomout(myid) {
    var doesexist = false;
    var valeur = ((1.05 - (110 / document.getElementById(myid).offsetWidth)) * 5);

    for (no = 0; no < _screenArray.length; no++) { if (_screenArray[no][1] == myid) { doesexist = true; break; } }
    if (!doesexist) { _screenArray.push([document.getElementById(myid), myid, document.getElementById(myid).offsetWidth, null]); }

    clearTimeout(_screenArray[no][3]);

    _screenArray[no][2] = _screenArray[no][2] - valeur;
    _screenArray[no][0].style.width = _screenArray[no][2] + "px";

    if (document.getElementById(myid).offsetWidth > 110) { _screenArray[no][3] = setTimeout("zoomout('" + myid + "')", 15); }
}

function closepopup() {
    if (ytplayer) {
        if (ytplayer.stopVideo) { ytplayer.stopVideo(); }
    }

    if (popupdisplay != undefined) { document.getElementById(popupdisplay).style.display = "none"; }
    document.getElementById("filter").style.display = "none";
}
