// JavaScript Document
//кодировка utf8

function bookmark(a){
	var url = window.document.location;
	var title = window.document.title;
	if (typeof window.sidebar == 'object' && typeof window.sidebar.addPanel == 'function') {
		window.sidebar.addPanel(title, url, '');
	} else if (typeof window.external == 'object') {
		window.external.AddFavorite(url, title);
	} else if (window.opera && document.createElement) {
		a.rel = 'sidebar';
		a.href = url;
		a.rel = 'sidebar';
		a.title = title;
		return true;
	} else {
		alert('Нажмите CTRL-D, чтобы добавить страницу в закладки.');
	}
	return false;
}

function setHome() {
	var elm = document.getElementById('um_setHomePage');
	if (elm) {
		elm.style.behavior = 'url(#default#homepage)';
		elm.setHomePage(window.document.location);
	}
	return false;
}

function addItemSetHome() {
	if (document.all) {
		var af = document.createElement('A');
		af.id = 'um_setHomePage';
		af.href = '.';
		af.onclick = "javascript: return bookmark(this);";
		af.innerHTML = 'Добавить в избранное';
		var ah = document.createElement('A');
		ah.id = 'um_setHomePage';
		ah.href = '#';
		ah.onclick = setHome;
		ah.innerHTML = 'Сделать стартовой';
		var elm = document.getElementById('topUserMenu');
		if (elm) {
			if (af) elm.appendChild(af);
			if (ah) {
				elm.innerHTML += ' &#160; &#8226; &#160; ';
				elm.appendChild(ah);
			}
		}
	}
}

function satOpenNewWindow(url, width, heigth, scrollbars, winName) {
	if (typeof winName == 'undefined' || !winName) winName = 'MyWinName';
	var leftPosition = (screen) ? (screen.width - width) / 2 : 20;
	var topPosition = (screen) ? (screen.height - heigth) / 2 : 20;
	var w = window.open(url ? url.toString() : "", winName, "width=" + width.toString() + ",height=" + heigth.toString() + ",resizable=yes,scrollbars=" + scrollbars + ",status=no,menubar=no,location=no,toolbar=no,left=" + leftPosition.toString() + ",top=" + topPosition.toString());
	if (w && w != 'undefined') w.focus();
}

function satOpenNewWindowDefault(url, winName) {
	if (typeof winName == 'undefined' || !winName) winName = 'DefaultWinName';
	var w = window.open(url ? url.toString() : '', winName);
	if (w && w != 'undefined') w.focus();
}

function createFormComment(comment_id, item_id, parent_id, ulogin) {
	//удаляем уже открытые формы комментария
	var fsCmms = document.getElementsByName('formComment');
	var function_return = false;
	if (fsCmms && fsCmms.length) {
		for (i = 0; i < fsCmms.length; i++) {
			if (fsCmms[i] != null && fsCmms[i] != undefined && fsCmms[i].parentNode) {
				/*if (fsCmms[i].id == 'formComment' + parent_id + comment_id + item_id) {
					function_return = true;
				} else {*/
					fsCmms[i].parentNode.removeChild(fsCmms[i]);
				//}
			}
		}
	}
	if (function_return) return;
	//создаем новую форму комментария
	if (item_id) {
		var parent = document.getElementById(parent_id);
		if (parent) {
			var commForm = document.createElement("FORM");
			commForm.action = '.';
			commForm.method = 'post';
			commForm.enctype = 'multipart/form-data';
			commForm.name = 'formComment';
			if (comment_id == '0') commForm.name += '0';
			commForm.id = 'formComment' + parent_id + comment_id + item_id;
			
			var div0 = document.createElement("DIV");
			div0.style.width = '100%';
			div0.style.margin = '0px';
			div0.style.padding = '0px 0px 2px 0px';
			div0.style.color = '#999900';
			if (comment_id == '0') {
				div0.innerHTML = 'Новый комментарий';
			} else {
				div0.innerHTML = 'Комментировать сообщение';
			}
			commForm.appendChild(div0);
			
			var div1 = document.createElement("DIV");
			div1.style.width = '100%';
			div1.innerHTML = 'Пользователь:';
			div1.style.padding = '4px 0px 2px 0px';
			commForm.appendChild(div1);
			
			var commUser = document.createElement("INPUT");
			commUser.type = 'text';
			commUser.name = 'comm_user';
			commUser.id = 'comm_user';
			if (ulogin) {
				commUser.value = ulogin;
				commUser.style.fontWeight = 'bold';
				commUser.style.border = 'none';
				commUser.style.disabled = true;
				commUser.readOnly = 'true';
				commUser.style.backgroundColor = parent.style.backgroundColor;
			} else {
				commUser.value = '';
			}
			commUser.style.width = '200px';
			commUser.onkeyup = commentEdit;
			commForm.appendChild(commUser);
			
			var div2 = document.createElement("DIV");
			div2.style.width = '100%';
			div2.innerHTML = 'Сообщение:';
			div2.style.padding = '4px 0px 2px 0px';
			commForm.appendChild(div2);
			
			var commText = document.createElement("TEXTAREA");
			commText.name = 'comm_text';
			commText.id = 'comm_text';
			commText.value = '';
			commText.rows = '5';
			commText.style.width = '80%';
			commText.onkeyup = commentEdit;
			commForm.appendChild(commText);
			
			var div3 = document.createElement("DIV");
			div3.style.width = '100%';
			div3.style.padding = '4px 0px 2px 0px';
			var commBtn = document.createElement("INPUT");
			commBtn.type = 'submit';
			commBtn.name = 'sendComment';
			commBtn.id = 'sendComment';
			commBtn.value = 'Отправить';
			commBtn.disabled = true;
			div3.appendChild(commBtn);
			commForm.appendChild(div3);
			
			var commCommId = document.createElement("INPUT");
			commCommId.type = 'hidden';
			commCommId.name = 'comm_comment_id';
			commCommId.id = 'comm_comment_id';
			commCommId.value = comment_id;
			commForm.appendChild(commCommId);
			
			var commItemId = document.createElement("INPUT");
			commItemId.type = 'hidden';
			commItemId.name = 'comm_item_id';
			commItemId.id = 'comm_item_id';
			commItemId.value = item_id;
			commForm.appendChild(commItemId);
			
			parent.appendChild(commForm);
		}
	}
}

function commentEdit() {
	var f = this.form;
	if (f != null && f != undefined) {
		var btnDsbl = false;
		for (i = 0; i < f.elements.length; i++) {
			if (!satTrim(f.elements[i].value)) btnDsbl = true;
		}
		if (f.elements[2].disabled != btnDsbl) f.elements[2].disabled = btnDsbl;
	}
}

function satTrim(str) {
	if (typeof(str) == 'string') {
		str = str.replace(/&nbsp;|&#160;/g, ' ');
		return str.replace(/(^\s+)|(\s+$)/g, '');
	} else {
		return str;
	}
}

function getElementComputedStyle(elem, prop) {
	if (typeof elem != 'object') elem = document.getElementById(elem);
	/*external stylesheet for Mozilla, Opera 7+ and Safari 1.3+*/
	if (document.defaultView && document.defaultView.getComputedStyle) {
		if (prop.match(/[A-Z]/)) prop = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
		return document.defaultView.getComputedStyle(elem, "").getPropertyValue(prop);
	}
	/*external stylesheet for Explorer and Opera 9*/
	if (elem.currentStyle) {
		var i;
		while ((i=prop.indexOf("-")) != -1) prop = prop.substr(0, i) + prop.substr(i + 1, 1).toUpperCase() + prop.substr(i + 2);
		return elem.currentStyle[prop];
	}
	return "";
}

function mouseLayerXY(e) {
	if (!e) e = window.event;
	var x = 0;
	var y = 0;
	if (!document.attachEvent && document.addEventListener) {
		x = e.layerX - parseInt(getElementComputedStyle(e.target, "border-left-width"));
		y = e.layerY - parseInt(getElementComputedStyle(e.target, "border-top-width"));
	} else if (document.attachEvent != null) {
		x = e.offsetX;
		y = e.offsetY;
	}
	var elm = (e.target) ? e.target : e.srcElement;
	return {"elm":elm, "x":x, "y":y};
}

//list of files already added
var externalFilesAdded = '';

function loadExternalJsCssFile(fileName, fileType, media) {
	if (externalFilesAdded.indexOf('[' + fileName + ']') == -1) {
		if (fileType == 'js') {
			//if fileName is a external JavaScript file
			var fileRef = document.createElement('script');
			fileRef.setAttribute('type','text/javascript');
			fileRef.setAttribute('src', fileName);
		} else if (fileType == 'css') {
			//if fileName is an external CSS file
			var fileRef = document.createElement('link');
			fileRef.setAttribute('rel', 'stylesheet');
			fileRef.setAttribute('type', 'text/css');
			fileRef.setAttribute('href', fileName);
			if (media && typeof media != 'undefined') {
				fileRef.setAttribute('media', media);
			}
		}
		if (typeof fileRef != 'undefined') {
			document.getElementsByTagName('head')[0].appendChild(fileRef);
			externalFilesAdded += '[' + fileName + ']';
		}
	}
}
