var preloadImages = function() {
	var d = document;
	if(d.images) { 
		if(!d.MM_p) { d.MM_p = new Array(); }
		var i, j = d.MM_p.length, a = arguments; 
		for (i=0; i<a.length; i++) {
			if (a[i].indexOf("#")!=0) { d.MM_p[j] = new Image; d.MM_p[j++].src=a[i]; }
		}
	}
}

// browser versions detection
Prototype.BrowserVersion = {
	IE:     null,
    Opera:  null,
    WebKit: null,
    Gecko:  null,
    MobileSafari: null
};
if (Prototype.Browser.IE) {
	Prototype.BrowserVersion.IE = parseFloat(navigator.appVersion.match(/MSIE ([0-9\.]+);/)[1]);
}

var initHighslide = function(options) {
	if (typeof hs == "undefined") { return false; }

	var options = options || {}, 
		rule = options['rule'] || "[rel^=highslide]",
		img_path = options['img_path'] || "/img/highslide/"
	;

	hs.graphicsDir = img_path;
	hs.wrapperClassName = 'wide-border';
	hs.numberOfImagesToPreload = 0;
	hs.showCredits = false;
	hs.lang = {
		cssDirection: 'ltr',
		loadingText : 'Загрузка...',
		loadingTitle : 'Нажмите, чтобы убрать',
		focusTitle : 'Нажмите, чтобы показать на первом плане',
		fullExpandTitle : 'Показать в полный размер (f)',
		creditsText : '',
		creditsTitle : '',
		restoreTitle : 'Нажмите, чтобы закрыть изображение, нажмите и потащите, чтобы переместить. Используйте клавиши-стрелки, чтобы перейти к следующему/предыдущему слайду.'
	};	
	$$(rule).each(function(el) {
		el.observe('click', function(e) {
			Event.stop(e);
			hs.expand(el);
		});
	});

	return true;
}

var initPopups = function(options) {
	if (typeof Prototype == "undefined") { return false; }

	var options = options || {}, 
		rule = options['rule'] || "[rel^=popup]"
	;

	$$(rule).each(function(el) {
		Event.observe(el, 'click', function(e) {
			Event.stop(e);
			var el = Event.findElement(e, 'a');
				options = {
					width: 900,
					height: 600,
					features: 'resizeable=1,scrollbars=1'
				};
				
			if (el.readAttribute('popup-style')) {
				var parts = {};
				el.readAttribute('popup-style').split(";").each(function(val) {
					if (!val.length) { return; }
					var pair = val.split(":", 2);
					if (!pair[0].length || !pair[1].length) { return; }
					parts[pair[0]] = pair[1]; 
				});
				Object.extend(options, parts);
			}
			return popup(el.href, options)
		});
	});

	return true;
}
