//////////////////////////////////////////////////////////
//                                                      //
// Quick Corners by James D H Turner                    //
// Loosely based on Dom Corners by Alessandro Fulciniti //
//                                                      //
//////////////////////////////////////////////////////////

function createCorner(r,i,image){ // r = radius; i = 0..3 (topleft, topright, bottomleft, bottomright); image = url of 4 corner images in a vertical stack
  var c = document.createElement('div');
  c.style.height   = r + 'px';
  c.style.fontSize = '1px'; // bodge for Internet Explorer
  if (i == 0) c.style.marginBottom = -r + 'px'; else if (i == 2) c.style.marginTop = -r + 'px';
  if (i %  2) c.style.background   = 'url(' + image + ') no-repeat 100% -' + (i * r) + 'px';
  else        c.style.background   = 'url(' + image + ') no-repeat 0    -' + (i * r) + 'px';
  return c;
}

function quickCorners(d,r,image,flags) {
// d may identify a <div> explicitly or it may be "#idName" or ".className" or simply "className"
// r     = radius
// image = url of image containing 4 corners in a vertical stack ordered as follows : top-left, top-right, bottom-left and bottom-right.
// flags = 1 : top-only
// flags = 2 : bottom-only
  if (!d) return;

  if (typeof(d) == 'string') {
    if (d.charAt(0) == '#') { quickCorners(document.getElementById(d.substring(1)),r,image,flags); return }
    else {
      if (d.charAt(0) == '.') d = d.substring(1);
      var a = document.getElementsByTagName('div');
//    var a = document.all; if (!a) a = document.getElementsByTagName('*');
//    alert(a.length);
	  for (var i = 0; i < a.length; i++) if (a[i].className == d) quickCorners(a[i],r,image,flags);
	  return;
  }}

  if (!flags) { quickCorners(d,r,image,2); quickCorners(d,r,image,1); return }

  if (flags == 1) flags = 0;

  var left  = createCorner(r,flags    ,image);
  var right = createCorner(r,flags + 1,image);
  
  d.style.padding = '0px';

  left.appendChild(right); if (flags) d.appendChild(left); else d.insertBefore(left,d.firstChild);
}

/*
function DomCheck(){
return(document.createElement && document.getElementById)
}

function getFirstElement(element) {
if (element) for (var i = 0; i < element.childNodes.length; i++) if (element.childNodes[i].nodeType == 1) return element.childNodes[i];
}
*/
