window.addEvents({
	'resize': resize,
	'domready': init
});

var z = 0;
var p = -1;
var c_w = 988;
var c_h = 439;
var IEANIM = false;
var timer = false;
var first_alpha = 1;
var slideMem = 'init';
var is_ie = false;
var is_ie7 = false;
var zoom_on = false;
var mooLoaded = false;
var zoom_move = false;
var current_projet = false;
var showingParent = false;
var tween_blackbg = false;
var current_section = false;
var closeSubHeader = false;
var newSlide = new Array();
var slideshow_zone_tween = false;

function init() {
	
	mooLoaded = true;
	if(Browser.ie) is_ie = true;
	if(Browser.ie7) is_ie7 = true;
		
	initSubheader();
	if($('content')) initContent();
	
	tween_blackbg = new Fx.Tween($('blackbg'), {
		duration: 300, 
		transition: Fx.Transitions.Quart.easeOut,
		link: 'cancel',
		onComplete: function(e) {
			
			if(zoom_on && !is_ie7) {
				
				e.set('opacity', 0).setStyles({
					'width': $(document.body).getWidth(),
					'height': $(document.body).getHeight()
				});
			
			}	
			
		}
	}).set('opacity', 0);
	
	$(document.body).addEvent('click', function(e) {
		
		if(!IEANIM && zoom_on && (!e || (showingParent && !e.target || !$(e.target).getParents().contains(showingParent)))) { 
						
			$('content').getElements('ul.slideshow_items div.elmimg').each(function(elm, i) {	
						
				elm['Morph'].start({
					'width': c_w,
					'height': c_h
				});
	
			});
			
			slideshow_zone_tween.start({
				'height': c_h,
				'margin-bottom': 43
			});	
			
			$('content').getElement('.zoom').show();
			$('content').getElement('div.slideshow_control_closezoom').hide();
			if(!is_ie7) tween_blackbg.start('opacity', 0);
					
		}
		
	});
		
	$('grid').getElements('h4 a.gocat, p.metas a').addEvent('click', function(evt) {
	
		Cookie.dispose('cpage');
		
	});
	
	$$('body.isarchive #grid ul.paginate li a').addEvent('click', function(evt) {
	
		Cookie.dispose('cpage');
		
	});
	
	var cpage = 1;
	var tpage = $('grid').getElements('ul.paginate li a');
	var lpage = tpage.length - 2;
		
	tpage.addEvent('click', function(evt) {
	
		if(this.getParent().hasClass('pprv') || this.getParent().hasClass('pnxt')) {
			
			if(this.getParent().hasClass('pnxt')) {
								
				if(cpage + 1 < lpage) {
					
					cpage++;
					
				} else {
					
					cpage = lpage;
					$('grid').getElement('ul.paginate li.pnxt').setStyle('visibility', 'hidden');
					
				}
				
				$('grid').getElement('ul.paginate li.pprv').setStyle('visibility', 'visible');
				
			} 
			
			if(this.getParent().hasClass('pprv')) {
								
				if(cpage - 1 > 1 ) {
					
					cpage--;
					
				} else {
					
					cpage = 1;
					$('grid').getElement('ul.paginate li.pprv').setStyle('visibility', 'hidden');
					
				}
				
				$('grid').getElement('ul.paginate li.pnxt').setStyle('visibility', 'visible');
				
			} 
			
			Cookie.write('cpage', cpage, {duration: .05});
			
			$('grid').getElements('ul.paginate li').removeClass('selected');
			$('cpage_' + cpage).addClass('selected');
			
			var url = this.get('href');
			var queryv = url.split('/');
			queryv[queryv.indexOf('page') + 1] = cpage;
			url = queryv.join('/');
			
			requestGrid(url, $('grid').getElement('ul.cols'));
		
		} else {
		
			cpage = this.get('text').toInt();
			
			if(cpage == 1) {
				
				$('grid').getElement('ul.paginate li.pprv').setStyle('visibility', 'hidden');
					
			} else {
				
				$('grid').getElement('ul.paginate li.pprv').setStyle('visibility', 'visible');
				
			}
			
			if(cpage == lpage) {
				
				$('grid').getElement('ul.paginate li.pnxt').setStyle('visibility', 'hidden');
					
			} else {
				
				$('grid').getElement('ul.paginate li.pnxt').setStyle('visibility', 'visible');
				
			}
			
			Cookie.write('cpage', cpage, {duration: .05});

			$('grid').getElements('ul.paginate li').removeClass('selected');
			this.getParent().addClass('selected');
			requestGrid(this.get('href'), $('grid').getElement('ul.cols'));
					
		}
				
		new Fx.Scroll(window, {
			duration: 300, 
			transition: Fx.Transitions.Quart.easeOut,
			link: 'cancel'
		}).toElement('grid');
				
		return false;
		
	});
	
	initCat();
	
	resize();
	
}

function initCat(action) {

	$('grid').getElements('li.col').each(function(elm, i) {
		
		var waitAnim = (function() {
	
			new Fx.Tween(elm, {
				duration: 1000, 
				transition: Fx.Transitions.Quart.easeOut,
				link: 'cancel',
				onComplete: function(e) {}
			}).start('opacity', 0, 1);	
		
		}).delay(300 + (300 * i));
					
	});
	
}

function initSubheader(action) {
	
	if($('subheader')) {
								
		$('subheader').getElements('ul.news li.new').each(function(elm, i) {
					
			elm.set('id', 'new_' + i);		
					
			window['shownew_' + i] = new Fx.Tween(elm, {
				duration: 1000, 
				transition: Fx.Transitions.Quart.easeOut,
				link: 'cancel',
				onStart: function(e) {},
				onComplete: function(e) {}
			}).set('opacity', 0);
			
		});
		
		if($('subheader').getElement('ul.paginate li a')) {
		
			$('subheader').getElements('ul.paginate li a').addEvent('click', function(evt) {
				
				var i = (this.get('text').toInt() - 1);
				
				$('subheader').getElements('ul.paginate li').removeClass('selected');
				this.getParent().addClass('selected');
				
				$('subheader').getElements('ul.news li.new').hide();
				$('new_' + i).show();
				window['shownew_' + i].start('opacity', 0, 1);	
				
			});
			
			$('subheader').getElement('ul.paginate li a').fireEvent('click');
		
		} else {
			
			var i = 0;
				
			$('subheader').getElements('ul.news li.new').hide();
			$('new_' + i).show();
			window['shownew_' + i].start('opacity', 0, 1);	
			
		}
	
	}
	
} 

function initContent(action, evt) {
	
	p = -1;
	if(timer) clearInterval(timer);
	timer = false;
	slideMem = 'init';
	zoom_on = false;
	newSlide = new Array();
			
	slides.each(function(elm, i) {
		
		var c = 0;
		
		var slide_w = 1318;
		var slide_h = 585;
		
		var src = elm.src;
		var w = elm.width;
		var h = elm.height;
		var stream = elm.min_src;
		
		if($(document.body).getWidth() < 1320) {
			
			slide_w = 988;
			slide_h = 439;
			
			src = elm.min_src;
			w = elm.min_width;
			h = elm.min_height;
			stream = elm.src;
			
		}
		
		newSlide[i] = new Element('li', {
			'events': {
				'domready': function(evt) {
					
					this['obj'] =  elm;
					
					this['animMe'] = new Fx.Tween(this, {
						duration: 1000, 
						transition: Fx.Transitions.Quart.easeOut,
						link: 'cancel',
						onComplete: function(e) {}
					}).set('opacity', 0);	
										
				}	
			}	
		}).adopt(
			new Element('div', {
				'class': 'elmimg',
				'styles': {
					'height': slide_w,
					'height': slide_h,
					'background-image':'url(' + src + ')'
				},
				'events': {
					'domready': function(evt) {
						
						this['Morph'] = new Fx.Morph(this, {
							duration: 300, 
							transition: Fx.Transitions.Quart.easeOut,
							link: 'cancel',
							onComplete: function(e) {
							
								zoom_move = false;	
							
							}
						}).set({
							'width': slide_w,
							'height': slide_h
						});
						
					}	
				}
			}),
			new Element('div', {
				'styles': {
					'display':'none',	
					'background-image':'url(' + stream + ')'
				}	
			})
		).inject($('content').getElement('ul.slideshow_items'));
		
		var hideme = 'visible';
		if(slides.length <= 1 ) hideme = 'hidden';
			
	});
	
	showingParent = $('content').getElement('.slideshow_zone');
	
	$('content').getElement('div.slideshow_zone').addEvents({
		'mouseenter': function(evt) {
			
			if(slides.length > 1) {
				
				$('content').getElements('li.slideshow_control_next a, li.slideshow_control_prev a').setStyle('height', this.getElement('div.elmimg').getHeight());
				
				this.getElement('ul.slideshow_controls').setStyle('display', 'block').setStyles({
					'width': c_w,
					'height': this.getHeight()
				});
			
			}
			
		},
		'mouseleave': function(evt) {
			
			this.getElement('ul.slideshow_controls').setStyle('display', 'none');
			
		}	
	});
		
	timer = (function() {
				
		$('content').getElement('li.slideshow_control_next').fireEvent('click');
					
	}).periodical(5000);	
			
	$('content').getElement('li.slideshow_control_prev').addEvent('click', function(evt) {
		
		p--;
		if(p < 0) p = newSlide.length - 1;
		var pp = p - 1;
		if(pp < 0) pp = 0;
		showSlide(p, evt);
		
	});

	$('content').getElement('li.slideshow_control_next').addEvent('click', function(evt) {
		
		p++;
		if(p > newSlide.length - 1) p = 0;
		var pp = p - 1;
		if(pp < 0) pp = 0;
		showSlide(p, evt);
		
	}).fireEvent('click');
	
	slideshow_zone_tween = new Fx.Morph($('content').getElement('.slideshow_zone'), {
		duration: 300, 
		transition: Fx.Transitions.Quart.easeOut,
		link: 'cancel',
		onStart: function(e) {},
		onComplete: function(e) {
			
			if(!zoom_on) zoom_on = true; else zoom_on = false;
			
		}
	}).set({
		'height': c_h,
		'margin-bottom': 43
	});
			
	$('content').getElement('.zoom').addEvent('click', function(evt) {
		
		zoom_move = true;
		
		if(is_ie) {
				
			IEANIM = true;
				
			if(dIEANIM) clearTimeout(dIEANIM);
				
			var dIEANIM = (function() {
					
				IEANIM = false;
					
			}).delay(1000);
		
		}
		
		$('content').getElements('ul.slideshow_items div.elmimg').each(function(elm, i) {	
				
			if($(document.body).getWidth() < 1320) {
										
				elm['Morph'].start({
					'width': c_w,
					'height': 600
				});
						
			} else {
								
				elm['Morph'].start({
					'width': c_w,
					'height': 800
				});
				
			}

		});
		
		if($(document.body).getWidth() < 1320) {
			
			
			slideshow_zone_tween.start({
				'height': 600,
				'margin-bottom': 43
			});	
					
		} else {
			
			slideshow_zone_tween.start({
				'height': 800,
				'margin-bottom': 43
			});	
			
		}
				
		this.hide();
		
		if(!is_ie7) {
		
			$('blackbg').set('opacity', 0).setStyles({
				'width': $(document.body).getWidth(),
				'height': $(document.body).getHeight()
			});
		
		}
		
		new Fx.Scroll(window, {
			duration: 300, 
			transition: Fx.Transitions.Quart.easeOut,
			link: 'cancel'
		}).toElement('content');
		
		if(!is_ie7) tween_blackbg.start('opacity', 0, 1);
		$('content').getElement('div.slideshow_zone').fireEvent('mouseout');
		(function() {$('content').getElement('div.slideshow_control_closezoom').show()}).delay(100);
		
	});
	
	$('content').getElement('div.slideshow_control_closezoom a').addEvent('click', function(evt) {
		
		$(document.body).fireEvent('click');
		
	});
		
	resize();
		
}

function requestGrid(url, target) {
	
	new Request.HTML({
		url: template_directory + '/request.php',
		method: 'post',
		update: target,
		data: 'url=' + url + '&lang=' + lang,
		link: 'cancel',
		onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) {
			
			initCat();			
			
		}
	}).send();
	
}

function showSlide(elm, evt) {
		
	if(evt) {
	
		if(timer) clearInterval(timer);	
		
	}
	
	if(slideMem !==  elm) newSlide[elm].set('opacity', 0);
	newSlide[elm].show().setStyle('z-index', z).animMe.start('opacity', first_alpha, 1);
	if(newSlide.length > 1) first_alpha = 0;
	slideMem = elm;
	
	z++;
	
}

function resize() {
	
	if(mooLoaded) {
		
		
		var bWidth = $(document.body).getWidth();
		var bHeight = $(document.body).getHeight();
		
		if(bWidth < 1320) {
			
			c_w = 998;
			c_h = 439;
			
			if(bWidth <= 1135) {
				
				var rpr = ((1135 - bWidth) < 80) ? 1135 - bWidth : 80;
				$('header').getElement('ul.nav').setStyle('margin-right', rpr);
				
			} else {
				
				$('header').getElement('ul.nav').setStyle('margin-right', 0);
				
			}
			
			$$('div.align').removeClass('extra');
						
		} else {
			
			c_w = 1318;
			c_h = 585;
			
			if(bWidth <= 1465) {
				
				var rpr = ((1465 - bWidth) < 80) ? 1465 - bWidth : 80;
				$('header').getElement('ul.nav').setStyle('margin-right', rpr);
				
			} else {
				
				$('header').getElement('ul.nav').setStyle('margin-right', 0);
				
			}
		
			$$('div.align').addClass('extra');

		}
		
		if(zoom_on) {
			
			if(!is_ie7) {
								
				$('blackbg').setStyles({
					'width': bWidth,
					'height': bHeight
				});
			
			}
			
			if(!zoom_move) $(document.body).fireEvent('click');
			
		}
		
		if(newSlide && !zoom_on && !zoom_move) {
			
				newSlide.each(function(elm, i) {
					
				var el = elm['obj'];
				var src = el.src;
				
				if(bWidth < 1320) {
					
					src = el.min_src;
					
				}
							
				elm.getElements('div.elmimg').setStyle('background-image', 'url(' + src + ')');	
				
				elm.getElement('div.elmimg')['Morph'].set({
					'width': c_w,
					'height': c_h
				});
			
			});
			
			if($('content')) {
				
				slideshow_zone_tween.set({
					'height': c_h,
					'margin-bottom': 43
				});
	
			}
		
		}
		
	}
	
}
