var addthis_pub="corrupted";

Element.implement({
	'fit': function(target) {
		var tc = target.getCoordinates();
		this.setStyles({
			width: tc.width,
			height: tc.height,
			top: tc.top,
			left: tc.left
		});
	}
});

function initToolTips()
{
	var litLinks = $$('.literature_link');
  litLinks.each(function(el, index){
		var content = el.get('title');
		content = content.split(' :: ');
		el.store('tip:title', content[0]);
		el.store('tip:text', content[1].replace(/\n/g, '<br />'));
  });

  var tips = new Tips(litTips, {
		className: 'tooltipWnd',
		hideDelay: 50,
		showDelay: 50
  });

	var imgThumbs = $$('.image_thumb');
  imgThumbs.each(function(el, index){
		var content = el.get('title').replace(/ -- /, '<br /><br />');
		content = content.replace(/img_small\{(.*?)\}/, '<img style="display: block; margin: 0 auto;" src="/images/small_images/$1" alt="" />');
		content = content.split(' :: ');
		el.store('tip:title', content[0]);
		el.store('tip:text', content[1]);
  });

  var litTips = new Tips(litLinks, {
		className: 'tooltipWnd',
		hideDelay: 50,
		showDelay: 50
  });
  var imgTips = new Tips(imgThumbs, {
		className: 'tooltipWnd',
		hideDelay: 50,
		showDelay: 50
  });
}

function initImageLinks() {
	var imageLinks = $$('.gallery_images_container a, .image_link');
	if (imageLinks) {
		if (!$('image_container')) {
			initSliderContent();
		}
		imageLinks.each(function(elem){
			elem.addEvent('click', function(evt){
				evt.preventDefault();
				loadImage(elem.href, elem.hasClass('image_link'));
			});
		});
	}
}

function initSliderContent() {
	var imageControls = new Element('div', {
		'id': 'img_nav'
	}).inject('slider_div_content');
	var imageControlPrev = new Element('div', {
		'id': 'img_nav_prev_button',
		'html': '<img src="/images/interface/btn_prev.png" alt="previous image" />previous',
		'events': {
			'click': function(){
				showPrevImage();
			}
		}
	}).inject(imageControls);
	var imageControlClose = new Element('div', {
		'id': 'img_nav_close_button',
		'html': '<img src="/images/interface/btn_home.png" alt="close" />close',
		'events': {
			'click': function(){
				sw.slideOut();
			}
		}
	}).inject(imageControls);
	var imageControlNext = new Element('div', {
		'id': 'img_nav_next_button',
		'html': '<img src="/images/interface/btn_next.png" alt="next image" />next',
		'events': {
			'click': function(){
				showNextImage();
			}
		}
	}).inject(imageControls);
	var imageContainer = new Element('div', {
		'id': 'image_container'
	}).inject('slider_div_content');
}

function loadImage(url, singleImage) {
	var imageRequest = new Request.JSON({
		'url': url,
		'method': 'get',
		'secure': false,
		'onSuccess': function(imageData) {
			if (singleImage) {
				prevImages = [];
				nextImages = [];
			} else {
				prevImages = imageData.prevImages;
				nextImages = imageData.nextImages;
			}
			if (prevImages.length == 0) {
				$('img_nav_prev_button').setStyle('visibility', 'hidden');
			} else {
				$('img_nav_prev_button').setStyle('visibility', 'visible');
			}
			if (nextImages.length == 0) {
				$('img_nav_next_button').setStyle('visibility', 'hidden');
			} else {
				$('img_nav_next_button').setStyle('visibility', 'visible');
			}
			if (nextImages[0]) {
				new Asset.image(nextImages[0].image);
			}
			if (prevImages[0]) {
				new Asset.image(prevImages[0].image);
			}
			if (nextImages[1]) {
				new Asset.image(nextImages[1].image);
			}
			if (prevImages[1]) {
				new Asset.image(prevImages[1].image);
			}
			var imageContainer = $('image_container');
			imageContainer.empty();
			var title = new Element('h3', {
				'html': imageData.name
			}).inject(imageContainer);
			var overlay = new Element('div', {
				'class': 'image_overlay',
				'events': {
					'click': function(){
						sw.slideOut();
					}
				}
			}).inject(imageContainer);
			var img = new Element('img', {
				'src': imageData.src,
				'class': 'image_big',
				'events': {
					'click': function(){
						sw.slideOut();
					},
					'load': function(){
//						overlay.fit.delay(3000, this, this);
					}
				}
			}).inject(imageContainer);
			sw.slideIn();
		}
	}).send();
}

function showNextImage() {
	if (nextImages[0]) {
		loadImage(nextImages[0]['url']);
	}
}

function showPrevImage() {
	if (prevImages[0]) {
		loadImage(prevImages[0]['url']);
	}
}

window.addEvent('domready', function(){
	sw = new slideWin({
		'onSlideInComplete': function() {
			//alert('slide in complete');
			var overlay = this.sliderDiv.getElement('.image_overlay');
			var img = this.sliderDiv.getElement('.image_big');
			//overlay.fit(img);
		}
	});
	var links = $$('#literature_list a');
	if (links) {
		links.each(function(el){
			var color = new Color(el.getStyle('background-color'));
			var direction = 1;

			(function(){
				if (direction == 1) {
					var bri = color.hsb[2]++;
					if (bri > 99) {
						bri = 98;
						direction = 0;
					}
				} else {
					var bri = color.hsb[2]--;
					if (bri < 0) {
						bri = 1;
						direction = 1;
					}
				}
				el.setStyle('background-color', color.setBrightness(bri));
			}).periodical(50);

		});
	}
	initToolTips();
	initImageLinks();
});
