window.defaultStatus = "OceanControl ~reloaded~";

var serverTime = null;
var packloaded = false;
var packversion = 0;
var browser = navigator.userAgent.toLowerCase();
var opera = (browser.indexOf("opera") != -1);
var ie = ((browser.indexOf("msie") != -1) && (browser.indexOf("opera") == -1));
var ns4=(document.layers)?1:0;
var ns6=(!document.all && document.getElementById)?1:0;

var current = new Array();
var startat = new Array();
var endat = new Array();
var intervals = new Array();
var intervalsNoPic = new Array();
var mouseX = 0;
var mouseY = 0;
var isel_open = 0;

function readArrays(count) {
    // Ausgangs- und Endwerte auslesen
    for(i=0;i<count;i++) {
        eval("var start = document.timerform.starttimer" + i + ".value");
        eval("var ende = document.timerform.endtimer" + i + ".value");
        eval("var cur = document.timerform.curtimer" + i + ".value");
        startat[i] = start / 1;
        endat[i] = ende / 1;
        current[i] = cur / 1;
    }
}
function readFormArrays(count) {
    // Ausgangs- und Endwerte auslesen
    for(i=0;i<count;i++) {
        eval("var start = document.timerform" + i + ".starttimer" + i + ".value");
        eval("var ende = document.timerform" + i + ".endtimer" + i + ".value");
        eval("var cur = document.timerform" + i + ".curtimer" + i + ".value");
        startat[i] = start / 1;
        endat[i] = ende / 1;
        current[i] = cur / 1;
    }
}

function getElement(elemname, style) {
    var Elem;
    
    if (document.getElementById) {
        Elem = document.getElementById(elemname);
        if(!Elem) return false;
        if(style) Elem = Elem.style;
    } else if(document.layers) {
        Elem = document.layers[elemname];
    } else if(document.all) {
        Elem = document.all(elemname);
        if(!Elem) return false;
        if(style) Elem = Elem.style;
    }
    
    return Elem;
}

function findPos(objname, rel_to) {
    var curleft = 0;
    var curtop = 0;

    var obj = getElement(objname);
    if(!obj) return [0,0];

    if(obj.offsetParent) {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while(obj == obj.offsetParent) {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    
    if(rel_to) {
        obj = getElement(rel_to);
        if(!obj) return [curleft, curtop];
    
        if(obj.offsetParent) {
            curleft -= obj.offsetLeft;
            curtop -= obj.offsetTop;
            while(obj == obj.offsetParent) {
                curleft -= obj.offsetLeft;
                curtop -= obj.offsetTop;
            }
        }
    }
    
    return [curleft,curtop];
}

function hideDiv(myLayer) {
    var vis = 'hidden';

    if(ns4) {
        var Elem = getElement(myLayer);
        vis = 'hide';
    } else {
        var Elem = getElement(myLayer, true);
    }
    if(!Elem) return false;
    
    Elem.visibility = vis;
    Elem.display = 'none';
    return true;
}

function showDiv(myLayer, atMousePos, addX, addY) {
 
    var vis = 'visible';
    var add = 'px';
    
    if(!addX) addX = 0;
    if(!addY) addY = 0;
    if (ns4) {
        var Elem = getElement(myLayer);
        vis = 'show';
        add = '';
    } else {
      var Elem = getElement(myLayer, true);
    }
    
    if(!Elem) return false;
    
    Elem.visibility = vis;
    Elem.display = 'block';
    if(atMousePos) {
        var pos = findPos('mainpart');
        if(!pos[0]) pos[0] = 0;
        if(!pos[1]) pos[1] = 0;
        Elem.left = (mouseX - pos[0] + addX) + add;
        Elem.top = (mouseY - pos[1] + addY) + add;
    }
    return true;
}

function startTimer() {
    // Nach Elementen mit der id timer suchen
    for(i=0;; i++) {
        if(ns4) {
            element = document.layers['timer' + i];
        } else if (ns6) {
            element = document.getElementById('timer' + i);
        } else if(!ns4) {
            element = document.all('timer' + i);
        }
        if(element != null)
            intervals[i] = window.setInterval("tickTimer(" + i + ")", 1000);
        else
            break;
    }
}

function startTimerNoPic() {
    // Nach Elementen mit der id timer suchen
    for(i=0;; i++) {
        if(ns4) {
            element = document.layers['timer' + i];
        } else if (ns6) {
            element = document.getElementById('timer' + i);
        } else if(!ns4) {
            element = document.all('timer' + i);
        }
        if(element != null)
            intervalsNoPic[i] = window.setInterval("tickTimerNoPic(" + i + ")", 1000);
        else
            break;
    }
}

function tickTimer(i) {

    current[i] = current[i] + 0.000001;

    time = endat[i] - (startat[i] + current[i]);

    progr = current[i] / (endat[i] - startat[i]);
    prtest = progr;
    if(progr > 1) progr = 1;
    var progress = Math.floor(progr * 150);

    time = time * 1000000;

    if(time <= 0 || isNaN(time)) {
        time = 0;
        window.clearInterval(intervals[i]);
        document.location.reload();
    }

    timerName = 'timer' + i;
    if(ns4) {
        timer = document.layers[timerName];
    } else if (ns6) {
        timer = document.getElementById(timerName);
    } else if(!ns4) {
        timer = document.all(timerName);
    }

    hours = Math.floor(time/3600);
    minutes = Math.floor(time/60) % 60;
    seconds = Math.round(time % 60);
    if(seconds == 60) minutes++;
    if(minutes == 60) hours++;

    timeString = hours + ":";
    if(minutes < 10)
        timeString += "0";
    timeString += minutes + ":";
    if(seconds == 60)
        seconds = 0;
    if(seconds < 10)
        timeString += "0";
    timeString += seconds;

    timer.innerHTML = timeString;
    eval("document.progressimg" + i + ".width = progress;");
}

function tickTimerNoPic(i) {
    timerName = 'timer' + i;
    if(ns4) {
        timer = document.layers[timerName];
    } else if (ns6) {
        timer = document.getElementById(timerName);
    } else if(!ns4) {
        timer = document.all(timerName);
    }
    // Zeit auslesen
    part = timer.innerHTML.split(":");

    // Führende Nullen entfernen
    for(j=1; j<3; j++) {
        if(part[j].charAt(0) == "0")
            part[j] = part[j].substring(1, part[j].length);
    }

    // Zusammenfassen
    hours = parseInt(part[0]);
    minutes = parseInt(part[1]);
    seconds = parseInt(part[2]);
    time = hours*60*60+minutes*60+seconds;

    if(--time <= 0 || isNaN(time)) {
        time = 0;
        window.clearInterval(intervalsNoPic[i]);
    }

    hours = Math.floor(time/3600);
    minutes = Math.floor(time/60) % 60;
    seconds = time % 60;

    timeString = hours + ":";
    if(minutes < 10)
        timeString += "0";
    timeString += minutes + ":";
    if(seconds == 60)
        seconds = 0;
    if(seconds < 10)
        timeString += "0";
    timeString += seconds;

    timer.innerHTML = timeString;
}


function extinfo(elemname, hide) {
    showit = 'block';
    if(hide) {
      showit = 'none';
    }
    
    if(ns4) {
        Elem = document.layers[elemname];
        Elem.display = showit;
    } else if (ns6) {
        Elem = document.getElementById(elemname);
        Elem.style.display = showit;
    } else if(!ns4) {
        Elem = document.all(elemname);
        Elem.style.display = showit;
    }
}

function getMouseXY(ev) {
  if(ev == null) ev = window.event;
  if(ie) {
    mouseX = ev.clientX;
    mouseY = ev.clientY;
    
    var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ?
    window.document.documentElement : window.document.body;
    mouseX += body.scrollLeft  - body.clientLeft;
    mouseY += body.scrollTop - body.clientTop;
  } else {
    mouseX = ev.pageX;
    mouseY = ev.pageY;
  }
  
  if (mouseX < 0) {
      mouseX = 0;
  }
  if (mouseY < 0) {
      mouseY = 0;
  }
  mouseX += 10;
  mouseY += 10;
}

function setMouseDown(ev) {
    if(isel_open == 0) return true;
    window.setTimeout("hideDiv('isleselect'); isel_open = 0;", 500);
    return true;
}


if(!ie) {
    document.captureEvents(Event.MOUSEMOVE);
    document.captureEvents(Event.MOUSEDOWN);
}
document.onmousemove = getMouseXY;
document.onmousedown = setMouseDown;