var __USE_IE_POSITIONING_HACK__ = false;

function initFMCorners(className, imgSrc, w, h, $extra) {
  if (__USE_IE_POSITIONING_HACK__ ) return; // turn off
  var all = document.getElementsByTagName("*");
  var nots ="";
  var dos = new Array();
  for (ii in all) {
    if (all[ii].className == undefined) continue;
    if (all[ii].className != '')  nots += all[ii].className+' '+className+' '+(all[ii].className.lastIndexOf(className) == -1)+"\n";
    if (all[ii].className.lastIndexOf(className) == -1) continue;
    dos.push(all[ii]); 
  }
  for (ii=0; ii<dos.length; ii++) {
    applyFMCorners(dos[ii], imgSrc, w, h, $extra);
  }
  
  
}



function applyFMCorners(elm, imgSrc, w, h, $extra) {
   if (__USE_IE_POSITIONING_HACK__ ) return; // turn off
  $extra = ($extra == undefined) ? '' : $extra;



  // marginOffset can be use to padd the absolute position of the corners.
  var marginOffset = ($extra['marginOffset'] != undefined) ? 1*$extra['marginOffset'] : 0;
  var marginOffsetX = ($extra['marginOffsetX'] != undefined) ? 1*$extra['marginOffsetX'] : marginOffset;
  var marginOffsetY = ($extra['marginOffsetY'] != undefined) ? 1*$extra['marginOffsetY'] : marginOffset;
  
  var zIndex = ($extra['zIndex'] != undefined) ? 1*$extra['zIndex'] : 1;
  var extraClass = ($extra['extraClass'] != undefined) ? $extra['extraClass'] : 'FMCORNER-'; 
  elm.style.position = (elm.style.position == '') ? 'relative' : elm.style.position;
  
  var $ = {
    name:  ['tl', 'tr', 'bl', 'br'],
    hPos:  ['left', 'right', 'left', 'right'],
    vPos:  ['top', 'top', 'bottom', 'bottom'],
    hMarg: ['marginLeft', 'marginRight', 'marginLeft', 'marginRight'],
    vMarg: ['marginTop', 'marginTop', 'marginBottom', 'marginBottom']
  };

  var div,img;
  for (var ii=0; ii<4; ii++) {
  
    div = document.createElement("div");
    div.className = extraClass+$.name[ii];
    div.style.overflow = 'hidden';
    div.style['position'] = 'absolute';
    
    if (__USE_IE_POSITIONING_HACK__ && $.hPos[ii] == 'right') {
     div.className=div.className+' IEHACK_absRight';
    } else {
      div.style[$.hPos[ii]] = '0px';
    }
    
    if (__USE_IE_POSITIONING_HACK__ && $.vPos[ii] == 'bottom') {
      div.className=div.className+' IEHACK_absBottom';
    } else {
      div.style[$.vPos[ii]] = '0px';
    }

       
    div.style[$.hMarg[ii]] = (0+marginOffsetX)+'px';
    div.style[$.vMarg[ii]] = (0+marginOffsetY)+'px';
    
    div.style.width = w/2+'px';
    div.style.height = h/2+'px';
    div.style['zIndex'] = (0+zIndex);
    
    img = document.createElement("img");    
    img.setAttribute("src", imgSrc);
    img.style.position = "absolute";

    img.style[$.hMarg[ii]] = w/-2+'px';
    img.style[$.vMarg[ii]] = h/-2+'px';
    img.style.top = 0;
    img.style.left = 0;

    div.appendChild(img);
    elm.appendChild(div);
  
  }

}

