
function toggleCheck(on,off,clear)
{
	var elmOn = document.getElementById(on);
	var elmOff = document.getElementById(off);
	if ((elmOn) && (elmOff)){
		elmOff.checked = false;
		if (clearElm = document.getElementById(clear)){clearElm.value = "";}
		else {elmOn.checked = true;}
	}
	else {return false;}
}

function hideKKText() {
	var nMem = document.getElementById('nMembership');
	if (nMem.checked) {
		document.getElementById('souhlas-kk-text').style.display = "none";
	}
}

function modifyMembership() {
	var nMem = document.getElementById('nMembership');
	var yMem = document.getElementById('yMembership');
	var sMem = document.getElementById('sMembership');
	var hMem = document.getElementById('clenstviKKCheckForm');
	var narH   = document.getElementById('narozeniKK');
	var nar    = document.getElementById('b2c_rokNarozeni');
	if (yMem.checked) {
		document.getElementById('souhlas-kk-text').style.display = "block";
		narH.value = nar.value; //narozeni je pro KK povinne;
	}
	if (nMem.checked) {
		document.getElementById('souhlas-kk-text').style.display = "none";
		narH.value = 'cokolivabytoproslocheckformem';
	}
	if ((yMem.checked && sMem.checked)||(nMem.checked)) {
		hMem.value = "true";
	} else {
		hMem.value = "";
	}
}

// pravidelne reloadovanie okien s IM
function initImPopup() {
	// kazdych 30 sekund zavolame reloadovaciu funkciu
	setTimeout(reloadImPopup, 30000);
}

function reloadImPopup() {
	var area = document.getElementById("text");
	// ak ma uzivatel rozpisanu nejaku spravu, nerobime nic
	if (!area || !area.value) {window.location.reload();}
}

// otvaranie popupov (tyka sa hlavne IM)
function popup(url, w, h, winName) {
	w = (w) ? w : 400;
	h = (h) ? h : 500;
	var newWindow = window.open(url, winName, "width=" + w + ",height=" + h + ",status=yes,resizable=yes,scrollbars=yes");
	newWindow.focus();
	return newWindow;
}

// zaskrtnutie vsetkych checkboxov v rade
function checkAll(state, field) {
	if (field) {
		if (field.length > 0) {
			for (var i = 0; i < field.length; i++) {
				field[i].checked = state;
			}
		} else {
			field.checked = state;
		}
		return true;
	}
	return false;
}

// ovladanie filtrovacieho formulara

function setOrder(type, direction) {
  var fldType = document.getElementById("filterOrderBy");
  var fldDirection = document.getElementById("filterDirection");
  var frm = document.getElementById("filterForm");

  fldType.value = type;
  fldDirection.value = (direction) ? direction : "ASC";

  frm.submit();
}

function setDisplay(state) {
  var fldType = document.getElementById("filterDisplayType");
  var frm = document.getElementById("filterForm");

  fldType.checked = state;

  frm.submit();
}

function setPerPage(n) {
  var fldPerPage = document.getElementById('filterPerPage');
  var frm = document.getElementById("filterForm");

  fldPerPage.value = n;

  frm.submit();
}

// napozicovanie paticky

function setFooter() {
	if (document.getElementById("sidebar1")) {
		var cols = [
			document.getElementById("sidebar1"),
			document.getElementById("sidebar2"),
			document.getElementById("content")
		];
	} else {
		var cols = [
			document.getElementById("sidebar2"),
			document.getElementById("contentNoLeftSidebar")
		];
	}
	var footers = [
		document.getElementById("footer"),
		document.getElementById("tools2")
	];
	var mainFrameElm = document.getElementById("mainFrame");
	var maxHeight = 0;
	
	for (var i = 0; i < cols.length; i++) {
		if (cols[i]) {
			maxHeight = (cols[i].offsetHeight > maxHeight) ? cols[i].offsetHeight : maxHeight;
		}
	}
	
	// nastavime vysku mainframu
	if (mainFrameElm) {
		mainFrameElm.style.height = maxHeight + "px";
	}
	
	// zobrazime spodne elementy
	for (var i = 0; i < footers.length; i++) {
		if (footers[i]) {
			footers[i].style.display = "block";
		}
	}
	
	return;
	
}

evt.add(window, "load", setFooter);
evt.add(window, "resize", setFooter);

checkForm.addFieldType(
	"min3",
	new RegExp(".{3,}")
);

checkForm.addFieldType(
	"min5",
	new RegExp(".{5,}")
);

// push appends new elements to an array, and returns the new length
if (!Array.prototype.push) {
	Array.prototype.push = function() {
		for (var i=0; i<arguments.length; i++) this[this.length] = arguments[i];
		return this.length;
	}
}

// pop removes the last element from an array and returns it
if (!Array.prototype.pop) {
	Array.prototype.pop = function() {
		var lastitem = this.length > 0 ? this[this.length - 1] : undefined;
		if (this.length > 0) this.length--;
		return lastitem;
	}
}

// shift removes the first element from an array and returns it
if (!Array.prototype.shift) {
	Array.prototype.shift = function() {
		var firstitem = this.length > 0 ? this[0] : undefined;
		for (var i=0; i<this.length-1; i++) this[i] = this[i + 1];
		if (this.length > 0) this.length--;
		return firstitem;
	}
}

function saveCookie(name,value,days) {
	if (days) {
		var date=new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000))
		var expires="; expires="+date.toGMTString()
	} else expires=""
	document.cookie=name+"="+value+expires+"; path=/"
}

function readCookie(name) {
	var nameEQ=name+"="
	var ca=document.cookie.split(';')
	for(var i=0;i<ca.length;i++) {
		var c=ca[i];
		while (c.charAt(0)==' ') c=c.substring(1,c.length)
		if (c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length)
	}
	return null
}

function deleteCookie(name) {
	saveCookie(name,"",-1)
}

checkForm.addFieldType(
	"minThreeChars",
	new RegExp("...")
);

function winW(){if(window.innerWidth)return window.innerWidth;else return document.body.clientWidth;}
function winH(){if(window.innerHeight)return window.innerHeight;else return document.body.clientHeight;}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement &&
      ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function closeCart() {
	var koupitPopUp = document.getElementById('koupitPopUp')
	document.body.removeChild(koupitPopUp);
	return false;
}

function cartInfoUpdate() {
	var xmlHttp = XmlHttp.create();
	xmlHttp.open("GET", "/jnp/cz/citatelia/vyber_knih/katalog/updateCartInfo/index$136562.html", true);
	xmlHttp.onreadystatechange = function () {
		if (xmlHttp.readyState == 4) {
			document.getElementById('cartInfo').innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.send(null);
}

function addToCart(what) {
	var xmlHttp = XmlHttp.create();
	xmlHttp.open("GET", what, true);
	if (document.getElementById('koupitPopUp')) {
		document.body.removeChild(document.getElementById('koupitPopUp'));
	}
	var div       = document.createElement('DIV');
	div.id        = 'koupitPopUp';
	var rozmery = getScrollXY();
	div.style.position = "absolute";
	div.style.width  = "300px";
	div.style.height = "20px";
	div.style.left   = Math.floor( ((winW() - 300) / 2) + rozmery[0]) + "px";
	div.style.top    = Math.floor( ((winH() - 20) / 2) + rozmery[1]) + "px";
	div.innerHTML = '<div style="text-align: center;"><img src="/public/aa/23/a7/ac/136576_644042_loading.gif" alt="nahrávam">&nbsp;chví¾ku strpenia...</div>';
	document.body.appendChild(div);

	xmlHttp.onreadystatechange = function () {
		if (xmlHttp.readyState == 4) {
			var rozmery = getScrollXY();
			div.style.left   = Math.floor( ((winW() - 300) / 2) + rozmery[0]) + "px";
			div.style.top    = Math.floor( ((winH() - 250) / 2) + rozmery[1]) + "px";
			div.style.width  = "300px";
			div.style.height = "250px";
			div.innerHTML = xmlHttp.responseText;
			cartInfoUpdate();
		}
	}
	xmlHttp.send(null);
}

initEmPopUpWidth  = 200;
initEmPopUpHeight = 100;

emPopUp = {
	sizeImgWin : function(img) {
		if (!img.loaded) {
			// v Mozille se vyvola onload 2x
			img.loaded = true;
			img.onload = null;
			var new_w  = img.width;
			var new_h  = img.height;
			if ((screen.width > new_w) || (screen.height > new_h)) {
				var left       = (screen.width  - new_w) / 2;
				var top        = (screen.height - new_h) / 2;
			} else {
				var left       = 0;
				var top        = 0;
			}
			window.moveTo(left, top);
			new_w -= initEmPopUpWidth;
			new_h -= initEmPopUpHeight;
			window.resizeBy(new_w,new_h);
			window.document.title = window.loadTl;
			img.style.top  = '0px';
			img.style.left = '0px';
		}
	},

	popUp : function(e) {
		e = evt.fix(e);
		var anchor     = e.target;
		while (anchor.tagName != 'A') {
			anchor = anchor.parentNode;
		}
		var width      = initEmPopUpWidth;
		var height     = initEmPopUpHeight;
		var left       = (screen.width  - width)  / 2;
		var top        = (screen.height - height) / 2;
		var scrollbars = 'no';
		imgWin         = window.open(anchor.href + '?popUp=true','', 'scrollbars='+scrollbars+', width='+width+', height='+height+', top='+top+', status=no, left='+left);
		imgWin.loadTl  = anchor.title;
		e.preventDefault();
		return false;
	},

	init : function() {
		var anchors = document.getElementsByTagName('A');
		for (i=0; i<anchors.length; i++) {
			if (cls.has(anchors[i], 'emPopUp')) {
				evt.add(anchors[i], 'click', emPopUp.popUp);
			}
		}
	}
}

function fixEolasInit() {
	try { fixEolas(); } catch(e) {};
}

evt.add(window, 'load', emPopUp.init);
evt.add(window,"load", fixEolasInit);

if (!String.toSafeChars) {
	String.prototype.toSafeChars = function() {

		// zaciatok hacku pre IE50
		var ie50hack1 = ((typeof(RegExp.index) != "undefined") && (typeof(RegExp.input) == "undefined"));

		var badChars =		"áâä&#227;&#185;ç&#230;&#232;&#239;&#240;éë&#234;&#236;íî&#229;&#190;&#179;&#241;&#242;óôö&#245;&#224;&#248;&#339;&#186;š&#254;&#157;úü&#249;&#251;ý&#376;&#191;ž";
		var goodChars =	"aaaaacccddeeeeiilllnnoooorrsssttuuuuyzzz";
		
		badChars = badChars + badChars.toUpperCase();
		goodChars = goodChars + goodChars.toUpperCase();
		
		var newString = this;
		
		// medzery a pomlcky nahradime podtrzitkami
		var re = new RegExp("[ \f\n\r\t]", "g");
		newString = newString.replace(re, "_");
		
		// nahradime diakritiku znakmi bez diakritiky
		var re = new RegExp("[^A-Za-z0-9_]", "g");
		
		var replaceChars = function(a, b, c) {
			
			// specialne znaky
			if (
				(a == "\\")	||
				(a == "\^")
			)
			{return "_";}

			var re = new RegExp("[" + a + "]");
			var charPosition = badChars.search(re);
			return (charPosition > -1) ? goodChars.charAt(charPosition) : "_";
		};
		
		// pokracovanie hacku pre IE50
		var ie50hack2 = ((typeof(RegExp.index) != "undefined") && (typeof(RegExp.input) == "undefined"));
		if (ie50hack1 != ie50hack2) {
			replaceChars = "_";
		}
		
		newString = newString.replace(re, replaceChars);
		
		// precistenie podtrzitiek (zaciatok, koniec a viacnasobne)
		var re = new RegExp("_{2,}", "g");
		newString = newString.replace(re, "_");

		var re = new RegExp("^_|_$", "g");
		newString = newString.replace(re, "");
		
		return newString;

	}
}

function addSearchEngine(engineURL, iconURL, suggestedTitle, suggestedCategory){

	if((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")){
		if(suggestedTitle == null) suggestedTitle = "";
		if(suggestedCategory == null) suggestedCategory = "";
		window.sidebar.addSearchEngine(engineURL, iconURL, suggestedTitle, suggestedCategory);
	}else{
		alert("Vas prehliadaè nepodporuje túto funkciu.");
	}
	return false;
}



