		function url_encode(url) {
			return escape(url).replace(/\//g,'%2F').replace(/\+/g,'%2B');
			
		}
		function addToFavorites(url, title) {
			if (!title) title = $('#page_title > h1').text();
			if (window.sidebar) { // Mozilla Firefox Bookmark
				window.sidebar.addPanel(title, url,"");
			} 
			else if( window.external ) { // IE Favorite
				window.external.AddFavorite( url, title); 
			}
			else if(window.opera && window.print) { // Opera Hotlist
				return true; 
			}
		}
		function addToFacebook(url, title) {
			if (!title) title = $('#page_title > h1').text();
			location.href='http://www.facebook.com/sharer.php?u='+url_encode(url)+'&t='+url_encode(title);
		}
		function check_keys(e, keys) {
			e = e || window.event;
			var key = e.which || e.keyCode;
			return jQuery.inArray(e.keyCode, keys) >= 0;
		}
		
		function get_hightest_index() {
			var maxZ = Math.max.apply(null,$.map($('body > *'), function(e,n) {
				   if($(e).css('position')=='absolute')
						return parseInt($(e).css('z-index'))||1 ;
				   })
			);
			return maxZ;
		}
		
		function open_dialog(url, options, invoker) {
			$('body').append(object =
				$('<div class="dialogWindow">'+
						'<div class="menu"><a class="close" href="javascript: void(0)" onclick="close_dialog(this)"></a></div>'+
						'<div class="content"></div>'+
					'</div>'
				));
			
			$(object).css({
				opacity: 0, 
				top: $(invoker).offset().top,
				left: $(invoker).offset().left,
				zIndex: get_hightest_index(),
				display: "block"
			});
			
			if (url) {
				$('.content', object).load(url, options, function() {
					$(object).corner("10px").animate({
						top: $(invoker).offset().top + Math.min(0, $(document).scrollTop() + $(window).height() -  ($(invoker).offset().top +$(object).outerHeight() +5)),
						left: $(invoker).offset().left + Math.min(0, $(document).scrollLeft() + $(window).width() -  ($(invoker).offset().left +$(object).outerWidth() + 5)),
						opacity: 1
					},
					500, 
					'swing',
					function () {
						$(object).draggable({handle:'div.menu'});
					});
				});
			}
			else {
				$('.content', object).html(options.content);
				$(object).corner("10px").animate({
					top: $(document).scrollTop() + ($(window).height() - $(object).outerHeight())/2,
					left: $(document).scrollLeft() + ($(window).width() -  $(object).outerWidth()) /2,
					opacity: 1
					},
					500, 
					'swing',
					function () {
						$(object).draggable({handle:'div.menu'});
					});
			}
		}
		
		function close_dialog(invoker) {
			$(invoker).parents('.dialogWindow').fadeOut("slow", function() {
				$(this).remove();
			})
		}
		function check_required_fields(form) {
			var names = '';
			if ($("TR.required INPUT[value=], INPUT.required[value=]", form).size()<=0) return true;
			$("TR.required INPUT[value=], INPUT.required[value=]", form).each(function() { 
				if (!$(this).val()) names += (names ? ', ' : '') +$(this).parents('TR.required').find('TH').text();
			});
			if (names) {
				alert(LANG_TEXTS['err_empty_required_fields'] + ' [' +names+']');
				return false; 
			}
			return true;	
		}
		
		jQuery.fn.outerHTML = function() {
			return $('<div>').append( this.eq(0).clone() ).html();
		};

		function initLightbox(selector) {
			
			$(selector).lightBox({
				imageLoading: "/js/lightbox/images/lightbox-ico-loading.gif",
				imageBtnClose: "/js/lightbox/images/lightbox-btn-close.gif",
				imageBtnPrev: "/js/lightbox/images/lightbox-btn-prev.gif",
				imageBtnNext: "/js/lightbox/images/lightbox-btn-next.gif",
				imageBlank: "/js/lightbox/images/lightbox-blank.gif"
			}).mouseenter(function() {
				$(this).find('img').css({opacity: 0}).animate({
						opacity: 1
				}, 300);
				
			});
		}
		$(function() {	initLightbox("A.lightbox"); setTimeout('changeTitleImg()', 3000); });
		
		var titleImgIndex = 0;
		var titleImgCount = 16;
		function changeTitleImg() {
			var img = new Image();
			img.src = '/images/title_imgs/'+(++titleImgIndex % titleImgCount)+'.jpg';
			$(img).load(function(e) {
				$(img).hide();
				$(img).appendTo($('.TITLE_IMAGE'));
				$(img).fadeIn(1500, function() {
					var timeout = Math.ceil(Math.random()*5)*1000;
					setTimeout('changeTitleImg()', timeout);
				});
			});			
		}

