////////////////////////////////////////

function fulltime() {
var time=new Date();
var month = new Array(13);
month[1] = "Jan";
month[2] = "Feb";
month[3] = "Mar";
month[4] = "Apr";
month[5] = "May";
month[6] = "Jun";
month[7] = "Jul";
month[8] = "Aug";
month[9] = "Sep";
month[10] = "Oct";
month[11] = "Nov";
month[12] = "Dec";
m = time.getUTCMinutes();
h = time.getUTCHours() + parseInt(document.t.gmt.value);
if ((document.t.gmt.value*10)%10 == 5) { m = m+30; }
if (m > 59) { h = h+1;}
if (h >= 24) { h = h - 24; }
if (m < 10) {ms = "0"+m;} else {ms = m;}
if (h < 10) {hs = "0"+h;} else {hs = h;}
day = time.getUTCDate();
mon = time.getUTCMonth();
year = time.getFullYear();
document.t.time.value=hs+":"+ms;
document.d.date.value="("+day+" "+month[mon+1]+" "+year+")";
setTimeout('fulltime()',1000);
}

function highlightTableRows(tableId, hoverClass, clickClass, multiple)
{
	var table = document.getElementById(tableId);
	
	//если не был передан четвертый аргумент, то по умолчанию принимаем его как true
	if (typeof multiple == 'undefined') multiple = true;
	
	if (hoverClass)
	{
		//регулярное выражение для поиска среди значений атрибута class элемента, имени класса обеспечивающего подсветку по наведению мыши на строку.
		//Данное рег. выражение используется и в обработчике onclick
		var hoverClassReg = new RegExp("\\b"+hoverClass+"\\b");
		
		table.onmouseover = table.onmouseout = function(e)
		{
			if (!e) e = window.event;
			var elem = e.target || e.srcElement;
			while (!elem.tagName || !elem.tagName.match(/td|th|table/i)) elem = elem.parentNode;

			//Если событие связано с элементом TD или TH из раздела TBODY
			if (elem.parentNode.tagName == 'TR' && elem.parentNode.parentNode.tagName == 'TBODY')
			{
				var row = elem.parentNode;//ряд содержащий ячейку таблицы в которой произошло событие
				//Если текущий ряд не "кликнутый" ряд, то в разисимости от события либо применяем стиль, назначая класс, либо убираем.
				if (!row.getAttribute('clickedRow')) row.className = e.type=="mouseover"?row.className+" "+hoverClass:row.className.replace(hoverClassReg," ");
			}
		};
	}

	
	if (clickClass) table.onclick = function(e)
	{
		if (!e) e = window.event;
		var elem = e.target || e.srcElement;
		while (!elem.tagName || !elem.tagName.match(/td|th|table/i)) elem = elem.parentNode;

		//Если событие связано с элементом TD или TH из раздела TBODY
		if (elem.parentNode.tagName == 'TR' && elem.parentNode.parentNode.tagName == 'TBODY')
		{
			//регулярное выражение для поиска среди значений атрибута class элемента, имени класса обеспечивающего подсветку по клику на строке.
			var clickClassReg = new RegExp("\\b"+clickClass+"\\b");
			var row = elem.parentNode;//ряд содержащий ячейку таблицы в которой произошло событие
			
			//Если текущий ряд уже помечен стилем как "кликнутый"
			if (row.getAttribute('clickedRow'))
			{
				row.removeAttribute('clickedRow');//убираем флаг того что ряд "кликнут"
				row.className = row.className.replace(clickClassReg, "");//убираем стиль для выделения кликом
				row.className += " "+hoverClass;//назначаем класс для выделения строки по наведею мыши, т.к. курсор мыши в данный момент на строке, а выделение по клику уже снято
			}
			else //ряд не подсвечен
			{
				//если задана подсветка по наведению на строку, то убираем её
				if (hoverClass) row.className = row.className.replace(hoverClassReg, "");
				row.className += " "+clickClass;//применяем класс подсветки по клику
				row.setAttribute('clickedRow', true);//устанавливаем флаг того, что ряд кликнут и подсвечен
				
				//если разрешена подсветка только последней кликнутой строки
				if (!multiple)
				{
					var lastRowI = table.getAttribute("lastClickedRowI");
					//Если то текущей строки была кликнута другая строка, то снимаем с неё подсветку и флаг "кликнутости"
					if (lastRowI!==null && lastRowI!=='' && row.sectionRowIndex!=lastRowI)
					{
						var lastRow = table.tBodies[0].rows[lastRowI];
						lastRow.className = lastRow.className.replace(clickClassReg, "");//снимаем подсветку с предыдущей кликнутой строки
						lastRow.removeAttribute('clickedRow');//удаляем флаг "кликнутости" с предыдущей кликнутой строки
					}
				}
				//запоминаем индекс последнего кликнутого ряда
				table.setAttribute("lastClickedRowI", row.sectionRowIndex);
			}
		}
	};
}

// Показ меню
function ShowMenu()
{
document.getElementById(ShowMenu.arguments[0]).style.display = "block";
}
function HideMenu()
{
document.getElementById(HideMenu.arguments[0]).style.display = "none";
}

// Выделение всех чекбоксов заданной группы

function checkitall(el){
    var cntr=document.getElementsByTagName('input');
    for(var i=0;i<cntr.length;i++){
        if(cntr[i].id !=el.id) {
            if(cntr[i].getAttribute('type')=='checkbox') {
                cntr[i].checked=el.checked
            }
        }
    }
}

// Инвентирование всех чербоксов

function revitall(id){
    var cntr=document.getElementsByTagName('input');
    for(var i=0;i<cntr.length;i++){
		if(cntr[i].id == 'box') {
            if(cntr[i].getAttribute('type')=='checkbox') {
                cntr[i].checked=false;
            }
        } 
        if(cntr[i].id == id) {
            if(cntr[i].getAttribute('type')=='checkbox') {
                cntr[i].checked=!cntr[i].checked;
            }
        }
    }
}

// Загрузка изображения
function LoadImage()
{
document[LoadImage.arguments[0]].src = LoadImage.arguments[1];
}
// Задание прозрачности
function setOpacity() 
{
    document.getElementById(setOpacity.arguments[0]).style.filter
		= 'alpha(opacity=' + setOpacity.arguments[1]*10 + ')';
	document.getElementById(setOpacity.arguments[0]).style[getOpacityProperty()] 
		= setOpacity.arguments[1]/10;
}
// Получение прозрачности
function getOpacityProperty()
{
if (typeof document.body.style.opacity == 'string') // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9, IE7)
return 'opacity';
else if (typeof document.body.style.MozOpacity == 'string') // Mozilla 1.6 и младше, Firefox 0.8 
return 'MozOpacity';
else if (typeof document.body.style.KhtmlOpacity == 'string') // Konqueror 3.1, Safari 1.1
return 'KhtmlOpacity';
else if (document.body.filters && navigator.appVersion.match(/MSIE ([d.]+);/)>=5.5) // Internet Exploder 5.5+
return 'filter';

return 'opacity'; //нет прозрачности
}

function getcoords(element) {
    var left = element.offsetLeft;
    var top = element.offsetTop;
    for (var parent = element.offsetParent; parent; parent = parent.offsetParent) {
        left += parent.offsetLeft - parent.scrollLeft;
        top += parent.offsetTop - parent.scrollTop
    }
    return {
    	left: left,
    	top: top,
    	width: element.offsetWidth,
    	height: element.offsetHeight
    };
}

function showdiv(butID,divID) {
    var div = document.getElementById(divID);
	if ('none' != div.style.display) {
        div.style.display = 'none';
        return false;
    }
    var coords = getcoords(document.getElementById(butID));
    div.style.left = coords['left'] + 'px';
    div.style.top = coords['top'] + coords['height'] + 'px';
    ShowMenu(divID);
    return false;
}

function hidediv(divID) {
    HideMenu(divID);
    return false;
}
