var req;

function init(){
	//We can use one Request object many times.
	req = new Request.HTML({url:'/ajax/display_proDesc.php',
								onRequest:	function(){
														showLoader(true); 
											}, 
								onSuccess: function(html) {
									showLoader(false); 
									
									$('featureDescBox').set('text', '');
									$('featureDescBox').setStyle('opacity', '0.5');
									$('featureDescBox').adopt(html);
									
									var myFx = new Fx.Morph('featureDescBox', {duration: 400, transition: Fx.Transitions.Cubic.easeInOut});
									
									myFx.start(	{
												    'opacity': 1
												});										
								},
								onFailure: function() {
									$('rbContent').set('text', 'The request failed.');
								}
							});
							
	preparePopupLayout();
	
	// Falls Adresse mit Anker eingeben wird. Dann direkt laden (zb. Favoriten gespeichert)
	var params = window.location.hash.replace('#', '');
	if( $defined(params) && params != "" ){
		get_pro_desc(params, 5);
	}
	
	
	$('ico_twitter').addEvent('click',function(e) {
		e.stop();
		$('tweets-here').set('html','');
		
		//get information
		var myTwitterGitter = new TwitterGitter( {
			count: 2,	// Anzahl tweets die angezeigt werden sollen -> Falls die veraendert wird muss auch die Ueberpruefung der geloeschten tw in der Fkt 'close_tweet' angepasst werden.
			onComplete: function(tweets,user) {
				tweets.each(function(tweet,i) {;				
					var myTw	=	new Element('div',{
						html	: '<a href="http://www.twitter.com/ErgoSoftRip/" target="_blank"><img src="' + user.profile_image_url.replace("\\",'') + '" align="left" alt="' + user.name + '" /></a><strong class="esRed">' + user.name + '</strong><p id="bt_close" class="esGrey" alt="close" title="close" onClick="close_tweet(\'tweet' + i + '\'); return false;">x</p><p class="esGrey">' + tweet.created_at.replace(" +0000","") + '</p><br />' + tweet.text,
						'class' : 'tweet clear',
						'id'	: 'tweet'+i
					}).inject('tweets-here');
					var myFx = new Fx.Tween(myTw);
					myFx.start('opacity', '0.2', '1');
				});
			}
		}).retrieve();
	});
}

//Ansteuern der Banner (Buch) per Tastatur
if (document.addEventListener){
	document.addEvent('keydown', function(evt) {

		var stopEvent	=	false;
		
		if(evt.key == "left" || (evt.key == "backspace") ){
			var link		=	$$('#linkPrevFeature a');
			link			=	""+link.getProperty('onClick')+"";
			link			=	link.replace('return false;', '');
			// Befehl direkt ausfuehren (link), wenn prev-button definiert
			if ( $defined($('btn_prev')) ){
				eval( link );
			}
		    stopEvent		=	true;
		}else if(evt.key == "right"){
			var link		=	$$('#linkNextFeature a');
			// Befehl direkt ausfuehren (link), wenn next-button definiert
			if ( $defined($('btn_next')) ){
				// wenn onClick gefunden wird, dann ausfuehren, sonst auf adresse (im a-tag) weiterleiten!
				if( link.get('onclick') != '' ){
					link			=	""+link.getProperty('onClick')+"";
					link			=	link.replace('return false;', '');
					eval( link );
				}else{
					link			=	""+link.getProperty('href')+"";
					window.location =	link;
				}
			}
			stopEvent		=	true;
		}
		if(stopEvent){
			evt.stop();
		}
	});
} else if (document.attachEvent){
	// IE separat ansteuern
	document.attachEvent('onkeydown', function(evt) {
		if(evt.keyCode == "37" || (evt.keyCode == "8") ){ //left=37;backspace=8
			var link		=	$$('#linkPrevFeature a');
			link			=	""+link.getProperty('onClick')+"";
			link			=	link.replace('function onclick()\n{', '');
			link			=	link.replace('return false;', '');
			link			=	link.replace('}', '');
			
			// Befehl direkt ausfuehren (link), wenn prev-button definiert
			if ( $defined($('btn_prev')) ){
				eval( link );
			}
		}else if(evt.keyCode == "39"){  //right=39
			var link		=	$$('#linkNextFeature a');
			// Befehl direkt ausfuehren (link), wenn next-button definiert
			if ( $defined($('btn_next')) ){
				// wenn onClick gefunden wird, dann ausfuehren, sonst auf adresse (im a-tag) weiterleiten!
				if( link.get('onclick') != '' ){
					link			=	""+link.getProperty('onClick')+"";
					link			=	link.replace('function onclick()\n{', '');
					link			=	link.replace('return false;', '');
					link			=	link.replace('}', '');
					eval( link );
				}else{
					link			=	""+link.getProperty('href')+"";
					window.location =	link;
				}
			}
		}
	});
}

var TwitterGitter = new Class({
	
	//implements
	Implements: [Options,Events],

	//options
	options: {
		count: 5,
		sinceID: 10,
		link: true,
		onRequest: $empty,
		onComplete: $empty
	},
	
	//initialization
	initialize: function( options ) {
		//set options
		this.setOptions(options);
		this.info = {};
	},
	
	//get it!
	retrieve: function() {
		new JsonP('http://twitter.com/statuses/user_timeline/ErgoSoftRip.json',{
			data: {
				count: this.options.count,
				since_id: this.options.sinceID
			},
			onRequest: this.fireEvent('request'),
			onComplete: function(data) {
				//linkify?
				if(this.options.link) {
					data.each(function(tweet) { tweet.text = this.linkify(tweet.text); },this);
				}
				//complete!
				this.fireEvent('complete',[data,data[0].user]);
			}.bind(this)
		}).request();
		return this;
	},
	
	//format
	linkify: function(text) {
		//courtesy of Jeremy Parrish (rrish.org)
		return text.replace(/(https?:\/\/\S+)/gi,'<a href="$1">$1</a>').replace(/(^|\s)@(\w+)/g,'$1<a href="http://twitter.com/$2">@$2</a>').replace(/(^|\s)#(\w+)/g,'$1#<a href="http://search.twitter.com/search?q=%23$2">$2</a>');
	}
});

function get_pro_desc( id, pro ){
	req.send("id="+id+"&pro="+pro);
	
	//anker hinzufuegen
	window.location = "#"+id;
}

function close_tweet(id){
	var myVerticalSlide2 = new Fx.Slide($(id),{duration: 600});
	myVerticalSlide2.slideOut();
	
	if( $$('#tweets-here div .tweet').length > 1 ){
		$('tweets-here').empty()
	}
}
