function uiCheck()
{
	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 Rounded(selector,bk,color,size){
	var i;
	var v=getElementsBySelector(selector);
	var l=v.length;
	for(i=0;i<l;i++){
    	AddTop(v[i],bk,color,size);
    	AddBottom(v[i],bk,color,size);
    }
}

function RoundedTop(selector,bk,color,size){
	var i;
	var v=getElementsBySelector(selector);
	for(i=0;i<v.length;i++)
    	AddTop(v[i],bk,color,size);
}

function RoundedBottom(selector,bk,color,size){
	var i;
	var v=getElementsBySelector(selector);
	for(i=0;i<v.length;i++)
    	AddBottom(v[i],bk,color,size);
}

function AddTop(el,bk,color,size){
	var i;
	var d=document.createElement("b");
	var cn="r";
	var lim=4;
	if(size && size=="small"){ 
		cn="rs"; lim=2
	}
	d.className="rtop";
	d.style.backgroundColor=bk;
	for(i=1;i<=lim;i++){
	    var x=document.createElement("b");
	    x.className=cn + i;
	    x.style.backgroundColor=color;
	    d.appendChild(x);
	}
	el.insertBefore(d,el.firstChild);
}

function AddBottom(el,bk,color,size){
	var i;
	var d=document.createElement("b");
	var cn="r";
	var lim=4;
	if(size && size=="small"){ cn="rs"; lim=2}
	d.className="rbottom";
	d.style.backgroundColor=bk;
	for(i=lim;i>0;i--){
	    var x=document.createElement("b");
	    x.className=cn + i;
	    x.style.backgroundColor=color;
	    d.appendChild(x);
	    }
	el.appendChild(d,el.firstChild);
}

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 tooltip_findAbsolutePosX(object) 
{
  var posX = 0;
  if (object.offsetParent) {
    while (object.offsetParent) {
            posX += object.offsetLeft
            object = object.offsetParent;
        }
    }
    else if (object.x)
        posX += object.x;
    return posX;
}


function tooltip_findAbsolutePosY(object) 
{
    var posY = 0;
    if (object.offsetParent) 
    {
        while (object.offsetParent) 
        {
            posY += object.offsetTop
            object = object.offsetParent;
        }
    }
    else if (object.y)
        posY += object.y;
    return posY;
}

function tooltip_show(tooltipId, parentObject, posX, posY)
{
    var tooltipObject = document.getElementById(tooltipId);
    
    if ((tooltipObject.style.top == '' || tooltipObject.style.top == 0) 
        && (tooltipObject.style.left == '' || tooltipObject.style.left == 0))
    {
        // need to fixate default size (MSIE problem)
        tooltipObject.style.width = tooltipObject.offsetWidth + 'px';
        tooltipObject.style.height = tooltipObject.offsetHeight + 'px';
    }
        
    var x = tooltip_findAbsolutePosX(parentObject) + posX;
    var y = tooltip_findAbsolutePosY(parentObject) + posY;
    tooltipObject.style.top = y + 'px';
    tooltipObject.style.left = x + 'px';
    tooltipObject.style.visibility = 'visible'; 
}

function tooltip_hide(tooltipId)
{
    tooltipObject = document.getElementById(tooltipId); 
    tooltipObject.style.visibility = 'hidden'; 
}

function getNumberOfDays(year, month)
{
    var numberOfDays;
    if(month == 2)
    {
        if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400))))) 
        {
            numberOfDays = 29;
        }
        else
        {
            numberOfDays = 28;
        }
    }
    else if(month == 1 || month == 3  || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
    {
    	numberOfDays = 31;
    }
    else
    {
    	numberOfDays = 30;
    }
    return numberOfDays;
}

function updateDays(name)
{
    var yearObject = document.getElementsByName('year:' + name)[0];
    var monthObject = document.getElementsByName('month:' + name)[0];
    var dayObject = document.getElementsByName('day:' + name)[0];
    var year = yearObject.options[yearObject.selectedIndex].value;
    var month = monthObject.options[monthObject.selectedIndex].value;
    var numberOfDays = getNumberOfDays(year, month);
    var updateCount = 0;
    while(dayObject.options.length != numberOfDays)
    {
        var i = dayObject.options.length;
        if(dayObject.options.length < numberOfDays)
        {
            dayObject.options[i] = new Option(days_of_month[i], i+1);
    	}
    	else
    	{
    	    dayObject.remove(i-1);
    	}
    }
}