/* index - slideshow
==================================*/
function slideshowRight() {
	var elem = $('slideshow_slider');
	if(elem.childElements().length <= 1) { return null; }
	new Effect.Move(elem, {
		duration: 0.5,
		x: -474,
		y: 0,
		mode: 'relative',
		transition: Effect.Transitions.sinoidal,
		afterFinish: addElemBack
	});
}
function addElemBack(obj) {
	var elem = obj.element;
	elem.appendChild(elem.childElements()[0].cloneNode(true));
	elem.removeChild(elem.childElements()[0]);
	elem.style.left = '0px';
}
function slideshowLeft() {
	var elem = $('slideshow_slider');
	if(elem.childElements().length <= 1) { return null; }
	addElemFront(elem);
	new Effect.Move(elem, {
		duration: 0.5,
		x: +474,
		y: 0,
		mode: 'relative',
		transition: Effect.Transitions.sinoidal
	});
}
function addElemFront(elem) {
	elem.insertBefore(elem.childElements()[elem.childElements().length-1].cloneNode(true), elem.childElements()[0]);
	elem.removeChild(elem.childElements()[elem.childElements().length-1]);
	elem.style.left = '-474px';
}

/* shop
==================================*/
function shopItemShow(elem) {
	button = elem.previous().childElements()[0].childElements()[0];
	if(elem.visible()) {
		new Effect.SlideUp(elem, {
			duration: 0.8,
			afterFinish: function() {elem.style.height = ''; button.removeClassName('down_active');}
		});
	} else {
		new Effect.SlideDown(elem, {
			duration: 0.8,
			afterFinish: function() {elem.style.height = '100%'; button.addClassName('down_active');}
		});
	}
}

/* twitter integration
==================================*/
function twitterEmbed(url, elem) {
	Event.observe(window, 'load', function() {	
		elem = document.createElement('script');
		elem.type = 'text/javascript';
		elem.src = url;
		$('twitter-root').appendChild(elem);
	});
}
									   
function twitterCallback(response) {
	output = "";
	twitters = twittersFormat(response);
	twitters.each(function(obj) {
		output += obj;
	});
	$('twitter_data').innerHTML = output;
}

function twittersFormat(twitters) {
	var month = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dez'];
	var statusHTML = [];
	for (var i=0; i<twitters.length; i++){
		var date = new Date(twitters[i].created_at.replace("+0000 ", ""));
		//alert(twitters[i].created_at);
		var username = twitters[i].user.screen_name;
		var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
		  return '<a href="'+url+'" target="_blank">'+url+'</a>';
		}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
		  return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
		});
		statusHTML.push('<li><span class="date"><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'" target="_blank">'+month[date.getMonth()] +' '+date.getDate()+', '+date.getFullYear()+', '+date.getHours()+':'+date.getMinutes()+''+'</a></span>'+status+'</li>');
	}
	return statusHTML;	
}

/* ajax subsites
==================================*/
function updateContent(elem, url) {
	new Ajax.Updater({ success: elem }, url, {
	});
}

/* facebook integration
==================================*/
Event.observe(window, 'load', function() {
	FB.init({
	  appId  : '113013872071054',
	  status : true, // check login status
	  cookie : true, // enable cookies to allow the server to access the session
	  xfbml  : true  // parse XFBML
	});
});

/* gallery
==================================*/
var currentImageParent = '';

function galleryShowImage(elem) {
	var imageParent = elem;
	currentImageParent = elem;
	
	if($('gallery_wrapper').style.display == 'none') {
		$('gallery_wrapper').blindDown({
		});
		imageAppear(imageParent);
		return '';
	}
	
	changeImage(imageParent);
}

function changeImage(imageParent) {
	$('main_image').fade({
		duration: 0.5,
		afterFinish: imageAppear,
		imageParent: imageParent
	});
}

function imageAppear(obj) {
	imageParent = (obj.options == null) ? obj : obj.options.imageParent;
	$('main_image').replace('<img id="main_image" src="' +imageParent.childElements()[0].value +'" alt="" style="display:none" />');
	$('image_text').innerHTML = '<b>' +imageParent.childElements()[0].alt;
	
	$('main_image').appear({
		duration: 0.5,
		afterFinish: function() {
			$('gallery_wrapper').style.border = 'none';
			if(imageParent.next() == null) {
				$('gallery_right').hide();
			} else {
				$('gallery_right').show();
			}
			if(imageParent.previous() == null) {
				$('gallery_left').hide();
			} else {
				$('gallery_left').show();
			}
		}
	});
}

function galleryHide() {
	$('main_image').fade();
	$('gallery_wrapper').blindUp();
}

function galleryPrevious() {
	imageParent = currentImageParent.previous();
	if(imageParent == null)	return '';
	
	currentImageParent = imageParent;
	
	changeImage(imageParent);
}

function galleryNext() {
	imageParent = currentImageParent.next();
	if(imageParent == null)	return '';
	
	currentImageParent = imageParent;
	
	changeImage(imageParent);
}

