/**
*	@author http://chalker.ru/ ChALkeR
*	@copyright (c) ChALkeR
*	@version 2010-03-21
**/

$.cms.popup = {
	lock: false,
	lib: false,

	init: function() {
		$('a.image').live('click',function(e) {
				if (e.which>1) {
					return true;
				}
				return $.cms.popup.imageobject($(this));
			});
		return $.cms.popup;
	},
	imageobject: function(object) {
		return $.cms.popup.lib.imageobject ? $.cms.popup.lib.imageobject(object) : $.cms.popup.image(object.attr('href'));
	},
	image: function(path) {
		return $.cms.popup.lib.image($.cms.popup.thumbnail(path),path);
	},
	thumbnail: function(path) {
		var s = $.cms.popup.maxsize();
		return path+'.('+s[0]+'x'+s[1]+')?nocache=1';
	},
	unthumbnail: function(path) {
		var s = $.cms.popup.maxsize();
		return path.replace('.('+s[0]+'x'+s[1]+')?nocache=1','');
	},
	isthumbnail: function(path) {
		return path.lastIndexOf(')?nocache=1') != -1;
	},
	overlay_toggle: function(arg) {
		return $.cms.popup.lib.overlay_toggle ? $.cms.popup.lib.overlay_toggle(arg) : $.cms.popup.lock_toggle(arg);
	},
	lock_toggle: function(arg) {
		$.cms.media_toggle(!arg);
		$.cms.popup.lock = arg;
		return false;
	},
	toggle: function(arg) {
		return $.cms.popup.lib.toggle(arg);
	},
	show: function(data, image) {
		$.cms.popup.overlay_toggle(true);
		return $.cms.popup.lib.show(data, image||false);
	},
	close: function() {
		$.cms.popup.lib.close();
		return $.cms.popup.overlay_toggle(false);
	},
	maxsize: function() {
		return [$(window).width()-$.cms.popup.lib.spacing[0],$(window).height()-$.cms.popup.lib.spacing[1]];
	},
	slideshow: {
		running: false,
		period: 5000,
		period_ctl: 500,
		running: false,
		start: function(selector) {
			if (!$.cms.popup.lib.slide || !$.cms.popup.lib.active) {
				return false;
			}
			$.cms.popup.slideshow.running = true;
			$(selector || 'a.image').first().click();
			setTimeout($.cms.popup.slideshow.run,$.cms.popup.slideshow.period);
			setTimeout($.cms.popup.slideshow.ctl,$.cms.popup.slideshow.period);
		},
		ctl: function() {
			if ($.cms.popup.slideshow.running && $.cms.popup.lib.active()) {
				setTimeout($.cms.popup.slideshow.ctl,$.cms.popup.slideshow.period_ctl);
			} else {
				$.cms.popup.slideshow.running = false;
			}
		},
		run: function() {
			if ($.cms.popup.slideshow.running && $.cms.popup.lib.active()) {
				$.cms.popup.lib.slide();
				setTimeout($.cms.popup.slideshow.run,$.cms.popup.slideshow.period);
			}
		}
	}
};

$($.cms.popup.init);