$(document).ready(function(){

var tab_elements = $(".dm_tabsContainer");
var totalSize = $(tab_elements).size();

if (totalSize) {
    build_tab_structure();
}

function build_tab_structure () {
	//Aufbauen der Tab-Struktur
	$(tab_elements).wrapAll("<div id='datamints_tabs'></div>");

	x = 0;
	$(tab_elements).wrap(function() {
		tabWrap = '<div id="tab_' + x + '" />';
		x = x + 1;
		return tabWrap;
	});

	$("#datamints_tabs").prepend("<div id='dmtabs_menu'><div id='tab_prev_button'><a class='tab_prev' href='#'>&#171;</a></div><ul id='tabs_ul'></ul><div id='tab_next_button'><a class='tab_next' href='#'>&#187;</a></div></div>");
	for (i = 0; i < x; i++) {
		$('#tabs_ul').append('<li><a class="dmtabs_tab" href="#tab_' + i + '">' + (i + 1) + '</a></li>');
	}
}


  if(document.getElementById('dmtabs_menu')) {   
    
    //Animation, welche im Typoscript festgelegt werden kann

	if(typeof dmTabs_animation == "undefined") {
		dmTabs_animation = '';
	}
	
	if(typeof dmTabs_animation_speed == "undefined") {
		dmTabs_animation_speed = 'fast';
	}

	switch (dmTabs_animation) {
		case "slide":
			var $tabs = $('#datamints_tabs').tabs({ fx: { height: 'toggle', duration: dmTabs_animation_speed} });
			break;
		case "fade":
			var $tabs = $('#datamints_tabs').tabs({ fx: { opacity: 'toggle', duration: dmTabs_animation_speed} });
			break;
		default:
			var $tabs = $('#datamints_tabs').tabs();
			break;
	}
   
    var totalSize = $('.dmtabs_tab').size() - 1;
    var selected = $tabs.data('selected.tabs');
	
    document.getElementById('dmtabs_menu').style.display = 'block'  
	
		//Wenn totalSize 0 ist (d.h. es ist nur eine Tab-Seite vorhanden), werden die vor/zurueck Buttons der Tabs gar nicht erst eingeblendet
	if (totalSize == 0) {
		document.getElementById('tab_prev_button').style.display = 'none'
		document.getElementById('tab_next_button').style.display = 'none'
	}
	else {
	document.getElementById('tab_prev_button').style.visibility = 'hidden'
    
    
  $('.dmtabs_tab').click(function() {
    var selected = $tabs.data('selected.tabs');
    if (!selected) {
      document.getElementById('tab_prev_button').style.visibility = 'hidden'
    }
    else {
      document.getElementById('tab_prev_button').style.visibility = 'visible'
    } 
   
    if (selected != totalSize) {
      document.getElementById('tab_next_button').style.visibility = 'visible'
    }
    else {
      document.getElementById('tab_next_button').style.visibility = 'hidden'
    }
    return false;
    })
  
  $('.tab_next').click(function() {
    //var $tabs = $('#datamints_tabs').tabs();
    var selected = $tabs.data('selected.tabs');
    $tabs.tabs('select', selected + 1);
    
      document.getElementById('tab_prev_button').style.visibility = 'visible' 
    
    if (selected != totalSize-1) {
      document.getElementById('tab_next_button').style.visibility = 'visible'
    }
    else {
      document.getElementById('tab_next_button').style.visibility = 'hidden'
    }
    return false;
  })
  $('.tab_prev').click(function() {
    //var $tabs = $('#datamints_tabs').tabs();
    var selected = $tabs.data('selected.tabs');
    $tabs.tabs('select', selected - 1);
    if (selected == 1) {
      document.getElementById('tab_prev_button').style.visibility = 'hidden'
    }
    else {
      document.getElementById('tab_prev_button').style.visibility = 'visible'
    } 
   
    document.getElementById('tab_next_button').style.visibility = 'visible'
 
    return false;
  })
  }
}
});
