/*----------------------------------*/
/*GENERAL SETTINGS & ANIMATION-----*/
/*--------------------------------*/

JAME.Package('JAME.Components.BGRound');


JAME.Components.BGRound = function(options) {

	this.setMaxImage(options.maxImage);
	this.setPath(options.path);
	this.mainContainer = options.mainContainer;
	this.containerWrap = options.containerWrap;
	this.lastItems     = [];
 	this.shuffle       = options.shuffle || false;
	this.topImage      = options.topImage || 1;
	this.next		   = this.topImage;
	this.image		   = document.createElement('img');
	var self           = this;
	JAME.extend(this,new JAME.Events.EventDispatcher());

	this.image.onload=function() {



		JAME.CSS.setStyles(self.mainContainer,{
			backgroundImage:'url('+self.path+self.topImage+'.jpg)',
			backgroundPosition:'0px 0px'
		});

		self.next =self.topImage+1;
		if(self.next>self.maxImage) self.next=1;

		self.setHiddenBG(self.path+self.next+'.jpg');
		self.topImage     =self.next;

		if(self.maxImage>1) {

			self.start();
		}
		self.image.onload=null;
	}
	this.image.src = this.path+this.topImage+'.jpg';
};

JAME.Components.BGRound.prototype={

	setPath     : function(path) {
		if(!path) throw new Error('must provide a path');
		this.path     = path;
	},

	setMaxImage : function(jint) {
		this.maxImage= jint ? parseInt(jint) : 1;
	},

	stop : function() {
		if(this.interval) clearTimeout(this.interval);
	},

	start : function() {
		var self=this;
		this.stop();
		this.dispatch('onBGDisplay',this.topImage);
		this.interval = setTimeout(function() {
			self.slideBG();
		},6000);
	},

	effects : [
		'435px 0px',
		'0px -500px',
		'-435px 0px',
		'0px 500px'
	],

	slideBG : function(doesNext) {

		var self = this;
		this.stop();

		if(this.lastItems.length==2) this.lastItems=[];

		this.lastItems.push(self.topImage);

		this.image.onload=function() {

			var effect = self.effects[Math.round(Math.random()*3)];
			if(self.shuffle){
				self.next = 1+Math.round(Math.random()*(self.maxImage));

				for(var i=0;i<self.lastItems.length;i++) {
					if(self.next===self.lastItems[i]) self.next = 1+Math.round(Math.random()*(self.maxImage));
				}
			}
			else 	
			   self.next++;

			if(self.next > self.maxImage) self.next=1;
			self.setHiddenBG(self.path+self.next+'.jpg?r');
			self.topImage=self.next;
			var fx   = new JAME.FX({duration:1200,easing:JAME.FX.Transition.Back.In}).Tween(self.mainContainer, {
				backgroundPosition:['0px 0px',effect]
			});

			fx.addListener('onComplete',function() {

				JAME.CSS.setStyles(self.mainContainer,{
					backgroundPosition:'0px 0px',
					backgroundImage:'url('+self.path+''+self.topImage+'.jpg?t)'
				});

				if(!doesNext) self.start();
			});
		}
		this.image.src = self.path+self.topImage+'.jpg';

	},
	setHiddenBG: function(path) {
		JAME.CSS.setStyles(this.containerWrap,{backgroundImage:'url('+path+')',backgroundPosition:'1px 1px'});
	}
};




JAME.Components.Panels = function(options) {

	this.container          = options.container;
	this.navContainer       = options.navContainer || this.container;
	this.panels             = options.panels;
	this.panelWidth         = options.panelWidth;
	this.onCreateNavigation = options.onCreateNavigation || function() {};
	this.isNavigationOff    = options.navigationOff      || false;
	this.speed              = options.transition         || false;
	this.onNavigationClick  = options.onNavigationClick  || function(){};
	options.padding			= options.padding || 0;
	this.interval           = undefined;
	options.customId		= options.customId||'';
	if(JAME.$('jpanels-gallery-nav')){
		++JAME.Components.Panels.counter;
		options.customId='panel'+JAME.Components.Panels.counter+'_';
	}
	JAME.extend(this,new JAME.Events.EventDispatcher());

	this.animationInstance  = undefined;
	var me = this;

	options.to   	   = options.to || 'left';

	var moveOf		   =(options.to=='top') ? ['height','bottom','top'] : ['width','left','right'];

	var width          = parseInt(JAME.CSS.getStyle(this.container,moveOf[0]));
	var totalWidth     = 0;
	var links          = '';

	for(var i=0,ln=this.panels.length;i<ln;i++) {
		var w      = this.panelWidth || parseInt(JAME.CSS.getStyle(this.panels[i],moveOf[0]));
		totalWidth+=w;
		totalWidth+=parseInt(JAME.CSS.getStyle(this.panels[i],'padding-'+moveOf[1]));
		totalWidth+= parseInt(JAME.CSS.getStyle(this.panels[i],'padding-'+moveOf[2]));
		var style = {
			float:(options.to=='left')?'left':'none',
			textAlign:'center'
		};
		style[moveOf[0]]=w;
		JAME.CSS.setStyles(this.panels[i],style);

		if(this.isNavigationOff) {
			continue;
		}
		var display = this.onCreateNavigation(this.panels[i],i) || i+1;

		links+='<a href="#" class="'+options.customId+' goto" id="counter_'+i+'">'+display+'</a>';
	};

	if(totalWidth<=width) return this;


	var containerWidth = this.panelWidth || width;

	var style={};
	style[moveOf[0]]=parseInt(containerWidth)*(this.panels.length+2);

	JAME.CSS.setStyles(this.container,style);

	var style={
		position:JAME.CSS.getStyle(this.container,'position'),
		left   : JAME.CSS.getStyle(this.container,'left'),
		top    : JAME.CSS.getStyle(this.container,'top')
	};

	var basePosition = JAME.CSS.getStyle(JAME.$(me.container.id),'position');
	JAME.CSS.setStyles(this.container,{
		position:'static',
		overflow:'hidden'
	});

	var div = JAME.DOM.wrapNode(this.container,'div');
	div.id="jpanels-container-overflow";
	var style={overflow:'hidden',clear:'both'};
	style[moveOf[0]]=width;
	JAME.CSS.setStyles(div,style);

	if(!this.isNavigationOff) {
		var customId = options.customId ? '<div id='+options.customId+'>' : '<div>';
		var nav = customId+'<div id="jpanels-gallery-nav">'+
			'<div><a href="#" class="goPrev">&laquo;&laquo;</a>'+
			'<span style="margin:0px;padding:0px;position:relative;top:0px;">'+
			'<div id="scrollbar"></div>';
		nav+=links;
		nav+='</span><a href="#" class="goNext">&raquo;&raquo;</a></div><br /></div></div>';
		var insert=JAME.DOM.createNode('div');
		insert.innerHTML=nav;
		div.parentNode.insertBefore(insert,div);
	JAME.CSS.setStyles(JAME.$('scrollbar'),{width:JAME.CSS.getStyle(parse('#jpanels-gallery-nav .goto')[0],'width')});

	}

	var elm_per_view = 0;
	var moveBy	     = 0;
	if(width>parseInt(JAME.CSS.getStyle(this.panels[0],moveOf[0]))) {
		moveBy = parseInt(JAME.CSS.getStyle(this.panels[0],moveOf[0])) + options.padding;
		var elm_per_view = Math.floor(width/parseInt(JAME.CSS.getStyle(this.panels[0],moveOf[0])))-1;
	}
	else 
		moveBy=width+options.padding;


	var actualImg = 0;
	var maxPos    = this.panels.length - elm_per_view;
	var topos     = parse(".goto") || undefined;


	var activeStyles = {
		color : '#885544'
	};

	var setActiveStyle= (!options.isStyling) ? function(pos) {
		if(!topos) return;
		if(!topos[pos]) return;

		if(!topos[pos].oldStyle) {
			topos[pos].oldStyle={};
			for(var style in activeStyles) {
				if(JAME.CSS.getStyle(topos[pos],style))
				topos[pos].oldStyle[style]=JAME.CSS.getStyle(topos[pos],style);
			}
		}
		JAME.CSS.setStyles(topos[pos],activeStyles);
	} : function(pos) {
		if(!topos) return;
		if(!topos[pos]) return;
				topos[pos].className+=' activated';
		};

	var deactivateStyle= (!options.isStyling) ? function(pos) {
		if(!topos) return;
		if(!topos[pos]) return;

		if(topos[pos].oldStyle) {
			JAME.CSS.setStyles(topos[pos],topos[pos].oldStyle);
		}
	} : function(pos) {
			topos[pos].className = (topos[pos].className) ? topos[pos].className.replace('activated','') : '';
		};

	setActiveStyle(0);

	if(basePosition=='absolute') {
		var effectBase = {
			position:['absolute','absolute'],
			opacity:[.9,0.5]
		};
	}
	else {
		var effectBase = {
			position:['relative','relative'],
			opacity:[.9,0.5]
		};
	}

	this.goNext = function() {
		if(!JAME.$(me.container.id)) return;
		var pos = actualImg;

		deactivateStyle(pos);
		actualImg = (pos==maxPos-1) ? -1 : parseInt(actualImg); 
		actualImg=actualImg+1;

		me.moveScrollBar(actualImg);
		setActiveStyle(actualImg);
		var from = -(moveBy*pos);
		var to   = -(moveBy*actualImg);
		effectBase[options.to]=[from,to];
		me.animationInstance = new JAME.FX({duration:400}).Tween(JAME.$(me.container.id),effectBase);
		me.animationInstance.addListener('onComplete',function() {
			me.animationInstance=undefined;
			var finalCSS={}
			for(var prop in effectBase)
				finalCSS[prop]=effectBase[prop][1];
			JAME.CSS.setStyles(JAME.$(me.container.id),finalCSS);

			new JAME.FX({duration:200,easing:JAME.FX.Transition.Sine.In}).Tween(JAME.$(me.container.id),{opacity:[1]});
			if(me.isSlideShow && !me.interval) me.startSlideShow(me.isSlideShow);
		});
	}

	this.goPrev = function() {
	
		var pos = actualImg;
		deactivateStyle(pos);

		actualImg = (actualImg==0) ? parseInt(maxPos) : actualImg; 
		actualImg = parseInt(actualImg) - 1 ;

		me.moveScrollBar(actualImg);
		setActiveStyle(actualImg);
		var from = -(moveBy*pos);
		var to   =-(moveBy*actualImg);
		effectBase[options.to]=[from,to];
		me.animationInstance = new JAME.FX({duration:400}).Tween(JAME.$(me.container.id),effectBase);
		me.animationInstance.addListener('onComplete',function() {
			me.animationInstance=undefined;
			var finalCSS={}
			for(var prop in effectBase)
				finalCSS[prop]=effectBase[prop][1];
			JAME.CSS.setStyles(JAME.$(me.container.id),finalCSS);
			new JAME.FX({duration:200,easing:JAME.FX.Transition.Sine.In}).Tween(JAME.$(me.container.id),{opacity:[1]});
			if(me.isSlideShow && !me.interval) me.startSlideShow(me.isSlideShow);
		});

	}

	var me = this;
	var goNextListener = function(e) {
		e = JAME.Events.Normalize(e);
		e.stopPropagation();
		e.preventDefault();
		if(me.animationInstance)
			return;
		if(me.interval)
			me.stopSlideShow();
		me.goNext();
	}

	var goPrevListener = function(e) {
		e = JAME.Events.Normalize(e);
		e.stopPropagation();
		e.preventDefault();
		if(me.animationInstance) 
			return;
		if(me.interval) 
			me.stopSlideShow();
		me.goPrev();
	}

	
	this.moveScrollBar = (topos) ? function(pos) {
		if(!JAME.$('scrollbar')) return;
		var upTo=0;
		for(var i = 0;i<pos;i++) upTo+=parseInt(JAME.CSS.getStyle(topos[i],'width'));		

		new JAME.FX({duration:600,easing:JAME.FX.Transition.Back.InOut}).Tween(JAME.$('scrollbar'),{
			left : [parseInt(JAME.CSS.getStyle(JAME.$('scrollbar'),'left')),upTo],
			width: [parseInt(JAME.CSS.getStyle(JAME.$('scrollbar'),'width')),parseInt(JAME.CSS.getStyle(topos[pos],'width'))]
		});
	} :function(){};

	this.go = function(e) {

		e = JAME.Events.Normalize(e);
		if(e) e.preventDefault();
		var a=e.target;
		while(a) {
			if(a.nodeName.toLowerCase()==='a' && a.id.match('counter_')) {
				pos = a.id;
				a=undefined;
			}
			if(a) a = a.parentNode;
		}


		var parts = pos.split('counter_');
		pos = parts[1];
		me.onNavigationClick(actualImg,pos);
		me.moveTo(pos);
	}
	this.moveTo = function(pos) {

		if(!me.isNavigationOff) {
			me.moveScrollBar(pos);
			deactivateStyle(actualImg);
			setActiveStyle(pos);
		}
		effectBase[options.to]=[-moveBy*actualImg,-moveBy*pos];
		me.animationInstance = new JAME.FX({duration:400}).Tween(JAME.$(me.container.id),effectBase);
		me.dispatch('movingTo',pos);

		me.animationInstance.addListener('onComplete',function() {
			me.animationInstance=undefined;
			new JAME.FX({duration:200,easing:JAME.FX.Transition.Sine.In}).Tween(JAME.$(me.container.id),{opacity:[1]});
		});
		actualImg = pos;
	}

	if(this.isNavigationOff) return;

	if(topos) {
		topos.each(function(lm) {
			lm.onclick=me.go;
		});
	}
	var next  = parse("#"+"jpanels-gallery-nav a.goNext");
	var prev  = parse("#"+"jpanels-gallery-nav a.goPrev");
	next.onclick = goNextListener;
	prev.onclick = goPrevListener;
	this.isSlideShow = false;
	this.startSlideShow = function(time) {
		me.isSlideShow = time;
		me.interval = setInterval(function() {
			me.goNext();
		},time);
	}
	this.stopSlideShow = function() {
		clearInterval(me.interval);
		me.interval=undefined;
	}


}
JAME.Components.Panels.counter=0;

//EVENTS ARE WRITTEN IN DISPATCHING ORDER

//onload fading and menu settings

window.getDepth = function(elm,root) {
		var	depth=0;
			do {
				if(elm===root) return depth;
				elm=elm.parentNode;
				depth++;
			}while(elm);
}

window.getPosition = function(elm,root) {

		var elms = root.getElementsByTagName('li');
		var ln   = elms.length;

		if(JAME.DOM.lastNode(root)  === elm) return ln;
		if(JAME.DOM.firstNode(root) === elm) return 1;
		for(var i=1;i<ln-1;i++)
			if(elms[i]===elm) return i+1;

			
}

function getFlashMovie(movieName) {
  return (window[movieName+'2']) ? window[movieName+'2'] : document[movieName];
}

function setAddressFromFlash(url) {

	if(!JAME.$('BootsFinder')) {

		var div =JAME.DOM.createNode('div');
		div.id="BootsFinder";
		JAME.$('website').appendChild(div);
		JAME.CSS.setStyles(div,{
			position: 'absolute',
			top     : 2000,
			left    : 0
		});

		var close = JAME.DOM.createNode('div');
		close.id='close';
		close.innerHTML='CLOSE X';
		close.onclick=function(e) {
			JAME.$('website').style.height='auto';
			JAME.CSS.setStyles(JAME.$('close'),{'display':'none'});
			getFlashMovie('bootsFinderFlash').hideFlashLayer();
		    new JAME.FX().Tween(JAME.$('BootsFinder'),{top:[2000]}).queue(function(){
				JAME.$('BootsFinder').innerHTML='';
			});
		};
		JAME.$('website').appendChild(close);
		JAME.CSS.setStyles(close,{
			position:'absolute',
			top:31,
			right:440,
			fontSize:13,
			padding:2,
			cursor:'pointer',
			display:'none'
		});


	}

	new JAME.Ajax({
	   url:'/ski/products/Info/-/'+url+'?output=raw', 
	   timeout:8000,
	   onSuccess:function(resp) {

		 JAME.$('BootsFinder').innerHTML=resp;
		 var imgList = JAME.$('BootsFinder').getElementsByTagName('img');
		 var imgs=[];
		 for(var i=0;i<imgList.length;i++) imgs.push(imgList[i]);

	      var loader = new JAME.Preloader(imgs);
		  loader.addListener('onLoadComplete',function() {

		  	var height= JAME.CSS.getStyle(JAME.$('BootsFinder'),'height');
			JAME.ASYNC.Events.dispatch('onFullLoad');
		  	new JAME.FX().Tween(JAME.$('BootsFinder'),{top:[2]});
			JAME.CSS.setStyles(JAME.$('close'),{'display':'block'});
		  	JAME.$('website').style.height=(parseInt(height))+'px';
			abortJAMELoading(undefined);
		  });

		}
	});
	abortJAMELoading(1);
	SWFAddress.setValue('/products/Info/-/'+url);
}



JAME.ASYNC.Events.addListener('onFullLoad',function() {
	var string=location.href;
	if(string.match(/\/ski\/(#)?$/)||string.match(/\/ski\/#\/index\.html\?preview=1$/)){
		var url ='/ski/?ajax=true&output=raw';
		url+= string.match(/preview=1/)? '&preview=1':'';
		new JAME.Ajax({
			url:url,
			onSuccess:function(resp){
				JAME.$('website').innerHTML=resp;
				createTopFeatureAnimations2();
			}
		});
	}
	if(string.match(/index_ski\.html/)){
		var url ='/ski/?ajax=true&output=raw';
		url+= string.match(/preview=1/)? '&preview=1':'';
		new JAME.Ajax({
			url:url,
			onSuccess:function(resp){
				JAME.$('website').innerHTML=resp;
				createTopFeatureAnimations2();
			}
		});
	}
});


JAME.ASYNC.Events.addListener('onFullLoad',function() {

	//fade in 
	//if(window.BGRoundObject) window.BGRoundObject=null;
	document.body.style.marginTop='0px';
	var menu = JAME.$('globalmenu');
	var uri = SWFAddress.getValue();

	/*==MENU LOGIC==*/

	window.TreeMenu = new JAME.Components.TreeMenu({
		startingDepth: 2,
	    mainMenu     : JAME.$('globalmenu'),
	    breadCrumb	 : JAME.$('breadCrumb'),
	    root		 : parse('#globalmenu ol.tree')
	});


	TreeMenu.closeMainMenu();



	/*==BACKGROUND IMAGE ==*/

	//var link = JAME.$('breadCrumb').getElementsByTagName('a')[2];
	//var text = link ? link.innerHTML.toLowerCase() : 'gnl';




/*
	var options = JAME.$('search_area').getElementsByTagName('option');

	var mainWrapper=	JAME.DOM.createNode('div'); 
	var main=JAME.DOM.createNode('div');
	JAME.CSS.setStyles(main, {
		position:'relative'
	});
	mainWrapper.appendChild(main);
	main.isOpened=false;
	for(var i=0;i<options.length;i++) {

		var div=JAME.DOM.createNode('div');
		div.innerHTML=options[i].innerHTML;
		(function(div,i) {

		JAME.CSS.setStyles(div, {
			fontSize:12,
			height:18,
			lineHeight:17,
			padding:2,
			textAlign:'center'
		});
		div.id='option_'+i;
		div.onmouseover = function(e) {
			div.style.backgroundColor='white';
			div.style.color='black'
		};
		div.onmouseout = function(e) {
			div.style.color='white';
			div.style.backgroundColor='black'
		};

		div.onclick = function(e) {
			
			var l = (!main.isOpened) ? i : 0;
			new JAME.FX({duration:400}).Tween(mainWrapper,{height:[22*options.length]});
			new JAME.FX({duration:200}).Tween(main,{top:[0,-1*(22*l)]});
			options[i].selected='selected';
			main.isOpened=!main.isOpened;
			if(main.isOpened) new JAME.FX({duration:150}).Tween(mainWrapper,{height:[20]});

		};

		})(div,i);
		main.appendChild(div);
	}


	JAME.CSS.setStyles(mainWrapper, {
		position:'absolute',
		//top:getElementTop(JAME.$('search_area'))-1,
		//left:getElementLeft(JAME.$('search_area')),
		zIndex:5,
		width:JAME.CSS.getStyle(JAME.$('search_area'),'width'),
		height:JAME.CSS.getStyle(JAME.$('search_area'),'height'),
		overflow:'hidden',
		height:20,
		backgroundColor:'black',
		color:'white',
		'border':'1px solid #eee'
	});

*/

	/*==FIRST TIME FADE IN==*/

	var caller = arguments.callee;//save the function stack trace
	new JAME.FX({duration:1000}).Tween(JAME.$('header-area'),{opacity:[.1,1]}).queue(
	function() { this.Tween(parse('#footer-area'),{opacity:[.1,1]}) },
	function() {
		//want to fire the fading just once so need to delete this event at the end
		JAME.ASYNC.Events.removeListener('onFullLoad',caller);
	});





			var logo = parse('div#header h1');
			function rand(i) {
    			var ranNum= Math.floor(Math.random()*i);
    			return ranNum;
			}
			window.AtomicSnowFlakes=[];

			for(var i=0;i<60;i++) {
				var clone=JAME.DOM.createNode('div');
				JAME.CSS.setStyles(clone,{
   					position:'absolute', 
   					top:10+rand(20),left:20+rand(50),
   					width:1,height:2,backgroundColor:'#ffffff',
   					opacity:0,
					fontSize:1,
   					zIndex:100
				});
   				 window.AtomicSnowFlakes.push(clone);
    			logo.appendChild(clone);
			}

			AtomicSnowFlakesShaker();


});

var AtomicSnowFlakesShaker = function() {

	if(AtomicSnowFlakesShaker.interval) clearInterval(AtomicSnowFlakesShaker.interval);
			function rand(i) {
    			var ranNum= Math.floor(Math.random()*i);
    			return ranNum;
			}
	window.AtomicSnowFlakes.each(function(elm,i) {
  		setTimeout(function() {
  			new JAME.FX({transition:JAME.FX.Transition.Back.In}).Tween(elm,{top:[10+rand(41)],left:[10+rand(31)],opacity:[1]}).queue(
    		function() {
        		new JAME.FX({transition:JAME.FX.Transition.Back.Out}).Tween(elm,{top:[10+rand(41)],left:[10+rand(31)],opacity:[0]})
   		 	});
		},120*i);
	});

	AtomicSnowFlakesShaker.interval = setInterval(AtomicSnowFlakesShaker,30000*(1+Math.floor(Math.random()*5)));
}

/*
JAME.ASYNC.Events.addListener('onFullLoad',function() {

	if(! /\/products\/Overview/.test(SWFAddress.getValue()) ) return;

	if(JAME.$('products')) {

	JAME.$('products').onclick=function(e) {

		e = JAME.Events.Normalize(e);
		if(JAME.$('jcontainer')) {
			JAME.$('jparent').parentNode.removeChild(JAME.$('jparent'))
		}
		if(e.target.nodeName.toLowerCase()==='img') {

			var clone  = JAME.$('products').cloneNode(true);
			clone.id='test';


			var html ='<div id="jcontainer">'+
							'<h3 id="productLinks">PRODUCTS WITHIN THIS CATEGORY</h3>'+
							'<div id="test">'+clone.innerHTML+
							'<br /><div style="clear:both"></div>'+	
							'</div></div>';

			var div = JAME.DOM.createNode('div');
			div.id='jparent';
			div.innerHTML=html;
			var imgs =JAME.$('products').getElementsByTagName('img');
			var imgs2=div.getElementsByTagName('img');
			for(i=0;i<imgs.length;i++) {
				var height = imgs[i].height;
				var width  = imgs[i].width;
				var ratio = (height/width>1.5) ? [0.7,0.5]:[1.5,1.5];

				imgs2[i].style.height=(height/ratio[0])+'px';
				imgs2[i].style.width=(width/ratio[1])+'px';
				JAME.CSS.setStyles(imgs2[i],{opacity:1,display:'block'});
			}
			window.ProductsListUp=div;
			window.ProductsListUpSet=false;
			JAME.CSS.setStyles(div,{
				width:300,
				top:55,
				right:2,
				position:'absolute'
			});

		}
	}
	}

});



JAME.ASYNC.Events.addListener('onFullLoad',function() {

	if(! /\/products\/Info/.test(SWFAddress.getValue()) ) return;


		if(window.ProductsListUp) {

			JAME.$('website').appendChild(window.ProductsListUp);
			JAME.$('test').style.opacity=0;
			if(!window.ProductsListUpSet) {

				new JAME.Components.Accordeon({
					visible: JAME.$('productLinks'),
					hidden : JAME.$('test'),
					opened : -1,
					closing : true
				});
			}
			JAME.$('test').style.opacity=1;

			window.ProductsListUpSet=true;
		}
		
});

*/

JAME.ASYNC.Events.addListener('onFullLoad',function() {

	JAME.$('breadCrumb').onclick=function(e) {
		e = JAME.Events.Normalize(e);
		var target = e.target;

		if(target.nodeName.toLowerCase()!=='a') return;
		var pos = getPosition(target.parentNode,JAME.$('breadCrumb'));

		//atomic and ski doesn't interact with the menu
		if(pos<=2) return;

		e.preventDefault();
		e.stopPropagation();
		window.TreeMenu.openMainMenu();
	}
			JAME.CSS.setStyles(JAME.$('website'),{height: 'auto'});
});


/*-------------------*/
/*=PAGES EFFECT-----*/
/*-----------------*/

/*-------------------*/
/*=TOP PAGE---------*/
/*-----------------*/

JAME.ASYNC.Events.addListener('onFullLoad',function() {
	if(window.TopFeatureTimer) clearInterval(window.TopFeatureTimer);
	if(JAME.$('jparent') && !/\/products\/Info/.test(SWFAddress.getValue()))  {
		JAME.$('jparent').parentNode.removeChild(JAME.$('jparent'));
		window.ProductsListUp=undefined;
		window.ProductsListUpSet=false;
	}

});

var createTopFeatureAnimations2 = function () {

		var pan = new JAME.Components.Panels({
			container:JAME.$('top-features'),
			panels   :parse('#features li'),
			navigationOff:false,
			customId:'feature-panels',
			padding:4,
			panelWidth:112,
			to:'top'
		});

		pan.startSlideShow(5000);


}

var createTopFeatureAnimations = function () {
	if(JAME.$('top-news')) {
		createTopAccordeon('top-news');
	}
		var pan = new JAME.Components.Panels({
			container:JAME.$('top-features'),
			panels   :parse('#features li'),
			navigationOff:false,
			customId:'feature-panels',
			padding:20,
			panelWidth:205
		});
		pan.startSlideShow(5000);
}

var createTopAccordeon=function(id) {

		JAME.CSS.setStyles(parse('#'+id+' ul'),{opacity:1,zIndex:50000});

		parse('#'+id).style.height='auto';
		var news = parse('#'+id+' ul');
 		var title = parse('#'+id+' h2')
	
		new JAME.Components.Accordeon({
			visible: title && title.constructor===Array ? title : title ? [title] : [],
			hidden : news && news.constructor===Array   ? news  : news  ? [news]  : [],
			opened : 0,
			closing : false,
			onExpand : function(elm) {
				var type = (elm.id.match('events')) ? 'events':'news';
				JAME.CSS.setStyles(elm,{opacity:.9});
			},
			onClose : function(elm) {
				var type = (elm.id.match('events')) ? 'events':'news';
				JAME.CSS.setStyles(elm,{opacity:.4});
			}
		});

}


/*-------------------*/
/*GOODIES & VIDEO---*/
/*-----------------*/

JAME.ASYNC.Events.addListener('onFullLoad',function() {
	if(! /(?:goodies)\/(?:Video|FreeskiTV)/.test(SWFAddress.getValue()) ) return;

	var links = parse("#html_container a.lightwindow");

	links = links && links.constructor === Array?links : links ? [links]:[];
	links.each(function(elm) {
			if(!elm) return;
			elm.onclick=function(e) {
				e = JAME.Events.Normalize(e);
				var elm = e.target;
				e.preventDefault();
				var myURI = elm.href;
				if(!myURI || elm.nodeName.toLowerCase()=='img') {
					myURI = elm.parentNode.href;
					elm.title = elm.alt;
				}
				open_lightwindow(myURI,elm.title);
			}
	});
	JAME.ASYNC.stack.push(links);
});

function open_lightwindow(myURI,myTitle) {

	if(!JAME.$('freeskiTV')) {
		myLightWindow.activateWindow({
			href:myURI, title:myTitle,width:400,height:400,
			onClose : function() {
				SWFAddress.setValue('/ski/goodies/Video.html')
				return;
			}
		});
		return;
	}

	var effect  = JAME.$('freeskiTV').state ? {}:{position:['relative','relative'],left:[0,340],width:[800,550]};
	new JAME.FX({duration:200}).Tween(JAME.$('freeskiTV'),effect).queue(function() {
		var me = this;
		JAME.$('freeskiTV').state=true;
		myURI= myURI.replace('.xhtml','.flv');
		myURI= myURI.replace('/ski/goodies/FreeskiTV/','/images/video/movies/');

		if(!JAME.$('flash-container')) {
			var div = JAME.DOM.createNode('div');
			div.id="flash-container";
			JAME.$('website').appendChild(div);
			JAME.CSS.setStyles(div,{
				position:'absolute',
				top:140,
				left:0,
				height:348,
				width:360,
				backgroundColor:'black',
				color:'white',
				border:'3px solid white'
			});
			var close     = JAME.DOM.createNode('div');
			close.innerHTML = "CLOSE";
			JAME.CSS.setStyles(close,{cursor:'pointer'});
			close.onclick = function(e) {
				JAME.$('freeskiTV').state=false;
				JAME.CSS.setStyles(div,{display:'none'});
				me.reverse();
			}
			JAME.CSS.setStyles(close,{float:'right',marginRight:3});
			div.appendChild(close);
			var title   = JAME.DOM.createNode('h2');
			    title.id= "tv-title";
			JAME.CSS.setStyles(title,{float:'left',color:'white',padding:'5px',fontSize:14});
			div.appendChild(title);
		}
		else {
			swfobject.removeSWF("flash");
		}
	 	JAME.CSS.setStyles(JAME.$('flash-container'),{display:'block'});

		JAME.$('tv-title').innerHTML=myTitle;

		var flash=JAME.DOM.createNode('div');
		flash.id="flash";
		JAME.$('flash-container').appendChild(flash);

		var swf='/ski/local/swf/flv_player.swf?vid=';
		swf+=myURI;
		var flashvars = {'vid':myURI};
		var params = {wmode:'transparent'};
		var attributes = {};
		swfobject.embedSWF(swf, "flash", "360", "320", "9.0.0","expressInstall.swf", flashvars, params, attributes);

	});
}


/*---------------------*/
/*=TEAM VIEW-----------*/
/*-------------------*/

JAME.ASYNC.Events.addListener('onFullLoad',function() {

	if(! /(?:athletes\/Rider)/.test(SWFAddress.getValue()) ) return;

	if(JAME.$('images')) {
		setTimeout(function() {
			new JAME.Components.Panels({
				container  : JAME.$('images'),
				panels     : parse('#images p'),
				panelWidth : 260
			});
		},200);
		JAME.ASYNC.stack.push(parse('#images p'));
		JAME.$('gallery').onclick = function(e) {
			e = JAME.Events.Normalize(e);
			if(e.target.nodeName.toLowerCase() == 'img') {
				myLightWindow.activateWindow({
					href:e.target.src
				});
			
			}
		}
	}
});

/*---------------------*/
/*=TEAM BLOGS VIEW----*/
/*-------------------*/

JAME.ASYNC.Events.addListener('onFullLoad',function() {

	if(! /(?:athletes\/Blogs)/.test(SWFAddress.getValue()) ) return;

	var riders = parse('#html_contents h4.rider_name_en');
	riders = riders && riders.constructor===Array ? riders : riders ? [riders] : [];
	riders.each(function(rider,i) {

		var div=JAME.DOM.createNode('div');	
		div.innerHTML='loading...';
		JAME.DOM.insertAfter(div,rider);
	
		setTimeout(function() {

		new JAME.Ajax({
			url:'/cgi-bin/atomic/ski/index.cgi?view=athletes.GetRiderRSS&output=raw&pk='+rider.id,
			onSuccess: function(resp) {
				div.innerHTML=resp;
				JAME.DOM.insertAfter(div,rider);
			},
			onError:function() {
				div.innerHTML='server timeout...';
				JAME.DOM.insertAfter(div,rider);
			},
			timeout:20000,
			retryLimit:1
		});
		},300*i);
		    
	});


});

JAME.ASYNC.Events.addListener('onFullLoad',function() {

	if(! /(?:products\/Search.html)/.test(SWFAddress.getValue()) ) return;

	var boxWidth = parse('.product_found');
	boxWidth = boxWidth && boxWidth.constructor===Array ? boxWidth : boxWidth? [boxWidth] :[];	
	var width = boxWidth[0] && boxWidth[0].style ? parseInt(JAME.CSS.getStyle(boxWidth[0],'width')) : 370;
	width-=180;
	var imgs = parse('.product_found img');
	imgs = imgs && imgs.constructor===Array ? imgs : imgs ? [imgs] :[];

	imgs.each(function(elm) {
		if(elm.width>width) {
			while(elm.width>width) {
				elm.width/=1.1;
			}
		}
	})
});

//onload fading and menu settings
JAME.ASYNC.Events.addListener('onFullLoad',function() {
	var address=SWFAddress.getValue();
	if(! /products\/Category\/Description/.test(SWFAddress.getValue()) ) return;

	var links=parse('.lightwindow');
	links = links && links.constructor===Array ? links : links ? [links] : []; 

	for(var i=0;i<links.length;i++) {
	
		links[i].onclick=function(e) {
			e=JAME.Events.Normalize(e);
			e.stopPropagation();
			e.preventDefault();
			var url=this.href;
			myLightWindow.activateWindow({
				href:url,
				title:this.parentNode.parentNode.getElementsByTagName('h3')[0].innerHTML,
				width:850,
				height:500,
				onClose : function() {
					SWFAddress.setValue(address);
					return;
				}
			});
		}

	}
});

//onload fading and menu settings
JAME.ASYNC.Events.addListener('onFullLoad',function() {
	var address=SWFAddress.getValue();
	if(! /info\/News\/[0-9]+\.html/.test(SWFAddress.getValue()) ) return;

	var imgList = JAME.$('website').getElementsByTagName('img');

	var links=JAME.$('website').getElementsByTagName('a');
	for(var i=0;i<links.length;i++) {
		if(/\.swf$/.test(links[i].href)) {
			
			links[i].onclick=function(e) {
				e=JAME.Events.Normalize(e);
				e.stopPropagation();
				e.preventDefault();
			var url=this.href.match(/\/([a-zA-Z0-9_-]+)\.swf$/);
			url='/ski/info/technology/'+url[1]+'.html';
			myLightWindow.activateWindow({
				href:url,
				title:this.innerHTML,
				width:850,
				height:500,
				onClose : function() {
					SWFAddress.setValue(address);
					return;
				}
			});
			}
		}
	}
});


//onload fading and menu settings
JAME.ASYNC.Events.addListener('onFullLoad',function() {
	if(! /info\/(News|Events)[a-zA-Z]+\.html/.test(SWFAddress.getValue()) ) return;
	if( /info\/NewsTop.html/.test(SWFAddress.getValue())) return;


	var years = parse("div#years a");

	var list = parse('#news_list ol');
	var current=0;
	var maxHeight = 0;

	JAME.CSS.setStyles(JAME.$('news_list'),{display:'block',visibility:'hidden'});
	list.each(function(elm,i) {
        if(i==0) return;
		var height = parseInt(JAME.CSS.getStyle(elm,'height'));
        JAME.CSS.setStyles(elm,{opacity:0});
	    if (height > maxHeight) { maxHeight = height; }
	});

	years.each(function(elm,i) {
  		elm.onclick = function(e) {
     		e = JAME.Events.Normalize(e);
     		e.stopPropagation();
     		e.preventDefault();

			new JAME.FX({duration:100}).Tween(e.target,{backgroundColor:['#000000','#CC0000']});
			new JAME.FX({duration:100}).Tween(years[current],{backgroundColor:['#CC0000','#000000']});
     		var id = e.target.innerHTML;

     		var t  = current;
     		new JAME.FX({duration:200}).Tween(list[t],{opacity:[0]}).queue(function() {
        		JAME.CSS.setStyles(list[t],{display:'none'});
        		JAME.CSS.setStyles(JAME.$(id),{top: 0, display:'block'});
       			new JAME.FX().Tween(JAME.$(id),{opacity:[1]});
     		});
      		current=i;
  		}
	})

	JAME.CSS.setStyles(JAME.$('news_list'),{height: maxHeight,display:'block',visibility:'visible'});
	JAME.CSS.setStyles(JAME.$('website'),{height: maxHeight+150});

});

/*=HOME CONTENTS */

JAME.ASYNC.Events.addListener('onFullLoad',function() {
	if(! /(?:home)/.test(SWFAddress.getValue()) ) return;
	if (window.TreeMenu) {
		window.TreeMenu.closeMainMenu();
	}

});

function setcookie(cookiname,cookievalue,expdays) {
   	var exptime = new Date();
	exptime.setTime(exptime.getTime() + (expdays * 1000 * 60 * 60 * 24));
	document.cookie = cookiname + "=" + escape(cookievalue) + ";expires=" + exptime.toGMTString() + ";path=/";
}

function getcookie(cookiname) {
	var mycookies = document.cookie.split("; ");
	var i = 0;
	while (mycookies[i]){
		var cookieEntries = mycookies[i].split("=");
		if (cookieEntries[0] == cookiname){
			return cookieEntries[1];
		}
		i++;
	}
}

JAME.ASYNC.Events.addListener('onFullLoad',function() {

	var folder = parse('#breadCrumb a')[2];
	folder = (folder) ? folder.innerHTML.toLowerCase() : 'top';
	if( /(?:home|faq)/.test(SWFAddress.getValue()) ) folder='home';
	if( /(?:Blog(\/|Contents))/.test(SWFAddress.getValue()) ) folder='blog';

	var path = '/ski/local/img/bgs/';
	var maxImage   = folder=='top' ? 9 : 1;
	if(folder == 'ski' || folder == 'fs' || folder == 'nordic') {
		setcookie('atomicsnow_visited',folder,7);
	}
	if(!window.BGRoundObject) {

		window.BGRoundObject = new JAME.Components.BGRound({
			maxImage:maxImage,
			path:'/ski/local/img/bgs/'+folder+'/',
			mainContainer:JAME.$('container'),
			containerWrap:JAME.$('container-wrapper'),
			topImage : 1,
			shuffle  : false
		});
		window.BGRoundObject.lastFolder=-1;
	}

	if(window.BGRoundObject.lastFolder!=folder) {

		window.BGRoundObject.setPath(path+folder+'/');
		window.BGRoundObject.setMaxImage(maxImage);
		if(folder!='top') {
			window.BGRoundObject.stop();
			window.BGRoundObject.topImage=1;
			window.BGRoundObject.setHiddenBG(path+folder+'/'+maxImage+'.jpg');
			window.BGRoundObject.slideBG(true);
		}
		else {
			window.BGRoundObject.start();
		}
	}
	window.BGRoundObject.lastFolder=folder;

});
