// inCMS common js
// (c)2008 Spika David, Inexes

var inCMS = new Object();

// Fce vrátí html prvek
// parametry: ID nebo prvek
inCMS.getObj = function (x) {
	if (typeof x != 'string') return x;
	else if (Boolean(document.getElementById)) return document.getElementById(x);
		else return null;
	}

// Fce vrátí pole všech html prvků v daném prvku, jejichž className obsahuje zadaný řetězec
// parametry: ID prvku ve kterém hledat, název prvku který hledat (možno použít *), podřetězec className
inCMS.getElementsByClass = function (p,t,c) {
	var o = inCMS.getObj(p);
	var tempField = new Array();
	var elements = o.getElementsByTagName(t);
	for (var i=0; i<elements.length; i++) {
		if (elements[i].className.indexOf(c) != -1) {
			tempField[tempField.length] = elements[i];
			}
		}
	return tempField;
	}

// Fce přidá skript (před nebo za stávající funkce) navázaný na definovanou událost html prvku
// použití: addEvent(window,'onload','alert(o.id);');
// parametry: ID nebo prvek, název události, skript navázaný na událost (pravidla pro skript: na daný prvek neodkazovat přes this, ale přes o), příznak jestli má být nový skript vložen před/za stávající
inCMS.addEvent = function (obj,e,s,before) {
	var o = inCMS.getObj(obj);
	eval('var oldEvent = o.' + e + ';');
	if (!before) eval('o.' + e + ' = function (' + (inCMS.browser.IE ? '' : 'event') + ') { ' + (oldEvent ? 'oldEvent(' + (inCMS.browser.IE ? '' : 'event') + ');' : '') + s + ' };');
	else eval('o.' + e + ' = function (' + (inCMS.browser.IE ? '' : 'event') + ') { ' + s + (oldEvent ? 'oldEvent(' + (inCMS.browser.IE ? '' : 'event') + ');' : '') + ' };');
	}

// Fce přidá skript navázaný na definovanou událost všem html prvkům, jejichž className obsahuje zadaný řetězec
// parametry: ID prvku ve kterém hledat, název prvku (možno použít *), podřetězec className, název události, skript navázaný na událost, příznak jestli má být nový skript vložen před/za stávající
inCMS.addEventByClass = function (p,t,c,e,s,before) {
	var o = inCMS.getObj(p);
	var elements = o.getElementsByTagName(t);
	for (var i=0; i<elements.length; i++) {
		if (elements[i].className.indexOf(c) != -1) {
			inCMS.addEvent(elements[i],e,s,before);
			}
		}
	}

// Fce přidá skript navázaný na definovanou událost všem formulářovým prvkům, jejichž className obsahuje zadaný řetězec
// parametry: název prvku (možno použít *), podřetězec className, název události, skript navázaný na událost, příznak jestli má být nový skript vložen před/za stávající
inCMS.addEventToForm = function (t,c,e,s,before) {
	var elements = document.forms[0];	
	for (var i=0; i<elements.length; i++) {
		if (elements[i].nodeName.toLowerCase() == t && elements[i].className.indexOf(c) != -1) {
			inCMS.addEvent(elements[i],e,s,before);
			}
		}
	}

// Fce nahradí chybějící podporu css pseudotřídy :hover pro IE6- všem html prvkům, jejichž className obsahuje zadaný řetězec
// parametry: ID prvku ve kterém hledat, název prvku (možno použít *), podřetězec className
inCMS.hoverByClass = function (p,t,c) {
	if (inCMS.browser.IE6) {
		var o = inCMS.getObj(p);
		var elements = o.getElementsByTagName(t);
		for (var i=0; i<elements.length; i++) {
			if (elements[i].className.indexOf(c) != -1) {
				inCMS.addEvent(elements[i],'onmouseover','o.className += \' hover\';');
				inCMS.addEvent(elements[i],'onmouseout','o.className = o.className.replace(\' hover\',\'\');');
				}
			}
		}
	}

// Fce nastaví html prvku css styl
// parametry: ID nebo prvek, 'vlastnost', 'hodnota'
inCMS.setObjStyle = function (obj,prop,val) {
	var o = inCMS.getObj(obj);
	if (o && o.style) {
		eval ('o.style.'+prop+'="'+val+'"');
		return true;
		}
	else return false;
	}

// Fce vrátí hodnotu css parametru u html prvku
// parametry: ID nebo prvek, 'vlastnost'
inCMS.getObjStyle = function (obj,prop) {
	var o = inCMS.getObj(obj);
	if (document.defaultView) var val = window.document.defaultView.getComputedStyle(o,null).getPropertyValue(prop); // Mozilla
	else if (o.currentStyle) var val = eval('o.currentStyle.' + prop); // IE
	return val;
	}

// Fce nastaví css styl všem html prvkům, jejichž className obsahuje zadaný řetězec
// parametry: název prvku (možno použít *), podřetězec className, 'vlastnost', 'hodnota'
inCMS.setObjStyleByClass = function (p,t,c,prop,val) {
	var o = inCMS.getObj(p);
	var elements = o.getElementsByTagName(t);
	for (var i=0; i<elements.length; i++) {
		if (elements[i].className.indexOf(c) != -1) {
			inCMS.setObjStyle(elements[i],prop,val);
			}
		}
	}

// Fce na zobrazení/zneviditelnění html prvku
// parametry: ID nebo prvek, zobrazení - true/false
inCMS.showObj = function (obj,on) {
	return inCMS.setObjStyle(obj,'visibility',(on) ? 'visible':'hidden');
	}

// Fce na zobrazení/skrytí html prvku
// parametry: ID nebo prvek, zobrazení - true/false, hodnota css vlastnosti display (není povinná, pokud 2. parametr = false)
inCMS.displayObj = function (obj,on,type) {
	if (on && !type) { 
		if (!inCMS.browser.IE && inCMS.getObj(obj) && inCMS.getObj(obj).nodeName.toLowerCase() == 'tr') type = 'table-row';
		else if (!inCMS.browser.IE && inCMS.getObj(obj) && inCMS.getObj(obj).nodeName.toLowerCase() == 'tbody') type = 'table-row-group';
		else type = 'block';
		}
	return inCMS.setObjStyle(obj,'display',(on) ? type:'none');
	}

// Konstruktor na vytvoření kopie objektu (pro uživatelské objekty příjímané přes AJAX, jejichž struktura není známa)
// použití: novy_objekt = new cloneObj(stary_objekt)
// parametry: objekt
inCMS.cloneObj = function (obj) {
	for (var property in obj) {
		if (typeof obj[property] == 'object') { 
			if (obj.length) this.length = obj.length;
			this[property] = new cloneObj (obj[property]);
			}
		else this[property] = obj[property];
		}
	}

// Fce na porovnání 2 objektů (pro uživatelské objekty příjímané přes AJAX, jejichž struktura není známa)
// Pokud se liší, vrací true
// parametry: objekt1, objekt2
inCMS.compareObjs = function (obj1,obj2) {
	var isChange = false;
	var maxCount = (obj1.length >= obj2.length) ? obj1.length : obj2.length;
	for (var i=0; i<maxCount; i++) {
		var item = obj1[i]; // 1
		if (!item) { isChange = true; break; }
		else for (var property in item) {
			item = obj1[i]; // 1
			var val1 = item[property]; // 1 - vlastnost
			item = obj2[i]; // 2
			if (!item) { isChange = true; break; }
			else {
				var val2 = item[property]; // 2 - vlastnost
				if (typeof val1 != 'object' && typeof val2 != 'object' && val1 != val2) { isChange = true; break; }
				}
			}
		}
	return isChange;
	}

// Fce vrátí pole indexů, na kterých se v zadaném poli vyskytuje zadaná hodnota
// parametry: pole, hodnota, příznak podle kterého se testuje rovnost(substring=false) nebo jen obsah podřetězce(substring=true)
inCMS.findFieldIndexesByValue = function (field,value,substring) {
	var fieldIndexes = new Array();
	for (var i=0; i<field.length; i++) {
		if (field[i] == value && !substring) {
			fieldIndexes.length++;
			fieldIndexes[fieldIndexes.length-1] = i;
			}
		if (field[i].indexOf(value) != -1 && substring) {
			fieldIndexes.length++;
			fieldIndexes[fieldIndexes.length-1] = i;
			}
		}
	return fieldIndexes;
	}

// Fce odstraní zadanou hodnotu z pole
// parametry: pole; hodnota
inCMS.removeValueFromField = function (field,value) {
	var position = field.length+1;
	for (var i=0; i<field.length; i++) if (field[i] == value) position = i;
	for (var i=position; i<field.length-1; i++) field[i] = field[i+1];
	field.length--;
	}

// Fce odstraní zadanou hodnotu z pole
// parametry: pole; hodnota
inCMS.addValueToField = function (field,value) {
	field.length++;
	field[field.length-1] = value;
	}	

// Fce vrátí hodnotu zadaného parametru z url
// použití: hodnota = getParamsFromUrl()['parametr']
inCMS.getParamsFromUrl = function () {
	var field  = window.location.search.substr(1).split('&');
	var params = new Array(); 
	for (var i=0; i<field.length; i++) {
		params[field[i].split('=')[0]] = unescape(field[i].split('=')[1]); 
		}
	return params;
	}

// Objekt pro práci s popup okny
inCMS.popup = {
	// Odkaz na popup okno otevřené metodou open()
	win : null,
	// Metoda na otevření nového popup okna 
	// parametry: url, šířka okna, výška okna, posuvníky a proměnná velikost okna - true/false, název okna
	open : function (src,width,height,fixedSize) {
		if (fixedSize) var param = 'no';
		else var param = 'yes';
		var p = 'toolbar=no,menubar=no,location=no,directories=no,scrollbars=' + param + ',resizable= ' + param + ',status=no,width=' + width + ',height=' + height + ',left=' + (screen.availWidth/2-width/2) + ',top=' + (screen.availHeight/2-height/2);
		if (this.win) this.win.close();
		this.win = window.open(src,'',p);
		this.win.focus();
		},
	// Metoda vrátí odkaz na html prvek umístěný v rodičovském okně do popup okna
	// parametry: ID nebo prvek
	getObj : function (x) {
		return inCMS.getObj(x);
		}
	};

// Detail obrázku v novém okně:
inCMS.imagePopupWindow = null;
inCMS.imagePopup = function (src,title,width,height) {
	if (inCMS.imagePopupWindow) inCMS.imagePopupWindow.close();
	var imageWidth = width;
	var imageHeight = height;
	if (width < 400)  width = 400;
	if (height < 300) height = 300;
	if (width > 990 || height > 700) var s = 'scrollbars=yes';
	else var s = 'scrollbars=no';
	if (width > 990)  width = 990;
	if (height > 700) height = 700;
	var p = 'toolbar=no,menubar=no,location=no,resizable=yes,directories=no,status=no,width=' + width + ',height=' + height + ',left=' + (screen.availWidth/2-width/2) + ',top=' + (screen.availHeight/2-height/2) + ',' + s;
	inCMS.imagePopupWindow = window.open('../../PreviewImage.html?src='+escape(src)+'&title='+escape(title)+'&width='+imageWidth+'&height='+imageHeight,'',p);
	inCMS.imagePopupWindow.focus();		
	}

// Objekt na detekci prohlížeče
inCMS.browser = {
	IE : navigator.appName == 'Microsoft Internet Explorer',
	IE6 : navigator.userAgent.indexOf('MSIE 6') != -1,
	IE7 : navigator.userAgent.indexOf('MSIE 7') != -1,
	opera : navigator.userAgent.indexOf('Opera') != -1,
	gecko : navigator.userAgent.indexOf('Gecko') != -1,
	safari : navigator.userAgent.indexOf('Safari') != -1
	}
// Opera se může tvářit i jako jiný prohlížeč, proto oprava:
if (inCMS.browser.opera) {
	for (var property in inCMS.browser) {
		if (property != 'opera') inCMS.browser[property] = false;
		}
	}

// Fce vrátí souřadnice html prvku vůči stránce (každý prohlížeč může vracet jiné)
// parametry: ID nebo prvek
inCMS.getObjCoords = function (obj) {
	var element = inCMS.getObj(obj);
	var coords = { x : 0, y : 0 };
	while (element) {
		coords.x += element.offsetLeft;
		coords.y += element.offsetTop;
		element = element.offsetParent;
	}
	return coords;
}

// Fce vrátí souřadnice kurzoru vůči stránce (každý prohlížeč může vracet jiné)
// parametry: event
inCMS.getMouseCoords = function (e) {
	if (e.pageX || e.pageY) {
		return {x:e.pageX, y:e.pageY};
		}
	return {
		x:e.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:e.clientY + document.body.scrollTop  - document.body.clientTop
		};
	}

// Fce vrátí aktuální velikost okna
inCMS.windowSize = function () {
	if (document.documentElement && document.documentElement.clientWidth)	{
		var size = { width : document.documentElement.clientWidth, height : document.documentElement.clientHeight };
		return size;
		}
	else if (document.body && document.body.clientWidth) {
		var size = { width : document.body.clientWidth,	height : document.body.clientHeight	};
		return size;
		}
	else var size = { width : 0, height : 0 };
	return size;
	}

// Fce vrátí aktuální pozici stránky
inCMS.pagePosition = function () {
	var left = (window.pageXOffset) ? window.pageXOffset
		: (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft
		: (document.body) ? document.body.scrollLeft
		: 0;
	var top = (window.pageYOffset) ? window.pageYOffset
		: (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop
		: (document.body) ? document.body.scrollTop
		: 0;
	var position = { x : left, y : top };
	return position;
	}

// Fce vrátí aktuální velikost stránky
inCMS.pageSize = function () {
	var w = (window.innerWidth && window.scrollMaxX) ? window.innerWidth + window.scrollMaxX
		: (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth
		: document.body.offsetWidth;
	var h = (window.innerHeight && window.scrollMaxY) ? window.innerHeight + window.scrollMaxY
		: (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight
		: document.body.offsetHeight;
	if (w < inCMS.windowSize().width) w = inCMS.windowSize().width;
	if (h < inCMS.windowSize().height) h = inCMS.windowSize().height;
	var size = { width : w, height : h };
	return size;
	}

// Metoda nastaví průhlednost html prvku
// parametry: html prvek (nebo jeho ID), hodnota průhlednosti 0-100
inCMS.setOpacity = function (obj,val) {
	var o = inCMS.getObj(obj);
	if (inCMS.browser.IE) o.style.filter = (val == 100) ? 'none' : 'alpha(opacity=' + val + ')';
	else {
		o.style.MozOpacity = val/100;
		o.style.KHTMLOpacity = val/100;
		o.style.opacity = val/100;
		}
	}

// Fce uloží do cookies zadanou hodnotu
inCMS.setCookie = function (name,value,path,domain,secure) {
	expires = new Date();
	expires.setTime(expires.getTime() + (24 * 60 * 60 * 1000 * 31));
	document.cookie = escape(name) + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
	}

// Fce vrátí z cookies hodnotu podle jména
inCMS.getCookie = function (name) {
	var cookieList = document.cookie.split("; ");
	for (var i=0; i<cookieList.length; i++){
		var cookie = cookieList[i].split("=");
		if (unescape(cookie[0]) == name) {
			return unescape(cookie[1]);
			break;
			}
		}
	return null;
	}

inCMS.preloadImages = new Array();
inCMS.preloadImages[0] = new Image();
inCMS.preloadImages[0].src = 'Design/Progress.gif';

// *********************************
// Kód pro jednotlivé moduly a menu:
// *********************************

inCMS.setArea = function (id) {
	inCMS.getObj('transLayer').src = "Design/Maps/m" + id + ".gif";
}// inCMS module: gallery_Type4

inCMS.galleries = {
	// Pole obsahující jednotlivé galerie na stránce
	items : new Array()
}	

// Inicializační metoda, spuštěná až po načtení stránky
inCMS.addEvent(window,'onload','inCMS.galleries.postInit();');
inCMS.galleries.postInit = function () {
	var body = document.getElementsByTagName('body')[0];
	if (!inCMS.getObj('overlay')) {
		var overlay = document.createElement('div');
		overlay.id = 'overlay';
		body.appendChild(overlay);
	}
	if (!inCMS.getObj('lightbox')) {
		var lightbox = document.createElement('div');
		lightbox.id = 'lightbox';
		body.appendChild(lightbox);
	}
	var links = inCMS.getElementsByClass('page','a','preload');
	this.preloadImages = new Array();
	for (var i=0; i<links.length; i++) {
	    //**/this.preloadImages[i] = new Image();
		//**/this.preloadImages[i].src = links[i].href;
	}
}

// Inicializační metoda, kterou volá každá galerie při načítání stránky
// parametry: ID hlavního DIVu každé galerie (div class="gallery" id="gallery-ID" kde ID je pořadí galerie na stránce), příznaky zobrazení volitelných údajů
inCMS.galleries.init = function (initObj) {
	this.items.length++;
	this.items[this.items.length-1] = new Object();
	var gallery = this.items[this.items.length-1];
	for (var property in initObj) {
		eval('gallery.' + property + ' = initObj.' + property + ';');
	}
	gallery.id = parseInt(gallery.mainBoxID.split('-')[1]);
	var mainBox = inCMS.getObj(gallery.mainBoxID);
	gallery.contentBox = mainBox.getElementsByTagName('div')[0];
	gallery.pictures = gallery.contentBox.getElementsByTagName('img');
	gallery.infozone = mainBox.parentNode.id == 'infoContentBox';
	for (var i=0; i<gallery.pictures.length; i++) {
		if (!gallery.infozone)
			inCMS.setObjStyle(gallery.pictures[i].parentNode.parentNode,'width',gallery.pictures[i].offsetWidth + 'px'); // IE7 fix
		gallery.pictures[i].className += ' roundedCorner:5:1111';
		gallery.pictures[i].parentNode.className += ' imageContainer';
		if (inCMS.browser.IE6) {
			inCMS.addEvent(gallery.pictures[i],'onmouseover','o.className += \' hover\';');
			inCMS.addEvent(gallery.pictures[i],'onmouseout','o.className = o.className.replace(\' hover\',\'\');');
		}
	}
}

// Metoda nastaví pozici vysvíceného boxu na prostředek okna
inCMS.addEvent(window,'onresize','inCMS.galleries.lightboxPosition();');
inCMS.galleries.lightboxPosition = function () {
	if (inCMS.getObj('overlay') && inCMS.getObj('lightbox')) {
		var top = (inCMS.windowSize().height - inCMS.getObj('lightbox').offsetHeight)/2 + inCMS.pagePosition().y;
		var left = (inCMS.windowSize().width - inCMS.getObj('lightbox').offsetWidth)/2 + inCMS.pagePosition().x;
		if (top < inCMS.pagePosition().y + 10) top = inCMS.pagePosition().y + 10;
		if (left < 10) left = 10;
		inCMS.setObjStyle('lightbox','top',top + 'px');
		inCMS.setObjStyle('lightbox','left',left + 'px');
		if (inCMS.browser.IE) {
			inCMS.setObjStyle('overlay','width',(inCMS.pageSize().width) + 'px');
			inCMS.setObjStyle('overlay','height',(inCMS.pageSize().height) + 'px');
		}
	}
}

// Metoda zmeni zvetseny nahled obrazku
switchPhoto = function (index,number,inum,src,width,height,title,description,date,author,filename) {
    for (var i=0; i<inCMS.galleries.items.length; i++) {
		if (inCMS.galleries.items[i].id == index) {
			var gallery = inCMS.galleries.items[i];
			break;
		}
	}
    var displayTitle = (gallery.displayTitle && title && title != '');
    var displayDescription = (gallery.displayDescription && description && description != '');
    var displayImage = (inum && inum != '');
    var thumbRatio = height/width;
    var thumbHeight = parseInt(thumbRatio < 1 ? (382 * thumbRatio < 260 ? 382 * thumbRatio : 260) : 260);
    var thumbWidth = parseInt(thumbRatio < 1 ? 382 : (382 * thumbRatio));
    var thumbWidth = (thumbWidth >= 382 ? 382 : thumbWidth);
    inCMS.getObj('pDescription_' + index).innerHTML = (displayTitle ? title : "&nbsp;");
    if (displayImage) {
        document.getElementById('imgBigPreview_' + index).src = "Image.aspx?DocID=" + inum + "&Width=382&Height=260&RTypeID=3";
    }
    inCMS.getObj('imgBigPreview_' + index).alt = description;
	inCMS.getObj('hlBigPreview_' + index).title = title;
	inCMS.getObj('imgBigPreview_' + index).width = thumbWidth;
	inCMS.getObj('imgBigPreview_' + index).height = thumbHeight;
/**/
	// vertikalne vystredene
	//var padding = (260 - thumbHeight) / 2;
	//inCMS.getObj('imgBigPreview_' + index).style.padding = padding + "px 0";
	
	// zarovnane dolu
	var padding = (260 - thumbHeight) - (thumbHeight < 240 ? 20 : 6);
	inCMS.getObj('imgBigPreview_' + index).style.padding = padding + "px 0 0 0";
/**/
	inCMS.getObj('hlBigPreview_' + index).href = "javascript:inCMS.galleries.showLightbox(" + index + "," + number + ",'" + src + "'," + width + "," + height + ",'" + title + "','" + date + "','" + author + "','" + filename + "','" + description + "')";
	//return false;
}

// Metoda zobrazí vysvícený box (detail galerie)
inCMS.galleries.showLightbox = function (number,index,src,width,height,title,date,author,fileName,description) {
	for (var i=0; i<this.items.length; i++) {
		if (this.items[i].id == number) {
			var gallery = this.items[i];
			break;
		}
	}
	var actualPicture = index;
	if (inCMS.browser.IE6) inCMS.setObjStyleByClass('page','select','','visibility','hidden');
	var navigationWidth = gallery.displayNavigation ? 160 : 0;
	var displayText = gallery.displayTitle || gallery.displayDate || gallery.displayAuthor || gallery.displayFileName;
	var textWidth = displayText ? (width-navigationWidth > 250 ? width-navigationWidth : 250) : 0;
	var lightboxWidth = textWidth+navigationWidth > width ? textWidth+navigationWidth : width;
	var tempHTML = '<a href="javascript:inCMS.galleries.hideLightbox();" id="lightbox-image" class="imageContainer" style="width:' + (width) + 'px; height:' + (height) + 'px"><img id="lightbox-image" src="' + src + '" width="' + width + '" height="' + height + '" alt="" />';
	tempHTML += '<span class="roundedCorner roundedCorner-12-ne"></span><span class="roundedCorner roundedCorner-12-se"></span><span class="roundedCorner roundedCorner-12-sw"></span><span class="roundedCorner roundedCorner-12-nw"></span></a>\n';

	if (displayText) {
		tempHTML += '<div id="lightbox-text" style="width:' + (textWidth-50) + 'px">\n';
		if (gallery.displayTitle && title != "") {
		    tempHTML += '<h3>' + title + (gallery.displayFileName ? " <span>(" + fileName + ")</span>" : "") + '</h3>\n';
		} else {
		    if (gallery.displayFileName) tempHTML += "<h3><span>" + fileName + "</span></h3>\n";
		}
	}
	if (description && description != "") tempHTML += '<p class="description">' + description + '</p>\n';
	if (displayText) {
		if (gallery.displayDate || gallery.displayAuthor) {
			tempHTML += '<p class="dateAuthor">';
			if (gallery.displayDate && date != "") tempHTML += '<span class="date">' + date + '</span>';
			if (gallery.displayDate && gallery.displayAuthor  && date != ""  && author != "") tempHTML += '&nbsp;|&nbsp;'
			if (gallery.displayAuthor  && author != "") tempHTML +=  '<span class="author">' + author + '</span>';
			tempHTML += '</p>\n';
		}
		tempHTML += '</div>\n';
	}

	if (gallery.displayNavigation && !gallery.infozone) {
		tempHTML += '<p id="lightbox-navigation">';
		if (actualPicture > 1) tempHTML += '<a href="javascript:inCMS.galleries.showNext(' + number + ',' + (actualPicture-2) + ')" class="buttonBack"><img src="Modules/Galleries/Type4/Design/BackgroundPrevious.gif" alt="" /></a>';
		if (actualPicture < gallery.pictures.length) tempHTML += ' <a href="javascript:inCMS.galleries.showNext(' + number + ',' + actualPicture + ')" class="buttonForward"><img src="Modules/Galleries/Type4/Design/BackgroundNext.gif" alt="" /></a>';
		tempHTML += actualPicture + ' / ' + gallery.pictures.length;
		tempHTML += '</p>\n';
	}

	tempHTML += '<span class="cleaner"></span>\n';
	tempHTML += '<a href="javascript:inCMS.galleries.hideLightbox();" id="lightbox-closer"><img src="Modules/Galleries/Type4/Design/BackgroundCloser.gif" alt="" /></a>\n';
	inCMS.getObj('lightbox').innerHTML = tempHTML;
	inCMS.setObjStyle('lightbox','width',lightboxWidth + 'px');
//	inCMS.setObjStyle('lightbox-image','marginLeft',parseInt((textWidth+25+190-width)/2) + 'px');
	inCMS.setObjStyle('lightbox-closer','left',(width+10) + 'px');
	inCMS.displayObj('overlay',true);
	inCMS.displayObj('lightbox',true);
	this.lightboxPosition();
	//return false;
}

// Metoda skryje vysvícený box
inCMS.galleries.hideLightbox = function () {
	inCMS.displayObj('lightbox',false);
	inCMS.displayObj('overlay',false);
	if (inCMS.browser.IE6) inCMS.setObjStyleByClass(document,'select','','visibility','visible');
}

// Metoda zobrazí detail dalšího obrázku 
inCMS.galleries.showNext = function (number,index) {
	for (var i=0; i<this.items.length; i++) {
		if (this.items[i].id == number) {
			var gallery = this.items[i];
			break;
		}
	}
	if (inCMS.browser.IE) gallery.pictures[index].parentNode.click();
	else gallery.pictures[index].parentNode.onclick();
}

// Metoda nastaví průhlednost html prvku
// parametry: html prvek (nebo jeho ID), hodnota průhlednosti 0-100
inCMS.galleries.setOpacity = function (obj,val) {
	var o = inCMS.getObj(obj);
	if (inCMS.browser.IE) o.style.filter = (val == 100) ? 'none' : 'alpha(opacity=' + val + ')';
	else {
		o.style.MozOpacity = val/100;
		o.style.KHTMLOpacity = val/100;
		o.style.opacity = val/100;
	}
}
// inCMS module: menu_v1

// Fce na inicializaci submenu (ovládané přes onClick) - zabalí všechny položky a rozbalí určenou položku (včetně všech položek v cestě) + přidá šipku (class) u položek obsahujících podpoložky
// parametry: cesta k položce, která se má rozbalit (Array)
inCMS.menuInit_v1 = function (path) {
	var menuID = 'menuList-v' + path[0];
	if (inCMS.getObj(menuID)) {
		var menu = inCMS.getObj(menuID);
		var childUL = menu.getElementsByTagName('ul');
		for (var i=0; i<childUL.length; i++) {
			inCMS.displayObj(childUL[i],false);
			}
		for (var i=1; i<path.length; i++) {
			menuID += '-' + path[i];
			inCMS.displayObj(menuID,true);
			}
		var childLI = menu.getElementsByTagName('li');
		for (var i=0; i<childLI.length; i++) {
			if (inCMS.browser.IE6) {
				inCMS.addEvent(childLI[i],'onmouseover','o.className += \' hover\';');
				inCMS.addEvent(childLI[i],'onmouseout','o.className = o.className.replace(\' hover\',\'\');');
				}
			if (childLI[i].getElementsByTagName('ul').length > 0) {
				childLI[i].className += ' isParent';
				}	
			}
		}
	}	

// Fce na rozbalení určené položky submenu (ovládané přes onClick)
// Pokud položka, na kterou bylo kliknuto, někam odkazuje - Fce vrací true a žádné rozbalení se neprovede
// pokud neodkazuje - Dojde k rozbalení a fce vrací false
// parametry: položka na kterou bylo kliknuto; ID seznamu UL, který se má rozbalit
function expandMenuList (item,menuListID) {
	if (item.href != 'javascript:void(0);') return true;
	var path = menuListID.split('-');
	for (var i=0; i<path.length-1; i++) path[i] = path[i+1];
	path.length--;
	path[0] = path[0].substring(1,path[0].length);
	item.blur();
	inCMS.menuInit_v1(path);
	return false;
	}
// inCMS module: menu_h1

// Fce na inicializaci hlavního menu (ovládané přes hover) - nahradí chybějící podporu css pseudotřídy li:hover pro IE6 + zruší kursor ruky při href="javascript:void(0)" + přidá šipku (class) u položek obsahujících podpoložky
// parametry: ID nebo menu (menu = <ul>)
inCMS.menuInit_h1 = function (obj) {
	if (inCMS.getObj(obj)) {
		var menu = inCMS.getObj(obj);
		var childItems = menu.getElementsByTagName('li');
		var itemsLevel1Count = 0;
		for (var i=0; i<childItems.length; i++) {
			if (inCMS.browser.IE6) {
				inCMS.addEvent(childItems[i],'onmouseover','o.className += \' hover\';');
				inCMS.addEvent(childItems[i],'onmouseout','o.className = o.className.replace(\' hover\',\'\');');
			}
			if (childItems[i].getElementsByTagName('ul').length > 0) {
				childItems[i].className += ' isParent';
			}
			if ((childItems[i].id) && (childItems[i].id.toString().indexOf("mItem_") != -1)) {
			    itemsLevel1Count++;
			}
		}
		var links = menu.getElementsByTagName('a');
		for (var i=0; i<links.length; i++) {
			if (links[i].href == 'javascript:void(0);') inCMS.setObjStyle(links[i],'cursor','default');
		}
		// Roztahovani paddingu u polozek menu
		var allWidth = 648;//(inCMS.browser.IE ? 914 : 908);
		var filledWidth = 0;
		for (var i=0;i<itemsLevel1Count;i++) {
		    filledWidth += document.getElementById('mItem_' + (i +1)).offsetWidth + 7;
		}
		var padWidth = (allWidth - filledWidth) / (2 * itemsLevel1Count);
		for (var i=0;i<itemsLevel1Count;i++) {
		    document.getElementById('mItem_' + (i +1)).getElementsByTagName('a')[0].style.paddingLeft = padWidth + "px";
		    document.getElementById('mItem_' + (i +1)).getElementsByTagName('a')[0].style.paddingRight = padWidth + "px";
		}
	}
}
