<!--

/*
//*******
//  filename: element_corners.js
//  author:   Zack Brown
//  date:     23rd April 2007
//  comments:
//
//	Javascript functions for adding rounded corners to html elements.
//	
//	There are three available functions namely, 'AllCorners()', 
//  'TopCorners()' and 'BottomCorners()' which each require 3 parameters;
//  'element id/class name', 'foreground color #hex', 'background color #hex'
//  a la:
//
//  AllCorners('div.name_of_given_class_of_element', '#FFFFFF', '#000000');
//  TopCorners('div#name_of_given_id_of_element', '#000000', '#FFFFFF');
//  BottomCorners('div.name_of_given_class_of_element', '#FFFFFF', '#000000', true);
//
//  An additional fourth parameter may be used to invert the direction of given
//  corners, as seen in the last example above. The final parameter, if supplied, 
//  must be a bool value of 'true' to invert the direction of the required corners.
*/

function ElementCorners()
{ 
  if(!document.getElementById || !document.createElement)
  {
    return(false);
  }
   
  var tBrowser = navigator.userAgent.toLowerCase();
  
  if(tBrowser.indexOf('msie 5') > 0 && tBrowser.indexOf('opera') == -1)
  {
    return(false);
  }
  
  return(true);
}

function AllCorners(pTarget, pFrontColor, pBackColor, pInvert)
{
  var tI = 0;
  var tElements = GetElementsByTarget(pTarget);
  var tLength = tElements.length;
  
  while(tI < tLength)
  {
    AddTop(tElements[tI], pFrontColor, pBackColor, pInvert);
    AddBottom(tElements[tI], pFrontColor, pBackColor, pInvert);
    tI++;
  }
}

function TopCorners(pTarget, pFrontColor, pBackColor, pInvert)
{
  var tI = 0;
  var tElements = GetElementsByTarget(pTarget);
  var tLength = tElements.length;
  
  while(tI < tLength)
  {
    AddTop(tElements[tI], pFrontColor, pBackColor, pInvert);
    tI++;
  }
}

function BottomCorners(pTarget, pFrontColor, pBackColor, pInvert)
{
  var tI = 0;
  var tElements = GetElementsByTarget(pTarget);
  var tLength = tElements.length;
  
  while(tI < tLength)
  {
    AddBottom(tElements[tI], pFrontColor, pBackColor, pInvert);
    tI++;
  }
}

function AddTop(pElement, pFrontColor, pBackColor, pInvert)
{
  var tDiv = document.createElement('div');
  var tClassName = 'corner_';
  var tLimit = 5;
  
  tDiv.className = 'top_corner';
  tDiv.style.backgroundColor = pBackColor;
  
  if(pInvert)
  {
    var tI = tLimit;
    
    while(tI >= 1)
    {
      var tTemp = document.createElement('div');
      tTemp.className = tClassName + tI;
      tTemp.style.backgroundColor = pFrontColor;
      tDiv.appendChild(tTemp);
      tI--;
    }
  }
  else
  {
    var tI = 1;
    
    while(tI <= tLimit)
    {
      var tTemp = document.createElement('div');
      tTemp.className = tClassName + tI;
      tTemp.style.backgroundColor = pFrontColor;
      tDiv.appendChild(tTemp);
      tI++;
    }
  }
  
  pElement.insertBefore(tDiv, pElement.firstChild);
}

function AddBottom(pElement, pFrontColor, pBackColor, pInvert)
{
  var tDiv = document.createElement('div');
  var tClassName = 'corner_';
  var tLimit = 5;
  
  tDiv.className = 'bottom_corner';
  tDiv.style.backgroundColor = pBackColor;
  
  if(pInvert)
  {
    var tI = 1;
    
    while(tI <= tLimit)
    {
      var tTemp = document.createElement('div');
      tTemp.className = tClassName + tI;
      tTemp.style.backgroundColor = pFrontColor;
      tDiv.appendChild(tTemp);
      tI++;
    }
  }
  else
  {
    var tI = tLimit;
    
    while(tI >= 1)
    {
      var tTemp = document.createElement('div');
      tTemp.className = tClassName + tI;
      tTemp.style.backgroundColor = pFrontColor;
      tDiv.appendChild(tTemp);
      tI--;
    }
  }
  
  pElement.appendChild(tDiv, pElement.firstChild);
}

function GetElementsByTarget(pTarget)
{
  var tI = 0;
  var tSplit = [];
  var tTargetID = '';
  var tTargetClass = '';
  var tTag = pTarget;
  var tObjects = [];
  
  if(pTarget.indexOf('#') > 0)
  {
    tSplit = pTarget.split('#');
    tTag = tSplit[0];
    tTargetID = tSplit[1];
  }
  
  if(tTargetID != '')
  {
    tObjects.push(document.getElementById(tTargetID));
    return(tObjects);
  }
  
  if(pTarget.indexOf('.') > 0)
  {
    tSplit = pTarget.split('.');
    tTag = tSplit[0];
    tTargetClass = tSplit[1];
  }
  
  var tElement = document.getElementsByTagName(tTag);
  
  if(tTargetClass == "")
  {
    return(tElement);
  }
  
  while(tI < tElement.length)
  {
    if(tElement[tI].className == tTargetClass)
    {
      tObjects.push(tElement[tI]);
    }
    tI++;
  }
  
  return(tObjects);
}



//-->
