function NiftyCheck() {
  if(!document.getElementById || !document.createElement) {
    return false;
  }
  var b = navigator.userAgent.toLowerCase();
  if (b.indexOf("msie 5") > 0 && b.indexOf("opera") == -1) {
    return false;
  }
  return true;
}



function getstyle(elem, prop) {
	if(document.defaultView){
		return document.defaultView.getComputedStyle(elem, null).getPropertyValue(prop);
	}
	else if(elem.currentStyle) {
		var prop = prop.replace(/-(\w)/gi, function($0,$1) {
				//return $0.charAt($0.length - 1).toUpperCase();
				return $1.toUpperCase();
		});
		return elem.currentStyle[prop];
	}
	else return null;
}


function pgcorner() {

this.style = {
backgroundColor:"#cfcfcf"
};

}

pgcorner.prototype = { 

init: function(settings) {

	for(var i in settings){
	    if (typeof(this[i])=="undefined") {
	        this[i] = settings[i];
	    }
	    else
	    for(var j in settings[i]){
    	    this[i][j]=settings[i][j]; 
	     }				
	}
	
},

Rounded: function () {

  var v = getElementsBySelector(this.selector);
  var l = v.length;
  
  for (var i = 0; i < l; i++) {
    var top = this.AddTop(v[i]);  
    
    v[i].insertBefore(top, v[i].firstChild);     
    var btm = this.reverseNodes(top.cloneNode(true));   
    v[i].appendChild(btm);   
   // document.getElementById("rel").value = v[i].innerHTML;
  }  
  
},
 
removeborderbox: function() {

this.container.removeChild(this.container.firstChild);
this.container.removeChild(this.container.lastChild)
}, 
 AddTop: function (el) {
 
	var r= this.radius;
    var color0 =  getstyle(el, "background-color");
    var p = el.parentNode;
    
    do {
    var bk0 =  getstyle(p, "background-color");
    var p = p.parentNode;
   } while(bk0=="transparent")
    var cl1 = new RGBColor(color0);
   // if (color.ok) { 
     //          kg = color.toHex();
                      
                        
       //      }	
     if (cl1.ok) {
    var color = cl1.toHex();
//alert(color)
}else{

//alert(color0)
$("rd").innerHTML += color0
}
    var cl2 = new RGBColor(bk0);
    
   var bk = cl2.toHex();
   //alert(bk)
   //bk="#ffffff";
   //color="#ff0000"
    
  var d = document.createElement("div");
  d.style.backgroundColor = bk;
  var lastarc = 0;

  for (var i = 1; i <= r; i++) {
    var coverage, arc2, arc3;  
    var arc = Math.sqrt((2*r-i)*i);      
    var n_bg = parseInt(r -arc);
    var n_fg = parseInt(lastarc);
    var n_aa =Math.ceil(arc) - parseInt(lastarc);        
    var y = d;
    var cell = this.divcell();
    var x = cell.cloneNode(false);
    x.style.margin = "0px " + n_bg +"px";
  
    for (var j = 1; j <= n_aa; j++) {
      
      if (j == 1) {
        if (j == n_aa) {          
          coverage = ((arc + lastarc) * .5) - parseInt(lastarc);
        }
        else {
          arc2 = Math.sqrt((n_bg+1)*(2*r-(n_bg+1)));
          coverage = (arc2 - (r - i))  * .5;
        }
      }
      else if (j == n_aa) {        
        arc2 = Math.sqrt((n_bg+j-1)*(2*r-n_bg-j+1))
        coverage = 1.0 - (1.0 - (arc2 - (r - i))) * .5;
      }
      else {        
        arc3 = Math.sqrt((n_bg+j)*(2*r-n_bg-j));
        arc2 = Math.sqrt((n_bg + j - 1)*(2*r - n_bg - j + 1))
        coverage = ((arc2 + arc3) * .5) - (r - i);
      }
      
      x.style.backgroundColor = Blend(bk, color, coverage);      
      y.appendChild(x);
      y = x;
      
	  var x = cell.cloneNode(false);
    }
    
    x.style.backgroundColor = color;
    y.appendChild(x);
    
    lastarc = arc;
  }  
  return d;
},

divcell: function() {
    var x = document.createElement("div");
    x.style.height= "1px";
    x.style.overflow = "hidden";
    x.style.margin = "0px 1px";
    return x;
},
reverseNodes: function  (n) { 
     
	var kids = n.childNodes;       
    var rekids = n.cloneNode(false);
    var numkids = kids.length;
    for(var i = numkids-1; i >= 0; i--) {           
       rekids.appendChild(kids[i]);           
    }
    return rekids;
  } 
  
}

function Blend(a, b, alpha) {
  var ca = Array(
    parseInt('0x' + a.substring(1, 3)), 
    parseInt('0x' + a.substring(3, 5)), 
    parseInt('0x' + a.substring(5, 7))
  );
  var cb = Array(
    parseInt('0x' + b.substring(1, 3)), 
    parseInt('0x' + b.substring(3, 5)), 
    parseInt('0x' + b.substring(5, 7))
  );
  r = '0' + Math.round(ca[0] + (cb[0] - ca[0])*alpha).toString(16);
  g = '0' + Math.round(ca[1] + (cb[1] - ca[1])*alpha).toString(16);
  b = '0' + Math.round(ca[2] + (cb[2] - ca[2])*alpha).toString(16);
  return '#'
    + r.substring(r.length - 2)
    + g.substring(g.length - 2)
    + b.substring(b.length - 2);
}


function getElementsByClassName(className, tag, elm){
 var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
 var tag = tag || "*";
 var elm = elm || document;
 var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
 var returnElements = [];
 var current;
 var length = elements.length;
 for(var i=0; i<length; i++){
  current = elements[i];
  if(testClass.test(current.className)){
   returnElements.push(current);
  }
 }
 return returnElements;
}


function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}


function getElementsBySelector(selector) {
  var i;
  var s = [];
  var selid = "";
  var selclass = "";
  var tag = selector;
  var objlist = [];
  if (selector.indexOf(" ") > 0) {  //descendant selector like "tag#id tag"
    s = selector.split(" ");
    var fs = s[0].split("#");
    if (fs.length == 1) {
      return objlist;
    }
    return document.getElementById(fs[1]).getElementsByTagName(s[1]);
  }
  if (selector.indexOf("#") > 0) { //id selector like "tag#id"
    s = selector.split("#");
    tag = s[0];
    selid = s[1];
  }
  if (selid != "") {
    objlist.push(document.getElementById(selid));
    return objlist;
  }
  if (selector.indexOf(".") > 0) {  //class selector like "tag.class"
    s = selector.split(".");
    tag = s[0];
    selclass = s[1];
  }
  var v = document.getElementsByTagName(tag);  // tag selector like "tag"
  if (selclass == "") {
    return v;
  }
  for (i = 0; i < v.length; i++) {
    if (v[i].className == selclass) {
      objlist.push(v[i]);
    }
  }
  return objlist;
}

function RGBColor(color_string) {
    this.ok = false;
    if (color_string.charAt(0) == '#') {
        color_string = color_string.substr(1, 6);
    }
    color_string = color_string.replace(/ /g, '');
    color_string = color_string.toLowerCase();
    var color_defs = [{
        //re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
                    re: /^rgb\((1[0-9]{2}|25[0-5]|2[0-4]\d|\d{1,2}),(1[0-9]{2}|25[0-5]|2[0-4]\d|\d{1,2}),(1[0-9]{2}|25[0-5]|2[0-4]\d|\d{1,2})\)$/,

        example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],
        process: function(bits) {
            return [parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3])];
        }
    },
    {
        re: /^(\w{2})(\w{2})(\w{2})$/,
        example: ['#00ff00', '336699'],
        process: function(bits) {
            return [parseInt(bits[1], 16), parseInt(bits[2], 16), parseInt(bits[3], 16)];
        }
    },
    {
        re: /^(\w{1})(\w{1})(\w{1})$/,
        example: ['#fb0', 'f0f'],
        process: function(bits) {
            return [parseInt(bits[1] + bits[1], 16), parseInt(bits[2] + bits[2], 16), parseInt(bits[3] + bits[3], 16)];
        }
    }];
    for (var i = 0; i < color_defs.length; i++) {
        var re = color_defs[i].re;
        var processor = color_defs[i].process;
        var bits = re.exec(color_string);
        if (bits) {
            channels = processor(bits);
            this.r = channels[0];
            this.g = channels[1];
            this.b = channels[2];
            this.ok = true;
        }
    }
  
    this.r = (this.r < 0 || isNaN(this.r)) ? 0: ((this.r > 255) ? 255: this.r);
    this.g = (this.g < 0 || isNaN(this.g)) ? 0: ((this.g > 255) ? 255: this.g);
    this.b = (this.b < 0 || isNaN(this.b)) ? 0: ((this.b > 255) ? 255: this.b);
    this.toRGB = function() {
        return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';
    }
    this.toHex = function() {
        var r = this.r.toString(16);
        var g = this.g.toString(16);
        var b = this.b.toString(16);
        if (r.length == 1) r = '0' + r;
        if (g.length == 1) g = '0' + g;
        if (b.length == 1) b = '0' + b;
        return '#' + r + g + b;
    }
}
function socialbkmk() {
var u = location.href;
var t = document.title;
location.href = 'http://www.pagecolumn.com/social_bookmark2.htm?pgcoluu='+u+'&pgcoltt='+t;
}