var oCurrentSelected;

function fmh(o) {
	if(oCurrentSelected != o) o.className = 'Selected'
}

function fmn(o) {
	if(oCurrentSelected != o) o.className = '';
}

dom = (document.getElementById)? true : false;
nn4 = (document.layers)? true : false;
nn6 = (!ie && document.getElementById)? true : false;
var ie = (document.all)? true : false;
ie4 = (document.all && !dom)? true : false;

if (dom || ie4) {
	document.writeln('<style type="text/css">');
	document.writeln('.treeElem \{ display: none; \}');
	document.writeln('</style>');
}

function submit_form(published) {
	var frm = document.forms['modifi'];
	if (published) frm['is_published'].value = published;
	frm.submit();
	return true;
}

tdItems = new Array();

function chElem(elemId) {
	if(!tdItems[elemId]) tdItems[elemId] = 'false';
	if(tdItems[elemId] == 'true'){ removeElem(elemId); tdItems[elemId]='false'; document.all('i'+elemId).src='/engine/off-line/i/i-plus.gif'; }
		else{ putElem(elemId); tdItems[elemId]='true'; document.all('i'+elemId).src='/engine/off-line/i/i-minus.gif'; }
}

function putElem(elemId) {
	if (dom) document.getElementById(elemId).style.display = "block";
		else if (ie4) document.all[elemId].style.display = "block";
			else alert('Ваш браузер не поддерживает свойсво display для элемента: '+elemId)
}

function removeElem(elemId) {
	if (dom) document.getElementById(elemId).style.display = "none";
		else if (ie4) document.all[elemId].style.display = "none";
			else alert('Ваш браузер не поддерживает свойсво display для элемента: '+elemId)
}

function popupWin(name, uri, wdt, hgt) {
	var posCode = ''
	if (nn4 || nn6 || ie) {
		if ( (screen.height < 481) && (hgt > 400) ) { hgt = 400 }
		posX = Math.round((screen.width - wdt) / 2)
		posY = Math.round((screen.height - hgt) / 2)
		posCode = (nn4 || nn6)? ",screenX="+posX+",screenY="+posY : ",left="+posX+",top="+posY
	}
	popupedWin = window.open(uri, name, "status=yes,menubar=yes,toolbar=no,resizable=yes,scrollbars=yes,location=no,width="+wdt+",height="+hgt+posCode)
	popupedWin.focus()
}

var saveSrc = null;

function showType(src) {
	if(saveSrc) {
		saveSrc.style.display = 'none';
	}
	saveSrc = document.getElementById('type_' + src);
	saveSrc.style.display = 'block';
}
function initType(src) {
	var dst=src-1;
	saveSrc = document.getElementById('type_' + dst);
	saveSrc.style.display = 'block';
}




var illLargeCurrent = null;
var illLargeNew = null;

function showIllustration(illId) {
	illLargeNew = document.getElementById('ill-large-' + illId);
	if(illLargeNew != illLargeCurrent) {
		if(illLargeCurrent) {
			illLargeCurrent.style.display = 'none';
		}
		if(illLargeNew) {
			illLargeNew.style.display = 'block';
			illLargeCurrent = illLargeNew;
		}
	}
}

function closeIllustration(illId) {
	illLargeCurrent = document.getElementById('ill-large-' + illId);
	illLargeCurrent.style.display = 'none';
	illLargeCurrent = null;
}


function addEvent(objElement, strEventType, ptrEventFunc) {
	if (objElement.addEventListener) objElement.addEventListener(strEventType, ptrEventFunc, false);
		else if (objElement.attachEvent) objElement.attachEvent('on' + strEventType, ptrEventFunc);
}

function removeEvent(objElement, strEventType, ptrEventFunc) {
	if (objElement.removeEventListener) objElement.removeEventListener(strEventType, ptrEventFunc, false);
		else if (objElement.detachEvent) objElement.detachEvent('on' + strEventType, ptrEventFunc);
}

function matchClass(element, className) {
	return element.className.match(new RegExp('(^|\\s+)' + className + '($|\\s+)'));		
}

function addClass(element, className) {
	if(!matchClass(element, className)) {
		element.className += ' ' + className;
	}
}

function removeClass(element, className) {
	element.className = element.className.replace(new RegExp('(.*)(^|\\s+)(' + className + ')($|\\s+)(.*)'), '$1$4$5').replace(/(^)\s/, '$1');	
}

function replaceClass(element, oldClassName, newClassName) {
	element.className = element.className.replace(new RegExp('(.*)(^|\\s+)(' + oldClassName + ')($|\\s+)(.*)'), '$1$2' + newClassName + '$4$5');
}

function getPageY( oElement ) {
	var iPosY = oElement.offsetTop;
	while ( oElement.offsetParent != null ) {
		oElement = oElement.offsetParent;
		iPosY += oElement.offsetTop;
		if (oElement.tagName == 'BODY') break;
	}
	return iPosY;
}

function getPageX( oElement ) {
	var iPosX = oElement.offsetLeft;
	while ( oElement.offsetParent != null ) {
		oElement = oElement.offsetParent;
		iPosX += oElement.offsetLeft;
		if (oElement.tagName == 'BODY') break;
	}
	return iPosX;
}

function getPositionedEventCoord(evt) {
	var elem = evt.target ? evt.target : evt.srcElement;
	var coords = {left: 0, top: 0};
	if(evt.offsetX) {
		coords.left = evt.offsetX;
		coords.top = evt.offsetY;
	} else if(evt.layerX) {
		coords.left = evt.layerX;
		coords.top = evt.layerY;
	}
	evt.cancelBubble = true;
	return coords;
}

