var hideWikiPopup = false;

function wikiPopup(wikiid, e) {
	if(hideWikiPopup) {
		hideWikiPopup = false;
		return;
	}
	$('.wikibubble').hide();
	$(e).blur().css('position', 'relative');
	var wikipopup = $('#wikipopup-' + wikiid);
	var bubble = $('.wikibubble', e);
	if(!bubble.length) {
		$(e).append(wikipopup.html());
		bubble = $('.wikibubble', e);
	}
	bubble.show();
	if($.browser.msie) {
		bubble.css('top', 3 - bubble.height() + 'px').css('bottom', 'auto');
	}
}

function wikiClose(e) {
	$(e).parent().parent().hide();
	hideWikiPopup = true;
}

var sessionCounter = 0;
var sessionAlertTime = 60; // in sec

function setAndStartSessionCounter(sessionLifetime, appendElement) {
	sessionCounter = sessionLifetime;
	decAndCheckSessionLifetime(appendElement);
}

function decAndCheckSessionLifetime(appendElement) {
	sessionCounter--;
	
	if (sessionCounter == sessionAlertTime) {
		clearTimeout(sessionTimeOut);
		if (confirm("Your session will expire in "+sessionAlertTime+" seconds. Do you want to continue this session?")) {
			$.get("/admin/index/getnewsession", function (data) {
				sessionCounter = $.trim(data);
			});
		} else {
			location.href = "/admin/users/logout";
		}
	}
	
	var sessionMins = Math.floor(sessionCounter / 60);
	if (sessionMins < 10) sessionMins = '0'+sessionMins;
	
	var sessionSecs = (sessionCounter % 60);
	if (sessionSecs < 10) sessionSecs = '0'+sessionSecs;
	var sessionTemp = sessionMins+':'+sessionSecs;
	
	$('#'+appendElement).html('<strong>Session time left:</strong> '+sessionTemp);
	sessionTimeOut = setTimeout("decAndCheckSessionLifetime('"+appendElement+"')", 1000);
}

var formBubbleTrClass = false;
var formBubbleTr = false;

function formBubble(tr, show) {
	if(show) {
		var width = $(tr).find('td.right-td').width();
		$(tr).find('.form-bubble').css('left', width + 'px').removeClass('hidden');
	} else {
		$(tr).find('.form-bubble').addClass('hidden');
	}
}

$(function(){
	$('form.form tr.form-element-row td *').focus(function(){
		var noAction = false;
		$.each($(this).parents('tr.form-element-row'), function(i, el){
			if(formBubbleTrClass && $(el).hasClass(formBubbleTrClass)) noAction = true;
		})
		if(!noAction) {
			if(formBubbleTr) formBubble(formBubbleTr, false);
			var tr = $(this).parents('tr.form-element-row');
			classes = $(this).parents('tr.form-element-row').attr('class').split(' ');
			trClass = classes[classes.length - 1];
			formBubbleTrClass = trClass;
			formBubbleTr = tr;
			formBubble(tr, true);
		}
	})
}) 

function dynamicDialog(winId, options) {
	options = options || {};
	options.title = options.title || 'Dialog window';
	options.width = options.width || 500;
	options.height = options.height || 250;
	options.resizable = options.resizable || true;
	options.buttons = options.buttons || {};
	options.getdataurl = options.getdataurl || '';
	
	var dialogDiv = document.createElement('div');
	dialogDiv.id = winId;
	document.body.appendChild(dialogDiv);
	$('#'+winId).addClass('myco2-dialog');
	
	$.get(options.getdataurl, function(data) {
		$('#'+winId).html(data);
	});
	
	$('#'+winId).dialog({
		title: options.title,
		width: options.width,
		height: options.height,
		resizable: options.resizable,
		buttons: options.buttons,
		close: function(e) {
			$.get('/admin/index/setdefaultlayout', function(data) {
				$(this).dialog("destroy");
				if (dialogDiv.parentNode) dialogDiv.parentNode.removeChild(dialogDiv);		
			});
		}
	});
}

function checkLayout() {
	var windowName = window.name;
	
	$.get('/admin/index/checklayout/windowname/'+windowName, function (data) {});
	
	return;
}