(function($){ 
     $.fn.extend({  
         contenttabs: function(options) {       
            $.fn.contenttabs.defaults = {
					tabbox_selector: '.tabs',
					tabitem_head_selector: 'h2.itemheadline',
					li_selector: 'li',
					link_selector: 'li a',
					li_active_class: 'active',
					li_prev_active_class: 'next_active',
					items_selector: '.tabs_content_wrapper .item_list .item',
					start_pos: 1,
					base_el: ""
					
			};
			
			// build main options before element iteration
			var opts = $.extend({}, $.fn.contenttabs.defaults, options);
			
			return this.each(function() {
				$this = opts.base_el = $(this);
				
				//init
				$this.find(opts.tabbox_selector).show();
				$this.find(opts.tabitem_head_selector).hide();
				
				//only show active tabcontent
				el = $this.find(opts.tabbox_selector+" "+opts.li_selector+"."+opts.li_active_class);
				pos_class = $(el[0]).children().attr('class');
				if (pos_class == "") pos = opts.start_pos;
				else pos = extractPosByClass (pos_class);
				showItemByPos (pos, $this);
				
				//clickevents
				$this.find(opts.tabbox_selector+" "+opts.link_selector).click(function () {
					pos_class = $(this).attr('class');
					pos = extractPosByClass (pos_class);
					
					/* hide or show language link ------------------------------
					var label = $(this).find('span').html();
					$('ul#metanavigation li').removeClass('first');
					if (label.toLowerCase() == 'country news') {
						$('#language_link').hide();
						$('ul#metanavigation li:last').prev().addClass('first');
					} else {
						$('#language_link').show();
						$('ul#metanavigation li:last').addClass('first');
					}	
					/* ------------------------------*/
					
					highlightTabByPos (pos,  opts.base_el);
					showItemByPos (pos,  opts.base_el);
				});
				
				function showItemByPos (pos, base_el) {
					base_el.find(opts.items_selector).hide();
					base_el.find(opts.items_selector+".value_"+pos).show();
				}
				
				function highlightTabByPos (pos,  base_el) {
					li_list = base_el.find(opts.tabbox_selector+" "+opts.li_selector);
					$li_list = $(li_list); 
					$li_list.removeClass(opts.li_active_class).removeClass(opts.li_prev_active_class);
					
					
					$.each($li_list, function(i){
						if ((i+2) == pos) $(this).addClass(opts.li_prev_active_class);
						if ((i+1) == pos) $(this).addClass(opts.li_active_class);
					});
				}
				
				function extractPosByClass (txt) {
					return txt.substring(1, txt.length);
				}
				
				function extractId(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+1), part.length);
						}

					}
					return val;
				}
					
				
				
            });
        } 
    }); 
})(jQuery);


