var alreadyCleaned = false; var autoPageReloadActive = true; var IE = (document.all) ? true : false; function pageLoaded() { if(document.cookie) { var cookieArray = document.cookie.split(";"); for(i in cookieArray){ var cookieName = cookieArray[i].split("=")[0].replace(/ /g,""); var cookieValue = cookieArray[i].split("=")[1].replace(/ /g,""); /* show the area of the page that has been shown on the last visit */ if (cookieName=="scroll") { //Konqueror needs a delay ?! window.setTimeout("window.scrollTo("+cookieValue.split(":")[0]+", "+cookieValue.split(":")[1]+")", 1); //window.scrollTo(cookieValue.split(":")[0], cookieValue.split(":")[1]); } } } } function checkall(field,field2) { /* field.length can be null when there exist only one package with only one file */ formElementChanged(); if (field != null) { if (field.length != null) { for (i = 0; i < field.length; i++) { field[i].checked = true ; } } else { field.checked = true; } } if (field2 != null) { if (field2.length != null) { for (i = 0; i < field2.length; i++) { field2[i].checked = true ; } } else { field2.checked = true; } } } function uncheckall(field,field2) { /* field.length can be null when there exist only one package with only one file */ formElementChanged(); if (field != null) { if (field.length != null) { for (i = 0; i < field.length; i++) { field[i].checked = false ; } } else { field.checked = false; } } if (field2 != null) { if (field2.length != null) { for (i = 0; i < field2.length; i++) { field2[i].checked = false ; } } else { field2.checked = false; } } } function samecheckall(field,id) { formElementChanged(); /* field.length can be null when there exist only one package with only one file */ if (field != null) { if (field.length != null) { for (i = 0; i < field.length; i++) { var name=field[i].value.split(" "); if (name[0]==id.value) { field[i].checked = id.checked; } }; } else { field.checked = id.checked; } } areallchecked(field); } function areallsamechecked(id,field,field2) { formElementChanged(); /* field.length can be null when there exist only one package with only one file */ var tempid=id.value.split(" "); var chkid=tempid[0]; var allchecked=true; if (field != null) { if (field.length != null) { for (i = 0; i < field.length; i++){ var name=field[i].value.split(" "); if (name[0]==chkid) { if (field[i].checked==false) allchecked=false; } } } else { if (field.checked==false) allchecked=false; } } if (field2 != null) { if (field2.length != null) { for (i = 0; i < field2.length; i++){ if ( field2[i].value==chkid ) { field2[i].checked=allchecked; } } } else { field2.checked=allchecked; } } areallchecked(field); } function areallchecked(field) { if (field != null) { if (field.length != null && field.length > 0) { var allchecked = true; // is any field (single download) unchecked? for (i = 0; i < field.length; i++){ if (field[i].checked == false) { allchecked = false; } } document.jd.checkallbox.checked = allchecked; } else { document.jd.checkallbox.checked = field.checked; } } } function adderSubmit(field) { if (field.value=="add") { field.form.action="index.tmpl"; } submitForm('jdForm',field.form.action,'do','Submit') } function validateandsubmit(msg,jdForm,dest,val) { /* msg anzeigen und bei nein wird vom button der value gelöscht, bei ja zu dest submited*/ conf=window.confirm(msg); if (conf == true) { submitForm(jdForm, dest, "do", val); } } /* * submit the form to the dest with the val as do-Action */ function submitForm(jdForm, dest, fieldname, val) { var hfield = document.createElement("input"); hfield.type = "hidden"; hfield.name = fieldname; hfield.value = val; var formular = document.getElementById(jdForm); formular.insertBefore(hfield,formular.firstChild); formular.action=dest; formular.submit(); } /* * Switch between Auto-Reconnect on/off */ function switchAutoReconnect(jdForm, dest, currentStatus) { var newChecked = (currentStatus=='checked')? false : true; document.getElementById('autoreconnect').checked = newChecked; submitForm(jdForm, dest, 'do', 'submit'); } function clean(whattoclean) { /*delete the value of whattoclean if it was already cleaned nothin happens*/ if (alreadyCleaned==false) { whattoclean.value=""; alreadyCleaned = true; } } function forwardto(wohin) { /*zu seite 'wohin' weiterleiten*/ window.location.replace( wohin ); } function startPageReload(interval) { if (interval != 0) { setTimeout("reloadPage()", interval*1000); } } function reloadPage() { if (autoPageReloadActive==true) { //save coordinates of visible area in a cookie var cookieExpire = new Date(new Date().getTime() + 365*24*60*60*1000).toGMTString(); var diffY, diffX; if (IE) { diffY = document.documentElement.scrollTop; diffX = document.documentElement.scrollLeft; } else { diffY = window.pageYOffset; diffX = window.pageXOffset; } document.cookie = "scroll="+diffX+":"+diffY+";expires="+cookieExpire; //reload window.location.replace( window.location ); } } function countdown(sec, eid) { document.getElementById(eid).innerHTML = sec; if (sec > 0) { setTimeout("countdown("+(sec-1)+", '"+eid+"')", 1000); } else { forwardto('index.tmpl') } } function formElementChanged() { //deactivateAutoPageReload autoPageReloadActive=false; var notify = document.getElementById('deactivatedAutoReload'); if (notify != null) { notify.style.display = "block"; } } /*popup code*/ var pop = null; function popup(obj,w,h) { var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href; if (!url) return true; w = (w) ? w += 20 : 150; // 150px*150px is the default size h = (h) ? h += 25 : 150; var args = 'width='+w+',height='+h+',resizable,scrollbars'; //var args = 'width='+w+',height='+h+',resizable,scrollbars,location,menubar,status'; popdown(); pop = window.open(url,'',args); return (pop) ? false : true; } function popdown() { if (pop && !pop.closed) pop.close(); } function resizeInfoWindow(tableid, currWidth) { var table = document.getElementById(tableid); var newheight = table.getElementsByTagName('tr').length * 20 + 75; var maxheight = screen.availHeight; newheight = (newheight > maxheight)? maxheight : newheight; window.resizeTo(currWidth, newheight); } //window.onunload = popdown; //window.onfocus = popdown; function allowChars(id, chars) { var obj = document.getElementById(id); if(obj.type == "text" || obj.type == "textarea") { obj.timer = ""; obj.chars = chars; controllFunc = function() { //var self = this; var self = obj; controll = function() { //check each char for(var t='',x=0; x-1) { t += self.value.charAt(x); } } self.value = t; }; self.timer = setTimeout(controll,1); }; clearFunc = function() { clearTimeout(this.timer); }; // add EventListener if (obj.addEventListener) { obj.addEventListener ("keypress", controllFunc, false); obj.addEventListener ("keydown", controllFunc, false); obj.addEventListener ("keyup", clearFunc, false); } else if (obj.attachEvent) { // IE obj.attachEvent("onkeypress", controllFunc); obj.attachEvent("onkeydown", controllFunc); obj.attachEvent("onkeyup", clearFunc); } } } function closeMessage() { var msg = document.getElementById("message_show"); msg.id = "message_hide"; } /********************* * ProgressBars *********************/ //for running downloads function setProgressBarsColors(oldColor, newColor) { //accept only color-values in hex (6 digits) if (oldColor.length != 6 || newColor.length != 6 || isNaN(parseInt("0x"+oldColor) || isNan(parseInt("0x"+newColor)))) { return; } var rOld = parseInt("0x"+oldColor.substr(0,2)); var gOld = parseInt("0x"+oldColor.substr(2,2)); var bOld = parseInt("0x"+oldColor.substr(4,2)); var rNew = parseInt("0x"+newColor.substr(0,2)); var gNew = parseInt("0x"+newColor.substr(2,2)); var bNew = parseInt("0x"+newColor.substr(4,2)); var rStep = (rNew - rOld)/100; var gStep = (gNew - gOld)/100; var bStep = (bNew - bOld)/100; var nextPackage = 0; // for all packages incl downloads while (true) { var nextDownload = 0; var pack = document.getElementById(nextPackage); //got all packages incl all dls? if (pack == null) break; //package-color pack.style.backgroundColor = "#" + getProgressBarColor(rOld, gOld, bOld, rStep, gStep, bStep, parseInt(pack.style.width)); //dls in this package while (true) { var dl = document.getElementById(nextPackage + "_" + nextDownload); //got all dls in this package? if (dl == null) break; //download-color dl.style.backgroundColor = "#" + getProgressBarColor(rOld, gOld, bOld, rStep, gStep, bStep, parseInt(dl.style.width)); nextDownload++; } nextPackage++; } } function getProgressBarColor(rOld, gOld, bOld, rStep, gStep, bStep, progress) { var rNew = rOld + rStep*progress; var gNew = gOld + gStep*progress; var bNew = bOld + bStep*progress; rNew = (rNew>255)? 255 : rNew; gNew = (gNew>255)? 255 : gNew; bNew = (bNew>255)? 255 : bNew; rNew = (rNew<0)? 0 : rNew; gNew = (gNew<0)? 0 : gNew; bNew = (bNew<0)? 0 : bNew; return intToHex(rNew)+intToHex(gNew)+intToHex(bNew); } function intToHex(int) { var chars = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); var hex = ""; var temp = parseInt(int); while (temp > 0) { hex = chars[temp % 16] + hex; temp = parseInt(temp / 16) } if (hex.length == 0) hex = "00"; if (hex.length % 2 != 0) hex = "0"+hex; return hex; }