	getAbsPosition = function (object) {
		var position = new Object;
		position.x = 0;
		position.y = 0;
		
		if( object ) {
			position.x = object.offsetLeft;
			position.y = object.offsetTop;
			
			if( object.offsetParent ) {
				var parentpos = getAbsPosition(object.offsetParent);
				position.x += parentpos.x;
				position.y += parentpos.y;
			}
		}
		
		position.cx = object.offsetWidth;
		position.cy = object.offsetHeight;
		return position;
	}
	getScrollTop = function () {
		return ((document.documentElement.scrollTop!=0) ? 
	    	document.documentElement.scrollTop : document.body.scrollTop);
	}
	getMousePosition = function (e) {
		if (browser.isIE) {
		    tempX = e.clientX + document.body.scrollLeft
		    tempY = e.clientY + ((document.documentElement.scrollTop!=0) ? 
		    	document.documentElement.scrollTop : document.body.scrollTop);
		} else {
		    tempX = e.pageX
		    tempY = e.pageY
		}  
		if (tempX < 0){tempX = 0}
		if (tempY < 0){tempY = 0}  
		var mouse = new Object();
		mouse.x = tempX;
		mouse.y = tempY;
		return mouse;
	}	
	showAlert = function (style, title, content, posx, posy, width) {
		if (width==undefined) width = 300;
		if (width!=300) {
			$('divDialogAlert').style.width = width + "px";
			$('divDialogTitle').style.width = width + "px";
			$('divDialogContent').style.width = width-20 + "px";
			$('divDialogBottom').style.width = width + "px";
		}
		switch (style) {
			case 'error':
				$('divDialogTitle').style.backgroundColor = '#C80000';
				break;
			case 'info':
				$('divDialogTitle').style.backgroundColor = '#8D7EB0';
				break;
		}
		$('divDialogTitle').innerHTML = title;
		$('divDialogContent').innerHTML = content;
		$("divDialogAlert").style.top = posy + "px";
		$("divDialogAlert").style.left = posx + "px";
		$('divDialogAlert').style.display = 'block';
		$('buttonDialogAlert').focus();
	}	
	actionLogin = function() {
		$("divLoginRoot").style.display = "none";
		$("divRegisterRoot").style.display = "none";
		pos = getAbsPosition($("divMain"));
		$('login').value = '';
		$("haslo").value = '';
		$("dialogLoginError").style.display = "none";
		$("dialogLoginForm").style.display = "block";
		$("divLoginRoot").style.top = (pos.y+120) + "px";
		$("divLoginRoot").style.left = (pos.x+236) + "px";
		$('dialogLittleTitle').innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logowanie';
		$("divLoginRoot").style.display = "block";
		$("login").focus();
	}
	actionRegister = function() {
		$("divLoginRoot").style.display = "none";
		$("divRegisterRoot").style.display = "none";
		pos = getAbsPosition($("divMain"));
		$("rEmail").value = '';
		$("rNick").value = '';
		$("dialogRegisterError").style.display = "none";
		$("dialogRegisterSuccess").style.display = "none";
		$("dialogRegisterForm").style.display = "block";
		$("divRegisterRoot").style.top = (pos.y+120) + "px";
		$("divRegisterRoot").style.left = (pos.x+236) + "px";
		$('dialogRLittleTitle').innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rejestracja';
		$("divRegisterRoot").style.display = "block";
		$("rEmail").focus();
	}
	ajaxLogin = function () {
		loadStr = 'ajax_login.php';
		params = 'login='+$('login').value+
				'&haslo='+$('haslo').value;
		ax_getAjaxDoc(loadStr, params);	
	}
	ajaxRegister = function () {
		loadStr = 'ajax_register.php';
		params = 'email='+$('rEmail').value+
				'&login='+$('rNick').value;
		ax_getAjaxDoc(loadStr, params);	
	}
	actionLogout = function () {
		loadStr = 'ajax_logout.php';
		ax_getAjaxDoc(loadStr);	
	}
	loginFailed = function () {
		$("dialogLoginError").style.display = "block";
		$("dialogLoginForm").style.display = "none";
		$("divLoginRoot").style.display = "block";
		$('onceAgain').focus();
	}
	registerFailed = function (message) {
		$('registerErrorMessage').innerHTML = message;
		$("dialogRegisterForm").style.display = "none";
		$("dialogRegisterError").style.display = "block";
		$("dialogRegisterSuccess").style.display = "none";
		$("divRegisterRoot").style.display = "block";
		$('onceAgain').focus();
	}
	registerSucceded = function () {
		$("dialogRegisterForm").style.display = "none";
		$("dialogRegisterError").style.display = "none";
		$("dialogRegisterSuccess").style.display = "block";
		$("divRegisterRoot").style.display = "block";
		$('onceAgain').focus();
	}
	loginSucceded = function () {
		location.reload();
	}
	loginShowForm = function () {
		$("divLoginRoot").style.display = "block";
		$("divRegisterRoot").style.display = "none";
		$("dialogLoginForm").style.display = "block";
		$("dialogLoginError").style.display = "none";
		$("login").focus();
	}
	registerShowForm = function () {
		$("divLoginRoot").style.display = "none";
		$("divRegisterRoot").style.display = "block";
		$("dialogRegisterForm").style.display = "block";
		$("dialogRegisterError").style.display = "none";
		$("dialogRegisterSuccess").style.display = "none";
		$("login").focus();
	}
	rowHighlight = function (el) {
		el.className += " highlighted";
	}
	removeRowHighlight = function (el) {
		cn = el.className.split(" ");
		nn = "";
		for (i=0; i<cn.length; i++) {
			if (cn[i]!='highlighted') {
				if (nn.charAt(nn.length-1)!=' ') nn+= ' ';
				nn += cn[i];
			}
		}
		el.className = nn;
	}
		initPage = function () {
		if (userLogin!='') {
			var pos = getAbsPosition($('divMainMenu'));
			$('divUserLogin').style.left = pos.x+580+'px';
			$('divUserLogin').innerHTML = '<div style="float:right; margin-top:-2px; "'+
				'class="dotClose" onclick="actionLogout();" onmouseout="nd();"'+
				'onmousemove="return hoverlib(this, event, \'Wyloguj się\', 100);"></div>Witaj '+userLogin+
				'&nbsp;&nbsp;';
			$('divUserLogin').style.display = 'block';
		}
	}
	hoverlib = function (el, e, text, width) {
		return overlib(el, e, '<div class="divHelp" style="width:'+width+'px;">'+
			'<div class="divHelpInner">'+
			text+
			'</div></div>');
	}
	menuMouseOver = function (el, event, id) {
		dropdownmenu(el, event, menu[id], '200px');
		if (!browser.isIE) return;
		el.style.padding = "5px 14px 7px 14px";
		el.style.border = "1px solid white";
	}
	menuMouseOut = function (el) {
		delayhidemenu();
		if (!browser.isIE) return;
		el.style.padding = "6px 15px 8px 15px";
		el.style.borderWidth = "0px";
	}
	updateCartQtys = function (cartNum, edition, seq, lang, cond, foiled, qty) {
		// tables
		for (var i=0; i<allCardTables.length; i++) {
			if (allCardTables[i]==undefined) continue;
			allCardTables[i].updateCartQty (cartNum, edition, seq, lang, cond, foiled, qty);
		}
		// cards
		cards.updateCartQtys (cartNum, edition, seq, lang, cond, foiled, qty);
		// order form
		if (cartNum==0) ajaxUpdateOrder();
	}
	ajaxUpdateOrder = function () {}
	var arrDivMini = [];
	outlineDiv = function (id) {
		$(id).style.padding = '4px';
		$(id).style.border = '1px solid #E2C8BC';
	}
	deoutlineDiv = function (id) {
		$(id).style.padding = '5px';
		$(id).style.borderWidth = '0px';
	}
	miniDiv = function (el, id) {
		if ($(id).style.display!='none') {
			$(id).style.display = 'none';
			el.className = 'dotDesc dotMini';
		} else {
			$(id).style.display = 'block';
			el.className = 'dotAsc dotMini';
		}
	}

