//top menu items width
window.addEvent( 'domready', function () {
	document.getElements("#topmenu ul > li").each(function(item){
	    if (item.getSize().x > 180)
	      if ( item.getElement('ul') )
	         item.getElement('ul').addClass('wide');
	  });
});

//vertical accordion teaser
window.addEvent('domready', function() {
	if(document.getElement(".vertical-accordion")){
		document.getElements(".vertical-accordion").each(function(item){
			item.getElement(".vertical-accordion-content").setStyle("display", "block");
			item.getElement(".accordion-block:first-child").setStyle("width", 0);
			var accordion = new Fx.Tween( item.getElement(".accordion-block:first-child"), {
																		'link':			'cancel',
																		'property':	'width'
																		});
			item.getElement(".accordion-bar").addEvent('mouseenter', function() {
				if( this.hasClass("expanded") ){
					this.removeClass("expanded");
					accordion.start(0);
				}else{
					this.addClass("expanded");
					accordion.start(206);
				}
			});
		});
	}
});
//teaser lightbox
window.addEvent('domready', function() {
  if(document.getElement(".teaser-lightbox-call")){
    var logodiv = new Element('div', {id: 'teaserlogo'});
		logodiv.inject(document.id( document.body ));
		var logoimg = document.id( 'logoimg' ).clone();
		logoimg.inject(logodiv);
		document.id( 'teaserlogo' ).setStyle('display', 'none');
		var lightboxWrap = new Element('div', {id: 'teaser-lighbox-wrapper'});
		lightboxWrap.inject( document.id( document.body ) );
    var teaser_lightbox = new NXC.LightBox( {
			'wrapper': document.id( 'teaser-lighbox-wrapper' ),
			'onOpen': function( el ) {
				el.setStyle( 'display', 'block' );
				document.id( 'teaserlogo' ).setStyle('display', 'block');
				document.id( 'logo' ).setStyle('display', 'none');
			},
			'onClose': function() {
				document.id( 'teaserlogo' ).setStyle('display', 'none');
				document.id( 'logo' ).setStyle('display', 'block');
				this.setContent(new Element( 'div' ));
			}
		} );
    document.getElements(".teaser-lightbox-call").addEvent('click', function(e){
      e.stop();
      var lb_id = this.getProperty("rel");
      teaser_lightbox.setContent(
  			document.id( 'content-' + lb_id ),
  			true
  		);
  		teaser_lightbox.open();
  		if(lightbox_teaser_items && lightbox_teaser_items[lb_id]) lightbox_teaser_items[lb_id]();
    });
  }
});

//prize iframe bar animation
window.addEvent('domready', function() {
    if(document.id( 'prize-iframe-bar' )){

        var iframeBarStatus = false;
        var iframeBarRuning = false;
        var iframeBlockEl = document.id( 'prize-iframe-bar' );
        var iframeContentEl = iframeBlockEl.getElement( '.iframe-content' );
        var iframeDropdownEl = iframeBlockEl.getElement( 'a.info-dropdown' );
        var iframeFx = new Fx.Tween( iframeContentEl );
        var iframeHeightContent = iframeContentEl.getStyle('height');
        iframeContentEl.setStyle('height', 0);
        iframeContentEl.setStyles({
            position: 'relative',
            opacity: 1
        });
      	iframeDropdownEl.addEvent( 'click', function (e){
            e.stop();
            if( iframeBarRuning == false ) {
                iframeBarRuning = true;
                if( iframeBarStatus == false ) {
                    this.addClass('active');
                    iframeFx.start('height', iframeHeightContent).chain( function(){
                        iframeBarStatus = true;
                        iframeBarRuning = false;
                    });
                } else {
                    this.removeClass('active');
                    iframeFx.start('height', 0).chain( function(){
                        iframeBarStatus = false;
                        iframeBarRuning = false;
                    });
                }
            }
      	});



/*
      	infoDropDownEl.addEvent( 'click', function (e){
        		e.stop();
            if( destinationAdditionalHeaderStatus === false ) {
                destinationAdditionalHeaderStatus = null;
                this.addClass('active');
                //start additional function BMW
                urlPath = window.location.pathname + '/skimaps';
                dcsMultiTrack('DCS.dcsuri', urlPath,'WT.ti','OPENING CARD LAYER - Destination');
                //end additional function BMW
                desHeaderFx.start('height', 991).chain( function(){
                    destinationAdditionalHeaderStatus = true;
                });
            }
            if( destinationAdditionalHeaderStatus === true ){
                destinationAdditionalHeaderStatus = null;
                this.removeClass('active');
                desHeaderFx.start('height',destinationHeaderHeight).chain( function(){
                    destinationAdditionalHeaderStatus = false;
                });
            }
      	});
*/

    }
});

//prize page slider
window.addEvent('domready', function() {
    if(document.id( 'prize-images-preview' )){
      gallerys={};
      var item = document.id( 'prize-images-preview' );
      if(item.getElements(".mehrfach-holder ul li").length>1){
		  gallerys.index = new fadeGallery(item, {
		      steps					: 1,
		      autoplay				: true,
		      speed					: 100,
		      duration				: 5000,
		      holder					: '.mehrfach-holder',
		      elementsParent	: 'ul',
		      elements				: 'li',
		      nextItem				: '.mehrfach-next',
		      prevItem				: '.mehrfach-prev',
		      mode					: "circle"
		  });
		}
    }
});

//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');
	});
});

//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');
	});
});

//custom checkboxes
window.addEvent( 'domready', function () {
	document.getElements('.custom-checkbox').each(function(el){
		if(el.getElement('input').checked) el.getElements('a').addClass("active");
		else el.getElements('a').removeClass("active");
		el.getElements('a').addEvent("click", function(e){
			e.stop();
			if(this.hasClass("active")){
				el.getElement('input').checked=false;
				this.removeClass("active");
			}else{
				this.addClass("active");
				el.getElement('input').checked=true;
			}
		});
	});
});
//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.prevSlide();
		} );
		document.id( document.body ).getElements( 'div#animation-gallery a.gallery-next-navigation' ).addEvent( 'click', function( event ) {
			event.stop();
			gallery.showNextImage();
			navigationGallery.nextSlide();
		} );
		}
} );


//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,
			'with_navigation': false
		};
		var frontmenu = new FrontMenuFull(
			'#animations-banners div.billboard-item',
			false,
			options
		);
		window.frontmenu = {
			runTimer: function() {

/*
				frontmenu.hidePreviousSlide();
				frontmenu.selectSlide( true );
				frontmenu.runTimer();
*/
			}
		};
	}
});

//animation banner for frontpage with navigation
window.addEvent( 'domready', function () {
	if( document.id( 'nav-animations-banners' )) {
		var options = {
			'timerDelay': 3000,
			'selectedLinkClass': 'selected',
			'fadeDuration': 3000,
			'chSlWhenClick': false
		};
		var frontmenu = new FrontMenuFull(
			'#nav-animations-banners div.billboard-item',
			'#nav-animations-banners div.billboard-navigation div.item',
			options
		);
		window.frontmenu = {
			runTimer: function() {
				frontmenu.hidePreviousSlide();
				frontmenu.selectSlide( true );
				frontmenu.runTimer();
			}
		};
	}
});

//animation top image for gallery
window.addEvent( 'domready', function () {
	if( document.id( 'gallery-top-image' )) {
		var options = {
			'timerDelay': 1000,
			'selectedLinkClass': 'selected',
			'fadeDuration': 1000
		};
		var frontmenu = new FrontMenuFull(
			'#animations-banners div.billboard-item',
			'#animations div.billboard-navigation div.item',
			options
		);
		window.frontmenu = {
			runTimer: function() {
				frontmenu.hidePreviousSlide.run();
				frontmenu.selectSlide( true );
				frontmenu.runTimer();
			}
		};
	}
});


//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','');
		});
	}
});
//victory accordion teaser
window.addEvent('domready', function(){
	if(document.id( document.body ).getElement(".victory-teaser")){
		document.id( document.body ).getElements(".victory-teaser .accordion-element").setStyle('display', 'block');
		document.id( document.body ).getElements(".victory-teaser").each(function(item, index){
			showItem=-1;
			var vicAccord = new Accordion(item.getElements("h3.accordion-toggler"),
																	item.getElements("div.accordion-element"),
																	{
																		opacity				: false,
																		display				: showItem,
																		trigger				: 'mouseenter',
																		link					: 'cancel',
																		fixedHeight		: 103,
																		alwaysHide		: false,
																		onActive			: function(toggler, element){
																			 					toggler.addClass('active');
																							},
																		onBackground	: function(toggler, element){
																							toggler.removeClass('active');
																						}
																	},
																	item );
			item.getElements(".teaser-item").addEvent('mouseleave', function(){
				vicAccord.display(-1);
			})
		});
	}
});

//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 );
		});
	}
});
//erfogstool
window.addEvent('domready', function(){
	if(document.id( document.body ).getElement(".erfolgstool-lines")){
		var item = document.id( document.body ).getElement(".erfolgstool-lines");	
		var url = item.getElement("a.erfolgstool-ajax-link").getProperty('href');
		var set_extafields_actions = function(){
			if(document.id( document.body ).getElement(".erfolgstool-line")){
				document.id( document.body ).getElements(".erfolgstool-line").each(function(item, index){
					item.getElement(".erfolgstool-extra").set('slide', {duration: 'long', transition: 'bounce:out'});
					item.getElement(".show-extra").addEvent('click', function(){
						item.getElement(".erfolgstool-extra").toggle();
						this.toggleClass("active");
					});
					var tipOptions = {
													showHideTipTime: 20,
													over						: true,
													alwaysHideOnleave : true
												};
					new nxcTips( item.getElement( ".attr-image img" ), item.getElement( ".tips-cont" ), tipOptions );
				});
			}
		}
		var load_erf_lines = function(rel, scroll){
			if(scroll) new Fx.Scroll(window).toElement(document.id( document.body ).getElement(".erfolgstool-list"));
			item.addClass('general-loader');
			item.set('html', '');
			new Request.HTML({ url: url+"/"+rel, evalScripts: false,
				onSuccess: function(responseTree ,responseElements, responseHTML, responseJavaScript ) {
					item.removeClass('general-loader');
					item.set('html', responseHTML);
					item.getElements(".dynamic-navigation a").addEvent('click', function(e){
						e.stop();
						load_erf_lines(this.getProperty('rel'), true);
					});
					set_extafields_actions();
					/*********for anchors*********/
					if(document.location.hash != ""){
						document.location.href = document.location.href;
					}
					$(location.hash).next().find('.erfolgstool-extra').show();
					$(location.hash).next().find('.show-extra').addClass('active');
					/****************************/
				},
				onFailure: function() {
					item.removeClass('general-loader');
					item.set('html','Server is not available');
				}
			}).get();
		}
		load_erf_lines(item.getElement("a.erfolgstool-ajax-link").getProperty('rel'));
	}
});

//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( '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() {
					item.getElement('.mehrfach-info ').innerHTML = parseInt(this.current+1) + ' / ' + this.items.length;
				},
				onPlay: function(current, visible, length) {
					item.getElement('.mehrfach-info ').innerHTML = parseInt(this.current+1) + ' / ' + this.items.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',
		'onChange' : function(e){}
	},
	
	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.selWrapper.toggleClass('sw-active');
			this.selOptionsCont.toggleClass('select-open').toggleClass('select-closed');
		}.bind(this) );
		this.selOptionsCont.addEvent( 'mouseleave', function( e ){
			e.stop;
			this.selWrapper.removeClass('sw-active');
			this.selOptionsCont.removeClass('select-open');
			this.selOptionsCont.addClass('select-closed');
		}.bind(this) );
		this.selOptions.each( function( item ){
			if( ( resValue != '0' || this.selOptionsCont.get( 'id' ) == 'ringtax-title-select' ) && ( 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( 'value2', item.get( 'rev' ) );
				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.selWrapper.removeClass('sw-active');
				this.selOptionsCont.removeClass('select-open');
				this.selOptionsCont.addClass('select-closed');
				this.options.onChange(this);
			}.bind(this) );
		}.bind(this) );
	},

	reEvents: function( elements )
	{
		if(!elements) var elements = this.selOptionsCont.getElements( this.options.selectOption );
		else var elements = elements;
		elements.each( function( item ){
			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' ) );
				elements.each( function( iteme ){
					iteme.removeClass( 'selected' );
					
				});
				if( !item.hasClass( 'selected' ) ) item.addClass( 'selected' );
				this.selWrapper.removeClass('sw-active');
				this.selOptionsCont.removeClass('select-open');
				this.selOptionsCont.addClass('select-closed');
				this.options.onChange(this);
			}.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( 'race_series-sel') ) { new CSelect( 'race_series-sel', {} ); }
 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', {} );}
	if( document.id( 'car-type-sel') ) { var seasonSel = new CSelect( 'car-type-sel', {} );}
	if( document.id( 'relative_salutation-sel') ) { new CSelect( 'relative_salutation-sel', {} ); }
	if( document.id( 'relative_country-sel') ) { var countrySel = new CSelect( 'relative_country-sel', {} );}
	if( document.id(document.body).getElements('.race-series-select') ) {
		document.id(document.body).getElements('.race-series-select').each( function(item){
			new CSelect( item.getProperty('id'), {} );
		});
	}
});

//ryder cup show part
window.addEvent( 'domready', function () {
	if( document.id('chk-show-part') ){
		document.id('chk-show-part').addEvent( 'click', function (e){
			if (this.get('checked'))
				document.id('rcfc-edt-sec-part').setStyle('display', 'block');
			else
				document.id('rcfc-edt-sec-part').setStyle('display', 'none');
		});
	}
});

//validate edit recalculate
window.addEvent( 'domready', function () {
	var validateCalcReq = new Request.JSON ({
		method: 'post',
		onSuccess: function(response) {
				document.id('race_points').set('value', response.race_points);
				document.id('stage1_points').set('value', response.stage1_points);
				document.id('stage2_points').set('value', response.stage2_points);			
				document.id('stage3_points').set('value', response.stage3_points);
				document.id('points').set('value', response.points);
		}
	});
	if( document.id('validate_recalculate') ){
		document.id('validate_recalculate').addEvent( 'click', function (e) {
			e.preventDefault();
			validateCalcReq.send({url:this.href,data:document.id('sport_results_edit')});
		});
	}
});

//scroller
function makeScrollbar(content,scrollbar,handle,horizontal,ignoreMouse){
	var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
	var slider = new Slider(scrollbar, handle, {	
		steps: steps,
		mode: (horizontal?'horizontal':'vertical'),
		onChange: function(step){
			// Scrolls the content element in x or y direction.
			var x = (horizontal?step:0);
			var y = (horizontal?0:step);
			content.scrollTo(x,y);
		}
	}).set(0);
	if( !(ignoreMouse) ){
		// Scroll the content element when the mousewheel is used within the 
		// content or the scrollbar element.
		content.addEvent('mousewheel', function(e){	
			e = new Event(e).stop();
			var step = slider.step - e.wheel * 30;	
			slider.set(step);					
		});
		scrollbar.addEvent('mousewheel', function(e){	
			e = new Event(e).stop();
			var step = slider.step - e.wheel * 30;	
			slider.set(step);					
		});
	}
	// Stops the handle dragging process when the mouse leaves the document body.
	document.id(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
}

//preserve get variables
window.addEvent( 'domready', function () {
	if (window.location.href.indexOf('?') > 0){
		getparams = window.location.href.slice(window.location.href.indexOf('?') + 1);
		document.getElements('a.preserve_get_variables').each(function(el){
			el.set('href', el.get('href') + '?' + window.location.href.slice(window.location.href.indexOf('?') + 1));
		});
	}
});

window.addEvent( 'domready', function () {
	if (document.id('update_skiline_user')){
		document.id('update_skiline_user').addEvent('click',function(e)
            {
                var link = document.id('skiline_user_link').get('value');
                this.addClass('loading');
                e.stop();
                var newReq = new Request({
					url: link,
					onSuccess: function(response,rX)
                        {					       
                           location.reload(true);
                            					    
                        }
				}).send();
            });
	}
});

