/**
 * 
 * @version $Id: Forum.js,v 1.1 2007/09/26 14:51:13 Andrew Exp $
 */

var xl = new XLibrary();
 
 

 
Forum = {
	d : null,
	nohide : false,
	showMenu : function(hrefObj, param, opt, blockId, position) {
		typeof(blockId) == 'undefined' ? blockId = null : true
		var d = createSuperDiv('moder_block', blockId);
		//window.status = blockId
		this.d = d
		
		// текст
		var cont = false

		if (opt == 'forum') {
			cont = '<a href="/admin/page/130/dnum/'+param+'/" onclick="Forum.checkDelete(); return false">Удалить</a><br />'+
			'<a href="/admin/page/130/'+param+'/">Редактировать</a><br />'+
			'<a href="/admin/page/130/-1/pkey/'+param+'/">Создать подфорум</a><br />'
			
		} else if (opt == 'post') {
			cont = '<a href="/forum/p/'+param+'/type/pdel" onclick="Forum.checkDelete(); return false">Удалить</a><br />'+
			'<a href="/forum/p/'+param+'/type/pedit">Редактировать</a><br />'
		
		} else if (opt == 'topic') {
			cont = '<a href="/forum/t/'+param+'/type/tdel" onclick="Forum.checkDelete(); return false">Удалить</a><br />'+
			'<a href="/admin/page/131/'+param+'/">Редактировать</a><br />'+
			'<a href="/forum/t/'+param+'/type/tmove">Переместить</a><br />'+
			'<a href="/forum/t/'+param+'/type/open">Открыть</a><br />'+
			'<a href="/forum/t/'+param+'/type/close">Закрыть</a>'		

		} else if (opt == 'user') {
			cont = '<a href="/forum/profile/user/'+param+'/">Посмотреть профиль</a><br />'+
			'<a href="/forum/search/user/'+param+'/type/user_posts">Найти все сообщения пользователя</a><br />'+
			'<a href="/forum/search/user/'+param+'/type/user_topics">Найти все темы пользователя</a><br />'+
			'<a href="/forum/stat/user/'+param+'/">Статистика пользователя</a><br />'
		}		
		cont != false ? d.innerHTML = cont : true			
		
		// положение
		var pos = xl.bounds(hrefObj)
		if (position == 'right') {
			var x = pos.x
			var y = pos.y + pos.h
			d.style.left = x+'px'
			d.style.top  = y+'px'					
		} else {
			var x = pos.x + pos.w
			var y = pos.y + pos.h
			d.style.left = x+'px'
			d.style.top  = y+'px'			
		}

		
		// события
		xl.addEvent(d, "mouseover", function() {Forum.nohide = true;})
		xl.addEvent(d, "mouseout", function() {Forum.nohide = false;})
		xl.addEvent(document.body, "click", Forum.hideMenu);
		xl.addEvent(document, "click", Forum.hideMenu)
		Forum.showTM = setTimeout(function() {d.style.display = 'block'}, 500)
		xl.addEvent(hrefObj, "mouseout", function() {clearTimeout(Forum.showTM)})
	},
	
	hideMenu : function() {
		if (!Forum.nohide) {
			Forum.d.style.display = 'none'
		}		
	},
	
	checkDelete : function(e) {		
		if (confirm('Вы хотите удалить этот объект?')) {
			var d = window.event ? window.event.srcElement : e.target;
			window.location.href = d.href
		} else {
			return false
		}
	}
	
}

/**
 * Создаёт DIV элемент для всплывающего меню
 * idDiv - произвольный ид для вновь создаваемого DIV
 * existDivId - взять уже существующий DIV
 */
function createSuperDiv(idDiv, existDivId) {
	if (typeof(existDivId) != 'undefined' && existDivId != null) {
		var el = document.getElementById(existDivId)
		idDiv = existDivId
		var es = el.style	
		//window.status += ' создали'+el
	} else {
		var a = document.getElementsByTagName('DIV')
		for (var i = 0; i < a.length; i++) {
			if (a[i].id == idDiv) {
				return a[i]
			}
		}	
		var el = document.createElement('div')
		document.body.appendChild(el)
		var es = el.style	
		es.padding = '5px'
		es.font = '14px Arial'
		es.textAlign = 'left'
		//es.margin = '0'
		//es.cursor = 'pointer'	
		es.backgroundColor = '#FFFFFF'
		es.border = '1px solid black'
		es.color = '#000000'		
	}
	
	es.position = 'absolute'
	es.display = 'none'
	el.id = idDiv
	//window.status += ' ид'
	return el
}
