jQuery(function(){

	var animationDuration = 500;

	// Gets the accordion
	jQuery('.roundedbox_accordion').each(function(id, object){

		if (jQuery(object).hasClass('roundedbox_noaccordion')) {
			return true;
		}

		var pElements = jQuery(this).find('.csc-default');
		var h3Element = jQuery(pElements).find('h4');

		//console.log(h3Element);
		//var imageElements = jQuery(this).find('.csc-textpic');

		var contentFooterElement = jQuery(this).find('.nxttcontentadditionalfields');
		var closeElement = jQuery('<div class="close" />');

		// The padding needs to be added, because  it will be added with css afterwords
		jQuery(this).find('.csc-default').css('padding','0px 10px 0px 10px');
		var height = jQuery(this).find('.csc-default').outerHeight(true);
		jQuery(this).find('.csc-default').css({
			'padding':'0px',
			'padding-top':'10px'
		});

		// puts all pElements into a accordion_content div
		jQuery(this).find('.roundedbox_zindex').prepend(h3Element);
		jQuery(this).find('.roundedbox_zindex').append('<div class="accordion_content accordion_hidden"></div>');
		//jQuery(this).find('.csc-default .accordion_content').append(imageElements);
		jQuery(this).find('.roundedbox_zindex .accordion_content').append(pElements);
		jQuery(h3Element).addClass('accordion_hidden');

		var contentElement = jQuery(this).find('.accordion_content');
		//console.log(contentElement);

		//jQuery(contentElement).append(closeElement);

		height += 25;

		if(contentFooterElement.length > 0){
			jQuery(this).find('.csc-default .accordion_content').append(contentFooterElement);
			jQuery(closeElement).insertBefore( jQuery(this).find('.nxttcontentadditionalfields') );
			height -= 15;
		}else{
			jQuery(contentElement).append(closeElement);

		}


		// on header click show or hide the content elements
		 jQuery(h3Element).bind('click', function(){

			 jQuery('.roundedbox_accordion h4, .roundedbox_accordion .accordion_content .close').stop(true, true);
			 //console.log(jQuery('.roundedbox_accordion h4, .roundedbox_accordion .accordion_content .close'));

			 // Close all open things
			 jQuery('.roundedbox_accordion div.accordion_active').stop(true, true).animate({"height": "0px"}, {
				 duration: animationDuration,
				 complete: function(){
				 	jQuery(this).addClass('accordion_hidden');
					jQuery(this).removeClass('accordion_active');
			 	},
			 	queue: true
			 });
			 jQuery('.roundedbox_accordion h4.accordion_active').each( function(){
				 	jQuery(this).addClass('accordion_hidden');
					jQuery(this).removeClass('accordion_active');
			 });

			 // Open a thing
			 if(contentElement.hasClass('accordion_hidden')){
				 jQuery(contentElement).stop(true, true).animate({"height": height + "px"}, {
					 duration: animationDuration,
					 complete: function(){
					 	jQuery(contentElement).addClass('accordion_active');
						jQuery(contentElement).removeClass('accordion_hidden');
						jQuery(h3Element).addClass('accordion_active');
						jQuery(h3Element).removeClass('accordion_hidden');
				 	},
				 	queue: true
				 });
			 // Close a thing
			 }else{
				 jQuery(contentElement).animate({"height": "0px"}, {
					 duration: animationDuration,
					 complete: function(){
					 	jQuery(contentElement).addClass('accordion_hidden');
						jQuery(contentElement).removeClass('accordion_active');
						jQuery(h3Element).addClass('accordion_hidden');
						jQuery(h3Element).removeClass('accordion_active');
				 	},
				 	queue: true
				 });
			 }

		 });


		// on close click hide the content
		 jQuery(closeElement).bind('click', function(){
			 jQuery(contentElement).stop(true, true).animate({"height": "0px"}, {
				 duration: animationDuration,
				 complete: function(){
					jQuery(contentElement).addClass('accordion_hidden');
					jQuery(contentElement).removeClass('accordion_active');
					jQuery(h3Element).addClass('accordion_hidden');
					jQuery(h3Element).removeClass('accordion_active');
			 	},
			 	queue: true
			 });
		 });

	});













	// Adds pagination to the accordion if an html element with the class .pagination exists
	if(jQuery('.pagination, .pagination2').length > 0){
		var pagination = jQuery('.roundedbox_accordion').not('.tab-content .roundedbox_accordion, .roundedbox_noaccordion').nxpagination();
		jQuery('.pagination').append( pagination );
		jQuery('.pagination2').append( pagination.clonePagination() );
	}

});

