//extended links for category news filter
window.addEvent( 'domready', function () {
	document.id( document.body ).getElements( 'a.news-filter-link' ).addEvent( 'click', function (e){
		e.stop();
		value = this.get('rel').split(':',2);
		Cookie.dispose('NewsCategoryFilter',{path: "/"});
		Cookie.dispose('NewsClassFilter',{path: "/"});
		Cookie.write('NewsCategoryFilter', value[0],{path: "/"});
		Cookie.write('NewsClassFilter', value[1].split('-').erase('').join('-'),{path: "/"});
		window.location = this.get('href');
	});
});

//news iamges

window.addEvent('domready', function() {
	if(document.id( 'news-images-preview' )){
		gallerys={};
		item = document.id( 'news-images-preview' );
		gallerys.index = new fadeGallery(item, {
			steps					: 1,
			autoplay				: false,
			speed					: 100,
			duration				: 2000,
			holder					: '.mehrfach-holder',
			elementsParent	: 'ul',
			elements				: 'li',
			nextItem				: '.mehrfach-next',
			prevItem				: '.mehrfach-prev',
			mode					: "line"
		});
	}
});

//when you have no filter, then this script will be working

window.addEvent( 'domready', function () {
	if( !(document.id( 'news-category-filter' )) ) {
		relatedNews = document.id( document.body ).getElements( '.news-related-result' );
		if( relatedNews && Cookie.read('NewsCategoryFilter') && Cookie.read('NewsClassFilter') ) {
			url = '/get/newsbycategory/listline/' + Cookie.read('NewsCategoryFilter') + '/' + Cookie.read('NewsClassFilter') + '/0/5/1/0';
			relatedNews.each(function(item){
				item.set('html', '');
				item.addClass('general-loader');
			});
			req = new Request.HTML({ url: url, evalScripts: false,
				onSuccess: function(responseTree ,responseElements, responseHTML, responseJavaScript ) {
					relatedNews.each(function(item){
						item.removeClass('general-loader');
						item.set('html', responseHTML);
					});
				},
				onFailure: function() {
					thisClass.content.set('text','Server is not available');
				}
			}).get();
		}
	}
});

//links to news with current category
window.addEvent( 'domready', function () {
	document.id( document.body ).getElements( 'a.news-category' ).addEvent( 'click', function (e){
		e.stop();
		Cookie.dispose('NewsCategoryFilter',{path: "/"});
		Cookie.write('NewsCategoryFilter', this.get('rel'),{path: "/"});
		window.location = this.get('href');
	});
});

//sub home page banner
window.addEvent( 'domready', function () {
	if(document.id( 'flash-banner-vertical-tabs' )){
		var options = {
			'timerDelay': 3000,
			'selectedLinkClass': 'selected',
			'fadeDuration': 1000
		};
		new FrontMenuFull( '#flash-banner-vertical-tabs .banner-item', '#flash-banner-vertical-tabs .banner-items-links li', options );
	}
});

//gallery
window.addEvent( 'domready', function() {
	if( document.id( 'animation-gallery' ) ) {
		document.id( 'animation-gallery' ).getElements( 'div.gallery-item div.position-center div.ibl' ).each(function(item){
			item.getParent().setStyle('width', item.getStyle('width').toInt() + item.getStyle('padding-left').toInt() + item.getStyle('padding-right').toInt());
		});
		var navigationGallery = new slideGallery(document.id( document.body ).getElement("div.attribute-gallery-thumbnails"), {
			steps					: 1,
			duration				: 2000,
			holder 					: '.gallery-items-container',
			elementsParent			: '.gallery-items',
			elements				: '.gallery-item',
			nextItem				: '.gall-prev-next',
			prevItem				: '.gall-prev-prev',
			speed: 200,
			transition: Fx.Transitions.Sine.easeInOut,
			mode: "circle"
		});
		url = new URI( location.href );
		urlData = url.get('data');

		if( urlData['num'] ) {
			startImageIndex = urlData['num'];
		} else {
			startImageIndex = 0;
		}

		var options = {
			'slideShowTimeout': 0,
			'startImageIndex' : startImageIndex.toInt()
		};
		var gallery = new NXC.Gallery( 'animation-gallery', options );

		if( startImageIndex.toInt() == 4 ) navigationGallery.nextFun();
		document.id( document.body ).getElements( 'div#animation-gallery a.gallery-prev-navigation' ).addEvent( 'click', function( event ) {
			event.stop();
			gallery.showPreviousImage();
			navigationGallery.prevFun();
		} );
		document.id( document.body ).getElements( 'div#animation-gallery a.gallery-next-navigation' ).addEvent( 'click', function( event ) {
			event.stop();
			gallery.showNextImage();
			navigationGallery.nextFun();
		} );
		}
} );


//read more
window.addEvent( 'domready', function () {
	document.getElements('a.read_more').each(function(el){
		el.addEvent('click', function(event){
			event.preventDefault();
			link_id = el.id.substr(1);
			document.id('b'+link_id).setStyle('display','block');
			document.id('s'+link_id).setStyle('display','none');
			el.setStyle('display','none');
			document.id('l'+link_id).setStyle('display','block');
		});
	});	
	document.getElements('a.read_less').each(function(el){
		el.setStyle('display','none');
		el.addEvent('click', function(event){
			event.preventDefault();
			link_id = el.id.substr(1);
			document.id('s'+link_id).setStyle('display','block');
			document.id('b'+link_id).setStyle('display','none');
			el.setStyle('display','none');
			document.id('a'+link_id).setStyle('display','block');
		});
	});	
});

//animation banner for frontpage
window.addEvent( 'domready', function () {
	if( document.id( 'animations-banners' )) {
		var options = {
			'timerDelay': 3000,
			'selectedLinkClass': 'selected',
			'fadeDuration': 3000
		};
		new FrontMenu( '#animations-banners div.billboard-item', options );
	}
});

//animation top image for gallery
window.addEvent( 'domready', function () {
	if( document.id( 'gallery-top-image' )) {
		var options = {
			'timerDelay': 1000,
			'selectedLinkClass': 'selected',
			'fadeDuration': 1000
		};
		new FrontMenu( '#gallery-top-image div.billboard-item', options );
	}
});


//faq
window.addEvent( 'domready', function (){
	if(document.id( document.body ).getElement('.content-view-line .class-faq .show a')){
		document.id( document.body ).getElements('.content-view-line .class-faq .hide').setStyle('display','none');
		document.id( document.body ).getElements('.content-view-line .class-faq .show a').addEvent( 'click', function (e){
			e.stop();
			id_part = this.getProperty('href').substr( 2 );
			document.id( document.body ).getElements('.content-view-line .class-faq .hide').setStyle('display','none');
			document.id( document.body ).getElements('.content-view-line .class-faq .answer-content').setStyle('display','none');
			document.id( document.body ).getElements('.content-view-line .class-faq .show').setStyle('display','block');
			document.id( document.body ).getElement('.content-view-line #faq-'+id_part+' .answer-content').setStyle('display','block');
			document.id( document.body ).getElement('.content-view-line #faq-'+id_part+' .hide').setStyle('display','block');
			document.id( document.body ).getElement('.content-view-line #faq-'+id_part+' .show').setStyle('display','none');
		});
		document.id( document.body ).getElements('.content-view-line .class-faq .hide a').addEvent( 'click', function (e){
			e.stop();
			id_part = this.getProperty('href').substr( 2 );
			document.id( document.body ).getElement('.content-view-line #faq-'+id_part+' .answer-content').setStyle('display','none');
			document.id( document.body ).getElement('.content-view-line #faq-'+id_part+' .hide').setStyle('display','none');
			document.id( document.body ).getElement('.content-view-line #faq-'+id_part+' .show').setStyle('display','');
		});
	}
});
//accordion teaser
window.addEvent('domready', function(){
	if(document.id( document.body ).getElement(".accordion-teaser")){
		document.id( document.body ).getElements(".accordion-teaser").each(function(item, index){
			showItem=0;
			if(document.id( document.body ).getElements(".accordion-teaser")[index].getElement(".start-accordion")) 
				showItem=document.id( document.body ).getElements(".accordion-teaser")[index].getElements('.accordion-toggler:nth-child(n)').indexOf(document.id( document.body ).getElements(".accordion-teaser")[index].getElement(".start-accordion"));
			new Accordion(	item.getElements("h3.atStart"),
							item.getElements("div.atStart"),
							{
								opacity				: false,
								display				: showItem,
								trigger				: 'mouseenter',
								link					: 'cancel',
								onActive			: function(toggler, element){
														toggler.addClass('active');
													},
								onBackground	: function(toggler, element){
													toggler.removeClass('active');
												}
							},
							item );
		});
	}
});

//accordion result
window.addEvent('domready', function(){
	if(document.id( document.body ).getElement(".accordion-links-result")){
		document.id( document.body ).getElements(".accordion-links-result").each(function(item, index){
			showItem=-1;
			if(document.id( document.body ).getElements(".accordion-links-result")[index].getElement(".start-accordion")) 
				showItem=document.id( document.body ).getElements(".accordion-links-result")[index].getElements('.accordion-toggler:nth-child(n)').indexOf(document.id( document.body ).getElements(".accordion-links-result")[index].getElement(".start-accordion"));
			new Accordion(	item.getElements("h3.atStart"),
							item.getElements("div.atStart"),
							{
								opacity				: false,
								display				: showItem,
								onActive			: function(toggler, element){
														toggler.addClass('active');
													},
								onBackground	: function(toggler, element){
													toggler.removeClass('active');
												}
							},
							item );
		});
	}
});

//leftmenu
window.addEvent( 'domready', function () {
	if(document.id( document.body ).getElement('#leftmenu-content')){
		//if item should be displayed on start
		if(!document.id( 'leftmenu-content' ).hasClass( 'shown' ) ) document.id( document.body ).getElement('#leftmenu-content').setStyle("display","none");
		var leftMenuSlide = new Fx.Slide( 'leftmenu-content',{ duration: 0, wrapper:document.id( 'left-wrapper' ) } );
		if(!document.id( 'leftmenu-content' ).hasClass( 'shown' ) ) leftMenuSlide.hide();
		document.id( document.body ).getElement('#leftmenu-content').setStyle("display","block");
		document.id( 'leftm-toggler' ).addEvent('click', function(e){
			e.stop();
			leftMenuSlide.toggle();
			this.toggleClass( 'tg-open' ).toggleClass( 'tg-closed' );
		});
		document.id( 'leftm-bottom' ).addEvent('click', function(e){
			e.stop();
			leftMenuSlide.toggle();
			document.id( 'leftm-toggler' ).toggleClass( 'tg-open' ).toggleClass( 'tg-closed' );
		});
		if(document.id( document.body ).getElement( '.show-children' ) ){
			var leftMenuDiv = document.id( 'leftmenu-content' );
			var leftSubNav=Array();
			var leftItems=Array();
			var max_menu_height = 433;
			var first_height = 0;
			leftMenuDiv.getElements( 'li.level1' ).each( function ( item ){
				if(!item.hasClass('open')){
					first_height += item.getStyle( 'height' ).toInt() + item.getStyle( 'padding-top' ).toInt() + item.getStyle( 'padding-bottom' ).toInt() + item.getStyle( 'margin-top' ).toInt() + item.getStyle( 'margin-bottom' ).toInt() + item.getStyle( 'border-top-width' ).toInt() + item.getStyle( 'border-bottom-width' ).toInt();
				}else{
					first_height += item.getFirst( 'a' ).getSize().y.toInt() + 11 + item.getStyle( 'padding-top' ).toInt() + item.getStyle( 'padding-bottom' ).toInt() + item.getStyle( 'margin-top' ).toInt() + item.getStyle( 'margin-bottom' ).toInt() + item.getStyle( 'border-top-width' ).toInt() + item.getStyle( 'border-bottom-width' ).toInt();
				}
			});
			var max_sub_height = max_menu_height - first_height;
			document.id( document.body ).getElements( '.show-children' ).each( function( item, index ){
				var subChild = item.getElement( '.sub-children' );
				if(subChild){
					subChild.setStyle( 'display', 'block' );
					var max_sub_items_height = max_sub_height - subChild.getStyle( 'padding-top' ).toInt() - subChild.getStyle( 'padding-bottom' ).toInt();
					//subChild.setStyle( 'height', max_sub_items_height );
					subChild.setStyle( 'max-height', max_sub_items_height );
					leftSubNav[index]=new Fx.Slide( subChild );
					leftItems[index]=item;
					if(!item.hasClass( 'open' ))leftSubNav[index].hide();
					item.getElement( '.show-children-link' ).addEvent( 'click', function( e ){
						e.stop();
						if( leftItems[index].hasClass( 'first_level_open' ) ){
							if(item.hasClass("level1")) {
								leftMenuDiv.removeClass( 'show2lev' );
								leftMenuDiv.addClass( 'show1lev' );
							}
							leftSubNav[index].hide();
							leftItems[index].removeClass( 'first_level_open' );
							leftItems[index].addClass( 'first_level_closed' );
						}
						else
						{
							if(item.hasClass("level1")) {
								leftMenuDiv.removeClass( 'show1lev' );
								leftMenuDiv.addClass( 'show2lev' );
							}
							leftSubNav[index].toggle();
							leftSubNav[index].wrapper.setStyle("height","auto");
							leftItems[index].removeClass( 'first_level_closed' );
							leftItems[index].addClass( 'first_level_open' );
						}
						leftMenuSlide.wrapper.setStyle("height","auto");
						leftSubNav.each( function( subitem, idx ) {
							if( idx!=index ){
								if(item.hasClass("level1")){
									subitem.hide();
									leftItems[idx].removeClass( 'first_level_open' );
									leftItems[idx].addClass( 'first_level_closed' );
								}
							}
						} );
					});
				}
			});
		}//show children
	}
});

//input clear
function doClear(theText){ if (theText.value == theText.defaultValue) { theText.value = "" } }
function doDefault(theText) { if (theText.value == "") { theText.value = theText.defaultValue } }

//mehrfach-teaser
window.addEvent('domready', function() {
	if(document.id( document.body ).getElement("div.mehrfach-teaser")){
		gallerys={};
		document.id( document.body ).getElements("div.mehrfach-teaser").each(function(item, index){
			gallerys.index = new fadeGallery(item, {
				steps					: 1,
				autoplay				: false,
				speed					: 400,
				duration				: 2000,
				holder					: '.mehrfach-holder',
				elementsParent	: 'ul',
				elements				: 'li',
				nextItem				: '.mehrfach-next',
				prevItem				: '.mehrfach-prev',
				mode					: "line",
				onStart: function(current, visible, length) {
					item.getElement(".mehrfach-info ").innerHTML = parseInt(current+1) + " / " + length;
				},
				onPlay: function(current, visible, length) {
					item.getElement(".mehrfach-info ").innerHTML = parseInt(current+1) + " / " + length;
				}
			});
			max_li_height = 0;
			item.getElement( 'ul' ).getElements( 'li' ).each( function( li_item ){
				li_height = li_item.getStyle( 'height' ).toInt() + li_item.getStyle( 'padding-top' ).toInt() + li_item.getStyle( 'padding-bottom' ).toInt();
				if( max_li_height < li_height ) {
					max_li_height = li_height;
				}
			} );
			item.getElement( 'ul' ).setStyle( 'height', max_li_height );
		});
	}
});

//class for SELECT replacement
CSelect = new Class({
	Implements: [Chain, Options],

	options: {
		'selectReplace': '.selection',
		'selectValue'  : '.selection-value',
		'selectOptions': '.select-options',
		'selectOption' : 'ul li a'
	},
	
	initialize: function( wrapperCSSPath, options ) {
		this.setOptions( options );
		this.selWrapper     = document.id( wrapperCSSPath );
		this.selReplace     = this.selWrapper.getElement( this.options.selectReplace );
		this.selValue       = this.selReplace.getElement( this.options.selectValue );
		this.selOptionsCont = this.selWrapper.getElement( this.options.selectOptions );
		this.selOptions     = this.selOptionsCont.getElements( this.options.selectOption );
		this.resultInput    = this.selWrapper.getElement( 'input' );
		this.run();
	},

	run: function( ) {
		var resValue = this.resultInput.get( 'value' );
		this.selReplace.addEvent( 'click', function( e ){
			e.stop;
			this.selOptionsCont.toggleClass('select-open').toggleClass('select-closed');
		}.bind(this) );
		this.selOptionsCont.addEvent( 'mouseleave', function( e ){
			e.stop;
			this.selOptionsCont.removeClass('select-open');
			this.selOptionsCont.addClass('select-closed');
		}.bind(this) );
		this.selOptions.each( function( item ){
			if( ( resValue != '0' ) && ( resValue == item.get( 'rel' ) ) ) {
				this.clearClass( this.selOptions, 'selected' );
				if( !item.hasClass( 'selected' ) ) item.addClass( 'selected' );
				this.selValue.set( 'text', item.get( 'text' ) );
				this.selValue.set( 'title', item.get( 'text' ) );
			}
			item.addEvent( 'click', function( e ){
				e.stop();
				this.resultInput.set( 'value', item.get( 'rel' ) );
				this.selValue.set( 'text', item.get( 'text' ) );
				this.selValue.set( 'title', item.get( 'text' ) );
				this.clearClass( this.selOptions, 'selected' );
				if( !item.hasClass( 'selected' ) ) item.addClass( 'selected' );
				this.selOptionsCont.removeClass('select-open');
				this.selOptionsCont.addClass('select-closed');
			}.bind(this) );
		}.bind(this) );
	},

	clearClass: function( items, className ) {
		items.each( function( item ){
			item.removeClass( className );
		});
	}


} );

//SELECTS on login page
window.addEvent('domready', function() {
	if( document.id( 'salutation-sel') ) { var salutationSel = new CSelect( 'salutation-sel', {} ); }
	if( document.id( 'country-sel') ) { var countrySel = new CSelect( 'country-sel', {} );}
	if( document.id( 'language-sel') ) { var languageSel = new CSelect( 'language-sel', {} );}
	if( document.id( 'type-sel') ) { var typeSel = new CSelect( 'type-sel', {} );}
	if( document.id( 'rank-sel') ) { var rankSel = new CSelect( 'rank-sel', {} );}
	if( document.id( 'raceserie-sel') ) { var raceserieSel = new CSelect( 'raceserie-sel', {} );}
	if( document.id( 'season-sel') ) { var seasonSel = new CSelect( 'season-sel', {} );}
});
