var ie4 = document.all && navigator.userAgent.indexOf("Opera")==-1;
var ns6 = document.getElementById && !document.all;
var ns4 = document.layers;


	function preloadImages(dir) {
	 	var a = new Array();
	 	a[0] = new Image(); a[0].src = dir+"files/file_add.gif";
		a[1] = new Image(); a[1].src = dir+"files/file_clear.gif";
		a[2] = new Image(); a[2].src = dir+"files/file_del.gif";
		a[3] = new Image(); a[3].src = dir+"files/file_edit.gif";
		a[4] = new Image(); a[4].src = dir+"files/file_new.gif";
	 	var b = new Array();
	 	b[0] = new Image(); b[0].src = dir+"files/sitem/doc.gif";
		b[1] = new Image(); b[1].src = dir+"files/sitem/kreuzung.gif";
		b[2] = new Image(); b[2].src = dir+"files/sitem/leer.gif";
		b[3] = new Image(); b[3].src = dir+"files/sitem/letzter.gif";
		b[4] = new Image(); b[4].src = dir+"files/sitem/linie.gif";
		b[5] = new Image(); b[5].src = dir+"files/sitem/lminus.gif";
		b[6] = new Image(); b[6].src = dir+"files/sitem/lplus.gif";
		b[7] = new Image(); b[7].src = dir+"files/sitem/minus.gif";
		b[8] = new Image(); b[8].src = dir+"files/sitem/oo.gif";
		b[9] = new Image(); b[9].src = dir+"files/sitem/ordner_auf.gif";
		b[10] = new Image(); b[10].src = dir+"files/sitem/ordner_auf_v.gif";
		b[11] = new Image(); b[11].src = dir+"files/sitem/ordner_zu.gif";
		b[12] = new Image(); b[12].src = dir+"files/sitem/ordner_zu_v.gif";
		b[13] = new Image(); b[13].src = dir+"files/sitem/plus.gif";
		b[14] = new Image(); b[14].src = dir+"files/sitem/root.gif";
		b[15] = new Image(); b[15].src = dir+"files/sitem/lkreuzungl.gif";
		b[16] = new Image(); b[16].src = dir+"files/sitem/liste.gif";
		b[17] = new Image(); b[17].src = dir+"files/sitem/kreuzungl.gif";
	}

	function hexencode(s) {
		var v = "";
		var o=0, n=0, m=0, oolen=0;
		var slen = s.length;
		for (n=0;n<slen;n++) {
			o = s.charCodeAt(n);
			oo = s.charAt(n);
			if (o>255) oo = "&#" + o + ";";
			oolen = oo.length;
			for (m=0;m<oolen;m++) {
				switch (oo.charCodeAt(m)) {
					case 0: v += '00'; break;
					case 1: v += '01'; break;
					case 2: v += '02'; break;
					case 3: v += '03'; break;
					case 4: v += '04'; break;
					case 5: v += '05'; break;
					case 6: v += '06'; break;
					case 7: v += '07'; break;
					case 8: v += '08'; break;
					case 9: v += '09'; break;
					case 10: v += '0a'; break;
					case 11: v += '0b'; break;
					case 12: v += '0c'; break;
					case 13: v += '0d'; break;
					case 14: v += '0e'; break;
					case 15: v += '0f'; break;
					case 16: v += '10'; break;
					case 17: v += '11'; break;
					case 18: v += '12'; break;
					case 19: v += '13'; break;
					case 20: v += '14'; break;
					case 21: v += '15'; break;
					case 22: v += '16'; break;
					case 23: v += '17'; break;
					case 24: v += '18'; break;
					case 25: v += '19'; break;
					case 26: v += '1a'; break;
					case 27: v += '1b'; break;
					case 28: v += '1c'; break;
					case 29: v += '1d'; break;
					case 30: v += '1e'; break;
					case 31: v += '1f'; break;
					case 32: v += '20'; break;
					case 33: v += '21'; break;
					case 34: v += '22'; break;
					case 35: v += '23'; break;
					case 36: v += '24'; break;
					case 37: v += '25'; break;
					case 38: v += '26'; break;
					case 39: v += '27'; break;
					case 40: v += '28'; break;
					case 41: v += '29'; break;
					case 42: v += '2a'; break;
					case 43: v += '2b'; break;
					case 44: v += '2c'; break;
					case 45: v += '2d'; break;
					case 46: v += '2e'; break;
					case 47: v += '2f'; break;
					case 48: v += '30'; break;
					case 49: v += '31'; break;
					case 50: v += '32'; break;
					case 51: v += '33'; break;
					case 52: v += '34'; break;
					case 53: v += '35'; break;
					case 54: v += '36'; break;
					case 55: v += '37'; break;
					case 56: v += '38'; break;
					case 57: v += '39'; break;
					case 58: v += '3a'; break;
					case 59: v += '3b'; break;
					case 60: v += '3c'; break;
					case 61: v += '3d'; break;
					case 62: v += '3e'; break;
					case 63: v += '3f'; break;
					case 64: v += '40'; break;
					case 65: v += '41'; break;
					case 66: v += '42'; break;
					case 67: v += '43'; break;
					case 68: v += '44'; break;
					case 69: v += '45'; break;
					case 70: v += '46'; break;
					case 71: v += '47'; break;
					case 72: v += '48'; break;
					case 73: v += '49'; break;
					case 74: v += '4a'; break;
					case 75: v += '4b'; break;
					case 76: v += '4c'; break;
					case 77: v += '4d'; break;
					case 78: v += '4e'; break;
					case 79: v += '4f'; break;
					case 80: v += '50'; break;
					case 81: v += '51'; break;
					case 82: v += '52'; break;
					case 83: v += '53'; break;
					case 84: v += '54'; break;
					case 85: v += '55'; break;
					case 86: v += '56'; break;
					case 87: v += '57'; break;
					case 88: v += '58'; break;
					case 89: v += '59'; break;
					case 90: v += '5a'; break;
					case 91: v += '5b'; break;
					case 92: v += '5c'; break;
					case 93: v += '5d'; break;
					case 94: v += '5e'; break;
					case 95: v += '5f'; break;
					case 96: v += '60'; break;
					case 97: v += '61'; break;
					case 98: v += '62'; break;
					case 99: v += '63'; break;
					case 100: v += '64'; break;
					case 101: v += '65'; break;
					case 102: v += '66'; break;
					case 103: v += '67'; break;
					case 104: v += '68'; break;
					case 105: v += '69'; break;
					case 106: v += '6a'; break;
					case 107: v += '6b'; break;
					case 108: v += '6c'; break;
					case 109: v += '6d'; break;
					case 110: v += '6e'; break;
					case 111: v += '6f'; break;
					case 112: v += '70'; break;
					case 113: v += '71'; break;
					case 114: v += '72'; break;
					case 115: v += '73'; break;
					case 116: v += '74'; break;
					case 117: v += '75'; break;
					case 118: v += '76'; break;
					case 119: v += '77'; break;
					case 120: v += '78'; break;
					case 121: v += '79'; break;
					case 122: v += '7a'; break;
					case 123: v += '7b'; break;
					case 124: v += '7c'; break;
					case 125: v += '7d'; break;
					case 126: v += '7e'; break;
					case 127: v += '7f'; break;
					case 128: v += '80'; break;
					case 129: v += '81'; break;
					case 130: v += '82'; break;
					case 131: v += '83'; break;
					case 132: v += '84'; break;
					case 133: v += '85'; break;
					case 134: v += '86'; break;
					case 135: v += '87'; break;
					case 136: v += '88'; break;
					case 137: v += '89'; break;
					case 138: v += '8a'; break;
					case 139: v += '8b'; break;
					case 140: v += '8c'; break;
					case 141: v += '8d'; break;
					case 142: v += '8e'; break;
					case 143: v += '8f'; break;
					case 144: v += '90'; break;
					case 145: v += '91'; break;
					case 146: v += '92'; break;
					case 147: v += '93'; break;
					case 148: v += '94'; break;
					case 149: v += '95'; break;
					case 150: v += '96'; break;
					case 151: v += '97'; break;
					case 152: v += '98'; break;
					case 153: v += '99'; break;
					case 154: v += '9a'; break;
					case 155: v += '9b'; break;
					case 156: v += '9c'; break;
					case 157: v += '9d'; break;
					case 158: v += '9e'; break;
					case 159: v += '9f'; break;
					case 160: v += 'a0'; break;
					case 161: v += 'a1'; break;
					case 162: v += 'a2'; break;
					case 163: v += 'a3'; break;
					case 164: v += 'a4'; break;
					case 165: v += 'a5'; break;
					case 166: v += 'a6'; break;
					case 167: v += 'a7'; break;
					case 168: v += 'a8'; break;
					case 169: v += 'a9'; break;
					case 170: v += 'aa'; break;
					case 171: v += 'ab'; break;
					case 172: v += 'ac'; break;
					case 173: v += 'ad'; break;
					case 174: v += 'ae'; break;
					case 175: v += 'af'; break;
					case 176: v += 'b0'; break;
					case 177: v += 'b1'; break;
					case 178: v += 'b2'; break;
					case 179: v += 'b3'; break;
					case 180: v += 'b4'; break;
					case 181: v += 'b5'; break;
					case 182: v += 'b6'; break;
					case 183: v += 'b7'; break;
					case 184: v += 'b8'; break;
					case 185: v += 'b9'; break;
					case 186: v += 'ba'; break;
					case 187: v += 'bb'; break;
					case 188: v += 'bc'; break;
					case 189: v += 'bd'; break;
					case 190: v += 'be'; break;
					case 191: v += 'bf'; break;
					case 192: v += 'c0'; break;
					case 193: v += 'c1'; break;
					case 194: v += 'c2'; break;
					case 195: v += 'c3'; break;
					case 196: v += 'c4'; break;
					case 197: v += 'c5'; break;
					case 198: v += 'c6'; break;
					case 199: v += 'c7'; break;
					case 200: v += 'c8'; break;
					case 201: v += 'c9'; break;
					case 202: v += 'ca'; break;
					case 203: v += 'cb'; break;
					case 204: v += 'cc'; break;
					case 205: v += 'cd'; break;
					case 206: v += 'ce'; break;
					case 207: v += 'cf'; break;
					case 208: v += 'd0'; break;
					case 209: v += 'd1'; break;
					case 210: v += 'd2'; break;
					case 211: v += 'd3'; break;
					case 212: v += 'd4'; break;
					case 213: v += 'd5'; break;
					case 214: v += 'd6'; break;
					case 215: v += 'd7'; break;
					case 216: v += 'd8'; break;
					case 217: v += 'd9'; break;
					case 218: v += 'da'; break;
					case 219: v += 'db'; break;
					case 220: v += 'dc'; break;
					case 221: v += 'dd'; break;
					case 222: v += 'de'; break;
					case 223: v += 'df'; break;
					case 224: v += 'e0'; break;
					case 225: v += 'e1'; break;
					case 226: v += 'e2'; break;
					case 227: v += 'e3'; break;
					case 228: v += 'e4'; break;
					case 229: v += 'e5'; break;
					case 230: v += 'e6'; break;
					case 231: v += 'e7'; break;
					case 232: v += 'e8'; break;
					case 233: v += 'e9'; break;
					case 234: v += 'ea'; break;
					case 235: v += 'eb'; break;
					case 236: v += 'ec'; break;
					case 237: v += 'ed'; break;
					case 238: v += 'ee'; break;
					case 239: v += 'ef'; break;
					case 240: v += 'f0'; break;
					case 241: v += 'f1'; break;
					case 242: v += 'f2'; break;
					case 243: v += 'f3'; break;
					case 244: v += 'f4'; break;
					case 245: v += 'f5'; break;
					case 246: v += 'f6'; break;
					case 247: v += 'f7'; break;
					case 248: v += 'f8'; break;
					case 249: v += 'f9'; break;
					case 250: v += 'fa'; break;
					case 251: v += 'fb'; break;
					case 252: v += 'fc'; break;
					case 253: v += 'fd'; break;
					case 254: v += 'fe'; break;
					case 255: v += 'ff'; break;
					default: break;
				}
			}
		}
		return v;
	}
	function hexdecode(s) {
		var ss = "";
		var md = 0;
		var cc = 0;
		var x = '';
		s = s.toUpperCase();
		for (n=0;n<s.length;n++) {
			x = s.charAt(n);
			if (md == 0) {
				switch (x) {
					case '0': cc = 0; break;
					case '1': cc = 1; break;
					case '2': cc = 2; break;
					case '3': cc = 3; break;
					case '4': cc = 4; break;
					case '5': cc = 5; break;
					case '6': cc = 6; break;
					case '7': cc = 7; break;
					case '8': cc = 8; break;
					case '9': cc = 9; break;
					case 'A': cc = 10; break;
					case 'B': cc = 11; break;
					case 'C': cc = 12; break;
					case 'D': cc = 13; break;
					case 'E': cc = 14; break;
					case 'F': cc = 15; break;
				}
			} else {
				switch (x) {
					case '0': cc = cc*16 + 0; break;
					case '1': cc = cc*16 + 1; break;
					case '2': cc = cc*16 + 2; break;
					case '3': cc = cc*16 + 3; break;
					case '4': cc = cc*16 + 4; break;
					case '5': cc = cc*16 + 5; break;
					case '6': cc = cc*16 + 6; break;
					case '7': cc = cc*16 + 7; break;
					case '8': cc = cc*16 + 8; break;
					case '9': cc = cc*16 + 9; break;
					case 'A': cc = cc*16 + 10; break;
					case 'B': cc = cc*16 + 11; break;
					case 'C': cc = cc*16 + 12; break;
					case 'D': cc = cc*16 + 13; break;
					case 'E': cc = cc*16 + 14; break;
					case 'F': cc = cc*16 + 15; break;
				}
				ss += String.fromCharCode(cc);
			}
			md = 1 - md;
		}
		return ss;
	}


function bin2hex(s) {
	return hexencode(s);
}

function check(val, obj) {
	for (var i=0; i<obj.length; i++) {
		if (obj[i].value==val) obj[i].checked = "true";
	}
}

function getBits(targ, caller, val, width, height) {
	var args = new Array();
	var arr = null;
	args["bits"] = val;
	if (screen.width<width) wx = screen.width; else wx = width;
	if (screen.height<height) wy = screen.height; else wy = height;
	px = (screen.width - wx)/2;
	py = (screen.height - wy)/2;
	if (ie4) {
	  arr = showModalDialog(targ,args,"font-family:Verdana; font-size:12;  dialogWidth:"+wx+"px; dialogHeight:"+wy+"px");
	  if (arr != null) {
    	for ( elem in arr ) {
	      if ("bits" == elem && arr["bits"] != null) {
    	    val = arr["bits"];
	      }
    	}
		caller.value = val;
	  }
  } else {
	subwnd = window.open(targ+"+NS4", "Auswahl", "dependent=yes,hotkeys=no,fullscreen=yes");
	if (subwnd != null) {
		subwnd.resizeTo(wx, wy);
		subwnd.moveTo(px, py);
		subwnd.focus();
	}
  }
}

function newFile(caller, param) {
	var args = new Array();
	var arr = null;
	var nffile = "";
	args["field"] = param;
	args["filename"] = "";
	var width = 570;
	var height = 150;
	if (screen.width<width) wx = screen.width; else wx = width;
	if (screen.height<height) wy = screen.height; else wy = height;
	px = (screen.width - wx)/2;
	py = (screen.height - wy)/2;
  arr = showModalDialog('dbv_newfile.php?'+param,args,"font-family:Verdana; font-size:12;  dialogWidth:"+wx+"px; dialogHeight:"+wy+"px");
  if (arr != null) {
    for ( elem in arr ) {
      if ("filename" == elem && arr["filename"] != null) {
        nffile = arr["filename"];
      }
    }
	if (nffile != "") {
		caller.options[caller.length] = new Option(nffile, nffile);
		caller.value = nffile;
	}
  }
}

function editFile(caller, param1, param2) {
	if (param2 != "") {
	var args = new Array();
	var arr = null;
	var width = 800;
	var height = 600;
	if (screen.width<width) wx = screen.width; else wx = width;
	if (screen.height<height) wy = screen.height; else wy = height;
	px = (screen.width - wx)/2;
	py = (screen.height - wy)/2;
    arr = showModalDialog('request.php?' + param2 + '!!' + param1,args,"font-family:Verdana; font-size:12;  dialogWidth:"+wx+"px; dialogHeight:"+wy+"px");
	}
}

function cfdel(text, link) {
	check = confirm(text);
	if (check) {
		window.location.href=link;
	}
}

function cfmarked(cform,txt,ukat,act) {
	var check = true;
	if (txt.length>0) check = confirm(txt);
	if (check) {
		cform.ukat.value = ukat;
		cform.action.value = act;
		cform.submit();
	} return false;
}

function selectmarked(cform,link,cfield,ukat) {
	vals = "";
	for (var n=0;n<cform.elements.length;n++) {
		if (cform.elements[n].name==cfield) {
			if (cform.elements[n].checked) vals += cform.elements[n].value + ";";
		}
	}
	if (vals.length>0) vals = vals.substring(0,vals.length-1);
	cform.ukat.value = ukat;
	cform.action.value = vals;
	cform.submit();
}

function cffiledel(caller, text, param1, param2) {
	if (param2 != "") {
	check = confirm(text);
	if (check) {
		var arr = null;
		var args = new Array();
		var width = 550;
		var height = 220;
		var val = "";
		if (screen.width<width) wx = screen.width; else wx = width;
		if (screen.height<height) wy = screen.height; else wy = height;
		px = (screen.width - wx)/2;
		py = (screen.height - wy)/2;
		arr = showModalDialog('request.php?' + param2 + '!!' + param1,args,"font-family:Verdana; font-size:12;  dialogWidth:"+wx+"px; dialogHeight:"+wy+"px");
  if (arr != null) {
    for ( elem in arr ) {
      if ("filename" == elem && arr["filename"] != null) {
        val = arr["filename"];
      }
    }
	if (val != "") {
		for (n=0; n<caller.length; n++) {
			if (caller.options[n].selected) caller.options[n] = null;
		}
		caller.value = "";
	}
  }
	}
	}
}

function openSubform(caller, caller2, width, height, param1, param2, param3, combotype) {
	if (param2 != "") {
	var args = new Array();
	var fvalue = "";
	var fdisplay = "";
	args["fvalue"] = "";
	args["fdisplay"] = "";
	var arr = null;
	if (screen.width<width) wx = screen.width; else wx = width;
	if (screen.height<height) wy = screen.height; else wy = height;
	px = (screen.width - wx)/2;
	py = (screen.height - wy)/2;
    arr = showModalDialog('request.php?' + param2 + '!!' + param1,args,"font-family:Verdana; font-size:12; scroll:no; dialogWidth:"+wx+"px; dialogHeight:"+wy+"px; center:yes; help:no; status:no;");
    if (arr != null) {
      for ( elem in arr ) {
        if ("fvalue" == elem && arr["fvalue"] != null) {
        	fvalue = arr["fvalue"];
        }
        if ("fdisplay" == elem && arr["fdisplay"] != null) {
        	fdisplay = arr["fdisplay"];
        }
      }
    }
	arr2 = showModalDialog('request.php?!!' + param3,args,"font-family:Verdana; font-size:12; scroll:no; dialogWidth:"+200+"px; dialogHeight:"+60+"px; center:yes; help:no; status:no;");
	}
}

function openSubform2(caller, caller2, width, height, param1, param3, combotype) {
	var args = new Array();
	var fvalue = "";
	var fdisplay = "";
	args["fvalue"] = "";
	args["fdisplay"] = "";
	var arr = null;
	if (screen.width<width) wx = screen.width; else wx = width;
	if (screen.height<height) wy = screen.height; else wy = height;
	px = (screen.width - wx)/2;
	py = (screen.height - wy)/2;
    arr = showModalDialog('request.php?!!' + param1,args,"font-family:Verdana; font-size:12; scroll:no; dialogWidth:"+wx+"px; dialogHeight:"+wy+"px; center:yes; help:no; status:no;");
    if (arr != null) {
      for ( elem in arr ) {
        if ("fvalue" == elem && arr["fvalue"] != null) {
        	fvalue = arr["fvalue"];
        }
        if ("fdisplay" == elem && arr["fdisplay"] != null) {
        	fdisplay = arr["fdisplay"];
        }
      }
  	  if (fvalue != "") {
	  	switch (combotype) {
			case 1:
				caller.value = fvalue;
				caller2.value = fdisplay;
				break;
			case 2:
		   		caller.options[caller.length] = new Option(fdisplay, fvalue);
			    caller.value = fvalue;
				break;
		}
	  }
    }
	arr2 = showModalDialog('request.php?!!' + param3,args,"font-family:Verdana; font-size:12; scroll:no; dialogWidth:"+200+"px; dialogHeight:"+60+"px; center:yes; help:no; status:no;");
}

function openSubform3(caller, caller2, width, height, param1, param3, combotype) {
	var args = new Array();
	var fvalue = "";
	var fdisplay = "";
	args["fvalue"] = "";
	args["fdisplay"] = "";
	var arr = null;
	if (screen.width<width) wx = screen.width; else wx = width;
	if (screen.height<height) wy = screen.height; else wy = height;
	px = (screen.width - wx)/2;
	py = (screen.height - wy)/2;
    arr = showModalDialog('request.php?!!' + param1,args,"font-family:Verdana; font-size:12; scroll:no; dialogWidth:"+wx+"px; dialogHeight:"+wy+"px; center:yes; help:no; status:no;");
    if (arr != null) {
      for ( elem in arr ) {
        if ("fvalue" == elem && arr["fvalue"] != null) {
        	fvalue = arr["fvalue"];
        }
        if ("fdisplay" == elem && arr["fdisplay"] != null) {
        	fdisplay = arr["fdisplay"];
        }
      }
  	  if (fvalue != "") {
	  	switch (combotype) {
			case 1:
				caller.value = fvalue;
				caller2.value = fdisplay;
				break;
			case 2:
				for (n=0; n<caller.length; n++) {
					if (caller.options[n].selected) caller.options[n].selected = false;
				}
				caller.value = fvalue;
				break;
		}
	  }
    }
	arr2 = showModalDialog('request.php?!!' + param3,args,"font-family:Verdana; font-size:12; scroll:no; dialogWidth:"+200+"px; dialogHeight:"+60+"px; center:yes; help:no; status:no;");
}

function cfcombodel(caller, caller2, text, param1, param2, param3, combotype) {
	if (param2 != "") {
	check = confirm(text);
	if (check) {
		var arr = null;
		var args = new Array();
		var width = 400;
		var height = 200;
		var fvalue = "";
		if (screen.width<width) wx = screen.width; else wx = width;
		if (screen.height<height) wy = screen.height; else wy = height;
		px = (screen.width - wx)/2;
		py = (screen.height - wy)/2;
		arr = showModalDialog('request.php?' + param2 + '!!' + param1,args,"font-family:Verdana; font-size:12; scroll:no;  dialogWidth:"+wx+"px; dialogHeight:"+wy+"px; center:yes; help:no; status:no;");
		  if (arr != null) {
		    for ( elem in arr ) {
		      if ("fvalue" == elem && arr["fvalue"] != null) {
		        fvalue = arr["fvalue"];
		      }
		    }
			if (fvalue != "") {
			  	switch (combotype) {
					case 1:
						caller.value = "";
						caller2.value = "";
						break;
					case 2:
						for (n=0; n<caller.length; n++) {
							if (caller.options[n].selected) caller.options[n] = null;
						}
						caller.value = "";
						break;
				}
			}
		  }
		arr2 = showModalDialog('request.php?!!' + param3,args,"font-family:Verdana; font-size:12; scroll:no; dialogWidth:"+200+"px; dialogHeight:"+60+"px; center:yes; help:no; status:no;");
	}
  }
}

function cfcomboclear(caller, caller2, text, combotype) {
	check = confirm(text);
	if (check) {
	  	switch (combotype) {
			case 1:
				caller.value = "";
				caller2.value = "";
				break;
			case 2:
				for (n=0; n<caller.length; n++) {
					if (caller.options[n].selected) caller.options[n] = null;
				}
				caller.value = "";
				break;
		}
	}
}

function getColor(caller,butt,val,pref,rootpath) {
  var arr = showModalDialog( rootpath+"files/toolbars/selcolor2.htm",
                             "",
                             "font-family:Verdana; font-size:12; dialogWidth:40em; dialogHeight:45em" );

  if (arr != null) {
  	if (arr.substring(0,1)=="#") arr = arr.substr(1,arr.length-1);
	caller.value = pref+arr;
	butt.style.background = "#"+arr;
  }
}

function markCheckboxes(cform,cfield,mark) {
	for (var n=0;n<cform.elements.length;n++) {
		if (cform.elements[n].name==cfield) cform.elements[n].checked=mark;
	}
}


