function dBox(){};
dBox.SetImagesPath = function(path){
	dBox.ImagesPath = path;
}
dBox.MakeRound     = function(div_id, fgc, bgc, afterLoad){
	if(!afterLoad){
		var ol = window.onload;
		window.onload = function(){ dBox.MakeRound(div_id, fgc, bgc, true); if(ol) ol(); }
		return;
	}

	var obj = ((typeof div_id) == 'string')?
		document.getElementById(div_id):
		div_id;
	
	if(!obj){
		alert("Object not found: "+div_id);
		return;
	}
	
	if(!bgc) bgc = dBox.GetBGColor(obj);
	if(!fgc) fgc = dBox.GetFGColor(obj);
	
	if(bgc.substr(0, 1) != '#') bgc = "#"+bgc;
	if(fgc.substr(0, 1) != '#') fgc = "#"+fgc;
	
	dBox.MakeTable(obj, bgc, fgc);
}
dBox.GetBGColor    = function(obj){
	return "FFF";
}
dBox.GetFGColor    = function(obj){
	if(document.all)
		return obj.style.backgroundColor;
	
	var str = obj.style.backgroundColor;
	str = str.substr(4, str.length-4-1);
	var col = str.split(", ");
	
	var str = "#"+
		dBox.Dec2Hex(col[0])+
		dBox.Dec2Hex(col[1])+
		dBox.Dec2Hex(col[2]);
	
	return str;
}
dBox.MakeTable     = function(obj, bgc, fgc){
	var table = document.createElement("table");
	table.cellPadding = 0;
	table.cellSpacing = 0;
	table.border = 0;
	table.style.width = obj.offsetWidth;
	
	if(obj.style.width){
		obj.style.width = parseInt(obj.style.width)-8;
	}
	if(obj.style.height){
		obj.style.height = parseInt(obj.style.height)-8;
	}
	
	var row1 = dBox.AddRow(table, 0, bgc, fgc);
	var row2 = dBox.AddRow(table, 1, bgc, fgc);
	var row3 = dBox.AddRow(table, 2, bgc, fgc);
	var bd   = row2.cells[1];
	
	if(obj.tagName.toLowerCase() == 'td'){
		var ocn = obj.className;
		var oin = obj.innerHTML;
		
		obj.className = '';
		obj.innerHTML = '';
		
		var dv = document.createElement('div');
		dv.className = ocn;;
		dv.innerHTML = oin;
		
		bd.appendChild(dv);
		obj.appendChild(table);
	}
	else{
		obj.parentNode.insertBefore(table, obj);
		bd.appendChild(obj);
	}
}
dBox.AddRow        = function(table, line, bgc, fgc){
	var row = table.insertRow(line);
	var c1 = row.insertCell(0);
	var c2 = row.insertCell(1);
	var c3 = row.insertCell(2);
	
	c1.style.background = 
	c2.style.background = 
	c3.style.background = fgc;
	
	if(line != 1){
		c1.style.width = 
		c3.style.width = 4;
		
		c1.style.fontSize = 
		c2.style.fontSize = 
		c3.style.fontSize = '1px';
		
		c2.style.background = fgc;
	}
	
	bgc = bgc.replace("#", "");
	fgc = fgc.replace("#", "");
	if(line == 0){
		c1.innerHTML = "<img src='"+dBox.ImagesPath+"dBox.Image.php/p=tl/bg="+bgc+"/fg="+fgc+"' width='4' height='4' />";
		c3.innerHTML = "<img src='"+dBox.ImagesPath+"dBox.Image.php/p=tr/bg="+bgc+"/fg="+fgc+"' width='4' height='4' />";
	}
	if(line == 2){
		c1.innerHTML = "<img src='"+dBox.ImagesPath+"dBox.Image.php/p=bl/bg="+bgc+"/fg="+fgc+"' width='4' height='4' />";
		c3.innerHTML = "<img src='"+dBox.ImagesPath+"dBox.Image.php/p=br/bg="+bgc+"/fg="+fgc+"' width='4' height='4' />";
	}
	
	return row;
}
dBox.Dec2Hex       = function(n, minsize){
    n = parseInt(n);
	var c = 'ABCDEF';
    var b = n / 16;
	var r = n % 16;
	b = b-(r/16); 
    b = ((b>=0) && (b<=9)) ? b : c.charAt(b-10);
    var ret = ((r>=0) && (r<=9)) ? b+''+r : b+''+c.charAt(r-10);
	
	if(minsize)
		while(ret.length < minsize)
			ret = "0"+ret;
	
	return ret;
}
dBox.convertClass  = function(cn, fgc, bgc){
	var divEls = document.getElementsByTagName('div');
	
	for(var i = 0; i < divEls.length; i++)
		if(divEls[i].className == cn)
			dBox.MakeRound(divEls[i], fgc, bgc);
}
