// TODO: use jQuery

function flipMenu(elm)
{
	menu = document.getElementById('adminMenu');
	adminContent = document.getElementById('adminContentHolder');
	if ($(menu).is('.hidden'))
	{
		// show		
		elm.firstChild.data = 'skrýt';
		$(menu).removeClass('hidden');
		$(adminContent).addClass('menuActive');
		setCookie('admin_menu_isHidden',0,7,'/');
	} else {
		// hide
		elm.firstChild.data = 'zobrazit';
		$(menu).addClass('hidden');
		$(adminContent).removeClass('menuActive');
		setCookie('admin_menu_isHidden',1,7,'/');
	}
	elm.blur();
	return false;
}

function flipSidebar(elm)
{
	sidebar = document.getElementById('sideBar');
	if ($(sidebar).is('.hidden'))
	{
		// show
		elm.firstChild.data = 'skrýt';
		$(sidebar).removeClass('hidden');
		setCookie('admin_sidebar_isHidden',0,0,'/');
	} else {
		// hide
		elm.firstChild.data = 'zobrazit';
		$(sidebar).addClass('hidden');
		setCookie('admin_sidebar_isHidden',1,0,'/');
	}
	elm.blur();
	return false;
}

function over(elm)
{
	$(elm).addClass('hover');

}

function out(elm)
{
	$(elm).removeClass('hover');
}

function switchSideBar(elm)
{
	targetId = elm.href.substr(elm.href.lastIndexOf('#') + 1);
	
	
	$("#sideBarBox").find("div.tabContent").removeClass('active');
	$("#sideBarBox").find("li.tab").find("a").not(elm).removeClass('active');
	$(elm).addClass('active');
	$('#'+targetId).addClass('active');
	
/*	// njdeme si elementy, ktere potrebujeme - obsahy tabu
	tabContentCandidates = document.getElementById('sideBarBox').getElementsByTagName('div');
	// prepinatka
	tabSwitchCandidates = document.getElementById('sideBarBox').getElementsByTagName('li');
	// projedeme & vypneme
	for (i = 0; i < tabContentCandidates.length; i++)
	{
		if (cls.has(tabContentCandidates[i],'tabContent'))
		{
			if (cls.has(tabContentCandidates[i],'active'))
			{
				cls.remove(tabContentCandidates[i],'active');
			}
		}
	}	
	
	for (j = 0; j < tabSwitchCandidates.length; j++)
	{
		if (cls.has(tabSwitchCandidates[j],'tab'))
		{
			anchor = tabSwitchCandidates[j].getElementsByTagName('a')[0];
			if (cls.has(anchor,'active') && (anchor != elm))
			{
				cls.remove(anchor,'active');
			}
		}
	}
	cls.add(elm,'active');
	cls.add(document.getElementById(targetId),'active');*/
	
	setCookie('admin_sidebar_activeTab',targetId,7,'/');
	return false;
}

function switchBrowserPanel(panelId,elm)
{
	targetId = elm.href.substr(elm.href.lastIndexOf('#') + 1);
	tabSwitchCandidates = elm;
	while (tabSwitchCandidates.parentNode && (tabSwitchCandidates.tagName.toLowerCase() != 'ul'))
	{
		tabSwitchCandidates = tabSwitchCandidates.parentNode;
	}
	
	$("#"+panelId).find("div.tabContent").removeClass('active');
	$(tabSwitchCandidates).find("li").removeClass('active');
	$(elm.parentNode).removeClass("active");
	$('#'+targetId).addClass('active');
	
	/*// najdeme si elementy, ktere potrebujeme - obsahy tabu
	tabContentCandidates = document.getElementById(panelId).getElementsByTagName('div');
	// prepinatka
	
	tabSwitchCandidates = tabSwitchCandidates.getElementsByTagName('li');
	// projedeme & vypneme
	for (i = 0; i < tabContentCandidates.length; i++)
	{
		if (cls.has(tabContentCandidates[i],'tabContent'))
		{
			if (cls.has(tabContentCandidates[i],'active'))
			{
				cls.remove(tabContentCandidates[i],'active');
			}
		}
	}
	for (j = 0; j < tabSwitchCandidates.length; j++)
	{
		if (cls.has(tabSwitchCandidates[j],'active'))
		{
			cls.remove(tabSwitchCandidates[j],'active');
		}
	}
	cls.add(elm.parentNode,'active');
	cls.add(document.getElementById(targetId),'active');*/
	return false;
}

/*
  Clock functions
  ------------
  please keep these lines on when you copy the source
  made by: Nicolas - http://www.javascript-page.com
  updated by refresh
 */

var clockID = 0;

function UpdateClock() {
  if(clockID) {
     clearTimeout(clockID);
     clockID  = 0;
  }

  var tDate = new Date();
   
  var clockParagraph = document.getElementById('dateTime');
   
   //'H.i, j.n.Y'
  clockParagraph.childNodes.item(0).data = tDate.getHours() + '.' + (tDate.getMinutes() < 10 ? '0' + tDate.getMinutes() : tDate.getMinutes()) + /*'.' + tDate.getSeconds() +*/ ', ' + tDate.getDate() + '.' + (tDate.getMonth()+1) + '.' + (tDate.getYear() < 1900 ? 1900 + tDate.getYear() : tDate.getYear());

  /* document.theClock.theTime.value = "" 
                                   + tDate.getHours() + ":" 
                                   + tDate.getMinutes() + ":" 
                                   + tDate.getSeconds();*/
   
   clockID = setTimeout("UpdateClock()", 1000);
}
function StartClock() {
   clockID = setTimeout("UpdateClock()", 500);
}

function KillClock() {
   if(clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }
}

function listFilter_flipDetail(name,flipper) { 
	var div = document.getElementById('filterDetail_'+name);
	if (div.style.display == 'block') {
		div.style.display = 'none';
		flipper.firstChild.data = 'zobrazit detail filtru';
		$(flipper.parentNode.parentNode.parentNode).addClass('hidden');
		//cls.add(flipper.parentNode.parentNode.parentNode,'hidden');
	} else {
		div.style.display = 'block';		
		flipper.firstChild.data = 'skrýt detail filtru';
		$(flipper.parentNode.parentNode.parentNode).removeClass('hidden');
		//cls.remove(flipper.parentNode.parentNode.parentNode,'hidden');
	}
	return false;
}

function listFilter_updateSpan(input) {
	var span = document.getElementById('text_' + input.getAttribute('id'));	
	while(span.childNodes.length > 0) {
		span.removeChild(span.childNodes[0]);
	}
	if (input.value.length > 0) {
		$(span).append(input.value.substr(0,1) + '  <img src="' + base_static_dir + 'images/admin2/icons/misc/' + (input.value.substr(1) == 'A' ? 'asc' : 'desc') + '-active.gif" width="16" height="16">');
		//new Insertion.Bottom(span,input.value.substr(0,1) + '  <img src="' + base_static_dir + 'images/admin2/icons/misc/' + (input.value.substr(1) == 'A' ? 'asc' : 'desc') + '-active.gif" width="16" height="16">'); 
	} 
}

function listFilter_setColOrder(inputId, dir) {
	var input = document.getElementById(inputId);
	if (input.value.length > 0) {
		input.value = input.value.substr(0,1) + dir;
	} else {
		if (listFilter_nextOrder == 9) return false;
		listFilter_nextOrder++;
		input.value = listFilter_nextOrder + dir;
	}
	listFilter_updateSpan(input);	
	return false;
}
					
function listFilter_unsetColOrder(inputId,prefix) {
	var input = document.getElementById(inputId);
	if (input.value.length > 0) {
		var prefixLen = prefix.length;
		for(var i = 0; i < input.form.elements.length; i++) {
			var el = input.form.elements[i];
			if (el.name && el.name.substr(prefixLen).substr(0,5) == 'order') {
				if (el.value.substr(0,1) > input.value.substr(0,1)) {
					//pokud je index vetsi nez mazany tak snizime o 1 
					el.value = (el.value.substr(0,1) - 1) + el.value.substr(1);
					listFilter_updateSpan(el);
				}
			}
 		}		
		listFilter_nextOrder--;
		input.value = "";
		listFilter_updateSpan(input);
	}
	return false;
}

var contextMenuOver = 0;
var contextMenuElement = null;
var contextMenuCloseCallback = null;
var contextMenuIEfix = 0;

function overContextMenu()
{
	contextMenuOver = 1;
}

function outContextMenu()
{
	contextMenuOver = 0;
}

function newContextMenuElement(elm,callback,defaultOver) {		
	deleteContextMenuElement();
	contextMenuElement = elm;
	contextMenuOver = defaultOver;
	contextMenuCloseCallback = callback;
	if (defaultOver && navigator.userAgent.toLowerCase().indexOf("msie") != -1) {
		//IE fix
		contextMenuIEfix++;
	}
	//tohle potreba nastavit bez jQuery a pouzit useCapture
	eventAdd(document.body,'click',contextMenuClick,false);
	eventAdd(elm,'mouseout',outContextMenu);
	eventAdd(elm,'mouseover',overContextMenu);
	return false;
}

function deleteContextMenuElement() { 
	if (contextMenuElement)  {	
		//tohle potreba nastavit bez jQuery a pouzit useCapture
		eventRemove(contextMenuElement,'mouseout',outContextMenu);
		eventRemove(contextMenuElement,'mouseover',overContextMenu);
		eventRemove(document.body,'click',contextMenuClick);		
		eval(contextMenuCloseCallback);		
		contextMenuElement = null;						
		contextMenuCloseCallback = null;
	}
	return false;
}

function contextMenuClick(event) {	
	if (contextMenuIEfix > 0) {
		contextMenuIEfix--;	
		// IE anti-bubbling
		var e = eventFix(event);
		e.preventDefault();
		e.cancelBubble = true;	
		return true;
	}		
	if (contextMenuElement && (contextMenuOver == 0))  {				
		deleteContextMenuElement();		
		// IE anti-bubbling
		/*if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) {
			var e = evt.fix(event);
			e.preventDefault();
			e.cancelBubble = true;
		}*/
	}					
	return true;
}

function eventFix(e) {
	if (typeof e == 'undefined') e = window.event;
	if (typeof e.target == 'undefined') e.target = e.srcElement;
	if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
	if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
	if ((typeof e.which == 'undefined') && e.keyCode) e.which = e.keyCode;
	// thanx to KKL2401 for preventDefault hack
	if (!e.preventDefault) e.preventDefault = function() {
		e.returnValue = false;
	}
	return e;
}

function eventAdd(obj, evType, fn, useCapture) {
	// Opera hack
	if (window.opera && (obj == window)) {
		obj = document;
	}
		
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

function eventRemove(obj, evType, fn, useCapture) {
	// Opera hack
	if (window.opera && (obj == window)) {
		obj = document;
	}
		
	if (obj.removeEventListener) {
		obj.removeEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.detachEvent) {
		var r = obj.detachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

$(function(){
	$('.detailHolder .detailSwitch').bind('click',function(){
			this.blur();
			$('.detailContent',$(this).parents('.detailHolder')).toggle();
			return false;
	});
});
