//var x4epibaseUrl = 'fileadmin/templates/ajaxTestResponse.html';
//var x4epibaseCatParam = '&subfunc=';

function SliderElement(item){
	
	var expanded = false;
	var loaded = false;
	var toggleElement = null;
	var containerElement = null;
	//var sliderElement = null;
	var obj = null;
	
	function initialize(item){
		toggleElement = item.getElement( '.rgaccord1-toggle' );
		containerElement = item.getElement( '.rgaccord1-content' );
		//containerElement.setStyle('display', 'none');
		
		toggleElement.addEvent( 'click', function(){
			if(!expanded){
				if(loaded){
					//sliderElement.hide();
					//sliderElement.toggle();
					setCssClasses(item);
					//console.log('loaded already');
				} else {
					getData(item);
					loaded = true;
					//console.log('get data');
				}
				expanded = true;
			} else {
				//sliderElement.toggle();
				setCssClasses(item);
				//console.log('- after new Slide');
				
				//console.log('- after hide()');
				//thisSlider.slideOut();
				//console.log('- after toggle()');
				
				expanded = false;
				//console.log('close slider');
			}
		});
	};
	
	function getData(item){
		item.getElement( '.rgaccord1-toggle' ).addClass('wait');
		var req = new XHR({
			
			onSuccess: function(html) {
				// hide loader icon
				item.getElement( '.rgaccord1-content' ).setHTML(html);
				setTimeout(function(){
					setCssClasses(item);
					//sliderElement = new Fx.Slide(item.getElement( '.rgaccord1-content' ), { duration: 500 });
					document.getElements('img[class=small-images]').each(function(small){
						a = small.getParent('a');
						if(a.tagName == "A"){
							small = a;
						}
						small.addEvent('mouseenter',function (event){
							large = small.getNext('img');
							if(large){
								large.setStyle('display', 'block');
							}
						});
						small.addEvent('mousemove',function (ev){
							large = small.getNext('img');
							if ( navigator.userAgent.toLowerCase().indexOf( "msie" ) != -1) {
								topOffset = document.documentElement.scrollTop;
								leftOffset = document.documentElement.scrollLeft;
							}else{
								topOffset = window.pageYOffset;
								leftOffset = window.pageXOffset;
							}
							if(large){
								y = 10+parseInt(ev.clientY+topOffset);
								x = 10+parseInt(ev.clientX-leftOffset);
								large.setStyle('top',y+"px");
								large.setStyle('left',x+"px");
							}
						});
						small.addEvent('mouseleave',function (event){
							large = small.getNext('img');
							if(large){
								large.setStyle('display', 'none');
							}
						});
					});
				}, 0);
				
				// for 'kompetenzen'
				//sliderElement.hide();
				//sliderElement.toggle();
				
				// for 'supporter'
				//sliderElement.hide();
				//sliderElement.slideOut;
				
				//console.log('slider created');
				//sliderElement.hide();
				//sliderElement.toggle();
				
				//sliderElement.slideIn();
				//console.log('slider toggled');
			}
			
		},async = false,method = 'post').send(x4epibaseUrl + x4epibaseCatParam + addCatParameter(item));
	};
	
	function setCssClasses(item){
		if (item.getElement( '.rgaccord1-toggle' ).hasClass('act')) {
			item.getElement( '.rgaccord1-toggle' ).removeClass('act');
			item.getElement( '.rgaccord1-content' ).removeClass('act');
		} else {
			item.getElement( '.rgaccord1-toggle' ).addClass('act');
			item.getElement( '.rgaccord1-content' ).addClass('act');
		}
		if (item.getElement('.rgaccord1-toggle').hasClass('wait')) {
			item.getElement( '.rgaccord1-toggle' ).removeClass('wait');
		}
	};
	
	function addCatParameter(item){
		id = item.getElement('.list-title').id;
		parts = id.split('_');
		return parts[1];
	}
	
	initialize(item);
	
};

window.addEvent( 'domready', function(){
	// for each toggleNest
	$$( '.rgaccord1-nest' ).each(function(item){
		sE = new SliderElement(item);
		//sE.initialize(item);
		
	});
	
	if($('specJsConnector')){
		
	  showUid = $('specJsConnector').value;
	 
	  if($("fi_"+showUid)){
		  elementToSlide = $('fi_'+showUid).getParent('.rgaccord1-toggle');
		  
		  if(showUid > 0 && elementToSlide){
		  	
			elementToSlide.fireEvent('click');
		  }
	  }
  	}
});
