(function($){  
     $.fn.extend({  
         flash_tab_navi: function(options) {       
            $.fn.flash_tab_navi.defaults = {
					tabheader_selector:	'ul.tab_navigation > li > a',
					tab_animate_duration: 800,
					tab_animate_value:	'5.6em',
					details_selector:	'.details_list > li',
					recommend_link:	'/scripts/include/modules/recommend/index_form.php?width=595&height=560&cssClass=plain'
			};
			
			// build main options before element iteration
			var opts = $.extend({}, $.fn.flash_tab_navi.defaults, options);
			
			return this.each(function() {
				
				var $base_container = $(this);
				
				//EVENT HANDLER
				$.each($(this).find(opts.tabheader_selector), 
					function(){
						$(this).hover(
						  function () {
							$(this).animate({"top": opts.tab_animate_value}, { duration: opts.tab_animate_duration, queue: false });
						  }, 
						  function () {
							$(this).animate({"top": 0}, { duration: opts.tab_animate_duration, queue: false });
						  }
						);
						
						$(this).click(function(e){
							var pos = parseInt(extractPos($(this).attr('class'),"item"));
							changeFlash(pos, $(this).attr('rel'));
							showItemByPos(pos);
							changeRecommendFacebookLink(pos, $(this).text());
							return false;
						});
				});
				
				//INIT - get Parameter? - click auf den tab
				var startPos = parseInt(getQuerystring('flashTab', window.location.search, 1));
				$base_container.find(opts.tabheader_selector).eq(startPos-1).trigger('click');
				
				
				function showItemByPos(pos){
					$base_container.find(opts.tabheader_selector).removeClass('active');	
					$base_container.find(opts.tabheader_selector+".item"+pos).addClass('active');	
					
					$base_container.find(opts.details_selector).removeClass('active');	
					$base_container.find(opts.details_selector).eq(pos-1).addClass('active');	
				}
				
				function changeFlash(pos, swf) {
					if (swf != "") {
						var detail_item = $base_container.find(opts.details_selector).eq(pos-1);
						if (detail_item.find('.flashtab').size() != 1) {
							detail_item.append('<div class="flashtab" id="flashtab_'+pos+'"></div>');
						}
						if(detail_item.find("#flashtabSWF_"+pos).size() != 1) loadFlash(pos, swf);
					}	
				}
				
				function loadFlash(pos, swf) {
					var so = new SWFObject(swf, "flashtabSWF_"+pos, "100%", "100%", "8", "");
					so.addParam("allowScriptAccess", "always");
					so.addParam("wmode", "transparent");
					so.addParam("bgcolor", "#ffffff");
					so.addParam("quality", "high");
					so.write("flashtab_"+pos);
				}
				
				function changeRecommendFacebookLink(pos, tab) {
					var url = encodeURIComponent(window.location.pathname+"?flashTab="+pos);
					var title = encodeURIComponent(metaTitle+" - "+tab);
					
					var link = $base_container.find('#recommmend_link');
					if (link.size() > 0) {
						var url_link = opts.recommend_link+"&recommend_url="+url+"&recommend_title="+title;
						link.attr('href', url_link);
					}
					
					var link_fb = $base_container.find('#fb_like_me');
					if (link_fb.size() > 0) {
						getFBlikeMe (window.location.protocol+"//"+window.location.hostname+url, title);
					}
				}
				
				function extractPos(txt,token){
					var parts = txt.split(" ");
					var val = "";
					for (var i=0; i<parts.length; i++) {
						var part = parts[i];
						var start = part.indexOf(token);
						if (start != -1) {
							val = part.substring(start+(token.length), part.length);
						}

					}
					return val;
				}
				
				function getQuerystring(key, url, default_){
				  var url = (url == null) ? window.location.href : url;
				  
				  if (default_==null) default_="";
				  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
				  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
				  var qs = regex.exec(url);
				  if(qs == null)
					return default_;
				  else
					return qs[1];
				}
				

            });
        } 
    }); 
 })(jQuery); 


