window.size = function(){
	var w = 0;
	var h = 0;

	//IE
	if(!window.innerWidth)
	{
		//strict mode
		if(!(document.documentElement.clientWidth == 0))
		{
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		}
		//quirks mode
		else
		{
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	}
	//w3c
	else
	{
		w = window.innerWidth;
		h = window.innerHeight;
	}
	return {x:w,y:h};
}

var Template = new Class({
	Implements: Options,
	
	options: {
		'baseUrl' : '/',
		'flashMots' : 'mots_PierrePromotion2.swf'
	},
	
	initialize: function( options ){
		var IE6 = (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1) && (navigator.userAgent.toLowerCase().indexOf('msie 7') == -1);
		this.ie6 = IE6;

		this.setOptions(options);
		this.centerWebsite( 100 );
		this.mainMenu();
		this.motsFlash();
		
		if(this.ie6){
			return;
		}
		
		this.mkScrollers();
		//this.sifr();
	},
	
	mkScrollers: function(){
		if(this.ie6){
			return;
		}
		var scrollers = $$('div.scroller');
		if($chk(scrollers)){
			scrollers.each(function(scroller, i){
				CSBfleXcroll(scroller);
			});
		}
	},
	
	centerWebsite: function( delay ){
    	var container = $('verticaly_centered');
    	var size = window.size();
    	var body_height = size.y;
    	var margin_top = (( body_height - container.getSize().y ) / 2) - 30;
    	if(margin_top > 0){
    		container.setStyle('margin-top', margin_top);
    	}
    	else{
    		container.setStyle('margin-top', 0);
    	}
    	if( ! window.ie ){
    		(function(){this.centerWebsite( delay );}.bind(this)).delay( delay );
    	}
    },
    
    mainMenu: function(){
    	var div = $('menu');
    	
    	var span = new Element('span', {
    		'id': 'mainMenuBg'
    	}).inject(div);
    	
    	var left = new Element('span', {
    		'class': 'leftPart'
    	}).inject(span);
    	
    	new Element('span', {
    		'class': 'rightPart'
    	}).inject(left);
    	
		var spanEffect = new Fx.Morph(span, {
			duration: 'short', 
			wait: false
		});
		
		$extend(span, {
			defaultCoords: {
				'x': -2,
				'w': 0
			},
			'move': function( coords ){
				spanEffect.start({
					'left' : coords.x,
					'width' : coords.w
				});
			},
			'goBack': function(){
				this.move(this.defaultCoords);
			},
			'init': function(){
				span.setStyles({
					'left' : this.defaultCoords.x,
					'width' : this.defaultCoords.w
				});				
			}
		});
		
		// Padding in px
		var padding = 0;
		
    	var menuItems = $$('#menu li a');
    	menuItems.each(function(menuItem, i){
    		
			var size = menuItem.getSize();
    		var position = menuItem.getPosition(div);
    		
    		if( menuItem.hasClass('current') ){
    			span.defaultCoords = {
    				'w': size.x + padding*2 ,
    				'x': position.x - padding
    			};
    		}
			
    		menuItem.addEvents({
    			'mouseover': function(){
	    			span.move({
	    				'w': size.x + padding*2 ,
	    				'x': position.x - padding
	    			});
	    		},
	    		'mouseleave': function(){
	    			span.goBack();
	    		}
    		});
    	});
    	
		span.init();
    },
    
    motsFlash: function(){
    	if(this.options.flashMots){
    		
    		var flashvars = {};
    		var params = {'wmode': 'transparent'};
    		var attributes = {};

    		swfobject.embedSWF(
    			this.options.baseUrl+'files/'+this.options.flashMots,
    			"flash_text_inner", 
    			"384", 
    			"67", 
    			"9.0.0",
    			false, 
    			flashvars, 
    			params, 
    			attributes
    		);    		

    	}
    },
	
    sifr: function(){
	    var classes = $$('h2, h4.helvetica, h5.helvetica, h3.helvetica, h3.helvetica_ccc, h3.light_helvetica');
	    if($chk(classes)){
	    	var helvetica = {
		        src: this.options.baseUrl+'files/fonts/helvetica_condensed.swf'
		    };		
		      
			sIFR.useStyleCheck = true;
		    sIFR.activate(helvetica);
		
		    sIFR.replace(helvetica, {
			      selector: 'h2',
			      css: [
		            '.sIFR-root { text-align: left; font-weight: normal; background-color: #c0c1c3; color:#ffffff; font-size:25px;letter-spacing:3;text-transform:uppercase;}',
		            'a { text-decoration: none; }',
		            'a:link { color: #fff; }',
		            'a:hover { color: #CCCCCC; }'
			      ]
			});
	
		    sIFR.replace(helvetica, {
			      selector: 'h4.helvetica',
			      css: [
			        '.sIFR-root { text-align: right; font-weight: normal; background-color: #c0c1c3; color:#ffffff; font-size:12px;letter-spacing:2;text-transform:uppercase;}',
			        'a { text-decoration: none; }',
			        'a:link { color: #fff; }',
			        'a:hover { color: #CCCCCC; }'
			      ]
			});
		    
		    sIFR.replace(helvetica, {
			      selector: 'h5.helvetica',
			      css: [
			        '.sIFR-root { text-align: left; font-weight: normal; background-color: #cccccc; color:#ffffff; font-size:10px;letter-spacing:1;text-transform:uppercase;}',
			        'a { text-decoration: none; }',
			        'a:link { color: #fff; }',
			        'a:hover { color: #CCCCCC; }'
			      ]
			});
	
		    sIFR.replace(helvetica, {
			      selector: 'h3.helvetica',
			      css: [
			        '.sIFR-root { text-align: left; font-weight: normal; background-color: #c0c1c3; color:#ffffff; font-size:16px;letter-spacing:2;text-transform:uppercase;}',
			        'a { text-decoration: none; }',
			        'a:link { color: #fff; }',
			        'a:hover { color: #CCCCCC; }'
			      ]
			});
		    
		    sIFR.replace(helvetica, {
			      selector: 'h3.helvetica_ccc',
			      css: [
			        '.sIFR-root { text-align: left; font-weight: normal; background-color: #cccccc; color:#ffffff; font-size:16px;letter-spacing:2;text-transform:uppercase;}',
			        'a { text-decoration: none; }',
			        'a:link { color: #fff; }',
			        'a:hover { color: #ffffff; }'
			      ]
			});
		    
		    sIFR.replace(helvetica, {
			      selector: 'h3.light_helvetica',
			      css: [
			        '.sIFR-root { text-align: left; font-weight: normal; background-color: #CCCCCC; color:#ffffff; font-size:16px;letter-spacing:2;text-transform:uppercase;}',
			        'a { text-decoration: none; }',
			        'a:link { color: #fff; }',
			        'a:hover { color: #CCCCCC; }'
			      ]
			});
	    }
	    
	}
    
});





var AsperShow = new Class({

	Implements: Options,
	
	autoplay: true,

	options: {},

	initialize: function(element, options){
		this.setOptions(options);

		this.container = $(element);
		this.thumbnails = this.container.getElements('div.thumbnails li a');
		this.image = this.container.getElement('div.image');
		this.fx = new Fx.Morph(this.image, {
			duration: 'long'
		});

		this.thumbnails.each(function(thumbnail, i){
			thumbnail.addEvent('click', function(e){
				e = new Event(e).stop();
				this.autoplay = false;
				this.changeImage(i);
			}.bind(this));
		}.bind(this));

		this.changeImage(0);
		
	},

	changeImage: function(i){
		
		var imagezoom = new Imagezoom({
			image: this.thumbnails[i].get('rel'),
			startElement: this.image,
			rel: 'imagezoom' // or 'lightbox'
		});
		this.image.removeEvents('click');
		this.image.addEvent('click', function(e){
			imagezoom.show();
		});
		
		var config = [
			{'from' : '0px 0px','to' : '-30px -30px'},
			{'from' : '-30px -30px','to' : '0px 0px'},
			{'from' : '0px -30px','to' : '-30px 0px'},
			{'from' : '-30px 0px','to' : '0px -30px'},
			{'from' : '0px 0px','to' : '0px -30px'},
			{'from' : '0px 0px','to' : '-30px 0px'},
			{'to' : '0px 0px','from' : '0px -30px'},
			{'to' : '0px 0px','from' : '-30px 0px'}	
		].getRandom();
		this.thumbnails.setStyle('opacity', 0.5);
		this.thumbnails[i].setStyle('opacity', 1);
		this.image.setStyles({
			'background-image' : 'url('+this.thumbnails[i].get('href')+')',
			'background-position' : config.from
		});
		this.fx.start({
			'background-position' : config.to
		});
		var next = i+1;
		if(this.autoplay && $type(this.thumbnails[next])){
			(function(){
				this.changeImage(next);
			}.bind(this)).delay(2500);
		}
	}
	
});
